![]() |
Einfache Frage zu einer Schleife
Jo.
Hab eingetlich ne ganz billige Frage. Ich hab ein Button auf meiner Form. Ich würde gerne wenn ich das zweite Mal hintereinander auf den Button klicke, das ne Meldung kommt. (ShowMessage) z.B. 'Du hast schon gedrückt' usw. Danke! |
Re: Einfache Frage zu einer Schleife
Schau dir mal TButton.Enabled, wenn du möchtest, dass man den nur einmal drücken kann.
Sonst:
Delphi-Quellcode:
if TButton.Tag = 1 then Beep
else TButton.Tag := 1; // usw. |
Re: Einfache Frage zu einer Schleife
Delphi-Quellcode:
var FPressed:Boolean=False;
Button1.OnClick if fPressed then showmessage('xxxxx'); fPressed:=True; |
Re: Einfache Frage zu einer Schleife
Zitat:
Zitat:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var KLick: boolean; begin if Klick = true then ShowMessage('schon geklickt!'); Klick := true; end; |
Re: Einfache Frage zu einer Schleife
Hi,
das hat nix mit ner Schleife zu tun ;) Gib Deinem TForm im private-Abschnitt ne Variable (boolean, Byte, was auch immer *g* - was für Deine Zwecke halt benötigt wird) und setze diese im FormCreate auf False, 0 was auch immer :D Beim Click auf den Button prüfst Du diese Variable (false, 0 ...), änderst sie (auf true, hochzählen..) Somit erkennst Du beim zweiten Click, dass sie nicht mehr im Ausgangszustand (false/0...) ist und kannst darauf reagieren. edit: Warum tipp ich immer so viel nd bin dadurch so lahm... :? Gruß Stephan :dance: |
Re: Einfache Frage zu einer Schleife
Zitat:
Gruß Stephan :dance: |
Re: Einfache Frage zu einer Schleife
hi,
ist wirklich ganz einfach ;) du musst nur eine variable deklarieren, die speichert, ob schon geklickt wurde. möglichst nicht global, das thema hatten wir hier ja schon oft. also:
Delphi-Quellcode:
Aenogym
//uses usw.
type TForm1 = class(TForm) //... private gedrueckt: boolean; end; //... procedure TForm1.FormCreate(Sender: TObject); begin gedrueckt := false; //bin mir jetzt nicht sicher, ob die variable automatisch false ist end; procedure TForm1.Button1Click(Sender: TOJbect); begin if gedrueckt then showmessage('Du hast schon gedrückt') else //dein code end; |
Re: Einfache Frage zu einer Schleife
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const {$j+} bClicked: Boolean = False;{$j-} begin if bClicked then ShowMessage('Du hast schon geklickt') else bClicked := True; end; |
Re: Einfache Frage zu einer Schleife
Zitat:
@Steve: ich dachte, die Variable wird im ganzen Event beibehalten (also auch beim 2. und 3. mal aufrufen) :gruebel: |
Re: Einfache Frage zu einer Schleife
ALso ich finde die Idee mit dem Tag am besten. :zwinker:
*Meine Antwort gelöscht hab weil schon so viele vor mir gepostet haben* :| mfg freak |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:26 Uhr. |
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 by Thomas Breitkreuz