Lire des nombres en boucle et Problème avec les tableaux
Bonjour , je suis débutant en visual Basic , je cherche à mettre dans un tableau de taille quelconque des nombres et déterminer le minimum et la maximum .Mais je voudrais le faire à l'aide d'une fenêtre(pas de souci pour générer ma fenêtre ) . En fait , à la saisie du premier nombre , on affiche un message à l'utilisateur pour lui demander si il veut continuer , tant que l'utilisateur dit oui , la même fenêtre doit apparaître pour lui permettre de saisir la nouvelle valeur . Mon problème se situe à deux niveaux ,
1-Quand bien même la fenêtre s'affiche lorsqu'il dit qu'il veut continuer ,mais quand il saisit la nouvelle valeur, elle ne s'incrémente pas dans mon tableau .En fait , tous les chiffres saisis se mettent à l'indice 0 du tableau . Et quand j'essaie d'afficher les valeurs du tableau situées au délà de l'indice 0 , ça me ramène de gros chiffres , comme si mon tableau n'était pas initialisé pour tant il est bien intialisé .
Je voudrais donc que vous m'aidier à écrire ma fonction de type callback qui va mettre les valeurs saisies dans un tableau de taille N tout en m'affichant la boîte de dialogue si l'utilisateur saisit OK .
Voici ma fonction
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
|
LRESULT CALLBACK chercheminmax(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
int tab[]={0} , i=0 ,val=0 ;
char contenu[11] , contenu2[11];
switch (message)
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
// if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
if (LOWORD(wParam) == ID_VALIDER)
{
GetDlgItemText(hDlg,IDC_NOMBRE,contenu,11 ) ;
val= atoi(contenu);
tab[i++]= val;
sprintf(contenu2,"Val vaut %d",i);
MessageBox(hDlg ,contenu2 , "Message",MB_OK );
//écriture du Code
}
if (LOWORD(wParam) == ID_ANNULER)
{
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
break;
}
return FALSE;
} |