Schleife unterbrechen und Stringlist in Datei anhängen
Hallo ich hab ein Problem zwar kann ich die Stringlist mit SaveToFile in eine Datei speichern, doch würde ich die Stringlist Daten an lieber an eine Datei anhängen da falls ich das Programm vorzeitig schließe die bisheigen Daten schon in einer Datei vorhenden sind. Wie muss ich also die Stringlist definieren um sie mit Writeln in eine Datei zu schreiben. Außerdem würde ich die Schleife gerne unterbrechen können um einen Zwischenstand anzuschauen. Danke im Voraus Smeivel
Delphi-Quellcode:
procedure TForm1.SpeedButton1Click(Sender: TObject);
var a,b,c,d,w,x,y,z,g,h,i,j:integer; sl: TStringList; f : TextFile; begin w:=0;x:=0;y:=0;z:=0; sl:=TStringList.Create; AssignFile(f, 'ip.txt'); for g:=0 to 255 do begin a:=w+1; w:=a; for h:=0 to 255 do begin b:=x+1; x:=b; if b=256 then x:=0; for i:=0 to 255 do begin c:=y+1; y:=c; if c=256 then y:=0; for j:=0 to 255 do begin d:=z+1; z:=d; if d=256 then z:=0; sl.add(IntToStr(a-1)+'.'+IntToStr(b-1)+'.'+IntToStr(c-1)+'.'+IntToStr(d-1)); //sl.SaveToFile('ip.txt'); refresh; Append(f); Writeln(f,[sl]] //Hier möchte ich die stringlist dem txt dokument hinzufügen sl.clear; end; end; end; end; CloseFile(f); end; procedure TForm1.SpeedButton2Click(Sender: TObject); begin // hiermit möchte ich gerne die pocedure von button 1 anhalten //bzw. weiterlaufen lassen end; end. |
Re: Schleife unterbrechen und Stringlist in Datei anhängen
Delphi-Quellcode:
Aber warum willst Du dann überhaupt eine Stringlistrefresh; Append(f); Writeln(f,sl.strings[0]] //Hier möchte ich die stringlist dem txt dokument hinzufügen sl.clear; wenn Du sie direkt nach der Benutzung wieder löscht. Dann würde auch ein stinknormaler string reichen. Grüße Klaus |
Re: Schleife unterbrechen und Stringlist in Datei anhängen
Wäre viel einfacher ^^
Delphi-Quellcode:
Wenn du den Zwischenstand haben willst, dann nimm z.B. eine globale Variable für
AString = IntToStr(a-1)+'.'+IntToStr(b-1)+'.'+IntToStr(c-1)+'.'+IntToStr(d-1)
Writeln(f,AString) AString und lass dir den aktuellen Inhalt anzeigen. ( ShowMessage(AString); ) Vergiss aber nicht, irgendwo in der Schleife ein Application.ProcessMessages (Nicht in der Innersten, am besten in der Zweiten oder Dritten). So reagiert dein Programm auch noch während du deine 1337 h4x0r IP-Li$t erstellst ;) (Zumal die StringList mindestes 4.294.967.296 IP-Adressen * 15 Bytes = 60GB Speicher verschlingen würde) |
Re: Schleife unterbrechen und Stringlist in Datei anhängen
Noch einfacher wäre wohl:
Delphi-Quellcode:
Bring viel Zeit mit - es wird ein Weilchen dauern...
var
c: Cardinal; tf: TextFile; begin AssignFile(tf, ExtractFilePath(ParamStr(0)) + 'ip.txt'); Rewrite(tf); for c := 0 to $FFFFFFFF do begin WriteLn(tf, IntToStr(c shr 24), '.', IntToStr(c shr 16 and $FF), '.', IntToStr(c shr 8 and $FF), '.', IntToStr(c and $FF) ); // Application.ProcessMessages; // falls du noch was anderesvorhast end; CloseFile(tf); end; Grüße vom marabu |
Re: Schleife unterbrechen und Stringlist in Datei anhängen
Vielen Dank für die schnellen Antworten! Hoffe so kriege ich meine 1337 h4x0r IP-Li$t hin :cheers: . Mal schauen obs klappt .
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:50 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