====== Komponente ListBox ====== ===== Nützliche Funktionen/Methoden für Listboxen ===== Beachte: ListBox-Indizes beginnen bei 0, ListBox-Einträge (=AnsiStrings) beginnen beim Index 1. ListBox1->Items->Strings[Index] bzw. ListBox1->Items[0][Index] Zugriff auf den durch Index angegebenen ListBox-Eintrag ListBox1->ItemIndex gibt den Index desjenigen ListBox-Eintrags an, der den Focus hat ListBox1->Selected[Index] überprüft, ob der angegebene ListBox-Eintrag den Focus besitzt (d.h. ausgewählt ist) ListBox1->Items->Strings[ListBox1->ItemIndex]; ListBox1->Items[0][ListBox1->ItemIndex]; Zugriff auf angeklickten Eintrag in der ListBox. ListBox1->Items->Add(Text); übernimmt Text in ListBox ListBox1->Sorted=true; ListBox wird sortiert angezeigt ListBox1->Count; zählt die Anzahl der ListBox-Einträge ListBox1->Clear(); löscht alle ListBox-Einträge ListBox1->Items->Delete(Index);löscht den ListBox-Eintrag, der den angegebenen Index besitzt ListBox1->DeleteSelected() löscht den ListBox-Eintrag, der gerade den Focus besitzt (ohne dass der Index ermittelt werden muss). if (SaveDialog1->Execute()){ListBox1->Items->SaveToFile(SaveDialog1->FileName);} Speichern des Inhaltes einer ListBox-Komponente if (OpenDialog1->Execute()){ListBox1->Items->LoadFromFile(OpenDialog1->FileName);} Laden des Inhaltes einer ListBox-Komponente ===== Projekt ListBox ===== {{:informatik:k6inf:visual_c:listbox.jpg|}} In die Listbox soll Text übernommen werden. Außerdem sollen Texteinträge gelöscht werden. Die Buttons sollen nur dann zur Verfügung stehen, wenn es logisch erlaubt ist (Listbox löschen soll nur dann zur Verfügung stehen, wenn die Listbox nicht leer ist, Text löschen nur dann, wenn eine Zeile der Listbox ausgewählt wurde, etc.). Neue Elemente können entweder am Ende oder sortiert eingefügt werden. ===== Übung Mittelwert ===== {{:informatik:k6inf:visual_c:mittelwert.png|}} Eine beliebige Anzahl reeller Zahlen soll eingegeben werden und in einem Listenfeld erscheinen. Durch Drücken auf den entsprechenden Schalter soll der Mittelwert berechnet und ausgegeben werden. ===== Übung Min Max ===== Eine beliebige Anzahl ganzer Zahlen soll eingegeben werden und in einer ListBox erscheinen. Durch Drücken auf den entsprechenden Schalter werden die kleinste sowie größte der eingegebenen Zahlen ausgegeben. ===== Übung Zahlensortierung ===== Eine beliebige Anzahl reeller Zahlen soll in eine Listbox eingegeben werden. Durch Drücken auf den Button "Sortieren" soll die Zahlenfolge richtig sortiert werden. Hinweis: Da die Eigenschaft **Sorted** lexikographisch sortiert, ist dies für diese Aufgabe unbrauchbar. (113 wäre z.B. kleiner als 12!) Vielmehr müssen die Zahlen der ListBox mittels eines (schon durchgenommenen) Sortieralgorithmus sortiert werden. [[:inf:arrays|Einfache Sortieralgorithmen hier zum Nachlesen...]]