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 :

Base de registre


Sujet :

C++Builder

  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    31
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 31
    Par d�faut Base de registre
    bonjour � tous,

    Je vous explique mon probl�me.

    Je voudrai cr�er un programme qui va stocker des donn�e dans la base de registre. Avant de l'int�grer dans mon projet (pour �tre sur de pas faire de betise) je cr�e une application de test, mais ca ne fonctionne pas, pourtant j'ai lu des explication sur l'utilisation de TRegistry mais ca ne fonctionne pas.

    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
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
     TRegistry *registre = new TRegistry();
     
     registre->RootKey = HKEY_LOCAL_MACHINE;
     if (registre->KeyExists("\\Software\\LocaTout"))
     {
      Label1->Caption = registre->ReadString("MysqlServ");
      Label2->Caption = registre->ReadString("MysqlLogin");
      Label3->Caption = registre->ReadString("MysqlPass");
     }
     else
     {
      registre->CreateKey("\\Software\\LocaTout");
      registre->WriteString("MysqlServ","localhost");
      registre->WriteString("MysqlLogin","root");
      registre->WriteString("MysqlPass","motdepasse");
     }
     
     delete registre;
    }
    dans cette aplication bidon, si l'on clique sur le bouton le programme vas cr�er la cl� dans la base de registre et y stocker des valeur ET si la cl� existe, il vas lire les valeur et les afficher dans un lable.

    A la compilation il n'y a pas d'erreur mais � l'�x�cution il met met une erreur sur la ligne "registre->WriteString("MysqlServ","localhost");" cette erreur est : "Le projet Projet1.exe a provoqu� une classe d'exception ERegistryException avec le message 'Echec � la d�finition des donn�es pour 'MysqlServ''.".

    Est ce que quelqu'un pourai m'aider s'il vous plait.


    Merci

  2. #2
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    1 268
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 1 268
    Par d�faut
    A mon avis (pas test�), cela vient du fait que tu as oubli� de faire un OpenKey avant tes lectures/�critures...

  3. #3
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par d�faut
    Citation Envoy� par bakaneko
    A mon avis (pas test�), cela vient du fait que tu as oubli� de faire un OpenKey avant tes lectures/�critures...
    et +1.

  4. #4
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    31
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 31
    Par d�faut
    vous aviez raison maintenant que je fait un OpenKey cela fonctionne.

    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
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
     TRegistry *registre = new TRegistry();
     
     registre->RootKey = HKEY_LOCAL_MACHINE;
     if (registre->KeyExists("\\Software\\LocaTout"))
     {
      registre->OpenKey("\\Software\\LocaTout",false);
      Label1->Caption = registre->ReadString("MysqlServ");
      Label2->Caption = registre->ReadString("MysqlLogin");
      Label3->Caption = registre->ReadString("MysqlPass");
     }
     else
     {
      registre->CreateKey("\\Software\\LocaTout");
      registre->OpenKey("\\Software\\LocaTout",false);
      registre->WriteString("MysqlServ","localhost");
      registre->WriteString("MysqlLogin","root");
      registre->WriteString("MysqlPass","motdepasse");
     }
     
     delete registre;
    }
    J'ai mis le code comme ca si quelqu'un veux un exemple il peut en voire un.

    Merci pour votre aide

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Recherche en base de registre
    Par Pomalaix dans le forum Langage
    R�ponses: 7
    Dernier message: 01/08/2012, 10h58
  2. [Windows]acc�s base de registre windows
    Par Greg01 dans le forum API standards et tierces
    R�ponses: 27
    Dernier message: 05/06/2007, 15h14
  3. Acc�s � la base de registre windows � distance
    Par xavame dans le forum S�curit�
    R�ponses: 4
    Dernier message: 13/07/2005, 15h23
  4. base de registre et connexion a internet
    Par nonosoft dans le forum C++
    R�ponses: 2
    Dernier message: 17/04/2003, 21h04
  5. Utilisez vous la base de registres ?
    Par gRRosminet dans le forum C++Builder
    R�ponses: 8
    Dernier message: 04/06/2002, 13h55

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