AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Ereignisbeahndlung für mehrere Buttons
Thema durchsuchen
Ansicht
Themen-Optionen

Ereignisbeahndlung für mehrere Buttons

Ein Thema von Chaoten-Joe · begonnen am 5. Jan 2008 · letzter Beitrag vom 5. Jan 2008
Antwort Antwort
Chaoten-Joe

Registriert seit: 11. Mär 2007
Ort: Werl
41 Beiträge
 
Turbo Delphi für Win32
 
#1

Ereignisbeahndlung für mehrere Buttons

  Alt 5. Jan 2008, 15:55
Moin zusammen,

ich habe schon im Forum nachgeschaut, finde aber trotzdem nicht die Lösung zu meinem Problem. Ich habe mehrere Buttons, die via "Tag" laufend nummeriert sind. Nun möchte ich eine Ereignisbehandlungsroutine für alle Buttons anlegen, bei der jeweils eine SQL-Anweisung gestartet wird, abhängig von der Nummer des Buttons:

Delphi-Quellcode:
 MainForm.TempQuery3.Close;
  MainForm.TempQuery3.SQL.Clear;
  try MainForm.TempQuery3.SQL.Add('SELECT Bezeichnung FROM Lager WHERE (Nummer = '+IntToStr(TJvNavPanelButton(Self).Tag)+')') except end;
  try MainForm.TempQuery3.Open except end;
Ich bekomme es weder mit Self noch FindComponent hin, den Tag des Buttons auszulesen, der gerade gedrückt wurde. Wie muss der richtige Befehl lauten?

Danke für die Hilfe und liebe Grüße
Christian
Christian Becker
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#2

Re: Ereignisbeahndlung für mehrere Buttons

  Alt 5. Jan 2008, 16:05
mal abgesehen, dass diese exeption behandlung verboten gehöhrt. würd ich den anderen weg gehen und nur einmal die query in einer funktion aufrufen. die verschiedenen buttons rufen dann diese funktion (mit parameter) auf. so sparst du dir dann 'n paar 100 querys zu ändern.
  Mit Zitat antworten Zitat
DelphiKlaus

Registriert seit: 18. Okt 2006
100 Beiträge
 
Delphi 6 Professional
 
#3

Re: Ereignisbeahndlung für mehrere Buttons

  Alt 5. Jan 2008, 16:11
Hey,

den Tag-Wert des Buttons bekommst Du in der Ereignisroutine durch den Parameter Sender.

Du wirst sowas in der Art wie

  (Sender as TJvNavPanelButton).Tag benutzen müssen. Voraussetzung ist, dass die Ereignisbehandlungsroutine nur von Buttons vom Typ TJvNavPanelButton aufgerufen wird. Ansonsten musst Du vorher noch den Typ prüfen:

Delphi-Quellcode:
  if Sender is TJvNavPanelButton then
    begin
     ... (Sender as TJvNavPanelButton).Tag


    end
Viele Grüße

Klaus
  Mit Zitat antworten Zitat
Chaoten-Joe

Registriert seit: 11. Mär 2007
Ort: Werl
41 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Ereignisbeahndlung für mehrere Buttons

  Alt 5. Jan 2008, 17:00
Super Klaus! Vielen Dank! Hat geklappt !!!

Christian Becker
  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 06:06 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