Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Datei Zugriff (https://www.delphipraxis.net/41238-datei-zugriff.html)

Blitzer 28. Feb 2005 13:00


Datei Zugriff
 
Hi Leutz....

Ich weiss das hier schon viel über dieses Thema gepostet wurde aba irgendwie konnte ich da keine wirkliche Lösung entdecken...
Es geht mir auch mehr um einen Lösungsalgorithmus als um die explizite Syntax....
Also folgendes Problem:

Ich habe eine Log-datei mit vielen Einträgen, jeder Eintrag hat ne neue Zeile. Ich muss aus der gesamten Log-Datei immer 2 Wörter raussuchen... also z.B. UserName und Passwort... Hinter diesen beiden Wörtern stehen dann immer die Daten die ich brauche... Natürlich kommen pro LogDatei öfter diese beiden Wörter vor... Ich brauche also jeden eintrag... Diese will ich dann in einem StringGrid speichern alle passwörter in der einen Spalte, alle usernamen in der anderen spalte....

eine logdatei sieht z.B so aus:


28.02.2005 12:35:44 Logddatei erstellt.
28.02.2005 12:35:44 UserName: test
28.02.2005 12:35:44 Verbindung hergestellt zu :xxx
28.02.2005 12:35:44 Updateliste eingelesen :xxx
28.02.2005 12:35:45 Datei :xxx
28.02.2005 12:35:45 Archive : xxx
28.02.2005 12:35:52 Passwort: blabla
28.02.2005 12:35:52 Archive : Move eingeleitet
28.02.2005 12:36:04 Update erfoglreich abgeschlossen
28.02.2005 12:36:08 xxx
28.02.2005 12:35:44 Logddatei erstellt.
28.02.2005 12:35:44 Username: test1
28.02.2005 12:35:44 Verbindung hergestellt zu :xxx
28.02.2005 12:35:44 Updateliste eingelesen :xxx
28.02.2005 12:35:45 Datei : xxx
28.02.2005 12:35:45 Archive :xxx
28.02.2005 12:35:52 Passwort: blabla1
28.02.2005 12:35:52 Archive : Move eingeleitet
28.02.2005 12:36:04 Update erfoglreich abgeschlossen
28.02.2005 12:36:08 xxx
28.02.2005 12:35:44 Logddatei erstellt.
28.02.2005 12:35:44 Username: test2
28.02.2005 12:35:44 Verbindung hergestellt zu :xxx
28.02.2005 12:35:44 Updateliste eingelesen :xxx
28.02.2005 12:35:45 Datei : xxx
28.02.2005 12:35:45 Archive : xxx
28.02.2005 12:35:52 Passwort: blabla2
28.02.2005 12:35:52 Archive : Move eingeleitet
28.02.2005 12:36:04 Update erfoglreich abgeschlossen
28.02.2005 12:36:081 xxx

Weiss jemand wie ich sowas machen kann???

shmia 28. Feb 2005 13:10

Re: Datei Zugriff
 
Zitat:

Zitat von Blitzer
Es geht mir auch mehr um einen Lösungsalgorithmus als um die explizite Syntax....
Also folgendes Problem:

Ich habe eine Log-datei mit vielen Einträgen, jeder Eintrag hat ne neue Zeile. Ich muss aus der gesamten Log-Datei immer 2 Wörter raussuchen... also z.B. UserName und Passwort... Hinter diesen beiden Wörtern stehen dann immer die Daten die ich brauche... Natürlich kommen pro LogDatei öfter diese beiden Wörter vor... Ich brauche also jeden eintrag... Diese will ich dann in einem StringGrid speichern alle passwörter in der einen Spalte, alle usernamen in der anderen spalte....

eine logdatei sieht z.B so aus:


28.02.2005 12:35:44 Logddatei erstellt.
28.02.2005 12:35:44 UserName: test
28.02.2005 12:35:44 Verbindung hergestellt zu :xxx
28.02.2005 12:35:44 Updateliste eingelesen :xxx
28.02.2005 12:35:45 Datei :xxx
28.02.2005 12:35:45 Archive : xxx
28.02.2005 12:35:52 Passwort: blabla

1.) Objekt der Klasse TStringList erzeugen
2.) Daten aus Datei laden (LoadFromFile)
3.) Liste rückwärts durchlaufen und alle Zeilen löschen, die nicht die Wort "Username:" oder "Passwort:" enthalten
Delphi-Quellcode:
for i:= liste.Count-1 downto 0 do
begin
   s := liste[i];
   if (Pos('Username:', s)=0) and (Pos('Passwort:', s)) then
      liste.Delete(i);
end;
4.) Liste vorwärts durchlaufen und abwechselnd den Username und das Passwort entnehmen
mit Copy()
die Position, ab der kopiert werden soll ist Pos(':', s)+2

Man kann Punkt 3.) und 4.) auch auf einmal durchführen.

Blitzer 28. Feb 2005 14:17

Re: Datei Zugriff
 
Super.... Danke schön.... Hat sofort gefunzt...


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz