![]() |
Mehrere Befehle auf einen Komponenten setzen
Wie kann man einem Komponenten mehrere Befehle zuteilen? Ich will jetzt nämllich, dass ein Komponent einen Befehl ausführt, und wenn ich den selben Komponenten das nächste Mal nutze, er einen anderen ausführt. Und immer so abwechselnd...
Beispiel: Button 1 soll beim ersten Klick Label 1 umbenennen. Beim zweiten Klick auf Button 1 soll Label 1 einen anderen Namen bekommen. Ich hoffe, ihr habt mich jetzt verstanden^^ Naja, jetzt nicht flamen, ich bin halt totalanfänger... und kenn mich da halt noch nicht so aus :( |
Re: Mehrere Befehle auf einen Komponenten setzen
Geht fast genauso wie das andere ...
Delphi-Quellcode:
Code geklaut von: alcaeus :mrgreen:
if Label1.Tag = 0 then Label1.Caption := 'Hallo Welt';
else Label1.Caption := 'ich bin da'; Label1.Tag := 1-Label1.Tag; |
Re: Mehrere Befehle auf einen Komponenten setzen
Hi malo!
Geflamt wird hier nie, egal wie dumm die Fragen sind (einer hat mal gefragt wie er erkennt ob eine Zahl negativ ist :mrgreen:) Zu deinem Problem: Du könntest mehrere OnClick-Routinen schreiben (also die erste mit Doppelklick auf den Button einfügen, und die nächsten kopieren und umbenennen (Deklaration und Implementation). Anschließend kannst du die Routinen dem OnClick-Ereignis zuweisen. Und damit es besser verständlich wird:
Delphi-Quellcode:
Hier gibt es nur einen Button (Button1) auf dem Form, aber nach jedem Klick macht er was anderes. Ich hoffe das war verständlich erklärt.
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); procedure Button1bClick(Sender: TObject); procedure Button1cClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin //mach was Button1.OnClick := Button1bClick; end; procedure TForm1.Button1bClick(Sender: TObject); begin //mach was Button1.OnClick := Button1cClick; end; procedure TForm1.Button1cClick(Sender: TObject); begin //mach was Button1.OnClick := Button1Click; end; end. Greetz alcaeus [add]Oder du könntest meine eigene Methode verfeinern :mrgreen: aber es kommt auf den Verwendungszweck an. Das mit Label1.Tag wird bei mehreren Unterscheidungen nämlich sehr unübersichtlich.[/add] |
Re: Mehrere Befehle auf einen Komponenten setzen
Es wird nie geflamed? Man ist das langweilig -_-
Naja, egal :D Ich habs mal mit dem oberen Befehl versucht. Klappt wunderbar :D Thx für die Antworten :D |
Re: Mehrere Befehle auf einen Komponenten setzen
[ot]
Zitat:
[/ot] Greetz alcaeus |
Re: Mehrere Befehle auf einen Komponenten setzen
Zitat:
|
Re: Mehrere Befehle auf einen Komponenten setzen
Zitat:
|
Re: Mehrere Befehle auf einen Komponenten setzen
Zitat:
|
Re: Mehrere Befehle auf einen Komponenten setzen
Hi Malo,
einfach mal lesen: ![]() und nicht lachen :mrgreen: Greetz alcaeus |
Re: Mehrere Befehle auf einen Komponenten setzen
Zitat:
Ich glaube das nicht lachen wird schwer :mrgreen: Hatte da total ne Denksperre :oops: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 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-2025 by Thomas Breitkreuz