![]() |
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: |
Re: Mehrere Befehle auf einen Komponenten setzen
Zitat:
|
Re: Mehrere Befehle auf einen Komponenten setzen
Zum Thema negative Zahlen sag ich lieber nix mehr *gg*
Egal, zurück zu meinem Thema: Wie kann ich einem Komponenten mehr als 2 Schleifenfunktionen zuteilen? mit dem Vorschlag von alacaeus komm ich irgendwie gar nicht klar. Da kommen alle möglichen Fehlermeldungen... Wie wärs mal mit dem fertigen Quelltext eines Beispieles? ^^ Den einen Button kann ich da ja selbst hinsetzen... aber wie gesagt, bei mir funzt das nicht... Wobei mir Schleifenbefehle trotzdem lieber sind^^ Ist irgendwie übersichtlicher... |
Re: Mehrere Befehle auf einen Komponenten setzen
Solltets du eine neue Frage haben, erstelle bitte einen neuen Thread.
Und formuliere deine Frage etwas ausführlicher bitte. Das: Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 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