Delphi/Pascal Wprowadzenie litery do zmiennej liczbowej

0

Witam!
Temat może banalny, ale mimo szukania na 4programmers i google nie znalazłem rozwiązania dla Delphi. A mianowicie: jak zabezpieczyć się przed wykrzaczeniem programu spowodowanym wprowadzeniem litery do zmiennej liczbowej przez Readln(Nie w ANSII itd).

Podam przykład, o co mi chodzi:

var 
a : Integer;
begin
Readln(a);
Writeln(a);
Readln;
end.

W tym przypadku wprowadzenie litery od razu wykrzacza program.

var 
a : Integer;
begin
Writeln('1-Kontynuuj, 2-Przerwij, 3-Powrot');
Readln(a);
If a <> 1 and 2 and 3 then
Writeln('Zly zakres!')
else
Writeln(a);
Readln;
end.

Tutaj wszystko fajnie, jednak podanie do a litery wykrzacza mi program przed przejściem do if-a.

W necie znalazłem, że w innych językach można sprawdzić co się wprowadza z klawiatury przed przypisaniem do zmiennnej.
Ale w delphi:

var 
a : Integer;
begin
Readln(a); // <-- wczytanie i przypisanie do zmiennej
Writeln(a);
Readln;
end.
var 
a : Integer;
begin
Readln; //  I jak skontrolowac, co sie wpisalo? Skoro nie jest przypisane do zmiennej, jak moge sie do wprowadzenia z klawiatury odwolac?
If // no wlasnie, jezeli co? 
then Writeln('Wprowadz liczbe!');
Writeln(a);
Readln;
end.
1

Val

1 użytkowników online, w tym zalogowanych: 0, gości: 1