Ich wollte zuerst fragen wie die TProgressBar funktioniert, habe es allerdings durch probieren selbst herausgefunden (Google konnte nicht helfen).
Die TProgessBar arbeiten in "Steps" (dt. Schritten).
Standardmäßig ist so ein Schritt '10' groß.
Mit dem Befehl TProgessBar.Step:=X kann man die Größe des Schrittes auf X (Integer) setzten.
Um einen "Step zu machen" kann man den Befehl TProgressBar.StepIt benutzen.
Um die "Größe" der TProgressBar festzulegen benutzt man den Befehl TProgressBar.Min/Max:=X (Integer).
Mit TProgressBar.Position (Integer) kann man sich die Position anzeigen lassen oder diese verändern.
Ein kleines Beispiel:
Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls,
StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
ProgressBar1: TProgressBar;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
ProgressBar1.StepIt;
showmessage(inttostr(progressbar1.position));
if ProgressBar1.Position=10 then
begin
ProgressBar1.Position:=0;
showmessage('Reset TProgressBar');
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
progressbar1.step:=1;
ProgressBar1.Min:=0;
ProgressBar1.Max:=10;
end;
end.
Über einen Button gehen wir jedes Mal um 1 nach vorne (d. h. 10%) und lassen uns "unsere Position anzeigen", bzw. die Prozentzahl/10. Haben wir das Maximum erreicht, wird die Position wieder auf Null zurückgesetzt.