ListBox (mit switch, case)
-
Hallo,
um für jede Zeile einer Listbox etwas zu schreiben muss ich ja switch und case 0, case 1 etc benutzen.
Kann ich das auch irgendwie mit einer for-Schleife machen?
Bei über 300 case wär das zu viel arbeit.Danke im Voraus
-
Hallo,
ich weis nicht, was genau du willst, aber ich füge so in die ListBox ein:for(int i=0;i<10;i++) { ListBox1->Items->Add(i); }Gruß
-
Hmm...ich meine wenn man für jedes "Item" ein Ereignis haben will muss man doch switch und case benutzen
Beispiel:switch(ListBox->ItemIndex){ case 0: //tu was beim 1. Item; case 1: //tu was beim 2. Item; //usw.. }
-
Was soll denn tatsächlich bei Auswahl der einzelnen Einträge passieren? Ich habe den Verdacht, dass schon dein Ansatz verkehrt ist.
Ansonsten ist es völlig egal, welches Konstrukt du benutzt: wenn du 300mal etwas komplett unterschiedliches ausführen willst dann musst du auch 300mal unterschiedlichen Code schreiben.
-
Jenachdem welches Item ausgewählt ist soll eine andere Zeile in einer Stringlist verändert werden.
-
Hallo,
was steht denn in der ListBox?
Um x in der StringList mit der ListBox zu verändern geht doch StringList->Strings[ListBox1->ItemIndex], oder verstehe ich dich da falsch?Bitte genauer beschreiben, wie sich x durch die ListBox verändert.
Gruß
-
void __fastcall TForm1::ListBoxClick(TObject *Sender) { int x = ListBox->ItemIndex; StringList->Strings[x] = ListBox->Items->Strings[x]; }
-
Danke, probier ich bald mal

Soweit hab ich nicht gedacht
-
Hmmm...
if(StringList->Strings[ListBox->ItemIndex][13] != " ")Mal so als Beispiel.
Dann wird mir aber folgender Fehler ausgspuckt:[C++ Fehler] Unit1.cpp(106): E2034 Konvertierung von 'char' nach 'char *' nicht möglichWas muss ich tun bzw was habe ich falsch gemacht?
-
Du vergleichst ein Zeichen mit einer Zeichenkette. Nimm einfache statt doppelter Anführungsstriche.
Aber was hat das mit dem ursprünglichen Thema zu tun?