Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Stoppuhr (if/else) (https://www.delphipraxis.net/149840-stoppuhr-if-else.html)

Delphi-_-N00b 31. Mär 2010 19:38


Stoppuhr (if/else)
 
hallo
ich will eine einfach stoppuhr machen bin grade erst bei den sekunden bis 9, aber ich habe keine imagelist. weil ich das nicht verstehe ich wollte es folgendermaßen machen:
immer wenn das bild mit der 1 ist und der timer den impuls sendet soll 1-visible false gehen und 2 dafür an. Wenn das bild 2 da ist soll das unsichtbar werden und 3 sichtbar usw...

Quellcode:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.enabled:=true ;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin

if Image10.Visible:=true
then begin
Image10.Visible:=false;
Image1.Visible:=true;
end;

if Image1.Visible:=true
then begin
Image1.Visible:=false;
Image2.Visible:=true;
end;

if Image2.Visible:=true
then begin
Image2.Visible:=false;
Image3.Visible:=true;
end;

if Image3.Visible:=true
then begin
Image3.Visible:=false;
Image4.Visible:=true;
end;

if Image4.visible:=true
then begin
Image4.Visible:=false;
Image5.Visible:=true;
end;

if Image5.visible:=true
then begin
Image5.Visible:=false;
Image6.Visible:=true;
end;

if Image6.visible:=true
then begin
Image6.Visible:=false;
Image7.Visible:=true;
end;

if Image7.visible:=true
then begin
Image7.Visible:=false;
Image8.Visible:=true;
end;

if Image8.visible:=true
then begin
Image8.Visible:=false;
Image9.Visible:=true;
end;

if Image9.visible:=true
then begin
Image9.Visible:=false;
Image10.Visible:=true;
end;

end;
In jeder zeile mit "then begin" kommt der fehler: Type of expression must be boolean

Muellermilchtrinker 31. Mär 2010 19:41

Re: Stoppuhr (if/else)
 
Du musst auch schreiben

Delphi-Quellcode:
if Imaage1.Visible=True then
begin
...
end;
Bei if Abfragen reicht ein '='

Matze 31. Mär 2010 19:44

Re: Stoppuhr (if/else)
 
Besser ist

Delphi-Quellcode:
if Imaage1.Visible then
begin
...
end;
Begründung

Grüße, Matze

Delphi-_-N00b 31. Mär 2010 19:47

Re: Stoppuhr (if/else)
 
Es geht jetzt zwar (das Programm wird gestartet)
und der timer läuft auch, aber die bilder wechseln nicht. Es bleibt die ganze zeit die 0 stehen, die von anfang an sichtbar ist. :(

Teekeks 31. Mär 2010 19:49

Re: Stoppuhr (if/else)
 
wenn du das in der Reihenfolge macht passiert folgendes:
(i=image)
Code:
i1 ist sichtbar, also wird es unsichtbar und i2 wird sichtbar.
nächste if-abfrage:
i2 ist sichtbar, also wird es unsichtbar und i3 wird sichtbar.
nächste if-abfrage:
i3 ist sichtbar, also wird es unsichtbar und i4 wird sichtbar.
...
und so weiter.

Delphi-_-N00b 31. Mär 2010 19:51

Re: Stoppuhr (if/else)
 
was willst du mir jetzt damit sagen?

Matze 31. Mär 2010 19:53

Re: Stoppuhr (if/else)
 
Na überlege doch mal, was du machst:

Delphi-Quellcode:
if Image10.Visible
then begin
Image10.Visible:=false;
Image1.Visible:=true; // hier setzt du Image1 auf Visible = true ...
end;

// ... dann ist es auch hier true und ...
if Image1.Visible
then begin
Image1.Visible:=false;
Image2.Visible:=true; /// ... du setzt Image1 auf Visible = true ...
end;

// ... hier ist es dann natürlich ebenfalls true
if Image2.Visible
then begin
Image2.Visible:=false;
Image3.Visible:=true;
end;

// usw.
Nimm mal if-else-verzweigungen. Vielleicht klappt's dann schon:

Delphi-Quellcode:
if Image10.Visible then
begin
  Image10.Visible := false;
  Image1.Visible := true;
end

else if Image1.Visible then
begin
  Image1.Visible := false;
  Image2.Visible := true;
end

else if Image2.Visible then
begin
  Image2.Visible := false;
  Image3.Visible := true;
end;

// ...

Teekeks 31. Mär 2010 19:55

Re: Stoppuhr (if/else)
 
dass, wen das bild 1 sichtbar wird, der nacheinander wirklich alles durchackert bis er am schluss ist.
Lösung des Problems:
Delphi-Quellcode:
if Image10.Visible:=true
then begin
Image10.Visible:=false;
Image1.Visible:=true;
end else

if Image1.Visible:=true
then begin
Image1.Visible:=false;
Image2.Visible:=true;
end else

if Image2.Visible:=true
then begin
Image2.Visible:=false;
Image3.Visible:=true;
end else

// usw.
RK: @Matze: sag ich doch. :)

[EDIT] lool, genau das selbe :mrgreen:

Delphi-_-N00b 31. Mär 2010 20:14

Re: Stoppuhr (if/else)
 
oK thanks


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 Uhr.

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