Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#27

Re: Überprüfen ob alle Zeilen vorhanden sind

  Alt 8. Jul 2006, 15:17
Wir gingen bisher davon aus, dass die Uhrzeit am Anfang der Zeile steht. Damit deine Beispielzeilen korrekt verarbeitet werden, müsstest du in der Prozedur CheckForMissingLines() folgende Zeile ändern:

Delphi-Quellcode:
// DT := StrToTime(Copy(line, 1, 8));
DT := Between(line, ' ', ' ');
Die Funktion Between() könnte so aussehen:

Delphi-Quellcode:
function Between(const s, sLeft, sRight: String): String;
var
  iLeft, iRight: Integer;
begin
  iLeft := Pos(sLeft, s);
  if iLeft > 0 then
  begin
    Inc(iLeft, Length(sLeft));
    iRight := PosEx(sRight, s, iLeft);
    if iRight > 0
      then Result := Copy(s, iLeft, iRight - iLeft)
      else Result := ''
  end else Result := '';
end;
Auch die Funktion PosEx() findest du hier im Forum, falls du sie nicht in der Unit StrUtils hast. Du solltest vielleicht deine Delphi-Version in dein DP-Profil eintragen.

Ganz allgemein gilt, dass du ein Muster in deinen Daten erkennen und den Code zur Extraktion der Zeitangaben entsprechend anpassen musst. Und vergiss nicht, dass es Probleme beim Tagwechsel geben wird, wenn du keine Vorkehrungen triffst.

marabu
  Mit Zitat antworten Zitat