Einzelnen Beitrag anzeigen

Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#3

Re: Progressbar beim erstellen einer Datei?

  Alt 26. Dez 2005, 20:41
Wenn du es mit TextFile machen willst, musst du wohl oder übel etwas Performance dafür opfern.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const MB2B = 1024*1024; //MBytes nach Bytes
      BufSize = 1024; //Buffergröße in Bytes
var Buf: String[1024]; //Buffer
    Size: Int64; //MBytes
    T: TextFile; //TextFile
    i, j: Integer; //Zähler
begin
  Size:=StrToFloat(JvEdit1.Text);
  Buf:=''; //auf 0
  Bar.Max:=Size; //Progressbar Init
  Bar.Step:=1;
  If SaveDialog1.Execute then
    begin
    assignfile(t,SaveDialog1.FileName); //FileInit
    rewrite(t);
    for i:=1 to Size do //Für jedes MB
      begin
      for j:=1 to MB2B div BufSize do //solange Buffer bis MB voll
        writeln(t,Buf); //Buffer schreiben
      Bar.StepIt; //Progressbar Weitermachen und Neu malen
      Bar.Refresh;
      end;
    closefile(t); //Datei schliessen
    end;
end;
eleganter ist es aber in jedem Fall mit einem Stream...
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat