 |
|
 |
|
 |
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.
|