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

Langage Delphi Discussion :

string et rootkey


Sujet :

Langage Delphi

  1. #1
    Membre régulier Avatar de BXDSPORT
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 353
    Points : 96
    Points
    96
    Par défaut string et rootkey
    Bonjour
    J'ai un combox avec la liste de clé qui renvoie vers un champ string;
    J'essaye de récupérer la valeur et l'attibuer à rootkey mais j'ai une erreur : incompatibilite entre HKEY et string.
    Comment faire passer un champ string en champ HKEY.

    Merci
    Cordialement à tous

    Votre savoir devient mon savoir qui deviendra votre savoir, telle est la connaissance qui appartient à tous

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    Trop vague ! il faudrait qu'on voit le code qui provoque l'erreur.

  3. #3
    Membre régulier Avatar de BXDSPORT
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 353
    Points : 96
    Points
    96
    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
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    var
      Principal: TPrincipal;
      champ:string;
      registre:TRegistry;
     
     
    implementation
     
    {$R *.dfm}
     
    procedure TPrincipal.Button1Click(Sender: TObject);
    begin
    //recherche de la clé
    registre:=tregistry.Create;
    registre.RootKey:=champ;
    if registre.KeyExists(Edit1.Text) then
    Label2.Caption:='RESULTAT : TROUVE' else Label2.Caption:='RESULTAT : N''EXISTE PAS';
    registre.CloseKey;
    registre.Destroy;
     
    end;
     
    procedure TPrincipal.Liste_cleChange(Sender: TObject);
     
    begin
     case  Liste_cle.ItemIndex of
     0: champ:=Liste_cle.TEXT;
     1: champ:=Liste_cle.text;
     2:champ:=Liste_cle.text;
     3:champ:=Liste_cle.text;
     4:champ:=Liste_cle.text;
     
     end;
    end;
    Voici le code
    Cordialement à tous

    Votre savoir devient mon savoir qui deviendra votre savoir, telle est la connaissance qui appartient à tous

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Bonjour ! Le type HKEY est un nombre entier. A quoi est-ce qu'elles ressemblent, tes chaînes ?

    P.-S. Si c'est ce que je crois comprendre, voici une solution.

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    program RootKeys;
    {$APPTYPE CONSOLE}
     
    uses
      SysUtils, Windows, Registry;
     
    function StrToKey(s: string): HKEY;
    begin
      s := UpperCase(s);
      if s = 'HKEY_CLASSES_ROOT' then
        result := HKEY_CLASSES_ROOT
      else if s = 'HKEY_CURRENT_USER' then
        result := HKEY_CURRENT_USER
      else if s = 'HKEY_LOCAL_MACHINE' then
        result := HKEY_LOCAL_MACHINE
      else if s = 'HKEY_USERS' then
        result := HKEY_USERS
      else if s = 'HKEY_PERFORMANCE_DATA' then
        result := HKEY_PERFORMANCE_DATA
      else if s = 'HKEY_CURRENT_CONFIG' then
        result := HKEY_CURRENT_CONFIG
      else if s = 'HKEY_DYN_DATA' then
        result := HKEY_DYN_DATA
      else
        result := 0;
    end;
     
    var
      r: TRegistry;
     
    begin
      r := TRegistry.Create;
      r.RootKey := StrToKey('HKEY_CURRENT_USER');
      if r.KeyExists('Software\Microsoft\Windows\CurrentVersion\Screensavers') then
        WriteLn('La clef existe.')
      else
        WriteLn('La clé n''existe pas.');
      r.Free;
      Write('Appuyez sur la touche Entr'#130'e... ');
      ReadLn;
    end.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  5. #5
    Membre régulier Avatar de BXDSPORT
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 353
    Points : 96
    Points
    96
    Par défaut
    Bonjour

    J'ai trouvé une solution plus simple que présentez. Dans mon case, j'ai attribué à un clé dword les valeurs correspondantes de HKEY.

    Merci de vos pistes
    Cordialement à tous

    Votre savoir devient mon savoir qui deviendra votre savoir, telle est la connaissance qui appartient à tous

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

Discussions similaires

  1. éliminer un caractere d'un string
    Par no-vice dans le forum Langage
    Réponses: 5
    Dernier message: 09/08/2002, 14h55
  2. String -> long double (_strlold ?)
    Par haypo dans le forum C
    Réponses: 7
    Dernier message: 25/07/2002, 20h22
  3. URGENT: retour de string
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 15/07/2002, 09h47
  4. Réponses: 2
    Dernier message: 05/06/2002, 12h29
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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