002
08.07.2004, 16:41 Uhr
t10ottoo
|
Nagut, du hast es so gewollt, issn bissl umständlicher. Also mit der Funktion setze ich den Wert für "i1" fest. Die Funktion ist im Hauptdialog:
C++: |
ifstream butter;
// Datei "Butter" öffnen butter.open("Butter.dat",ios::in); i1 = 0;
// Datei bis zum Ende durchlaufen und die zwei Array füllen if (butter) { while (!butter.eof()) { getline(butter,product_name_bu[i1]); butter >> product_menge_bu[i1]; getline(butter,restzeile); // Variable um 1 erhöhne, um ins nächste Feld des Array zu schreiben i1++; } } else // Datei schließen butter.close();
|
Dann ruf ich irgendwann nen weiteren Dialog auf, wenn ich da auf nen Button klicke, soller ne Funktion aus dem ersten Dialog aufrufen, das geht ja, allerdings nicht mit dem richtig Wert für i1:
C++: |
pruef = 0; for (j = 0; j < i1; j++) { // for1 if (produkt == product_name_bu[j].c_str()) { // if1 pruef = 1; } // if1 } // for1 return pruef;
|
Ich glaub zwar nicht, dass dir der Code jetzt hilft, aber naja *g* Also in der ersten Funktion hat der Wert nach durchlaufen der gesamten Funktion ja einen Wert. Aber beim aufrufen der zweiten Funktion (die auch im Hauptdialog steht), die durch den zweiten Dialog aufgerufen wird, hat i1 nen ganz anderen Wert, also den komischen, den alle Variablen am Anfang habe.
Bearbeitung: |
Also wenn ich mit dem Debugger starte und auf die Variablen vom ersten Dialog schaue, wenn ich im zweiten Dialog grad aktiv bin, dann hat irgendwie jede Variable nicht mehr den Wert, den sie haben soll....
|
Dieser Post wurde am 10.07.2004 um 12:56 Uhr von FloSoft editiert. |