Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi warum Funktionniert code nicht zum an/aus schalten des Timer (https://www.delphipraxis.net/26741-warum-funktionniert-code-nicht-zum-aus-schalten-des-timer.html)

NikoMitDaMacht 28. Jul 2004 15:28


warum Funktionniert code nicht zum an/aus schalten des Timer
 
Warum funktioniert dieser Source nich?

Start1 ist ein popopmenu item und der source soll einen timer enabeln und disabeln, caption des item verändern

Delphi-Quellcode:
procedure TMainForm.Start1Click(Sender: TObject);
begin
if Start1.Caption = 'Start' then
begin
   Timer3.Enabled:=true;
   Timer1.Enabled:=true;
end;
 if Start1.Caption = 'Stop' then
begin
   Timer2.Enabled:=true;
   Timer1.Enabled:=False;
end;
end;

procedure TMainForm.Timer2Timer(Sender: TObject);
begin
Start1.Caption:='Start';
Timer2.Enabled:=false;
end;

procedure TMainForm.Timer3Timer(Sender: TObject);
begin
Start1.Caption:='Stop';
Timer3.Enabled:=false;
end;
[edit] Timer1 ist der timer der an und aus geschaltet werden soll[/edit]

Danke im voraus !

sakura 28. Jul 2004 15:28

Re: warum Funktionniert code nicht???????????
 
:warn: Ändere den Titel in etwas aussagekräftiges :!:

...:cat:...

S2B 28. Jul 2004 15:34

Re: warum Funktionniert code nicht???????????
 
Zitat:

Delphi-Quellcode:
procedure TMainForm.Start1Click(Sender: TObject);
begin
if Start1.Caption = 'Start' then
begin
   Timer3.Enabled:=true;
   Timer1.Enabled:=true;
end;

Du aktivierst beide Timer. Deswegen kann es gar nicht gehen. :wink:

Edit: Oh, hab die Zahlen verwechselt! :wall:

ripper8472 28. Jul 2004 16:33

Re: warum Funktionniert code nicht zum an/aus schalten des T
 
doch, das geht schon, weil timer1 was ganz anderes macht als timer2 und 3.

schau doch mal nach, wie lang die intervall zeiten der timer sind.

NikoMitDaMacht 28. Jul 2004 16:35

Re: warum Funktionniert code nicht zum an/aus schalten des T
 
Also timer2/3 haben beide einen interval von 1

NikoMitDaMacht 28. Jul 2004 16:37

Re: warum Funktionniert code nicht zum an/aus schalten des T
 
kennt irgend jemand eine einfachere lösung?

scp 28. Jul 2004 17:36

Re: warum Funktionniert code nicht zum an/aus schalten des T
 
Warum nicht einfach so?
Delphi-Quellcode:
procedure TMainForm.Start1Click(Sender: TObject);
begin
if Start1.Caption = 'Start' then
begin
   Timer1.Enabled:=true;
   Start1.Caption:='Stop';
end
else // Mit else gibts kein Durcheinander
if Start1.Caption = 'Stop' then
begin
   Timer1.Enabled:=False;
   Start1.Caption:='Start';
end;
end;

rantanplan99 28. Jul 2004 17:44

Re: warum Funktionniert code nicht zum an/aus schalten des T
 
Also ersteinmal, warum brauchst du überhaupt Timer2/3? durch eine kleine änderung deiner Routine wird das überflüssig

Delphi-Quellcode:
procedure TMainForm.Start1Click(Sender: TObject);
begin
  if Start1.Caption = 'Start' then
  begin
    Timer1.Enabled:=true;
    Start1.Caption := 'Stop';
  end else
  begin
    Timer1.Enabled:=False;
    Start1.Caption := 'Start';
  end;
end;
Und nun zu deinem Problem das es nicht funktioniert:
Setzt mal bitte die property
Delphi-Quellcode:
AutoHotKeys auf maManual
Ich schätze bei dir ist die auf maAutomatic gesetzt, und dein 'Start' wird automatisch zu einem '&Start' deswegen ist keiner deiner if-Bedingungen wahr.

NikoMitDaMacht 28. Jul 2004 18:49

Re: warum Funktionniert code nicht zum an/aus schalten des T
 
Danke ihr hab recht.
Super

Sharky 28. Jul 2004 19:02

Re: warum Funktionniert code nicht zum an/aus schalten des T
 
Zitat:

Zitat von NikoMitDaMacht
Danke ihr hab recht.
Super

Noch ein Tip am Rande: Warum machst Du deine Prüfung über die Caption? Prüfe doch besser auf Timer.Enabled


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:19 Uhr.
Seite 1 von 2  1 2      

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