Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Button-Problem! (https://www.delphipraxis.net/31333-button-problem.html)

Wargrave 7. Okt 2004 14:39


Button-Problem!
 
Halli Hallo!
Ich bins mal wieder und nerve euch mit dummem Newbee gequatschte.Naja in irgendnem Gebiet ist man halt immer neu.Deshalb brauche ich nochmal eure Hilfe!

Hier ist der Link zu einem Beispiel-Prog wozu ich aber den Quelltext net hab.

Hier klicken zum Download oder öffnen!

Kurze Frag: Kann ein Button nicht zwei Funktionen übernehmen.
Der Button soll einen Timer anschalten dann soll auf dem Button als caption stehen "Ampel stoppen!" Das ist ja nicht das Problem aber ich kann den Timer ja nicht stoppen.Ich darf aber nur einen Button zum An/Ausschalten des Timerbenutzen geht das mit "else" oder so?

Vielen Dank schonmal im Vorraus!
Wargrave

toms 7. Okt 2004 14:45

Re: Button-Problem!
 
Hi,

Schreibe einfach
Delphi-Quellcode:
Timer1.Enabled := not Timer1.Enabled

himitsu 7. Okt 2004 14:50

Re: Button-Problem!
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if Button1.Caption = 'Ampel start' then begin
    Button1.Caption := 'Ampel stopp';
    //hier muß dann dein Code zum starten dere Ampel hin
  end else begin
    Button1.Caption := 'Ampel start';
    //und hier kommt dann der Code zum stoppen der Ampel rein
  end;
end;
Und wenn ich die Funktion der PAmpel (ohh man, das war'n noch Zeiten und komische Namen) richig erkannt hab, dann wird dort einfach nur der Timer für die Steuerung ein/ausgeschaltet.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if Button1.Caption = 'Ampel start' then begin
    Button1.Caption := 'Ampel stopp';
    Timer1.Enabled := true;
  end else begin
    Button1.Caption := 'Ampel start';
    Timer1.Enabled := false;
  end;
end;


// und nach Tom's Variante:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled := not Timer1.Enabled;
  if Timer1.Enabled then
    Button1.Caption := 'Ampel stopp'
  else
    Button1.Caption := 'Ampel start';
end;

Wargrave 7. Okt 2004 14:50

Re: Button-Problem!
 
Wo genau einfügen und welchen Zweck hat das?
Bin ja dumm!

Wargrave 7. Okt 2004 14:59

Re: Button-Problem!
 
Okay ich danke euch vielmals!

Thx Thx!!!

Wargrave 7. Okt 2004 15:16

Timer VErständnis Frage!
 
Ich habe das so verstanden, dass ein Timer einen Befehl nur imer wieder wiederholt.
Ich soll aber nun eine Ampel bauen.Also ich habe vier kleine Icons.Einmal nur rot,dann rot und gelb, dann grün und einen nur gelb. diese bilder müssen so hintereinander visible werden dass das auch aussieht wie ne ampel. Das Prog habt ihr ja gesehen.Also den Button um den Timer ein und auszustellen habe ich ja nun.habe zu anfang ampelrot.visible:=true und die anderen bilder obendrüber.der timer wiederholt ja nur eine sache aber wie kann man sachen HINTEREINADNER wiedergeben?
Bitte helft mir... dann is das Prog auch fertig!

Danke Danke
Wargrave

himitsu 7. Okt 2004 15:25

Re: Button-Problem!
 
Ist zwar auch wieder 'ne neue Frage, aber ich will mal nicht so sein -.-''

Also du brauchts im Timerereignis einfach nur 'ne Variable hochzählen und dann je nach Zählerstand eines der Bilder anzeigen.

Wargrave 7. Okt 2004 15:31

Re: Button-Problem!
 
Hmmm stimmt aber welche Einheit benutzt man da!?
if (Timer1=200)
then
begin
gruen.visible:=true;
end;

alcaeus 7. Okt 2004 15:37

Re: Button-Problem!
 
:roll: Antwort gibts hier
Neue Frage, neuer Thread, und dann gehts hier trotzdem noch weiter :wall:

Greetz
alcaeus

Wargrave 7. Okt 2004 15:40

Re: Button-Problem!
 
Jo thx das wirds wohl erstmal gewesen sein!
Naja is schön hier ein paar Ideen zu finden und dabei zu lernen.
Ich hoffe ich gehe euch nicht zu sehr auf`n Keks. Jeder fängt ja mal an.
Grüße aus Krefeld/NRW
Wargrave


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:24 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