| Autor |
Beitrag |
sPeeD2k5
      
Beiträge: 72
|
Verfasst: Do 02.10.08 14:10
Also wie Topic schon sagt, möchte ich ein kleines Programm schreiben, das mir einfach alle IPs aus einer Text-Datei ausliest, egal ob noch irgndein Text dabei ist.
Gibt es dafür schon passende funktionen in Delphi?
MfG sPeeD
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 02.10.08 14:12
Wie sieht die Textdatei denn aus?
|
|
sPeeD2k5 
      
Beiträge: 72
|
Verfasst: Do 02.10.08 14:16
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 02.10.08 14:18
Also in der ersten Zeile beschreibender Text und in den folgenden die IP:Port-Kombination? Immer im gleichen Format?
|
|
sPeeD2k5 
      
Beiträge: 72
|
Verfasst: Do 02.10.08 14:22
yo das ganze wiederholt sich immer wieder 
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 02.10.08 14:27
Würde ich mal in etwa so probieren:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var sl: TStringList; i: integer; begin sl := TStringList.Create; try sl.LoadFromFile(Dateiname); for i := 0 to Pred(sl.Count) do sl[i] := Copy(sl[i],1,Pred(Pos(':',sl[i]))); sl.SaveToFile(Neuer_Dateiname); finally sl.Free; end; end; |
Ohne Gewähr, da aus dem Kopf getippselt.
|
|
sPeeD2k5 
      
Beiträge: 72
|
Verfasst: Do 02.10.08 14:47
damit überträgt er leider immanoch den text :/
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 02.10.08 15:25
Dann mach in der Zeile
Delphi-Quelltext 1:
| for i := 0 to Pred(sl.Count) do |
mal aus der 0 eine 1.
|
|
sPeeD2k5 
      
Beiträge: 72
|
Verfasst: Do 02.10.08 15:44
gleiches problem wie zuvor^^
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 02.10.08 15:46
Dann zeig doch mal die ersten 5 Zeilen der Datei und Deinen aktuellen Quältext.
|
|
sPeeD2k5 
      
Beiträge: 72
|
Verfasst: Do 02.10.08 15:51
Ausgangsfile:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| ---------------------------------------------------------------------------- COMMAND: C:\PROGRA~1\BORLAND\DELPHI7\PROJECTS\DFIND.EXE -p 80 211.1.1.1 211.1.1.255 500
---------------------------------------------------------------------------- 211.1.1.1:80 ---------------------------------------------------------------------------- Scan complete: 1 / 254 IP(s) ---------------------------------------------------------------------------- |
Nach Clean:
Quelltext 1: 2: 3: 4: 5: 6:
| COMMAND
1.1.1.1
Scan complete |
und der aktuelle source sieht so aus:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var sl: TStringList; i: integer; begin sl := TStringList.Create; try sl.LoadFromFile('sys.log'); for i := 1 to Pred(sl.Count) do sl[i] := Copy(sl[i],1,Pred(Pos(':',sl[i]))); sl.SaveToFile('clean.txt'); finally sl.Free; end; end; |
hoffe dis hilft weiter.
Zuletzt bearbeitet von sPeeD2k5 am Do 02.10.08 15:54, insgesamt 1-mal bearbeitet
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 02.10.08 15:52
Aha, das sieht ja schon anders aus. Ich habe gleich Feierabend, schaue mir das aber zu Hause dann nochmal in Ruhe an.
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 02.10.08 16:45
Versuch es mal so (die Konstanten musst Du natürlich anpassen):
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| const sFilename = 'C:\Test.txt'; sNewFilename = 'C:\Konvertiert.txt'; var sl: TStringList; i: Integer; begin sl := TStringList.Create; try sl.LoadFromFile(sFilename); for i := Pred(sl.Count) downto 0 do begin if (Trim(sl[i]) <> '') and (sl[i][1] in ['0'..'9']) then sl[i] := Copy(sl[i],1,Pred(Pos(':',sl[i]))) else sl.Delete(i); end; sl.SaveToFile(sNewFilename); finally sl.Free; end; end; |
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Do 02.10.08 19:32
|
|
sPeeD2k5 
      
Beiträge: 72
|
Verfasst: Do 02.10.08 23:55
besten dank habt mir beide sehr weitergeholfen 
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Fr 03.10.08 07:51
Yogu hat folgendes geschrieben : | | Die IP steht doch im Klartext richtig schön formatiert in einer separaten Zeile. |
Nun ja hüstel... bis auf das ':Port', gelle?
_________________ Na denn, dann. Bis dann, denn.
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 03.10.08 09:26
|
|