|
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