Skocz do zawartości
calvis

Dyrektywy {$i+} {$i-} W Free Pascalu

Rekomendowane odpowiedzi

Jak używać tych dyrektyw by uchronić program przed wykrzaczeniem przez wprowadzenie wartości zmiennej przekraczającej zakres zmiennej? We wszystkich tutorialach jakie znalazłem jest coś w podobnym stylu:

 

vara:byte;begin{$I-}   repeat	  readln(a)   until ioresult=0;{$I+}writeln('ok');end.

Aczkolwiek to nie do końca działa :/ I właśnie się zastanawiam dlaczego. Przecież nie dlatego, że to Free Pascal a nie Turbo (do którego są tutoriale)? A może źle kombinuję? Jak podam literę to działa, jak liczbę przekraczającą zakres to exitcode 201 :mur: Od wczoraj nad tym siedzę i nie czaję... Jak zrobić, by działało również na liczbach?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeszcze gorzej :P Bo nie pyta wcale po raz kolejny o wartość zmiennej, więc wyłącza się też przy podaniu literki a nie tylko przy liczbie przekraczającej zakres. To co podałem jest literkoodporne :P

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...