IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

login et mot de passe


Sujet :

C++Builder

  1. #1
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut login et mot de passe
    Bonjour,
    J'ai créé une Form qui me permet de demander un nom d'utilisateur et un mot de passe... Voici le code que j'ai fait :
    Code : 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
    bool TForm5::Securite(AnsiString login, AnsiString mdp)
    {
       login_predefini = AnsiString("abc");
       mdp_predefini = AnsiString("abc");
       if(Edit_Login == "" || Edit_mdp == "")
       {
            //Application->MessageBoxA("Veuillez entrer un Nom d'utilisateur et un mot de  passe!","Look", MB_OK);
            Application->MessageBox("Veuillez entrer un Nom d'utilisateur et un mot de passe", "Erreur de Login",MB_OKCANCEL);
            return false;
       }
       else
       {
            if (login != login_predefini || mdp != mdp_predefini)
                    Application->MessageBox("Nom d'utilisateur ou mot de passe invalide", "Erreur de Login",MB_OKCANCEL);
                    return false;
       }
       if (login == login_predefini && mdp == mdp_predefini)
            {
                    Application->MessageBox("Bonjour","Login accepter",MB_OKCANCEL);
                    return true;
            }
    }
    void __fastcall TForm5::Button_ValiderClick(TObject *Sender)
    {
     
      char* login = new char[ Edit_Login->Text.Length() + 1 ];
      strcpy( login, Edit_Login->Text.c_str() );
      char* mdp = new char[ Edit_mdp->Text.Length() + 1 ];
      strcpy( mdp, Edit_mdp->Text.c_str() );
      Securite(login, mdp);
    }
    Comme vous pouvez le constater, le login et le mot de passe sont prédéfinis par le code directement...
    J'ai rajouter un bouton qui me permettrai de pouvoir créer de nouveau utilisateurs... mais je ne sais pas du tout comment faire...
    Mon application va se restreindre à un très faible nombre de personnes. Je ne voudrais donc, si possible, éviter de passer par du SQL ou autre...

    Merci par avance pour votre aide...
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  2. #2
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut
    Stock ton mot de passe dans un fichier.
    Passe par du xml à la limite.

    Ou bien par un fichier txt mais par contre le mieux serai de crypter les informations.
    Tu as des algorithmes déja fait comme le RC4 par exemple.

  3. #3
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    L'idée me convient tout a fait par contre je suis assez novice en la matière et je ne sais pas comment faire pour entrer les données dans un fichier et encore moins comment faire pour les lire...
    Tu pourrais m'orienter un peut plus stp?
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  4. #4
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void __fastcall TForm5::Ajoutnouvelutilisateur1Click(TObject *Sender)
    {
       TFileStream * file;
       if (FileExists("c:\\MAJ\\Gestion des utilisateurs.txt"))
       {
          file->Write("Test",4);
       }
       else
       {
          ForceDirectories("c:\\MAJ");
          file = new TFileStream("c:\\MAJ\\Gestion des utilisateurs.txt",fmCreate);
       }
    }
    Voila ce que j'ai trouvé, cela fonctionne en parti...
    Si j'appuie une seconde fois sur ajoutnouvel.... cela me fait une erreur! "violation d'accès mémoire..."
    Donc je pense qu'il ya d'autres choses à rajouter...
    si quelqu'un pouvait m'aider à entrée les valeurs de mes textbox ça serai cool

    merci par avance
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  5. #5
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    TFileStream * User_file;
     
    AnsiString Login_value = Edit_nouvel_utilisateur->Text;
    User_file->Write(Login_value,Edit_nouvel_utilisateur->Text.Length());
    AnsiString mdp_value = Edit_nvx_mdp->Text;
    User_file->Write(mdp_value, Edit_nvx_mdp->Text.Length());
    Voila ce que j'ai pensé faire mais cela me cause des erreurs...

    [C++ Erreur] Unit6.cpp(34): E2034 Impossible de convertir 'AnsiString' en 'const void *'
    [C++ Erreur] Unit6.cpp(34): E2342 Mauvaise correspondance de type dans le paramètre 'Buffer' ('const void *' désiré, 'AnsiString' obtenu)
    [C++ Erreur] Unit6.cpp(36): E2034 Impossible de convertir 'AnsiString' en 'const void *'
    [C++ Erreur] Unit6.cpp(36): E2342 Mauvaise correspondance de type dans le paramètre 'Buffer' ('const void *' désiré, 'AnsiString' obtenu)
    [C++ Avertissement] Unit6.cpp(37): W8004 'mdp_value' est affecté à une valeur qui n'est jamais utilisée


    quelqu'un peut-il m'aider?????
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut
    Travail déja avec des String plutôt que des AnsiString, et tu auras moins d'erreur je pense.

  7. #7
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    J'ai modifier les AnsiString par des String et voici la liste des erreurs qui perdurent :

    [C++ Erreur] Unit6.cpp(41): E2034 Impossible de convertir 'AnsiString' en 'const void *'
    [C++ Erreur] Unit6.cpp(41): E2342 Mauvaise correspondance de type dans le paramètre 'Buffer' ('const void *' désiré, 'AnsiString' obtenu)
    [C++ Erreur] Unit6.cpp(43): E2034 Impossible de convertir 'AnsiString' en 'const void *'
    [C++ Erreur] Unit6.cpp(43): E2342 Mauvaise correspondance de type dans le paramètre 'Buffer' ('const void *' désiré, 'AnsiString' obtenu)

    Que dois-je faire?
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  8. #8
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut
    Tu utilises un objet TFileStream...tu ne l'instancies pas?

    si je ne me trompe, il faut bien que tu l'instancie avec un new par exemple?

  9. #9
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Par défaut
    Bonjour,

    J'ai fait quelques modifs à votre code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    TFileStream * User_file;
    User_file = new TFileStream("c:\\info.txt",fmCreate);
     
    AnsiString login_value = Edit_nouvel_utilisateur->Text;
    User_file->Write(login_value.c_str(),login_value.Length());
     
    AnsiString mdp_value = Edit_nvx_mdp->Text;
    User_file->Write(mdp_value.c_str(), mdp_value.Length());
    Il y a aussi quelques modifs dans ce code :

    Code : 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
     
    void __fastcall TForm5::Ajoutnouvelutilisateur1Click(TObject *Sender)
    {
       TFileStream * file;
       if (FileExists("c:\\MAJ\\Gestion des utilisateurs.txt"))
       {
           //Le fichier existe on l'ouvre en mode écriture
           file = new TFileStream("c:\\MAJ\\Gestion des utilisateurs.txt",fmOpenWrite);
       }
       else //Le fichier n'existe pas on le créé ainsi que le répertoire
       {
          if(!DirectoryExists("c:\\MAJ"))
              CreateDir("c:\\MAJ");
          file = new TFileStream("c:\\MAJ\\Gestion des utilisateurs.txt",fmCreate);
       }
     
       //Le fichier est ouvert tu peux écrire dedans
       file->Write("test",4);
    }
    Je n'ai pas testé ces codes, mais je pense que ça devrait fonctionner,

    Bonne chance pour la suite.

  10. #10
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    J'ai un soucis, lors de l'execution du code.
    Voir image jointe
    Images attachées Images attachées  
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  11. #11
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    L'erreur se produit lors de l'écriture dans le fichier... JE ne comprend pas à quoi cela peut être du, il ya peut etre une autre méthode...?

    Merci par avance pour votre aide
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  12. #12
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Bonsoir,

    Est ce que User_file est instancié? A mon avis l'erreur viens du faite que non.

  13. #13
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    je ne suis pas sur mais il me semble que pour l'instancier c'est comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    TFileStream * User_file;
    User_file = new TFileStream("c:\\info.txt",fmCreate);
    Est ce autre chose?
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  14. #14
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Effectivement, c'est bien comme ça..

    Mais dans la capture d'ecran de l'erreur, User_file n'est pas instancié dans la méthode Button1Click, donc je suppose que tu l'instancie ailleurs.

    Est-tu sûr que la portion de code ou tu instancie User_file s'exécute bien avant que tu ne clique sur Button1?

    Vérifie également que tu ne détruit pas l'objet (delete User_file) entre le moment de l'instanciation et le moment ou tu clique sur Button1.

  15. #15
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut
    Il ne faut pas faire un close sur le fichier pour le rendre une nouvelle fois "ouvrable" ?

  16. #16
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut
    Pour instancier ton objet, place le dans le constructeur.

    De sorte que lorsque ta Form s'ouvre, ton objet est crée. N'oublies pas le delete aussi...

  17. #17
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    En effet j'ai l'ai instancier dans le constructeur et mon problème est réglé merci bcp pour voter aide.
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. oubli de login et mot de passe ?
    Par donny dans le forum Oracle
    Réponses: 4
    Dernier message: 10/04/2006, 13h25
  2. Réponses: 3
    Dernier message: 23/02/2006, 11h19
  3. Réponses: 3
    Dernier message: 25/11/2005, 13h06
  4. [VB]Gestion d'un login et mot de passe sous VB
    Par b_steph_2 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 10/10/2005, 18h09
  5. Fenêtre avec login et mot de passe
    Par keawee dans le forum ASP
    Réponses: 5
    Dernier message: 29/08/2005, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo