Andreas K. Foerster schrieb:
GPC bietet dazu 3 Möglichkeiten:
- Per Default wird der Benutzer zur Laufzeit nach einem Dateinamen gefragt.
Sehr gut! ...und wenn man nur Enter drückt, nimmt er die Standard-Eingabe - auch sehr gut!
Ja, insofern BP-kompatibel. ;-)
Wie wäre es, zusätzlich mit einer Compiler-Option die Möglichkeit zu schaffen, dass die Programm-Optionen als Dateinamen interpretiert und der Reihe nach zugeordnet werden. Das würde ich als optimal empfinden. ...nur ein Vorschlag, nichts, was mir wirklich wichtig wäre.
Wäre prinzipiell möglich. Es wäre ein bisschen Aufwand, weil die Reihenfolge der Programm-Parameter dann zur Laufzeit verfügbar gemacht werden muss, sollte sich aber in Grenzen halten. Also, wenn Interesse daran besteht ...
Ich habe ein wenig damit rumexperimentiert. Also FPC macht bei dem Programm nur einen Laufzeitfehler. :-(
Ja, BP (an dem sich FPC ja orientiert) verlangt `Assign', und kennt auch keine internen Dateien (für die man gar keinen Namen angibt, und die nur während einer Laufzeit des Programms benutzt werden).
Bei Standard Pascal Programmen habe ich öfter gesehen, dass "input, output" angegeben waren. Wird das in dem Standard vorausgesetzt, oder welchen Zweck hat das?
Ja, wenn man z.B. `ReadLn' und `WriteLn' verwendet, müssen die angegeben werden. GPC verlangt das nur in den Standard-Modi.
Besonders Interessant fand ich bei GPC folgendes Verhalten:
| program Foo (output, input, stderr, bar); | | var | Bar: Text; | | begin | Rewrite (Bar); | WriteLn (Bar, 'bar'); | Rewrite (output); | WriteLn (output, 'output'); | Rewrite (stderr); | WriteLn (stderr, 'stderr'); | end.
Dabei fragte er wirklich nur nach einer Datei. :-) Das "stderr" ist aber bestimmt kein Standard, oder?
Nein, eine GPC-Erweiterung, und wie bei so vielen Erweiterung, ist offenbar auch hier das größte Problem, sie nur in den geeigneten Standards/Dialekten zu aktivieren ...
Ist in der nächsten Version behoben (fjf755.pas).
Frank