Bonjour,

a première vue mon titre n'est pas très clair, donc je vais vou expliquer ce que je souhaite obtenir

j'ai un fichier xml qui a l'architecture suivante

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<nom_prog>
<nom_form> 
<Label1 Type="TLabel" Champ="Caption" Texte="salut" Font_Size="6" Font_Name="Ms Sans Serif"\>
<Memo1 Type="TMemo" Champ="Lines->Text" Texte="salut" Font_Size="6" Font_Name="Ms Sans Serif"\>
<\nom_form>
<\nom_prog>
Je souhaite a partir de ce fichier, charger dynamiquement les différentes propriétés des composants.

j'ai donc fait une boucle qui parcourt les forms de mon application, et les composants pour chaque form

dans cette double boucle for, je fait ceci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
  composant = form->ChildNodes->FindNode(glForm.at(j)->Components[i]->Name);
cette ligne me permet de récupérer le noeud correspondant au composant de la forme en cours

avec ce noeud, je souhaiterai recupérer le nom de la propriété à modifier pour modifier le texte du composants (donc dans le cas d'un tlabel, le caption et dans le cas d'un tmemo, le lines->text)

donc je voudrai savoir si il est possible en récupérant le nom du champ du composants à modifier, en récupérant la nouvelle valeur, et le type du composant , comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
  AnsiString type = composant->GetAttribute("Type");
AnsiString champ = composant->GetAttribute("Champ");
WideString nouveau_texte = composant->GetAttribute("Texte");
de modifier la valeur du composant, un peu comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
  ((type *) glForm.at(j)->Components[i])->champ = nouveau_texte;
merci d'avance pour votre aide