AGB  ·  Datenschutz  ·  Impressum  







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

ComboBox.click und voriger Text - wie?

Ein Thema von Mattze · begonnen am 14. Feb 2009 · letzter Beitrag vom 14. Feb 2009
Antwort Antwort
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#1

ComboBox.click und voriger Text - wie?

  Alt 14. Feb 2009, 17:14
Hi,

eigentlich dachte ich, das wäre problemlos. Aber...

Wenn ich einen Eintrag der Combobox anclicke, so wird dieser Eintrag als Text zurückgeliefert.
Ich brauche aber im Click den Eintrag, der VORHER als Text ausgewählt war.
Ist das möglich?
(OnSelect und OnChange scheinen das auch nicht zu machen. Oder habe ich da was übersehen?)

Gruß
Mattze
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: ComboBox.click und voriger Text - wie?

  Alt 14. Feb 2009, 17:16
Merke dir den Index des vorher gewählten Eintrages manuell in einer Variablen
Markus Kinzler
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#3

Re: ComboBox.click und voriger Text - wie?

  Alt 14. Feb 2009, 17:27
Hallo,

na, das war ja eine schnelle Antwort.
Die Idee hatte ich natürlich auch. Fragt sich nur, wo ich mir die merken muss.
Ich dachte, dass es da vielleicht einen direkten Weg gäbe, den ich übersehen habe. Wäre einfach eleganter als mit Zwischenvariable.

Gruß
Mattze
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#4

Re: ComboBox.click und voriger Text - wie?

  Alt 14. Feb 2009, 18:06
Hallo,

ich stand mal vor dem gleichen Problem und so wie es mkinzler schon richtig sagte, du musst dir den letzten Index speichern und zwar so:

Delphi-Quellcode:
{...}
private
  letzte_Auswahl: Integer;

{...}
procedure TMainForm.ComboBox_Select(Sender: TObject);
var
  S_alt: String;
  S_neu: String;

begin
  //letzte Auswahl
  S_alt := ComboBox.Strings[letzte_Auswahl];

  ShowMessage(Format('alter Text: %s', [S_alt]));

  S_neu := ComboBox.Text;

  ShowMessage(Format('neuer Text: %s', [S_neu]));

  //letzte Auswahl speichern
  letzte_Auswahl := ComboBox.ItemIndex;
end;
Dürft kein Fehler drin sein...

Ach ja - ich setz im OnCreate der Form immer noch die Variable, hier "letzte_Auswahl" auf 0, damit sie definiert ist.
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#5

Re: ComboBox.click und voriger Text - wie?

  Alt 14. Feb 2009, 20:00
Hallo,

vielen Dank.
Das Problem war ja nur, an welcher Stelle des Programms das eingestellt werden muss.
(In der Onselect ging das nicht.)
Inzwischen habe ich aber eine ganz einfache Lösung in der anderen Komponente, die das braucht, gefunden.
Da gibt es genau das richtige Ereignis dafür!

Gruß
MJattze

PS: Ähh... Kann man den itemindex im OnDropDown vorgeben bzw. überhaupt vorgeben. Will bei mir nicht. Sobald ich die Liste öffne, wird der erste Eintrag markiert und nicht der, der auch im Text steht.
(Oder doch besser ein neuer Thread? Ist ja eine grundsätzlich andere Frage.)
  Mit Zitat antworten Zitat
Benutzerbild von Dunkel
Dunkel

Registriert seit: 26. Mär 2007
Ort: Klingenstadt
541 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: ComboBox.click und voriger Text - wie?

  Alt 14. Feb 2009, 20:05
Zitat von Helmi:
du musst dir den letzten Index speichern und zwar so:

Delphi-Quellcode:
{...}
private
  letzte_Auswahl: Integer;
{...}
Warum extra eine neue Variable anlegen wenn jede (?) Komponente eine Tag-Eigenschaft besitzt, in der man (richtig gecastet) so ziemlich alles ablegen kann?!
Es ist zu wahr um schön zu sein...
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#7

Re: ComboBox.click und voriger Text - wie?

  Alt 14. Feb 2009, 20:24
Zitat von Dunkel:
Warum extra eine neue Variable anlegen wenn jede (?) Komponente eine Tag-Eigenschaft besitzt, in der man (richtig gecastet) so ziemlich alles ablegen kann?!
Hast recht - Tag kann man auch verwenden!
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  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 03:11 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