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
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
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 :
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 :
((type *) glForm.at(j)->Components[i])->champ = nouveau_texte;
merci d'avance pour votre aide
Partager