Zusammenfassen von Objekten

Steiner_B

Erfahrenes Mitglied
Kann bzw. wie kann man in Visual C++.net 2 Textfelder zusammenfassen, sodass ich sie dann über feld[0] und feld[1] ansprechen kann?
 
Soll heißen wie als Array?
Ich denke mal nein, da Arrays in dieser Form wohl nur im Quellcode selbst erzeugt werden können (ich mag mich auch irren, kenne mich mehr mit Borland als mit VC++ aus...).
 
Zuletzt bearbeitet:
Man könnte ganz normal die Variablen anlegen und dann ein Array aus Zeigern auf diese Variablen anlegen. Dann kann man so indiziert darauf zugreifen wie du es möchtest.
 
@ Dudadida:
Wie würde das funktionieren, wenn ich z.B.: auf das Textelement von 3 Textfeldern zugreifen will? Könntest du mir kurz ein Beispiel geben.
 
Also ich kenne .NET überhaupt nicht, aber analog zu dem:
Code:
//1. Textfeld
CEdit TextFeld1;
//2. Textfeld;
CEdit TextFeld2;

//beide Felder in Array geben
CEdit **TextFeldArray;
//100 reservieren
TextFeldArray = new CEdit* [100];

//zuweisen
TextFeldArray[0] = &TextFeld1;
TextFeldArray[1] = &TextFeld2;
.... 

//freigeben
delete [ ] TextFeldArray;

Jedenfalls kannst du dann deine Textfelder über die Zeiger in TextFeldArray und die entsprechenden Indexe ansprechen:
Code:
for (int i = 0; i < 2; i++)
{
   TextFeldArray[i]->Text = "blahblahblah";
}

Wenn es von vorn herein Zeiger sind, machst du es genauso, nur übergibst du dann nicht die Adresse sondern die Variable direkt:

Code:
CEdit *TextFeld1;
...
TextFeldArray[0] = TextFeld1;
...
 
Zuletzt bearbeitet:
TextFeldArray[ i ]->Text = "blahblahblah";

Da krieg ich folgende Fehlermeldung:
error C2039: 'text': Ist kein Element von 'CEdit'
 
Zuletzt bearbeitet:
Ach, ich hab doch gesagt, dass ich .NET nicht kenne. Ein bissel nachdenken um das analog zu übertragen musst du schon selbst :).
 
Zurück