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 visualC++ : Sélectionner tout - Visualiser dans une fenêtre à part
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;
}