Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Button wiederholen (https://www.delphipraxis.net/85121-button-wiederholen.html)

SaFu 26. Jan 2007 09:49


Button wiederholen
 
Hi hab mal ne ganz Simple.

Wie wiederhole ich einen Button.Click 5 mal im Abstand von 5 Sekunden denn ich mit einem anderen Button ausführe?

mkinzler 26. Jan 2007 09:51

Re: Button wiederholen
 
Verwende einen Timer, den du per Buttonklick strtest und rufe darin die Click-Methode des anderen Buttons auf.

SaFu 26. Jan 2007 09:52

Re: Button wiederholen
 
und mit einer verzögerung z.B. Sleep

sirius 26. Jan 2007 09:54

Re: Button wiederholen
 
Zitat:

Zitat von fuknersascha
und mit einer verzögerung z.B. Sleep

Nein, mit einem Timer (TTimer)

Elicia 26. Jan 2007 09:56

Re: Button wiederholen
 
Hi,

probier mal 'Button.OnClick(self)' - sollte funktionieren. Für die 5 Sekunden eventuell Timer nehmen!

Viel Glück!
Elicia

SaFu 26. Jan 2007 10:02

Re: Button wiederholen
 
Kann man das nicht irgendwie so Realisieren??

Delphi-Quellcode:
procedure TForm1.Button6Click(Sender: TObject);
var x :integer;
begin
   while x:=1  < 5 do
   begin
    Sleep(1000);
    Button2.Click;
    Button3.Click;
    inc(x);
  end;
 end;

sirius 26. Jan 2007 10:11

Re: Button wiederholen
 
Also wenn dann schon "for x:=1 to 4 do"

Aber dann wartet der User ja 4 Sekunden und kann nix machen.

Nimm doch einen Timer

marabu 26. Jan 2007 10:21

Re: Button wiederholen
 
Hallo Sascha,

bevor du weiter programmierst: Wenn du Code für ein ButtonClick-Event geschrieben hast und diesen Code auch von anderen Stellen aus aufrufen möchtest, dann empfiehlt es sich spätestens jetzt diesen Code in eine eigene Prozedur auszulagern.

Die Entscheidung zwischen Sleep() und einem Timer hängt auch davon ab, ob die Zeit möglichst exakt eingehalten werden muss, in welchem Verhältnis die Wartezeit zur Ausführungszeit deines Codes steht und ob der Benutzer zwischenzeitlich überhaupt eine andere Aktion anstoßen darf.

Grüße vom marabu

SaFu 26. Jan 2007 10:22

Re: Button wiederholen
 
habs
Delphi-Quellcode:
procedure TForm1.Button6Click(Sender: TObject);
begin
 Memo1.Clear;
 NMHTTP1.get('http://de.finance.yahoo.com/waehrungsrechner');
 a:= NMHTTP1.Body;
   while x < 5 do
    begin
     Button2Click(Sender);
     Button3Click(Sender);
     x:=x+1;
     Sleep(2000);
    end;
end;

Jürgen Thomas 26. Jan 2007 10:27

Re: Button wiederholen
 
Hallo Sascha,

sag mal, bist Du resistent gegen Beratung?
Zitat:

Zitat von sirius
Also wenn dann schon "for x:=1 to 4 do"

Aber dann wartet der User ja 4 Sekunden und kann nix machen.

Nimm doch einen Timer

Durch die for-Schleife sparst Du Dir zwei Anweisungen. Außerdem fehlt bei Dir die Initialisierung von x. Und den Timer haben mehrere vorgeschlagen; das hat doch seinen Grund!!! Jürgen


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07 Uhr.
Seite 1 von 2  1 2      

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