Code: Alles auswählen
procedure AbfrageSaison();
var
Eingabe: ansistring;
begin
// init
Eingabe := '';
// Ausgabe
WriteLn;
// Eingabe lesen bis Saison gültig
repeat
Write(' ' + 'Bitte Saison eingeben: ');
ReadLn(Eingabe);
WriteLn(' Eingabe: ' + Eingabe);
until (IsValidSaison(Eingabe)) or (Eingabe.ToLower = 'ende');
// Abbruch
if Eingabe.ToLower = 'ende' then
begin
Saison := 0;
end
else
begin
Saison := Eingabe.ToInteger;
end;
end;
Folgendes fällt mir jetzt auf:
- ich muss doppelt auf Enter drücken um hier das abzusenden. Warum? Erkennt das FPC nicht das ich unter Windows bin?
- bei der eingabe der ersten taste wird die Schleife durchlaufen, der Wert aber gespeichert. Sprich es wird erneut das "Write" ausgeführt. Warum?
Code: Alles auswählen
Bitte Saison eingeben: Eingabe:
Bitte Saison eingeben: Eingabe: 30
Bitte Saison eingeben: Eingabe:
Bitte Saison eingeben: Eingabe: 25
Bitte Saison eingeben:
Code: Alles auswählen
30<Enter><Enter>
25<Enter><Enter>
Edit: das zweite Enter bei der Eingabe ergänzt da das vergessen wurde...