Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Com-Port 3.0 Komponente daten einlesen und mit Uhrzeit anz.
Roboman - Mi 08.11.06 17:53
Titel: Com-Port 3.0 Komponente daten einlesen und mit Uhrzeit anz.
Servus Leute,
ich spiele hier die ganze Zeit mit der ComPort3.0 Komponente und versuche immer eine serielle Schnittstelle mitzulesen. Jipp das klappt auch wunderbar.
Ich lege diese Daten dann in ein Memo-Feld ab, werden schön dargestellt wie sie auch reinkommen. Jetzt ist mein Problem das ich diese Dáten vorweg mit einer Uhrzeit versehen möchte. Mach ich das kommen die Daten nicht sauber ins Memofeld.
eingelesende Daten z. B. X 5000
Wunsch: 20:10:15:155 X 5000
Aber das macht der Schiss nicht. Ich wollte das so machen, die empfangenen Daten stehen in einem String, diesem String wollte ich einen weiteren mit Uhrzeit anhängen, und den gesamten String dann ins Memofeld stellen. Das funzt aber nicht so ganz.
Kann mir da eventuell jemand weiter helfen? Wäre echt super.
ICh wünsch euch einen schöne Abend.
jakobwenzel - Mi 08.11.06 18:03
Zeig mal den bisherigen Code zum anhängen
Roboman - Mi 08.11.06 19:36
Hallo Jakob
Hier der angeforderter Quellcode:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| procedure TSniffler.ComPort_RxChar(Sender: TObject; Count: Integer); var Dat_TCS : String; begin LongTimeFormat:='hh:nn:ss:zzz'; DateTime:=Time; Uhrzeit:=TimeToStr(DateTime);
ComPort.ReadStr(strEmpfangeDaten,Count);
Memo_Daten.Text:=Memo_Daten.Text +strEmpfangeDaten; end;
procedure TSniffler.ComPort_RxFlag(Sender: TObject); begin Memo_Daten.Lines.Append(Uhrzeit); end; |
Meine momentane Lösung?!?
Daten werden auch sauber eingelesen. Zur Zeit steht dann dort z. B.
"empfangene Daten"
"Uhrzeit"
Und es soll so sein:
"Uhrzeit empfange Daten"
Ich bin über jede Lösung dankbar.
Moderiert von
raziel: Delphi-Tags hinzugefügt
oldmax - Do 09.11.06 14:20
Hi
Nun, es ist klar, du setzt die Zeit in der Leseroutine, liest die Daten ein undschreibst diese in dein Memo. Beim nächsten LeseFlag schreibst du die ( alte ) Zeit in eine Memo-Line, anschließend gehts wie obeb beschrieben weiter. Also, wenn du schon die Zeiterfassung mitschreiben willst, so sollte das Einfügen in deine Memo auch dort passieren, wo du die Zeit setzt.
Das sollte gehen :
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TSniffler.ComPort_RxFlag(Sender: TObject); begin <span style="color: cyan">Uhrzeit:=FormatDateTime('hh:nn:ss:zzz', Now); Memo_Daten.Lines.Append(Uhrzeit); end; |
oder aber
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TSniffler.ComPort_RxChar(Sender: TObject; Count: Integer); var Dat_TCS : String; begin LongTimeFormat:='hh:nn:ss:zzz'; DateTime:=Time; Uhrzeit:=TimeToStr(DateTime); <span style="color: cyan">Memo_Daten.Lines.Append(Uhrzeit); ComPort.ReadStr(strEmpfangeDaten,Count);
Memo_Daten.Text:=Memo_Daten.Text +strEmpfangeDaten; end; |
ok, das sollte dir helfen.
Gruß oldmax
Roboman - Do 09.11.06 20:56
Servus oldmax,
danke für die Hilfe, werde die morgen schnellstmöglich mal ausprobieren. Habe leider im Moment nicht die Möglichkeit es auszutesten. Werde mich umgehenst melden wie es ausgegangen ist.
Danke nochmals.
Roboman - Do 23.11.06 21:57
Servus Oldmax,
also, hab jetzt deinen Vorschlag getestet. Ich lese in der procedure TSniffler.ComPort_RxChar(Sender: TObject; Count: Integer) jetzt ein und in der procedure TSniffler.ComPort_RxFlag(Sender: TObject) setzte ich die Zeit + Daten zusammen, dann klappts.Vorher muss ich seltsamer Weise das ganze in einem Edit-Feld zwischenspeichern, also die eingelesenen Daten. Ist komisch, nicht nachvollziehbar, aber es funktioniert. Wenn ich wieder dazu komme, werd ich die Sache überarbeiten.
Danke nochmals für die Hilfe.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!