alle arrays in eine listbox schreiben
-
Wie willst du überhaupt '4 mal X' Elemente in eine '1 mal X' Komponente kriegen?
-
Ich hatte mir das (eigentlich) ziemlich einfach gedacht.
So nach dem Motto:ListBox1->Items->Add(bande.ueberschrift;)//ich hatte mir so was einfaches gedacht aber der compiler hat mir ein strich durch die rechnung gemacht
-
Ach so, nur die Überschrift in die Listbox.
Dann sage ich mal zählergesteuerte Schleife. Mit dem Zähler kannst du dann ein Arrayelement auswählen. Ist das Tipp genug?
-
Also ich meine alle array elemente in die listbox.
an der 1 stelle 22
an der 2 stelle 245
und so weiter jenachdem wie viele sachen ich deklariert habe.
-
Wie zähle ich denn die array elemente.
Bei der listbox kann ich die strings mit count zählen.

-
Bei der Listbox geht es auch um eine Liste, nicht um ein Array. Musst du sie denn zählen? Da du ja immer eine bestimmte Anzahl an Arrayelementen festlegen musst, könntest du doch den Wert in eine Konstante schreiben...
-
ListBox1->Items->Add(bande[4].ueberschrift;)//das meinst du doch nicht oder das geht nählich nicht der compiler denkt das 5 element das aber nie zugewiesen wurde = fehler
-
Dein Dings da:
struct st { AnsiString ueberschrift; AnsiString benutzername; AnsiString infotext; } DynamicArray<st> bande; bande.set_length(4); bande[0].ueberschrift="22"; bande[1].ueberschrift="245"; bande[2].ueberschrift="26"; bande[3].ueberschrift="25";Bsp. dazu:
int iIndex = 0; int iBandeLength = bande.Length; //bande.Length gibt dir die Länge des Struct Arrays. ListBox1->Clear(); // Leert die ListBox for(iIndex = 0;iIndex < iBandeLength;iIndex++) { ListBox1->Items->Add(bande[iIndex].ueberschrift); // Fügt die daten in die List box... }
-
Wo kommt denn jetzt diese Length Variable her ?
Bei einem Array muss man sich die Grösse bei der Erstellung halt merken. Man könnte auch einen Container wie TList oder std::vector nehmen.
-
Hast recht, er nutzt nicht das DynamicArray.
sry..

-
und jetzt?
-
tipps (keincode)
ich möcht selber draufkommen.Na? Willst du nicht wenigstens versuchen, dich an deine Vorsätze zu halten?
Es wurde alles genannt, was man braucht. Falls du es anders lösen willst, als am Anfang beschrieben, musst du es halt sagen. Ansonsten ist alles da.
-
int iIndex = 0; int c = 4; for(iIndex = 0;iIndex <c; iIndex++) { ListBox1->Items->Add(bande[iIndex].ueberschrift); }wenn dann meinst du glaube ich das

-
Ja, mehr oder weniger das.
Geht aber noch besser 
-
besser geht es immer
-
Ja, aber Sinn sollte es schon machen... zum Beispiel könntest du gleich mit c das Array deklarieren. Auch musst du dem Index nix zuweisen, wenn du ihn eh gleich darauf mit einen anderen Wert überschreibst...