Da ich nach langer Suche nichts gefunden habe, möchte ich hier einmal nachfragen.
Ich hoffe ich bin hier richtig
Mein Programm soll einen Text aus einem Memo-Feld Zeile für Zeile auslesen, nach bestimmten Wortblöcken suchen, wenn diese gefunden wurden an Anfang der Zeile die ersten 10 Zeichen auslesen, in die Variable Datum schreiben und diese dann in eine Combobox namens cbLogins eintragen als Items.
Hier mal der Code:
Delphi-Quellcode:
procedure TfrmMain.btMehrInformationenClick(Sender: TObject);
var I, Zeile : Integer;
Ein, Datum, Uhrzeit, Koordinaten : string;
begin
for Zeile := 0 to hLogFenster.getAnzahl-1 do begin //getAnzahl entspricht Memo.lines.count;
ein := hLogFenster.getZeile(Zeile); // laden der Zeile in var ein;
// eine zu überprüfende Zeile sieht folgend aus ( entspricht nun var ein )
// 2012-04-28 22:12:29 [INFO] Drahcir [/#.###.###.##:#####] logged in with entity id 49095 at (453.375, 64.0, -13.53125)
if pos('Drahcir', Ein) <> 0 // nach 'Drahcir' soll überprüft werden
then
if pos('logged in with entity id', ein) <> 0 // dies soll auch in der zeile stehen
then begin
for I := 12 to 19 do Uhrzeit := Uhrzeit + ein[I]; // speichern einer uhrzeit
Datum := leftStr(Ein,10); // Speichern des Datums
Koordinaten := copy(Ein, pos( '(' , Ein)+1,200); // Koordinaten werden gespeichert
Delete(Koordinaten,pos(')',Koordinaten),1); // Klammer am Ende wird entfernt
cbLogins.Items.Add(Datum); // Laden des "Datums" in combobox
{Memo1.Lines.Add(Datum);} // laden in memo funktioniert!!
Uhrzeit := ''; //zurücksetzen der Uhrzeit
end; // ende von if pos() <> 0
end; // ende der for Zeile := 0 to hLog...
end;
Nun wird (wenn ich im laufenden Programm die Combobox aufklappen lasse) gar nichts mehr angezeigt, auch vorher schon eingetragene Items verschwinden einfach aus der Liste :S
Ich hoffe ihr versteht meine Probleme und könnt mir helfen oder zumindest eine Denkhilfe geben
EDIT: hab die forschleife nach
for Zeile := 0 to hLogFenster.getAnzahl-1 do
geändert