calvis Opublikowano 3 Stycznia 2007 Zgłoś Opublikowano 3 Stycznia 2007 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? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
tukamon Opublikowano 3 Stycznia 2007 Zgłoś Opublikowano 3 Stycznia 2007 sprobuj: {$I-}readln(a){$I+} Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
calvis Opublikowano 3 Stycznia 2007 Zgłoś Opublikowano 3 Stycznia 2007 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 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...