Wiso nicht ^^
Code:
Procedure TForm1.Button1Click(Sender: TObject);
Var D: File of Char;
I, A: Integer;
C: Char;
Begin
A := StrToIntDef(Edit2.Text, -1);
If A < 0 Then Begin
ShowMessage('Geben sie ''ne Gültige Dateigrösse an!');
Exit;
End;
If Length(Edit3.Text) < 1 Then Begin
ShowMessage('Geben sie ein Zeichen an!');
Exit;
End;
C := Edit3.Text[1];
AssignFile(D, Edit1.Text);
Rewrite(D);
[color=red]ProgressBar1.Max := A;[/color]
For I := 1 to A do [color=red]Begin[/color]
Write(D, C);
[color=red]ProgressBar1.Position := I;
Application.ProcessMessages;
End;[/color]
CloseFile(D);
End;
etwas schneller, da nicht bei jedem Zeichen die Anzeige aktialiesert wird, sonder nur bei jedem 256.:
Code:
Procedure TForm1.Button1Click(Sender: TObject);
Var D: File of Char;
I, A: Integer;
C: Char;
Begin
A := StrToIntDef(Edit2.Text, -1);
If A < 0 Then Begin
ShowMessage('Geben sie ''ne Gültige Dateigrösse an!');
Exit;
End;
If Length(Edit3.Text) < 1 Then Begin
ShowMessage('Geben sie ein Zeichen an!');
Exit;
End;
C := Edit3.Text[1];
AssignFile(D, Edit1.Text);
Rewrite(D);
[color=red]ProgressBar1.Max := A;[/color]
For I := 1 to A do [color=red]Begin[/color]
Write(D, C);
[color=red]If I and $FF = 0 Then Begin
ProgressBar1.Position := I;
Application.ProcessMessages;
End;
End;[/color]
CloseFile(D);
End;
Noch schneller geht's mit Filestream und Co.