Mot de passe

Résolu
abirti Messages postés 31 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 28 mai 2008 - 16 mars 2006 à 10:16
Kangourou_Nomade Messages postés 92 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 16 janvier 2007 - 23 mars 2006 à 13:41
Salut tout le monde je suis bien une débutante avec C++.Net 2003,
et je suis entrain de faire une interface qui demande la saisie d'un nom d'utilisateur et d'un mot de passe.

nom d'utilisateur: login
mot de passe: password

Si on clicke sur Ok, la fonction suivante va se dérouler

private: System::Void button1_Click(System::Object * sender,System::EventArgs * e)
{
if(textname->Text=="")
{
System::Windows::Forms::MessageBox::Show("Entrez votre nom");
textname->Text="";
textpass->Text="";
}
else if(textpass->Text=="")
{
System::Windows::Forms::MessageBox::Show("Entrez votre mot de passe");
textname->Text="";
textpass->Text="";
}
else if((textname->Text!="login")&&(textpass->Text!="password"))
{
essai++;
if(essai<3)
{
System::Windows::Forms::MessageBox::Show("Nom d'utilisateur ou mot de passe incorrect");
textname->Text="";
textpass->Text="";
textname->Focus();
}
else
this->Close();
}
else
{
System::Windows::Forms::MessageBox::Show("Bienvenue");
this->Close();
}

}

Mais toujours, le programme m'affiche Nom d'utilisateur ou mot de passe incorrect
Qu'est-ce que je doit faire pour régler ce problème.
Merci à tous et n'oubliez pas que je suis débutante et si quelqu'un peut m'aider à trouver des cours intérrésants sur le Net.
J'ai cherché mais j'ai rien trouvé.
Je compte sur vous et merci.

19 réponses

abirti Messages postés 31 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 28 mai 2008
20 mars 2006 à 18:05
c'est un problème des strings managées ...

Il faut utiliser plutot
String::Compare


if(String::Compare(textname->Text,"login") == 0 //egal

Merci à tous
3
Kangourou_Nomade Messages postés 92 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 16 janvier 2007
16 mars 2006 à 10:31
tu veux tester si le nom d'utilisateur OU le mot de passe est incorrect, or
tu utilise l'opérateur ET (&&) au lieu de OU (||).


Jah bless my code
0
abirti Messages postés 31 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 28 mai 2008
16 mars 2006 à 10:41
je veux tester si le nom d'utilisateur=login et le mot de passe=password
et si ça est vrai j'affiche Bienvenue
0
Kangourou_Nomade Messages postés 92 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 16 janvier 2007
16 mars 2006 à 11:10
si le login et le mot de passe sont juste ont passe,
donc on ne passe pas dans tous les autres cas.

le contraire de :
if((textname->Text=="login")&&(textpass->Text=="password"))

c'est
if((textname->Text!="login")||(textpass->Text!="password"))
ou
if(!((textname->Text=="login")&&(textpass->Text=="password")))


Jah bless my code
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zaibacker Messages postés 97 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 24 janvier 2018
16 mars 2006 à 11:13
salut,jai limpression que t'abuses des else if et en plus comme le disais Kangourou_Nomade j'utiliserai un OU et non un ET dans le teste.
0
abirti Messages postés 31 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 28 mai 2008
16 mars 2006 à 12:06
J'ai essayé tous les cas même aprés la correction.
Le programme toujours m'affiche Nom d'utilisateur ou mot de passe incorrect
Merci.
0
Kangourou_Nomade Messages postés 92 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 16 janvier 2007
16 mars 2006 à 14:55
alors le probleme vient peut etre de l'operateur = dans : textname->Text!="login", il compare peut etre le pointeur avec la chaine (a prendre avec des pincettes, je ne connais pas .NET).
Alors essai peut etre ca :

//en haut du fichier :
#include <string>
using std::string;

//Pis ta methode :

private: System::Void button1_Click(System::Object * sender,System::EventArgs * e)
{
string login = textname->Text;
string pass = textname->Text;

if(login.size()){
System::Windows::Forms::MessageBox::Show("Entrez votre nom");
textname->Text="";
textpass->Text="";
}
else if(pass.size())
{
System::Windows::Forms::MessageBox::Show("Entrez votre mot de passe");
textname->Text="";
textpass->Text="";
}
else if((login!="login")||(pass!="password"))
{
++essai;
if(essai<3)
{
System::Windows::Forms::MessageBox::Show("Nom d'utilisateur ou mot de passe incorrect");
textname->Text="";
textpass->Text="";
textname->Focus();
}else
this->Close();
}
else{
System::Windows::Forms::MessageBox::Show("Bienvenue");
this->Close();
}

}


Jah bless my code
0
Kangourou_Nomade Messages postés 92 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 16 janvier 2007
16 mars 2006 à 14:56
heu boulette :
string login = textname->Text;
string pass = textpass->Text;


Jah bless my code
0
abirti Messages postés 31 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 28 mai 2008
16 mars 2006 à 15:09
error C2440: 'initialisation' : impossible de convertir de 'System::String __gc *' en 'std::basic_string<_Elem,_Traits,_Ax>'
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
0
Kangourou_Nomade Messages postés 92 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 16 janvier 2007
16 mars 2006 à 15:41
alors apparement, textname->Text, est bien un pointeur (surement unpointeur d'objet, encore a prendre avec des pincettes, je fais des suppositions sur un framework que je ne connais pas du tout).
as tu essaye de faire textname->Text-> pour voir si Text n'a pas des fonctions membre du genre getText() ?


Jah bless my code
0
abirti Messages postés 31 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 28 mai 2008
16 mars 2006 à 16:55
textname a une fonction membre get_Text( ):Textname->get_Text( )
et
textname->Text-> a deux fonctions membres get_Chars( ) : Textname->Text->get_Text( )
get_Length( ):Textname->Text->get_Length( )
0
Kangourou_Nomade Messages postés 92 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 16 janvier 2007
17 mars 2006 à 10:07
ben remplace tes textname->Text par des textname->Text->get_Text()

Jah bless my code
0
abirti Messages postés 31 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 28 mai 2008
17 mars 2006 à 10:14
La même erreur C2440 se produit.
0
abirti Messages postés 31 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 28 mai 2008
17 mars 2006 à 10:16
textname a une fonction membre get_Text( ):Textname->get_Text( )
et
textname->Text-> a deux fonctions membres get_Chars( ) : Textname->Text->get_Chars( )
get_Length( ):Textname->Text->get_Length( )
0
abirti Messages postés 31 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 28 mai 2008
17 mars 2006 à 10:38
J'ai rien compris.
Tout est mélangé Textname->get_Text(),Textname->Text.
Qu'est ce que je fais?
0
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
17 mars 2006 à 12:49
ha enfin un fille sur CS :)
lol
enfin, moi borland sa me depasse et sa me soule.
bonne chance
0
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
17 mars 2006 à 12:49
damned, je me suis gouree pas borland ....
0
abirti Messages postés 31 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 28 mai 2008
17 mars 2006 à 18:12
Pourquoi tu m'a laissé toute seule Kangourou_Nomade
Où tu a passé
0
Kangourou_Nomade Messages postés 92 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 16 janvier 2007
23 mars 2006 à 13:41
Desolé, c'est vrai que je t'es un peu abandonné, mais ça je ne l'aurais jamais trouvé, du simple fait que je n'ai jamais utilisé la frameworks .NET. En tout cas c'est la classe de poser une question, de galérer et de se répondre sur son propre topic.
Bien joué.


Jah bless my code
0
Rejoignez-nous