![]() |
Re: StringGrid mit Daten füllen und farblich Darstellen
Hallo Jens,
am Anfang der Aufzeichnung ClearBuffer. Bis bald Chemiker |
Re: StringGrid mit Daten füllen und farblich Darstellen
Wie meinst Du das mit ClearBuffer.
Meinst du meine Glob. Var. oder den InputBuffer der Schnittstelle. Ich hatte jetzt einfach die Var. Buffer leergemacht, wenn ein falscher Anfangsdatensatz da ist, somit hatte ich auch erschlagen, das wenn ich an der Hardware einen RESET durchführen, dieser Müll erst gar nicht geschrieben wird.
Delphi-Quellcode:
{Daten von COM-Schnittestelle lesen}
procedure TForm1.ComDataPacket1Packet(Sender: TObject; const Str: string); begin Buffer := Str; if Pos(':', Buffer) = 1 then Bufferverarbeitung end; |
Re: StringGrid mit Daten füllen und farblich Darstellen
Hallo Jens,
ClearBuffer vom TComPort um den Input buffer zu löschen. Bis bald Chemiker |
Re: StringGrid mit Daten füllen und farblich Darstellen
Hallo,
habe mal noch ne Frage zum Thema, ich habe mal noch eine weitere Zentrale programmiert, klappt auch mittlerweiel sehr gut diese Auswertung. Mich würden allerdings mal ein paar Zeichen interessieren. 'Ereignis : 9 B: 1/ 0 '#$A'Bereich unscharf 03.APR.09 19:51:16'#$A'Wohnhaus Jens Hartmann '#$A'Makro 2 '#$A#$A#$1B'P'#1#$1B'R' Das ist mein aktueller Datensatz. 40 Zeichen pro Zeile, also war die Auswertung eigendlich total einfach, aber was für eine Bedeutung haben die letzten '#$A' müsste ja der Zeilenumbruch sein, aber was Bedeutet der Rest. '#$1B'P'#1#$1B'R' Gruß Jens. PS: Gibt es dafür irgendwie ne Tabelle oder so. Kann mir ja noch öffters passieren. |
Re: StringGrid mit Daten füllen und farblich Darstellen
Hallo Jens,
die Zeichen könnte irgendwelche Befehle sein, die von der Zentrale abgesetzt werden. Vielleicht steht etwas in der Dokumentation von Zentrale über die Bedeutung dieser Zeichen. Bis bald Chemiker |
Re: StringGrid mit Daten füllen und farblich Darstellen
Leider nicht,
ich dachte, es gäbe irgendwie so ne Tabelle, wo die Übersetzung zu sehen wäre. Weil '#$A' ist ja z.B. #13 und #13 ist ja ENTER also Zeilenvorschub, oder war es #10. Naja aufjedenfall irgendwie so. Gruß Jens |
Re: StringGrid mit Daten füllen und farblich Darstellen
1B wäre ja das Escapezeichen. Was die da bedeuten kann man so natürlich nicht sehen.
![]() |
Re: StringGrid mit Daten füllen und farblich Darstellen
Danke schön,
diese Tabelle wird mir bestimmt bei meiner weiteren Arbeit weiterhelfen. Gruß Jens |
Re: StringGrid mit Daten füllen und farblich Darstellen
Hab die Tabelle jetzt mal durchgesehen, wenn ich das richtig sehe, müssten die Zeichen folgende Bedeutung haben
#$ Soll heißen, da kommt ein ASCII Zeichen A Soll heißen Zeilenvorschub D Soll heißen CR (ich vermute die Taste Ctrl) Allerdings versteh ich den Sinn nicht, was die macht. 1B Soll heißen Escape, was auch irgendwie keinen Sinn ergibt. Das bedeutet aber für mich auch, da diese immer am Ende eines Datensatzes sind, könnte ich mir das ja zum nutzen machen, und damit mein Datensatzende feststellen. Mein Problem, liegt aber jetzt dabei, das meine Komponente dies nicht akzeptiert. Gebe ich als Satzende einen String ein, z.B. 'Ereignis' als STOPSTRING (Eigenschaft von TCOMPacket), so wird dieser ausgewertet und es klappt. Leider muss ich bei dieser Methode, das Wort Ereignis, meinem Datensatz allerdings wieder zufügen, weil der STOP´STRING nicht mehr übergeben wird. Von Vorteil daher wäre, das wirkliche Satzende zu verwenden. Trage ich allerdings jetzt folgende Varianten als STOPSTRING ein, wird die Funktion nicht ausgeführt. VAR1: #$D#$A#$A#$1B (so kann ich die Daten im Debugmodus lesen) VAR2: DAA1B (wären ja eigendlcih die Zeichen) (ASCII-Format) Allerdings, ist mir klar warum beide nicht gehen, aber wie bringe ich den dann meine Komponente dazu, diese Werte zu lesen, wie Zeilenvorschub. Mein Problem besteht ja darin, diese Funktionen als String zu schreiben. Es muss doch eine Möglichkeit geben, wie z.B. #$ als Vorzeichen von A D und 1B um da zu realisieren. Vieleicht kann mir ja mal jemand sagen wie. Gruß Jens |
Re: StringGrid mit Daten füllen und farblich Darstellen
#13#10, also hexadezimal #$D#$A, ist unter Windows der Zeilenumbruch. Um genau zu sein ein Relikt aus Zeiten der Schreibmaschine / Fernschreiber. Einmal Wagenrücklauf (des Wagens der Schreibmaschine) und einmal Zeilenvorschub (des Papiers um eine Zeile).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz