Einzelnen Beitrag anzeigen

Benutzerbild von Jens Hartmann
Jens Hartmann

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

Re: Datensatz auswerten und aufteilen.

  Alt 18. Jun 2009, 22:52
Hallo DeddyH,

Danke für den guten Tip. Ich habe zwar die Lösung noch nicht fertig, aber ich weiß jetzt, das es mit PosEx und Pos gehen muss.
Ich habe einfach mal das ganze Simuliert, und habe jetzt schon folgendes Ergebnis. Also das zerlegen des Datensatzes
müsste so funktionieren.

Ich stell meinen Code mal hier ein, vieleicht ist er ja für Euch Interessant, oder es hat noch jemand Tips.

Der Code verarbeitet die Daten zwar noch nicht wie erforderlich, aber er gibt im ShowMessage die Datensätze aus. Optimal zum testen, auch für andere Stringprobleme.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
s : String;
Pos1 : Integer;
Pos2 : Integer;
Datensatz1 : String;
Datensatz2 : String;
begin
s := ' 51 17.06.09 14:36 #$D#$A ABSCHALT. MG 1-01 MB1 #$D#$A Gruppe#$D#$A #$D#$A'+
  '52 17.06.09 14:37 #$D#$A ABSCHALT. MG 2-01 MB1 #$D#$A Gruppe#$D#$A #$D#$A';
Pos1 := Pos('#$D#$A #$D#$A', s);
if Pos1 <> 0 then
begin
  ShowMessage('Erstes Ende Datensatz an Position: '  + IntToStr(Pos1));
  Datensatz1 := Copy(s,0,Pos1);
  ShowMessage(Datensatz1);
  Pos2 := PosEx('#$D#$A #$D#$A', s, Pos1 + 1);
  if Pos2 <> 0 then
    begin
    ShowMessage('Weiteren Datensatz gefunden an Position: '  + IntToStr(Pos2));
    Datensatz2 := Copy(s,Pos1,Pos2);
    ShowMessage(Datensatz2);
    end
  else
    ShowMessage('Es wurde nur ein vollständiger Datensatz gefunden');
  end
  else
  begin
    ShowMessage('Es wurde kein Vollständiger Datensatz gefunden');
  end;
end;
Also, wenn noch jemand Anregungen hat, nehme ich die gerne zur Kenntnis.

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