Zabezpieczenie programu przed exitcodem

0

Witam,

z racji tego, że miałem zaliczenie w technikum i do napisania kilka prostych programów to lekko się zdziwiłem kiedy nauczyciel kazał poprawić.

Mianowicie chodzi mi o funkcję czy procedury które zabezpieczają program przed 'wysypaniem'.

Jeśli np. chcemy podawać tylko cyfry to czy val tutaj się nada?
Ogólnie chodzi o to, czego użyć żeby po jakimkolwiek naciśnięciu klawisza, czy kombinacji była pętla sprawdzająca czy wartość zmiennej to jest np. tylko liczba, nic innego.
Prosiłbym o takie orientacyjne podanie nazw, bo tego nie braliśmy na lekcji, a google szuka przeważnie zabezpieczenie przed rekompilacją.

Pozdrawiam

0

Wczytuj znak po znaku i sprawdzaj czy mieści się w zbiorze ['0'..'9']?
lub
Wczytaj cały string i użyj val; jeżeli Code != 0 to wystąpił błąd/wczytany string nie jest liczbą.

0

Ok vala sobie w dwóch programikach ogarnąłem, czyta tylko i wyłącznie cyfry.

Jednak problem pojawia się przy 3 programie ponieważ mam dwie zmienne integer i dwie zmienne string.

Jak zrobić, żeby w stringu czytał tylko i wyłącznie określone dwa ciągi znaków (bądź jeśli się nie da to chociaż tylko dwie liter) - jeśli nie spełnia to warunku to pętla, zanim warunek zostanie spełniony?

0

O to chodzi (pisane z palca):

Function read_string(Key: Set of String; MaxLen: Integer=25): String;
Var Key: Char;
Begin
 Result := '';
 Repeat
  Key := readKey;
  Result += Key;
 Until (Key = #13) or (Length(Result) > MaxLen);
 Delete(Result, Length(Result), 1); //#13
End;
string := read_string(['a'..'z', '0'..'2'], 10);

Przeczyta maksymalnie 10 znaków z zakresu a..z oraz 0..2.

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