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 Mehrere Befehle auf einen Komponenten setzen (https://www.delphipraxis.net/30065-mehrere-befehle-auf-einen-komponenten-setzen.html)

malo 19. Sep 2004 13:20


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 :(

jfheins 19. Sep 2004 13:25

Re: Mehrere Befehle auf einen Komponenten setzen
 
Geht fast genauso wie das andere ...
Delphi-Quellcode:
if Label1.Tag = 0 then Label1.Caption := 'Hallo Welt';
else Label1.Caption := 'ich bin da';
Label1.Tag := 1-Label1.Tag;
Code geklaut von: alcaeus :mrgreen:

alcaeus 19. Sep 2004 13:27

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:
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.
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.

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]

malo 19. Sep 2004 13:36

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

alcaeus 19. Sep 2004 13:38

Re: Mehrere Befehle auf einen Komponenten setzen
 
[ot]
Zitat:

Zitat von malo
Es wird nie geflamed? Man ist das langweilig -_-

Nein, das ist nicht langweilig, sondern angenehm. Hier kommen nämlich jeden Tag ca. 10 Anfänger dahergelaufen, die eine (teilweise primitive) Frage haben. Stell dir mal das Geflame vor :shock:
[/ot]

Greetz
alcaeus

malo 19. Sep 2004 13:40

Re: Mehrere Befehle auf einen Komponenten setzen
 
Zitat:

Zitat von alcaeus
[ot]
Zitat:

Zitat von malo
Es wird nie geflamed? Man ist das langweilig -_-

Nein, das ist nicht langweilig, sondern angenehm. Hier kommen nämlich jeden Tag ca. 15 Anfänger dahergelaufen, die eine (teilweise primitive) Frage haben. Stell dir mal das Geflame vor :shock:
[/ot]

Greetz
alcaeus

Was glaubst du, was ich schon in anderen Foren gesehen hab. Wenn man da alle Flames entfernen würde, könnte man das Forum wegen Trafficmangel schließen :roll:

Die Muhkuh 19. Sep 2004 14:00

Re: Mehrere Befehle auf einen Komponenten setzen
 
Zitat:

Zitat von alcaeus
(einer hat mal gefragt wie er erkennt ob eine Zahl negativ ist :mrgreen:)

Danke das du mich nicht genannt hast :mrgreen:

malo 19. Sep 2004 14:02

Re: Mehrere Befehle auf einen Komponenten setzen
 
Zitat:

Zitat von Spider
Zitat:

Zitat von alcaeus
(einer hat mal gefragt wie er erkennt ob eine Zahl negativ ist :mrgreen:)

Danke das du mich nicht genannt hast :mrgreen:

Hm? Was hast du denn gemacht? ^^

alcaeus 19. Sep 2004 14:04

Re: Mehrere Befehle auf einen Komponenten setzen
 
Hi Malo,

einfach mal lesen:
http://www.delphipraxis.net/internal...ct.php?t=33434
und nicht lachen :mrgreen:

Greetz
alcaeus

Die Muhkuh 19. Sep 2004 14:09

Re: Mehrere Befehle auf einen Komponenten setzen
 
Zitat:

Zitat von alcaeus
Hi Malo,

einfach mal lesen:
http://www.delphipraxis.net/internal...ct.php?t=33434
und nicht lachen :mrgreen:

Greetz
alcaeus

Nochmal OT:

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.
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