Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   ProgressBar mit Timer synchron (https://www.delphipraxis.net/72248-progressbar-mit-timer-synchron.html)

bonanza 27. Jun 2006 17:56


ProgressBar mit Timer synchron
 
Hi,

ich möchte eine ProgressBar mit einem Timer synchron laufen lassen...also z.b. alle 30 sek wird bei mir etwas ausgeführt und die PB soll eben anzeigen, wie "weit" der fortschritt ist.


Wie kann ich das machen ?

fLaSh11 27. Jun 2006 17:57

Re: ProgressBar mit Timer synchron
 
Delphi-Quellcode:
ProgressBar1.StepIt;
in Timer1.OnTimer schreiben

mkinzler 27. Jun 2006 17:59

Re: ProgressBar mit Timer synchron
 
Und einen Redraw des Selbigen veranlassen.

bonanza 27. Jun 2006 17:59

Re: ProgressBar mit Timer synchron
 
also mein Timer steht auf 30000 also 30 sek...wenn ich dann
Delphi-Quellcode:
ProgressBar1.StepIt;
in ONtimer reinschreibe, passiert garnix...

mkinzler 27. Jun 2006 18:01

Re: ProgressBar mit Timer synchron
 
Was hast du als Maximum gesetzt?

bonanza 27. Jun 2006 18:02

Re: ProgressBar mit Timer synchron
 
edit:// ach quatsch, das Interval des Timers also in diesem Fall 30000...

fLaSh11 27. Jun 2006 18:02

Re: ProgressBar mit Timer synchron
 
und ist der Timer auch eingeschaltet?

bonanza 27. Jun 2006 18:05

Re: ProgressBar mit Timer synchron
 
das ist der Code...hoffe mal, dass ich nix vergessen habe...
Delphi-Quellcode:
//...
procedure TForm1.Button1Click(Sender: TObject);

begin
akt_int := strtoint(edit1.text);
timer1.Enabled := true;
timer1.interval := (akt_int*1000);
Button1.Caption:= 'gestartet...mit'+edit1.text+' Sek.';
Application.ProcessMessages;
ProgressBar1.Enabled := true;
progressbar1.Min := 0;
progressbar1.Max := Timer1.Interval;
end;


procedure TForm1.Ontimer(Sender: TObject);
   
begin                    
ProgressBar1.StepIt;
end;
//....

mkinzler 27. Jun 2006 18:10

Re: ProgressBar mit Timer synchron
 
Delphi-Quellcode:
progressbar1.Max := Timer1.Interval;
Dann ist es ja Klar, du müßtest das Programm ewig Laufen lassen bevor du was siehst. (Alle 30 Sek ein Punkt ~ 1/1000)!.

Es fehlt auch der redraw der Progressbar:

Delphi-Quellcode:
procedure TForm1.Ontimer(Sender: TObject);
begin                    
    ProgressBar1.StepIt;
    ProgressBar1.Update;
end;

bonanza 27. Jun 2006 18:14

Re: ProgressBar mit Timer synchron
 
Delphi-Quellcode:
//...
procedure TForm1.Button1Click(Sender: TObject);

begin
akt_int := strtoint(edit1.text);
timer1.Enabled := true;
timer1.interval := (akt_int*1000);
Button1.Caption:= 'gestartet...mit'+edit1.text+' Sek.';
Application.ProcessMessages;
ProgressBar1.Enabled := true;
progressbar1.Min := 0;
progressbar1.Max := 30;
end;

procedure TForm1.Ontimer(Sender: TObject);
begin                    
    ProgressBar1.StepIt;
    ProgressBar1.Update;
end;
so funktioniert es aber auch net...der macht alle 30 sek knapp 1/3 oder so :-\
Wie kann ich das denn abhänig von der Timer1.Interval-Zeit ?
also, dass das immer passt, egal was man in Edit1.text eingibt ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:17 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz