AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datensatz auswerten und aufteilen.

Ein Thema von Jens Hartmann · begonnen am 17. Jun 2009 · letzter Beitrag vom 22. Jun 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#11

Re: Datensatz auswerten und aufteilen.

  Alt 21. Jun 2009, 21:27
Ja, kann man die nicht nutzen?
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#12

Re: Datensatz auswerten und aufteilen.

  Alt 21. Jun 2009, 21:29
Eigentlich müsste das doch ganz einfach gehen:
1. Suche nach '$0D$0A'.
2. Wir sind am Anfang des Datensatzes. (P <- aktuelle Position)
3. Suche nach '$0D$0A'
4. Wir sind am Ende des Datensatzes. (Q <- aktuelle Position)
5. Datensatz <- Daten[P..Q-2]
6. Datensatz verarbeiten
7. Gehe zu 1
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#13

Re: Datensatz auswerten und aufteilen.

  Alt 21. Jun 2009, 22:00
Hallo alzaimer,

das dachte ich auch. Ist es aber leider nicht. Das Problem liegt darin, das ich das ja nur machen kann, wenn ich einen kompletten Datensatz zur Verfügung hätte. Das Problem dabei ist, den bekomme ich nur mit der Komponente ComPacket hin. Dafür, benötige ich allerdings einen Start und Stop String, den ich ja leider nicht habe.

Also lese ich von der Schnittstelle mit dem Ereignis RxChar. Hierbei, werden sobald Daten an der Schnittstelle diese eingelesen, verarbeitet und dann kann das Ereignis erneut ausgelößt werden.

Daraus folgt, das die Empfangen Zeichen immer Abhängig von der Anzahl der auftretenden Ereignisse, sowie der Verarbeitungszeit der zuletzt Empfangen Daten.

Somit, wäre es halt einfach, wenn wenigstens immer ein kompletter Datensatz an der Schnittstelle anliegen würde. Das Problem entsteht nämlich Hauptsächlich, wenn nur ein Paar einzelne Zeichen vorhanden sind. Dann muss ich erst anfangen, den Datensatz zusammenzubauen. Also alles nicht so einfach.

Ich habe es mittlerweile realisiert, 6 Zentralentypen und deren Daten zu verarbeiten. Doch bei allen, kann ich es halt über Packet mit Start und Stop machen.

Somit ist halt das größte Problem, das ich die Daten nach dem Empfangen erstmal wieder passend zusammen basteln müsste. Und ich denke einfach, das das einfacher gehen muss.

Gruß jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#14

Re: Datensatz auswerten und aufteilen.

  Alt 21. Jun 2009, 22:26
Ich habe es hinbekommen. Und es war ganz einfach.

Mein Fehler lag in folgendem.

STARTString ist #$D#$A#
STOPString ist #$D#$A#$A#$1B

Ich habe geschrieben...

Delphi-Quellcode:
ComDataPacket1.StartString := '#$D#$A';
ComDataPacket1.StopString := '#$D#$A#$A#$1B';

//Richtig wäre, und so funktioniert es auch....

ComDataPacket1.StartString := #$D#$A;
ComDataPacket1.StopString := #$D#$A#$A#$1B;

//Die ' ' um den String, dürfen ja nicht sein.


Danke trotzdem für Eure Bemühungen. Aber mschaefer, was hat es mit deinem Code auf sich. Was sollte ich damit probieren?

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#15

Re: Datensatz auswerten und aufteilen.

  Alt 21. Jun 2009, 22:52
Zitat von Jens Hartmann:
das dachte ich auch. Ist es aber leider nicht.
Doch, so ist es. Das nennt sich 'Frame' und genau das passiert im Com-Handler, den Du verwendest. In dessen Handler wird jeder Frame nach der o.g. Methode erkannt. Dabei kann es natürlich passieren, das der 1.Frame unerkannt bleibt, weil man ja gerade in der Mitte des Frames anfängt, zu lesen.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#16

Re: Datensatz auswerten und aufteilen.

  Alt 22. Jun 2009, 17:06
Danke alzaimer,

für die Erklärung über den Frame. Das wusste ich noch nicht. Aber wie du ja wahrscheinlich gelesen hast. Ich habe es ja dann doch noch hinbekommen.

Trotzdem Danke,

Gruss Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:44 Uhr.
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