AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

mehrere onchange ereignisse zusammenfassen

Ein Thema von bkgmjo · begonnen am 26. Jun 2008 · letzter Beitrag vom 26. Jun 2008
Antwort Antwort
bkgmjo

Registriert seit: 12. Apr 2008
6 Beiträge
 
#1

mehrere onchange ereignisse zusammenfassen

  Alt 26. Jun 2008, 19:13
hallo,
ich bastle an einer anwendung in der in zwei spalten comboboxen sind, je nach auswahl in der linken soll die rechte für die benutzereingabe aktiviert/deaktiviert werden und die passenden auswahlmöglichkeiten bekommen.

funktioniert auch soweit nur finde ich es etwas unsinnig, bei jedem onchange ereignis einer combobox dieselbe prozedur nur leicht verändert reinzuschreiben,
Beispiel:

Delphi-Quellcode:
procedure TForm1.Auswahl1Change(Sender: TObject);
begin
  if Auswahl1.Text = xxx
    begin
      Wert1.Enabled;
      Auswahl2.Enabled;
      [zweite auswahlliste je nach auswahl füllen]
    else
     ......
end;

procedure TForm1.Auswahl2Change(Sender: TObject);
begin
  if Auswahl2.Text = xxx
    begin
      Wert2.Enabled;
      Auswahl3.Enabled;
      [zweite auswahlliste je nach auswahl füllen]
    else
     ......
end;
und so weiter für jede einzelne combobox.
es ist doch sicher möglich, das ganze ein einziges mal in einer prozedur auszulagern und das dann in folgender oder ähnlicher form zu lösen:

Delphi-Quellcode:
procedure TForm1.ComboChange(nummer:byte);
begin
  if Auswahl[nummer].Text = xxx
    begin
      Wert[nummer].Enabled;
      Auswahl[nummer+1].Enabled;
      [zweite auswahlliste je nach auswahl füllen]
    else
     ......
end;
wäre für jede hilfe dankbar
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: mehrere onchange ereignisse zusammenfassen

  Alt 26. Jun 2008, 19:24
Einfach über den Parameter Sender
Markus Kinzler
  Mit Zitat antworten Zitat
bkgmjo

Registriert seit: 12. Apr 2008
6 Beiträge
 
#3

Re: mehrere onchange ereignisse zusammenfassen

  Alt 26. Jun 2008, 19:34
Zitat von mkinzler:
Einfach über den Parameter Sender
und nochmal für doofe?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: mehrere onchange ereignisse zusammenfassen

  Alt 26. Jun 2008, 19:40
Zitat:
procedure TForm1.Auswahl1Change(Sender: TObject);
Der Parameter Sender ist eine Referenz (Zeiger) auf das auslösende Objekt
Markus Kinzler
  Mit Zitat antworten Zitat
bkgmjo

Registriert seit: 12. Apr 2008
6 Beiträge
 
#5

Re: mehrere onchange ereignisse zusammenfassen

  Alt 26. Jun 2008, 19:48
wie ich rausfinde von woher ein ereignis kommt weiss ich, nur wie spreche ich, nachdem ich das rausgefunden habe, die entsprechenden andern 2 comboboxen(nächste in der liste und das passende gegenstück in der zweiten Reihe) an? dabei hilft mir der sender wenig oder?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: mehrere onchange ereignisse zusammenfassen

  Alt 26. Jun 2008, 19:51
Man könnte
-einen Array mit den Referenzen aufbauen
-.FindComponent() verwenden
-mit .Tag arbeiten
Markus Kinzler
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#7

Re: mehrere onchange ereignisse zusammenfassen

  Alt 26. Jun 2008, 19:54
Ich kann nur Tag empfehlen, die Variable ist wirklich sauber und erfordert keinen nennenswerten Rechenaufwand im vergleich zu FindComponent.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:39 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