etwas komplet dem Array übergeben.
-
hi..
also ich habe da "UserInfo->UIN" das komplet gefüllt ist. dies sieht so aus:
12345678
12345678
12345678
12345678
12345678
12345678
12345678
12345678
12345678nun möchte ich komplet "UserInfo->UIN" einem arry das zur laufzeit erzeugt wurde, übergeben. ok da gäbe es ja die schleifen möglichkeit, das geht hier aber nicht. wie kann ich nun dem array Nummern[] "UserInfo->UIN" zuweisen? die grösse des arrays Nummern ist erstt zur laufzeit bekannt. sie ist dann identisch mit der grösse von "UserInfo->UIN". versucht habe ich das schon so:
Nummern[] = IntToStr(UserInfo->UIN);
*Nummern = IntToStr(UserInfo->UIN);dann noch eine frage ob ich das "zur laufzeit" auch richtig gemacht habe:
TForm1 *Form1;
String *Nummern; //...dann irgendwo in einer funktion:
Nummern = new String[SrvContactList->Count];
und zum schluss noch beim formular "OnClose":
delete[] Nummern;
-
Von welchem Typ ist UserInfo::UIN ???
-
struct TUINEntry;
->UIN ist vom typ unsigned
-
Hi,
nimm eine TList, dynamische Array, std::vector, std::list oder weiss der Geier, was es sonst noch gibt.
struct TUINEntry;
->UIN ist vom typ unsignedunlogisch, wenn du im ersten Beitrags behauptest, dass die Anzahl der Integer in den Array zur Laufzeit festgelegt wird.
Eine struct hat immer eine vordefinierte Anzahl von Elementen.
-
nimm eine TList, dynamische Array, std::vector, std::list oder weiss der Geier, was es sonst noch gibt.
klingt interesant. kannst du mir bitte ein beispiel machen? dynamische array z.B.
dass die Anzahl der Integer in den Array zur Laufzeit festgelegt wird.
schon. allerdings mit "SrvContactList->Count".
-
http://www.msoe.edu/eecs/cese/resources/stl/
im standard c++ FAQ is da sicher auch was drüber
[ Dieser Beitrag wurde am 12.03.2003 um 13:30 Uhr von dreaddy editiert. ]
-
hmm werde da nicht schlau draus. kann mir das jemand genauer erklären? ich möchte hald einfach UserInfo->UIN komplet einem Array übergeben ohne den weg einer for-schleife da dies hier nicht geht. die grössen sind identisch, jedoch kann die grösse des array's erst zur laufzeit bestimmt werden.
-
ganz einfach eigentlich
du machst deinen vector mit einem typen deiner Wahl
vector<int>testvect; //zum beispiel gehen aber auch klassen usw //jetzt füllst du da werte mit push_back rein testvect.push_back(3); testvect.push_back(4); testvect.push_back(7); //und nun hast du vollen zugriff auf die vorhandenen Werte und die grösse: for(int i = 0; i<testvect.size();i++) { cout<<testvect[i]; } //und den vector kannst du ganz normal mit dem = befehl kopieren: vector<int>testvect2; testvect2 = testvect; //und schon hast du dasselbe 2 mal
Das wäre nämlich genau was du brauchst und wenn du es erstmal gefressen hast nimmst du kaum noch arrays
edit: ach und wenn du trotzdem unbedingt arrays nehmen willst schau dir mal memcopy an
[ Dieser Beitrag wurde am 12.03.2003 um 15:34 Uhr von dreaddy editiert. ]
-
Original erstellt von <kleiner>:
kannst du mir bitte ein beispiel machen? dynamische array z.B.Siehe FAQ, "Komponenten - dynamische Arrays".
-
Original erstellt von dreaddy:
**
Das wäre nämlich genau was du brauchst und wenn du es erstmal gefressen hast nimmst du kaum noch arrays
**kann ich nur bestätigen
-
Original erstellt von dreaddy:
du machst deinen vector mit einem typen deiner Wahlhmm
irgendwie peil ich da jetzt den zusammen schnitt nicht.
(3)
(4)
(7)
versteh ich ned? also UserInfo->UIN kannst du wie eine gefüllte listbox vorstellen. den inhalt von UserInfo->UIN will ich nun also in ein array tun. die plazierung soll natürlich übernommen werden. also:UserInfo->UIN
12345678
12345678
12345678
12345678
12345678soll automatisch im array so sein:
[0] 12345678
[1] 12345678
[2] 12345678
[3] 12345678
[4] 12345678und wiegesagt, der inhalt bzw. die grösse von UserInfo->UIN ist immer anderst. könnte also mal so sein:
UserInfo->UIN
12345678
12345678
12345678
12345678
12345678
12345678
12345678
12345678
12345678
12345678oder
UserInfo->UIN
12345678
12345678wie auch immer. ich weis nun echt nicht ganz das zusammenspiel mit deinem vector beispiel und UserInfo->UIN
Edit:
Zitate bitte auf das Notwendigste beschränken. Danke![ Dieser Beitrag wurde am 12.03.2003 um 19:58 Uhr von Jansen editiert. ]
-
Er hats doch wunderbar erklärt...
leg dir nen Vector an und schieb deine Daten per Schleife von deinem UIN in den vector.. und schon kannst du wie bei einem Array zugreifen ([x])...
Dazu musste natürlich auf die einzelnen Einträge von UIN zugreifen können.. aber das dürfte wohl das kleinste Problem sein.
-
eben nicht! ich kann nicht einfach mal eben sowas machen "UserInfo->UIN[x]" sonst hätte ich das schon längst mit ner for-schleife und nem stink normalen string array gelöst.
deswegen muss ich ja den ganzen UIN inhalt (der ja mitlerweile vom inhalt und aufbau bekannt ist) einem array übergeben.
-
Mit Verlaub kurze Frage der Herr:
WARUM geht es nicht? mir fällt da net so wirklich was ein warum es nicht gehen sollte.Ich les nur immer "geht nicht geht nicht" ... i
[ Dieser Beitrag wurde am 13.03.2003 um 14:55 Uhr von dreaddy editiert. ]
-
Ups, Sorry, wer lesen kann ist klar im Vorteil...
Dann habe ich noch ne andere Frage... wie sieht die Definition deiner (T)UserInfo aus?
In der Borland Hilfe, der SDK und in meiner API Bibel habe ich nix gefunden..
ist das Teil selber definiert?
Oder, was ich eher glaube, bin ich zu blöd zum suchen?