TP : Daten die bei COM1 ankommen abspeichern statt ausgeben?
-
-
funkheld
Hat den Titel des Themas von „Daten die bei COM1 ankommen abspeichern statt ausdrucken?“ zu „TP : Daten die bei COM1 ankommen abspeichern statt ausgeben?“ geändert. -
Also du sendest Daten von einen Gerät an Com1 und möchtest diese Speichern ?
-
Ja, danke.
Da kommen die Daten in "Inputletter" an, die ich ausgebe auf dem Screen.
InputLetter := Chr(Port[ComPort[1] + RBR]);
Und die sollen jetzt bitte alle in eine Datei bis ich die Com1 verlasse mit EscapeKey;
Gruss
-
-
Danke , habe ich geschaut.
Werde da etwas finden.
Ich habe das Turbo Pascal-Buch 6 als PDF aber in Englisch.
Und das ganze mit Dateien in Pascal ist nicht so einfach gestrickt wie
bei den anderen Sprachen. Gewöhnungsbedürftig.
Gruss
-
reicht da nicht ein DOS-Befehl?
copy com1: datei.txt
type com1: > datei.txt
echo <com1: > datei.txt
Das Gerät am Ende der Leitung muss am Ende nur ein STRG+Z schicken, dann ist der Spuk beendet.
-
Das kenne ich garnicht.
Danke.
-
Du musst eigentlich nur vor der Schleife eine Datei öffnen:
und dann den Buchstaben statt auf den Bildschirm an diese Datei-Variable schicken
am Ende die Datei wieder schließen
Edit: Auf Doses Vorschlag hin fehlendes Rewrite() ergänzt
-
Danke für die Info.
Dieses Write kannte ich nicht für das Daten schreiben.
Gruss
-
Da fehlt nach dem assign noch ein reset(f); (wenn man aus der Datei lesen will) bzw. ein rewrite(f) (für das schreiben).
Da gab es noch etwas weiteres wenn man bestehende Dateien ändern wollte - ich glaube das ging mit fpos oder seek (funktioniert nicht mit dem Dateityp Text)
Ebenso kann man Dateien typisieren z.b. var f: file of byte;
Anders als bei dem Typ Text kann man in typisierten Dateien "Navigieren" mit Fpos, oder seek.
Für das Lesen von Dateien brauchst du außerdem EOF(f), das solltest du vor jedem Lesevorgang ausführen, z.b.
-
Das kenne ich garnicht.
Danke.
Dazu fehlt dann halt noch vorneweg
mode com1: baud=48 parity=n data=8 stop=1 retry=p
bzw. bei älteren DOS Versionen
mode com1:48,n,8,1,p
Damit hätte man dann 4800 Baud usw. eingestellt. Das p ist wichtig für Geräte, die etwas langsammer reagieren, z.B. Drucker oder andere Geräte, die gelegentlich beschäftigt sind. Sonst würde die Kommunikation in einen Fehler wegen Timeout laufen.
Und wer seine DOSe mal per seriellem Terminalprogramm von einem anderen PC aus bedienen wiill, gibt auf dem gesteuerten Rechner mal ctty com1: ein... Geht allerdings nicht mit jedem Programm, aber reine DOS-Befehle gehen so.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!