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

 Delphi Discussion :

Pchar et String dans le registre


Sujet :

Delphi

  1. #1
    Membre régulier
    Inscrit en
    Mai 2003
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 146
    Points : 116
    Points
    116
    Par défaut Pchar et String dans le registre
    Dans une application, je sauve le contenu d'un DriveComboBox dans le registre
    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
     
    procedure TForm1.DriveComboBox1Change(Sender: TObject);
      var
        Reg: TRegistry;
        ID:string;
      begin
         ID:= DriveComboBox1.Drive;
         Reg := TRegistry.Create;
        try
          Reg.RootKey :=HKEY_CURRENT_USER;
          Reg.OpenKey('Software\RechPhoto',True);
          Reg.WriteString('Initial',ID);
          Reg.CloseKey;
        finally
          Reg.Free;
        end;
      end;
    Jusque là, pas de problèmes; quand je veux récupérer cette information pour que mon ComboBox la reprenne, ca se complique :
    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
      procedure TForm1.FormShow(Sender: TObject);
      var
        Reg: TRegistry;
        ID: String;
      begin
        Reg := TRegistry.Create;
        try
          Reg.RootKey :=HKEY_CURRENT_USER;
          Reg.OpenKey('Software\RechPhoto',True);
          ID:=Reg.ReadString('Initial');
          DriveInitial.Drive:=PChar(ID); // Ici j'ai une erreur
          Reg.CloseKey;
        finally
          Reg.Free;
        end;
      end;
    J'obtiens le message d'erreur: Type incompatible PChar et PAnsiChar.
    J'ai fais plusieurs recherches dont le tuto de Reisubar sur les Pchar mais sans résultats concluants.
    Où est mon erreur SVP.

    Merci

    Duan

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    La propriété Drive du Combo attends un Char (non un PChar), donc ceci devrait aller mieux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DriveInitial.Drive := ID[1];
    @+ Claudius

  3. #3
    Membre régulier
    Inscrit en
    Mai 2003
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 146
    Points : 116
    Points
    116
    Par défaut
    Un grand merci Cl@udius ; ça marche impeccable;
    Je vais imprimer et relire le Tuto de Reisubar pour mieux comprendre la différence entre ces Char,PChar,PAnsiChar ect. qui me causent souvent des problèmes. Si quelqu'un a d'autres tutos ou conseils, je suis preneur. En attendant, je met RÉSOLU.



    Duan

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/03/2006, 10h13
  2. Réponses: 4
    Dernier message: 30/01/2006, 19h50
  3. Lire une valeur dans le registre
    Par John.s dans le forum C
    Réponses: 2
    Dernier message: 26/11/2003, 19h55
  4. Réponses: 6
    Dernier message: 24/07/2003, 12h39
  5. Recherche d'un String dans un String ?
    Par apen2k2 dans le forum Langage
    Réponses: 9
    Dernier message: 14/04/2003, 11h08

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