Automatische Nummerierung von Variablen
-
Hallo,
ich möchte nur das eine Variable eine Zahl dahinter steht. Das mit der zahl sollte dann in eine Schleife geschehen. Weil ich brauche mehrere ComboBox'en
wieviele hängt von Anwender ab.ein Beispiel
for (int i=1;i <= 6;i++) ... dann sollte sowas raus kommen TComboBox *ComboBox1 = new TComboBox(GroupBox4); TComboBox *ComboBox2 = new TComboBox(GroupBox4); TComboBox *ComboBox3 = new TComboBox(GroupBox4); TComboBox *ComboBox4 = new TComboBox(GroupBox4); TComboBox *ComboBox5 = new TComboBox(GroupBox4); TComboBox *ComboBox6 = new TComboBox(GroupBox4);
Ich hoffe das mir einer helfen kann.
-
Nimm ein Array.
-
Hatte ich auch schon Probiert, habe ich nicht hin bekommen
Keine Ahnung wie das geht.
Vielleicht kann mir ja einer dabei helfen, wie das geht.
-
Rave173 schrieb:
Hatte ich auch schon Probiert, habe ich nicht hin bekommen
Keine Ahnung wie das geht.Das geht genau gleich, wie z.B. bei int- oder char-Arrays.
Array mit ComboBoxen erzeugen:
#define MAX_COMBOBOXEN 10 TComboBox *ComboBoxArray[MAX_COMBOBOXEN] = {NULL}; int iAnzahlCB = 0; for (int i=1;i <= 6 && iAnzahlCB < MAX_COMBOBOXEN;i++) { ComboBoxArray[iAnzahlCB] = new TComboBox(GroupBox4); ComboBoxArray[iAnzahlCB]->Left = ... ComboBoxArray[iAnzahlCB]->Top = ... ComboBoxArray[iAnzahlCB]->Items->Add(... ... ++iAnzahlCB; }
...und die weitere Verwendung:
for (int i=0;i < iAnzahlCB;i++) { ComboBoxArray[i]->Items->..... }
...oder:
for (int i=0;i < MAX_COMBOBOXEN;i++) { if(ComboBoxArray[i] == NULL) break; ComboBoxArray[i]->Items->..... }
Wichtig:
1. Array so groß wählen (MAX_COMBOBOXEN), dass die maximal zu erwartende Anzahl an ComboBoxen erstellt werden kann.
2. Array mit NULL vorinitialisieren, damit erkannt werden kann, welcher Index einen gültigen Zeiger enthält.
3. Beim Zugriff auf das Array entweder über einen Counter (iAnzahlCB) oder durch Prüfung auf NULL sicherstellen, dass der Zeiger gültig ist.
-
Nimm einen
std::vector
:class TForm1 : public TForm { ... std::vector<TComboBox*> Comboboxes_; }; TForm1::TForm1( TComponent* Owner ) : TForm( Owner ) { for( unsigned int i = 0; i < 5; ++i ) { TComboBox* cbx = new TComboBox( this ); // Attribute zuweisen cbx->Parent = ... Comboboxes_.push_back( cbx ); } }
-
Danke für die Antworten gleich mal ausprobieren