Forum: Sonstige Fragen zu Delphi
Delphi
by marabu,
8. Jul 2006
Die zwölf als zweites Argument im Aufruf von Copy() ist etwas reichlich bemessen - Copy(line, 5, 8) würde reichen und wahrscheinlich auch ein besseres Ergebnis liefern. Schau doch mal in die Online-Hilfe ...
marabu
Forum: Sonstige Fragen zu Delphi
Delphi
by marabu,
8. Jul 2006
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:
// DT := StrToTime(Copy(line, 1, 8));
DT := Between(line, ' ', ' ');
Die Funktion Between() könnte so aussehen:
function Between(const s, sLeft, sRight: String): String;
Forum: Sonstige Fragen zu Delphi
Delphi
by marabu,
8. Jul 2006
Hi Capo,
der von Hawkeye angepasste Code tut es einwandfrei. Wie sehen deine Daten aus?
Grüße vom marabu
Forum: Sonstige Fragen zu Delphi
Delphi
by marabu,
7. Jul 2006
Hi Capo,
ich hatte nicht verstanden, dass am Beginn deiner Zeilen eine Zeitangabe steht, deshalb ist mein Lösungsansatz etwas generisch. Du kannst ihn aber etwa so an deine Bedürfnisse anpassen:
procedure TDemoForm.DoLine(lineCount: Integer; line: String);
begin
KeepMemo.Lines.Add(line);
end;
Forum: Sonstige Fragen zu Delphi
Delphi
by marabu,
7. Jul 2006
Herzlich willkommen in der Delphi-PRAXiS, capo.
Die Prüfung auf doppelte (aufeinander folgende) oder leere Zeilen funktioniert vom Prinzip her so:
procedure CheckText(fn: TFileName);
var
tf: TextFile;
index, lineCount: Integer;
lines: array of String;