Witam, mam pytanie:
Jak zabezpieczyć program żeby w przypadku gdy oczekuje on liczby a dostanie literę nie zamykał się tylko pokazał komunikat o nieprawidłowych wprowadzonych danych?
Witam, mam pytanie:
Jak zabezpieczyć program żeby w przypadku gdy oczekuje on liczby a dostanie literę nie zamykał się tylko pokazał komunikat o nieprawidłowych wprowadzonych danych?
repeat
write('Podaj liczbe: ');
{$I-}
readln(a);
{$I+}
i := ioresult;
if i<>0 then
writeln('Nieprawidłowe wprowadzenie danych');
until i=0;
Gdzie i,a:integer;
Dzięki, czy to uchroni usera również przed wspisaniem za dużych liczb np 99999999999 do zmiennej typu word?
Nie pamiętam, spróbuj
Nie działa.
mam to tak:
write('Podaj max. liczbę punktow: ');
readln©;
spr:=ioresult;
if spr<>0 then begin writeln(‘Nieprawidłowa liczba’); goto 1; end;
po wpisaniu c jest runtime error.
Nie masz dwóch najważniejszych w tym wypadku linijek:
{$I-}
{$I+}
Właśnie one odpowiednio wyłączają / włączają zgłaszanie błędów w programie ioresult właśnie zawiera ostatnio zwrócony błąd
myślałem że wszystko co jest w znacznikach { } było nie istotne dla kompilatora. Dzięki :]