Delphi-PRAXiS
Seite 9 von 11   « Erste     789 1011      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi StringGrid mit Daten füllen und farblich Darstellen (https://www.delphipraxis.net/128425-stringgrid-mit-daten-fuellen-und-farblich-darstellen.html)

Chemiker 1. Mär 2009 17:18

Re: StringGrid mit Daten füllen und farblich Darstellen
 
Hallo Jens,

am Anfang der Aufzeichnung ClearBuffer.

Bis bald Chemiker

Jens Hartmann 1. Mär 2009 17:52

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;

Chemiker 1. Mär 2009 19:47

Re: StringGrid mit Daten füllen und farblich Darstellen
 
Hallo Jens,

ClearBuffer vom TComPort um den Input buffer zu löschen.

Bis bald Chemiker

Jens Hartmann 3. Apr 2009 19:33

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.

Chemiker 4. Apr 2009 13:17

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

Jens Hartmann 4. Apr 2009 16:03

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

jaenicke 4. Apr 2009 16:11

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.
http://www.torsten-horn.de/techdocs/ascii.htm

Jens Hartmann 4. Apr 2009 17:01

Re: StringGrid mit Daten füllen und farblich Darstellen
 
Danke schön,

diese Tabelle wird mir bestimmt bei meiner weiteren Arbeit weiterhelfen.

Gruß Jens

Jens Hartmann 4. Apr 2009 21:51

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

jaenicke 4. Apr 2009 21:54

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 09:16 Uhr.
Seite 9 von 11   « Erste     789 1011      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz