Bonjour à tous,
Je suis nouveau dans ce forum car j'ai besoin d'aide.
Mon problème est le suivant :
J´ai un fichier .xml avec lequel je dois écrire une routine qui enlève seulement certains paramètres du fichier .xml et affiche le résultat dans un ListBox.
Jusqu'ici j'ai pu écrire la routine qui fait le tri mais je n'arrive pas à afficher le résultat dans la ListBox.

Voila les deux Classes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 //--------------------------Class Fred.h----------------------------
    class Parameter
{
private:
	string Name;
	string additionalID;
public:
	string getParameterID();
	string getParameterName();
	Parameter(string ID, string name);
 
};
 
class CFred
{
public:
	void FillListBox(CListBox* pCombo);
	void setParameterList(list<Parameter> pa);
	list<Parameter> LoadFred();
 
private:
	list<Parameter> parameter;
};

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
//-----------------------------Class Fred.cpp---------------------------
string Parameter::getParameterName()
{
	return Name;
}
 
string Parameter::getParameterID()
{
	return additionalID;
}
 
Parameter::Parameter(string ID, string name)
{
	Name = name;
	additionalID = ID;
}
 
void CFred::setParameterList(list<Parameter> pa)
{
	parameter = pa; 
}
 
list<Parameter> parameterListe;
list<Parameter> CFred::LoadFred()
{
	ifstream filename("hallo.xml");
	string zeile;
    string parameterKennung = "fred:Name>";
    while(!filename.eof())
    {
	  bool vergleichmodus = false;
	  string speicher = "";
	  bool speichern = false;
	  bool gescheitert = false;
	  unsigned int zaehlerTag = 0;
	  getline(filename, zeile, '\n');
	  for(unsigned int i=0; i<=zeile.length(); i++)
	  {
		 if(vergleichmodus)
		 {
			 if(!(zeile[i] == parameterKennung[i-zaehlerTag]))
			 {
				gescheitert = true;
				break;											
			 } 
		 }
		 if(zeile[i]=='<'&& !speichern){
			vergleichmodus = true;
			zaehlerTag = i+1;
		}
		 if(zeile[i]=='<'&& speichern){
			break;
		}
		if(speichern){
				speicher.push_back(zeile[i]);
		}
		if(zeile[i]=='>'){
			speichern = true;	
			vergleichmodus = false;
		}
	 }
	 if(!gescheitert)
	 {
		 if((speicher.rfind("_Validity")==string::npos))
		 {
			 string newName = speicher;
			 string memorZeile;
			 getline(filename, memorZeile,'\n');
			 int anfang = memorZeile.find(">");
			 int ende = memorZeile.rfind("<");
			 string Id = memorZeile.substr(anfang+1,(ende-anfang-1));
			 Parameter *p = new Parameter(Id,newName);
			 parameterListe.push_back(*p);
		 }
	 }
	}
	return parameterListe;
}
 
void CFred::FillListBox(CListBox *pCombo){
	list<Parameter> para, parameterListe;
	pCombo->ResetContent();
	para.push_back(parameterListe);
}