|
Im Magazin „CHIP SPECIAL", Ausgabe 1, wurden folgende Hinweise abgedruckt.
|
U+ an den Beginn Ihres Programms zu setzen.
Selbst der ausgefuchste Pascal-Experte programmiert bisweilen ungewollt eine Endlosschleife.
Wie schnell ist die Arbeit von Stunden, Tagen und Nächten dahin!
for i:= 1 to n do read(feld(.i.),führt leider nicht zum Erfolg. Es wird immer nur die erste Zahl jeder Eingabezeile gelesen! Der Ausweg:
for i:= 1 to n do
read(TRM(feld(.i.),
Die einzelnen Zahlen müssen durch mindestens ein Leerzeichen getrennt sein.
KEYPRESSED und die Compileranweisung U+ vertragen sich nicht besonders gut.
Um eigenartige Zustände während des Programmablaufs zu vermeiden, sollte die Abfrage des Eingabestatus tunlichst nur einer Seite aufgetragen werden.
In vielen Fällen kann KEYPRESSED durch bessere Konstruktionen ersetzt werden.
Die Anweisungsfolge
write('Weiter mit bel. Taste');
repeat until KEYPRESSED;
ist länger und schlechter als
write('Weiter mit RETURN');
readln;
Der Einsatz KEYPRESSED ist eigentlich nur dann sinnvoll, wenn das Programm nach einem Tastendruck anders reagieren soll, als wenn ein solcher unterbleibt.
Da man in der Entwicklungsphase immer die Möglichkeit haben sollte, das Programm zu unterbrechen, sollte die Compileranweisung R+ immer nur an solchen Stellen durch R- aufgehoben werden.
Die Anweisungen nach KEYPRESSED können dann selbstständig auf eventuelle Unterbrechungswünsche reagieren.
(*U-*)
if KEYPRESSED then begin
read(kbd,Zeichen);
if Zeichen=^C then halt
else ...
end;
(*U+*)
Grafikzeile:=#138#228 ....
Aus PDF-Datei übernommen von
Werner Cirsovius
Juni 2013
© CHIP Verlag