Um zum Beispiel das Passwort des Benutzers auszulesen hätte ich das hier vorgeschlagen (wie ich mich kenne wieder extrem umständlich):
Delphi-Quellcode:
procedure RemoveEmptyLines(Strings: TStrings);
var
I: Integer;
begin
for I := Pred(Strings.Count) downto 0 do
if Strings[I] = '' then
Strings.Delete(I);
end;
procedure TMainForm.ParseButtonClick(Sender: TObject);
var
StringList: TStringList;
I, J, Temp1: Integer;
Temp2, Temp3: string;
begin
StringList := TStringList.Create;
// Log-Datei laden
StringList.LoadFromFile(ExtractFilePath(Application.ExeName) + FileNameEdit.Text);
// Stringliste von leeren Strings befreien
RemoveEmptyLines(StringList);
for I := 0 to StringList.Count - 1 do
begin
// Jede Zeile nach dem Benutzernamen durchsuchen
Temp1 := Pos(UserEdit.Text, StringList.Strings[I]);
if Temp1 <> 0 then
begin
Temp3 := StringList.Strings[I + 8]; // + 8 da das Passwort 8 Zeilen weitersteht
for J := 28 to Length(Temp3) do // 28 da das Passwort an der 28. Stelle beginnt
if Temp3[J] <> '"' then
Temp2 := Temp2 + Temp3[J]
else
Break;
Break;
end;
end;
if Temp2 <> '' then
MessageDlg('Das Passwort für den Benutzer ist "' + Temp2 + '".', mtInformation, [mbOK], 0)
else
MessageDlg('Benutzername und Passwort nicht gefunden!', mtError, [mbOK], 0);
end;
Ist an deine angehängte Log-Datei angelehnt. Ich weiß nicht ob die anderen Log-Dateien wirklich genauso aufgebaut sind. Hoffe das hilft.
(Verbesserungsvorschläge natürlich erwüschnt. Wüsste sonst nicht wie ich dieses Problem lösen könnte, bin heute noch nicht so auf der Höhe.)