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