Autor Beitrag
WetBo
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Do 16.03.06 22:04 
hallo,

bin langsam am verzweifeln warum mein timer nicht anspringt! kann mir einer da was sagen?
das ganze soll bei nem rennspiel einen starttimer von 3 auf 0 laufen lassen.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
procedure TForm1.Start1Click(Sender: TObject);

begin
  sekundentimer.Enabled:=true;
  label2.Visible:=true;
end;

procedure TForm1.SekundentimerTimer(Sender: TObject);
 var i:integer;
begin
  for i := 3 to 0 do
    begin;
       label2.Caption:=inttostr(i);
    end;
  if i=0 then
    begin
      label2.Visible:=false;
      start:=true;
    end;
  end;

end.
Vera
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 82

WinXP Home
Delphi 2005 Personal
BeitragVerfasst: Do 16.03.06 22:17 
Wie kommst du darauf, dass der Timer nicht ausgeführt wird? Hast du mal einen Breakpoint gesetzt und geschaut ob der Timer ausgelöst wird?

Was willst du genau mit der For-Next-Schleife erreichen? Zum einen wird die Schleife nich ausgeführt werden weil du von 3 nach 0 zählst und zwar vorwärts. Du müsst rückwärts zählen:
ausblenden Delphi-Quelltext
1:
2:
for i:=3 downto 0 to
  {...}

Dann benutzt Du die Schleifen Variable außerhalb der For-Next-Schleife. Das ist auch nicht richtig. Das müsste Delphi Dir aber auch gesagt haben.

Bye, Vera
WetBo Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Do 16.03.06 22:29 
oh danke,

bin noch ein zimlicher delphi noob....

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
begin
  sekundentimer.Enabled:=true;
  label2.Visible:=true;
end;

procedure TForm1.SekundentimerTimer(Sender: TObject);
 var i:integer;
begin
  for i := 3 downto 0 do
    begin;
       label2.Caption:=inttostr(i);
    end;

      label2.Visible:=false;
      start:=true;
    end;

end.

das label erscheint jetzt, in der variable i steht auch das entsprechende drin, aber es wird mir nichts angezeigt, beim 2tenausführen nur kurz eine 0 und dann wars das.
Ironwulf
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 733
Erhaltene Danke: 2



BeitragVerfasst: Do 16.03.06 22:38 
die schleife muss eigentlich ganz weg
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure TForm1.Start1Click(Sender: TObject);  
begin  
  Label2.Caption:= '3';
  sekundentimer.Enabled:=true;  
  label2.Visible:=true;  
end;  


procedure TForm1.SekundentimerTimer(Sender: TObject);   
begin  
  label2.Caption:= IntToStr(DEc(StrToInt(Label2.Caption)));    

  If StrToInt(Label2.Caption) = 0 Then 
  begin
    label2.Visible:=false;  
    start:=true;
    sekundentimer.Enabled:= False;
  end;  
end;


joa das müssts eigentlich sein und der timer interval muss auf einer sekunde stehen
WetBo Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Do 16.03.06 23:02 
danke, hätte ich auch selber drauf komen können, mi der schleife zählt er ja bei jedem hop vom timer bis 0...