marvenjabloun
Messages postés7Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention 3 juin 2007
-
16 mai 2007 à 17:01
marvenjabloun
Messages postés7Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention 3 juin 2007
-
16 mai 2007 à 18:34
salut tou le monde
voila j ai cette fichier xml qui s appelle classe.xml la voila :
En effet je veux remplir un check list box par les noms et les prenoms des eleves contenu dans le fichiers xml classes.xml
et je pense ke j ai un probleme d acceder a ces valeur voila la procedure que j essaye d utiliser j espere que vous puissiez localiser la faute ( l erreur qui se genere est : ACCESS VIOLATION AT ADRESS 004C7AA9 IN MODULE REGARD.EXE c est l erreur que je rencontre le plus souvent et qui me demoralise beaucoup)
ou proposer une autre solution aussi
procedure TFaccess.remplissage(Sender: TObject);
var
eleve:ixmlnode;
i ,k : integer;
prenomeleve,prenomnomeleve,nomeleve: string;
begin
j := 0;
while j < CheckListBoxapprenant.Items.Count do
if CheckListBoxapprenant.Items[j] = nomprenomeleve
then j := CheckListBoxapprenant.Items.Count + 1
else inc(j);
if j <> CheckListBoxapprenant.Items.Count + 1
then CheckListBoxapprenant.Items.Add(nomprenomeleve);
end;
marvenjabloun
Messages postés7Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention 3 juin 2007 16 mai 2007 à 18:34
En effet,j ai plus d erreur de violation d acces des que j ai mis le test eleve<>nil de boucle while mais le probleme c qu 'il prend eleve toujours pour nil c a dire je peu pas recuperer le noeud eleve et apparament c ça le probleme moi j ai utiliser dans le code ci dessus la fonction GetChildNodeByName dont voila le code:
{ **************************************************************************** }
{ Function GetChildNodeByName }
{ }
{ Paramètre : Node, racine de l'arbre XML }
{ ChildNodeName, nom du noeud cherché }
{ }
{ Retourne un noeud de l'arbre XML dont on donne le nom. Retourne NULL si le }
{ noeud n'est pas dans l'arbre. }
{ }
{ **************************************************************************** }
function TFFonctionsUtiles.GetChildNodeByName(Node : IXMLNode; ChildNodeName
: string) : IXMLNode;
var j: Integer;
res: IXMLNode;
begin
j := 0;
res := nil;
with Node.ChildNodes do
begin
res := FindNode(ChildNodeName);
while (res = nil) and (j < Count) do
begin
res := GetChildNodeByName(Nodes[j], ChildNodeName);
j := j + 1;
end;
GetChildNodeByName := res;
end;
end;
cette fonction est validé et j ai deja testé (c pas moi qui a ecrit)
mais generalment si on a un fichierXMl comme la mienne la au dessu si je veux reccuperer les valeur des attributs de balise eleve comment on fait ???