mehre Wörter in einer Variable speicern
-
Ja, dann musst du in der Dlg.h folgendes schreiben :
private: void WriteArray(CString A, CString B, CString C);
Und dann in der CPP:
void CProgrammDlg::WriteArray(CString A, CString B, CString C) { CStringArray strArray; strArray.SetSize(3); strArray[0] = A; strArray[1] = B; strArray[2] = C; for(int i = 0; i < strArray.GetSize(); i++) { AfxMessageBox(strArray[i]); } }
Aufrufen :
WriteArray("Hallo ", "C++ ", "Programmierer!");
Gruß
:: NoName ::
-
aber jetzt muss ich ja wissen, wie viele Speicherplätze also Arrays ich brauche, oder nicht? Ok, ich reserviere vielleicht 50 speicherplätze, aber vieleicht werden nicht alle beschrieben.
Und wie kann ich auf nur z.B. strArray[1] zugreifen, dass er nur strArray[1] z.B. in einem Eingabefeld anzeigt?
-
supersass1 schrieb:
...Ok, ich reserviere vielleicht 50 speicherplätze, aber vieleicht werden nicht alle beschrieben.
Das würde ich nicht machen, soweit ich weiß kann es passieren das in dein Programm ein Speicherfehler entsteht !
supersass1 schrieb:
Und wie kann ich auf nur z.B. strArray[1] zugreifen, dass er nur strArray[1] z.B. in einem Eingabefeld anzeigt?
WriteArray("", "Bla Bla", "");
Gruß
:: NoName ::
-
also ich möchte mit
SetDlgItemText(ID_Feld, Variable)
einen der drei Werte ausgeben, indem ich statt "Variable" da irgendwas mit strArray[0] reinschreibe.
-
Ja, dann beutze es so wie es gemacht habe :
So muss es dann ausehen :
void CProgrammDlg::WriteArray(CString A, CString B, CString C) { CStringArray strArray; strArray.SetSize(3); strArray[0] = A; strArray[1] = B; strArray[2] = C; for(int i = 0; i < strArray.GetSize(); i++) { SetDlgItemText(ID_DEINER_EDIT_BOX, strArray[i]); } }
Und irgendwo in einer anderen Funktion schreibst du es dann so:
void CProgrammDlg::Test() { WriteArray("Hier für strArray[0]", "Hier für strArray[1]", "Und hier für strArray[2]"); }
Gruß
:: NoName ::
-
aber dann muss ich ja wieder wissen, wie viele Variablen ich beschreibe, und das weiß ich ja nicht.
also, ich brauch mind. 50 Variablen, die ich nicht alle auflisten will, also nicht x1, x2, x3, ... x50, ..., sondern irgendwie so x[50], aber da meintest du ja, dass man das nicht machen sollte, aber wie soll ich es sonst machen?
-
mit verketteten Listen, einfach mal danach suchen wurde schon ziemlich oft besprochen
-
Wer weiß. Vielleicht ist das Thema ja schon ein halbes Jahrhundert her. Ich habe schon nach dem Problem wo anders gesucht und nix gefunden. Also, wer noch weitere Hinweise weiß, sollte diese hier noch posten.
Und an den lieben Supersass1:
Du könntest hier ja mal deine endgültige Problemlösung hinschreiben, wenn du sie schon gefunden hast.
Tschau
MCNight
-
Wie soll ich ne Problemlösung hinschreiben, wenn ich gar keine Lösung zum Problem habe???
Ich suche immer noch wie ich nun genau diese verketteten Listen mache, da ich nicht wirklich was sinnvolles gefunden habe.
supersass1
-
schau mal hier:
http://www.ica1.uni-stuttgart.de/Courses_and_Lectures/C++/script/node26.html
oder hier :
http://wwwai.wu-wien.ac.at/~hahsler/CPPAG/stl/stl/download/stl_2.pdf
Sven