Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi ProgressBar mit 2 Timern > Großes Problem (https://www.delphipraxis.net/92234-progressbar-mit-2-timern-grosses-problem.html)

Honigdachs 16. Mai 2007 15:48


ProgressBar mit 2 Timern > Großes Problem
 
Hallo,

ich hab mal wieder ein Problem. Ich versuche, eine Progressbar mit zwei Timern zu verknüpfen. Das Formular soll mithilfe von Timer1 5sec lang aufgerufen werden, in der Zwischenzeit soll mittels Timer2 alle 0,5sec die Progress-Position um +4 erhöht werden. Nach Ablauf von Timer2 soll dieser erneut gestartet werden, um den Progress fortzuführen. Nach Ablauf der 5sec soll das Formular wieder geschlossen werden. Ich kam auf folgendes:
Delphi-Quellcode:
procedure TForm3.FormCreate(Sender: TObject);
var
  timer1, timer2 : TTimer;
begin
  timer1.enabled:= true;
  timer2.enabled:= true;
  if Timer2.enabled = true then
    begin
      progressbar1.position:=progressbar1.position+4;
    end;
  if Timer2.enabled = false then
    Timer2.enabled := true;
  if Timer1.Enabled = false then
    close;
    Form1.show;
end;
Vielleicht könnt ihr mir sagen, wo der Fehler liegt. :gruebel:

MfG

Honigdachs

Apollonius 16. Mai 2007 15:51

Re: ProgressBar mit 2 Timern > Großes Problem
 
Das gibt absolut keinen Sinn. :wiejetzt:
Du rufst das alles im Formcreate auf. Du musst die Position der Progressbar im Timer2.onTimer ändern und im Timer1.onTimer die beiden Timer auf disabled setzen und das Formular schließen.
Hoffe geholfen zu haben
Apollonius

pilic 16. Mai 2007 16:28

Re: ProgressBar mit 2 Timern > Großes Problem
 
Hi,

du brauchst außerdem folgende Konstruktion nicht:

Delphi-Quellcode:
if Timer2.enabled = true then
    begin
      progressbar1.position:=progressbar1.position+4;
    end;
Es reicht, wenn du nur das machst:

Delphi-Quellcode:
if Timer2.Enabled then
Das macht aber afaik nur etwas, wenn du LongBool-Werte benutzt.

Cheerio

fLaSh11 16. Mai 2007 16:30

Re: ProgressBar mit 2 Timern > Großes Problem
 
wie wäre es mit:
Delphi-Quellcode:
for i:=1 to 100 do
  begin
  Inc(ProgressBar1.Position,1);
  Delay(50);
  end;
Close;
Form1.Show;
die Prozedur Delay bekommst du aus der CodeLib.

//Edit: kleiner zeitlicher Fehler^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:43 Uhr.

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-2025 by Thomas Breitkreuz