Controle mot de passe

jetix Messages postés 15 Date d'inscription mardi 18 avril 2006 Statut Membre Dernière intervention 7 mars 2007 - 17 sept. 2006 à 18:13
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 17 sept. 2006 à 21:08
Salut à tous, j'ai besoin d'aide concernant sur ce bout de code écrit en devc++.

Son principe est de récupérer le mot de passe écrit par l'utilisateur et de le comparer

avec le « password » exact. le « password » par défaut est de 1111.


Mon problème c'est que je suis plutôt visualc++6.0 et la je suis perdu

car je ne sais pas l'équivalent de malloc en vc++, alors si vous avez une idée

n'hésiter pas à me répondre sur mon mail samjetix@yahoo.fr

Merci d'avance.


***********************************************************************************


/* pointers to read the values time and password written */  

 char * code;

 unsigned int length = 0;

 char passwd[]="1111";// password


   

  if(lParam==(long)hStart)// click on Start button

       {

        /* read the password */

        length = GetWindowTextLength(editPasswd);

        code = malloc((length+2)*sizeof(char));

        length = GetWindowText(editPasswd,code,length+1);


      /*clear the password*/

        length = SetWindowText(editPasswd,"");


  if( !strcmp(code,passwd) )// verify the password

        {

         free(code);

         ShowWindow(hTask, SW_SHOW);

         ShowWindow(hDesktop, SW_SHOW);

         PostQuitMessage (0);

        }

        else

        {

        
MessageBox(hwnd,"Invalid
paswword!","Error",MB_OK|MB_ICONEXCLAMATION);  

         free(code);

        }

       }

2 réponses

cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
17 sept. 2006 à 18:24
char szBuff[255];
memset(szBuff, 0, 255);
GetWindowText(editPwd, szBuff, 255);

szBuff contiendra le texte de l'edit
strcmp retourne 0 si les chaines sont équivalentes
Donc attention avec ton ! devant le teste

malloc c'est une fonction du C
Donc utilisable sous n'importe quel IDE
Car Visual C++ n'est pas un langage mais bel et bien un IDE

ULARGE_INTEGERJokyQi=QI("Joky"
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 sept. 2006 à 21:08
On ne met pas un password dans un éditeur texte de longueur infinie, faut limiter  la longueur maxi de saisie:
EM_LIMITTEXT

ça permettra un buffer de taille fixe SUR LA PILE (pas de malloc ni autre).

ciao...
BruNews, MVP VC++
0
Rejoignez-nous