Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUMS DELPHI F.A.Q DELPHI TUTORIELS DELPHI LIVRES COMPOSANTS SOURCES DEFI TELECHARGEZ DELPHI TV
Nono40.developpez.com
Le petit coin du web de Nono40
SOURCES ARTICLES NONOVISU ACCUEIL NOUVELLES
Retour à l'accueil
23 - LECTURE D'UN TYPE REG_MULTI_SZ AVEC UN TREGISTRY

PRÉSENTATION : Procédure pour effectuer la lecture d'une valeur de type REG_MULTI_SZ.
ZIP : -Pas de zip- APERÇUS :

NOTES : Ce n'est possible qu'en lecture car le TRegistry ne peut créer de valeur REG_MULTI_SZ. Mais c'est peut-être suffisant pour certains.
Je n'ai essayé que sous XP, (W95 W98 et WMe n'ont pas de valeurs de type REG_MULTI_SZ ) mais je pense que le fonctionnement est le même avec W2000.


CODE :
Procedure LectureREG_MULTI_SZ(Reg:TRegistry;Valeur:String;Valeurs:TStrings);
Var Buf    : Array Of Byte;
    Taille : Integer;
    i      : Integer;
    Chaine : String;
Begin
  // On efface la liste
  Valeurs.Clear;
  // On recherche la taille des données
  Taille:=Reg.GetDataSize(Valeur);
  If Taille>0
  Then Begin
    SetLength(Buf,Taille);
    // Lecture des valeurs sous forme binaire
    Reg.ReadBinaryData(Valeur,buf[low(Buf)],Taille);
    // Conversion des chaines AZT multiples en TStrings
    Chaine:='';
    // Taille-2 au lieu de Taille-1 pour ignorer le double zéro final
    For i:=0 To Taille-2 Do
    Begin
      If Buf[i]=0 Then Begin Valeurs.Add(Chaine);Chaine:='';End
                  Else Chaine:=Chaine+Char(Buf[i]);
    End;
    Buf:=Nil;
  End;
End;

Les sources présentées sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2003 Bruno Guérangé. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Responsables bénévoles de la rubrique Delphi : Nono40 et Pedro - Contacter par EMail :
Vos questions techniques : forum d'entraide Delphi - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.