![]() |
Combobox und Reihenfolge manuell?
Hallo!
Ich möchte den Inhalt der Stringliste einer Combobox manuell sortieren können. d.h. element 3 , 5 stellen nach oben u.s.w. gibt es da was fertiges oder muß ich mich selber dran machen? Meine Idee: Eintrag 3 merken Eintrag 3 löschen ehemals Eintrag 3 bei zeile x,y einfügen. Wenn wer was bessres weiß, laßt mal bitte was hören. gruß schniede |
Re: Combobox und Reihenfolge manuell?
Hallo
wenn es dir um das verschieben von Einträgen geht, kommst du vielleicht mit Tstrings.move weiter. Wenn die Liste Sortiert werden soll, gibts eigentlich recht viel im Forum. Mfg Frank |
Re: Combobox und Reihenfolge manuell?
Danke!
mit Move konnte ich nicht so viel anfangen .Wen es interresiert ich habe es jetzt so gelöst.
Code:
procedure Tkatform.hochbtnClick(Sender: TObject);
var gemerkt:string; alterindex:integer; begin gemerkt:=listbox1.Items[listbox1.itemindex]; alterindex:= listbox1.itemindex; if alterindex >0 then begin Listbox1.Items.Delete(alterindex); dec(alterindex); Listbox1.Items.Insert(alterindex,gemerkt); listbox1.itemindex:=alterindex; end; end; procedure Tkatform.runterbtnClick(Sender: TObject); var gemerkt:string; alterindex:integer; begin gemerkt:=listbox1.Items[listbox1.itemindex]; alterindex:= listbox1.itemindex; if (listbox1.Count-1) > alterindex then begin Listbox1.Items.Delete(alterindex); inc(alterindex); Listbox1.Items.Insert(alterindex,gemerkt); listbox1.itemindex:=alterindex; end; end; |
Re: Combobox und Reihenfolge manuell?
du machst es dir mit move trotzdem einfacher
Delphi-Quellcode:
procedure TForm1.Button_raufClick(Sender: TObject);
Var alterindex:integer; begin if listbox1.ItemIndex>0 then begin alterindex:=listbox1.ItemIndex; //verschieben ListBox1.Items.Move(listbox1.ItemIndex,listbox1.ItemIndex-1); //neues item markieren listbox1.ItemIndex:=alterindex-1; end; end; procedure TForm1.Button_runterClick(Sender: TObject); Var alterindex:integer; begin if listbox1.ItemIndex<ListBox1.Items.Count-1 then begin alterindex:=listbox1.ItemIndex; //verschieben ListBox1.Items.Move(listbox1.ItemIndex,listbox1.ItemIndex+1); //neues item markieren listbox1.ItemIndex:=alterindex+1; end; end; Zitat:
|
Re: Combobox und Reihenfolge manuell?
Danke Keldorn!!
Deine Variante es wahrlich eleganter. In der Hilfe sah mir das mit move son bissel gefährlich aus :-). gruß schniede. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:03 Uhr. |
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