The following hints were published in issue 1 of the magazine „CHIP SPECIAL".
|
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 ....
Taken from PDF-file by
Werner Cirsovius
June 2013
© CHIP Verlag