Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Sender??? (https://www.delphipraxis.net/9558-sender.html)

Alex_ITA01 29. Sep 2003 11:34

Re: Sender???
 
Sharky
ich hab mal ne frage:
angenommen ich hab 2 buttons und will mit sender überprüfen welcher von den beiden geklickt wurde und dann jeweils zwei andere anweisungen durchlaufen lassen

Sharky 29. Sep 2003 11:35

Re: Sender???
 
Zitat:

Zitat von Alex_ITA01
...label würde es dann (Sender As Label).caption heißen ge?

Bingo!

Sharky 29. Sep 2003 11:40

Re: Sender???
 
Zitat:

Zitat von Alex_ITA01
Sharky
ich hab mal ne frage:
angenommen ich hab 2 buttons und will mit sender überprüfen welcher von den beiden geklickt wurde und dann jeweils zwei andere anweisungen durchlaufen lassen

Dann brauchst Du ein eindeutiges Merkmale der Buttons. Dies wäre z.B. der Name. Dieser kann ja nur einmal vorkommen.

Delphi-Quellcode:
procedure TForm1.TestClick(Sender: TObject);
begin
 If (sender IS TButton) then
  begin
   If (sender As TButton).Name = 'Button1') then
    begin
    end;
   If (sender As TButton).Name = 'Button2') then
    begin
    end;
  end;
end;
Oder Du machst dies über die Tag Eigenschaft der Buttons.

Delphi-Quellcode:
procedure TForm1.TestClick(Sender: TObject);
begin
 If (sender IS TButton) then
  begin
   Case (sender As TButton).Tag of
    1:
    2:
    3:
   end;
end;

[Edit] Bei zwei Buttons kannst Du natürlich auch für jeden eine eigene OnClick Procedure machen.
Es ist echt davon abhängig was mach machen möchte ob man mit dem Sender arbeitet oder für jedes Objekt eine Eigene Ereignissprocure schreibt.

LoL 29. Sep 2003 11:40

Re: Sender???
 
@ alex

Delphi-Quellcode:
if sender is Button1 then
....
else
...

oder bei mehr als 2 button

if sender is Button1 then
...
if sender is button2 then
....

(weis nicht ob das geht)!

case sender of
  button1 : ...
  button2 : ...
end;

Alex_ITA01 29. Sep 2003 11:42

Re: Sender???
 
nein geht nicht habe ich schon probiert, button1 oder eben button2 undefiniert

LoL 29. Sep 2003 11:45

Re: Sender???
 
kommt natürlich darauf an wie deine buttons heisen

Alex_ITA01 29. Sep 2003 11:45

Re: Sender???
 
danke Sharky
das hilft mir echt weiter

sakura 29. Sep 2003 11:46

Re: Sender???
 
Aber so:

Delphi-Quellcode:
if sender = Button1 then
....
else
...

// oder bei mehr als 2 button

if sender = Button1 then
...
if sender = button2 then
....
...:cat:...

LoL 29. Sep 2003 11:46

Re: Sender???
 
omg sorry natürlich :wall: mein fehler

Alex_ITA01 29. Sep 2003 11:50

Re: Sender???
 
ok danke jetzt gehts,
und wenn ich das in eine procedure packen will?


Delphi-Quellcode:
procedure Test(Sender:TObject);
begin
  if (Sender is TButton) then
  begin
    if (Sender as TButton).Name = 'Button2' then
    begin
      if Form1.OpenDialog1.Execute then
      begin
        ...
      end;
    end;
    if (Sender as TButton).Name = 'Button1' then
    begin
      Form1.close;
    end;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  TEST;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  TEST;
end;
[edit=sakura]Delphi-TAGs gesetzt. Mfg, sakura[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:51 Uhr.
Seite 2 von 4     12 34      

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