TextBox avec plusieurs Windows Form
Salut à tous,
J'ai une interface ou j'ai plusieurs textbox et je récupère leur valeur dans une fonction dans class Form2.
Cependant vu que j'aurais les mêmes textbox dans plusieurs interfaces j'aurais voulu faire une fonction générique qui récupère les données selon l'interface utilisé.
Dans form2.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| String^Form2::valeur_limites()
{
String^ min_ab; String^ max_ab; String^ pas_ab; String^ min_or; String^ max_or; String^ pas_or;
String^ total;
min_ab=textBox_min_ab->Text->ToString();
max_ab=textBox_max_ab->Text->ToString();
pas_ab=textBox_pas_ab->Text->ToString();
min_or=textBox_min_or->Text->ToString();
max_or=textBox_max_or->Text->ToString();
pas_or=textBox_pas_or->Text->ToString();
total="x"+" "+min_ab+" "+max_ab+" "+pas_ab+" "+min_or+" "+max_or+" "+pas_or+" ";
return total;
} |
Dans communication.cpp : (là où sont mes fonctions génériques)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| int* Limites()
{
Form2 gForm2;
String^limites;
char* lim;
if (type_gene==0)
{
//on récupère les données de l'interface teleview
}
if (type_gene==1)
{
//on récupère les données de l'interface dektek
limites=gForm2.valeur_limites();
}
//convertit un string en char
lim= (char*)(void*)Marshal::StringToHGlobalAnsi(limites);
char* pt=lim; static char argv[32][32]; char* pargv[7];
//on décortique la chaine total pour avoir les valeurs des limites
int i = 0;
int num[6];
while (true)
{
pt = strstr(lim, " "); // find space
if (pt == 0) // space not find
{
strcpy(argv[i++], lim); // last command
break; // end of cmd
}
*pt = 0; // end of string
strcpy(argv[i++], lim); // one command
pargv[i] = &argv[i][0]; // init pointer
*pt++; // next command
strcpy(lim, pt); // erase previous command
}
// on convertit les char en int
num[0] = atoi(pargv[1]); // freq min -> Abcisse Min
num[1] = atoi(pargv[2]); // freq max -> Abscisse Max
num[2] = atoi(pargv[3]); // pas freq -> Abcisse Pas
num[3] = atoi(pargv[4]); // niveau min -> Ordonnée Min
num[4] = atoi(pargv[5]); // niveau max -> Ordonnée Max
num[5] = atoi(pargv[6]); // pas niveau -> Ordonnée Pas
return num;
} |
Le soucis lorsque j’exécute c'est que dans les variables qui récupèrent les valeurs (min-ab, max_ab...), sont vides (leurs valeurs: "").
Je ne comprend absolument pas pourquoi.
Quelqu'un a une idée?