AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Auslöser?

Ein Thema von fLaSh11 · begonnen am 6. Mär 2006 · letzter Beitrag vom 8. Mär 2006
Antwort Antwort
fLaSh11
(Gast)

n/a Beiträge
 
#1

Auslöser?

  Alt 6. Mär 2006, 19:20
Hallo allerseits,

mal wieder ne Frage:
Ich habe sagen wir 10 Buttons auf einer Form. Allen ist bei OnClick das Ereignis "Button1OnClick" zugewiesen. Wie kann ich im nachhinein (wenn z.B. Btn7 gedrückt wurde) herausfinden, wer der Auslöser was??? ( also Btn7)

Ich denke, das wisst ihr ausm Stehgreif ... thx
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#2

Re: Auslöser?

  Alt 6. Mär 2006, 19:21
sender.name da ist der name des buttons drin
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Auslöser?

  Alt 6. Mär 2006, 19:22
Im OnClick:
ShowMessage((Sender as TButton).Name);
Julian J. Pracht
  Mit Zitat antworten Zitat
Thorben77

Registriert seit: 22. Okt 2004
359 Beiträge
 
#4

Re: Auslöser?

  Alt 6. Mär 2006, 19:59
Zitat von arbu man:
sender.name da ist der name des buttons drin
Nope, "Sender" ist nur ein "normales" Objekt und das hat keine Eigenschaft "Name". Die Eigenschaft gibt es erst ab TComponent. Also entweder 'ne Typumwandlung zum TButton oder auch nur TComponent:
Delphi-Quellcode:
procedure TFormXYZ.ButtonXYZClick(Sender: TObject);
begin
  // nicht empfehlenswert, mit "harter" Typumwandlung; da kann sonstwas passieren:
  ShowMessage(TButton(Sender).Name);
  ShowMessage(TComponent(Sender).Name);

  // die etwas "sicherere" Variante; wenn der Sender mal kein Button bzw. keine Komponente ist, gibt's 'n EInvalidCast-Fehler
  ShowMessage((Sender as TButton).Name);
  ShowMessage((Sender as TComponent).Name);

  // mit "dynamischer Typüberprüfung"; wenn der Sender nicht den richtigen Typ hat, passiert nix:
  if Sender is TButton then
    ShowMessage((Sender as TButton).Name);
  if Sender is TComponent then
    ShowMessage((Sender as TComponent).Name);

  // oder auch noch:
  if Sender is TButton then // oder TComponent
    ShowMessage(TButton(Sender).Name);
end;
Das man da soviel zu schreiben kann .

MfG
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Auslöser?

  Alt 6. Mär 2006, 20:15
Hi,

und wie wär es ganz einfach mit
  if Sender = btn7 then Dann braucht es keinen Stringvergleich, keine Typumwandlung....
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Auslöser?

  Alt 6. Mär 2006, 20:20
Hai fLaSh11,

"Auslöser" ist ein ziemlich nichtssagender Titel für einen Thread.
Damit andere User, welche womöglich die selbe Frage haben eine Antwort über die Suchfunktion finden würde ich dich doch bitten deinem Thread einen etwas aussagefähigeren Titel zu geben.

Danke.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#7

Re: Auslöser?

  Alt 8. Mär 2006, 15:40
also
1. danke, klappt
2.
Zitat von Sharky:
..bitten deinem Thread einen etwas aussagefähigeren Titel zu geben
ich hab keinen parat... schlag doch mal einen vor.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz