C'est assez simple comme donn=E9es... la lecture ne pose pas de probl=E8m=
e,=20
c'est leur utilisation en fait...
En gros :
- Il y a 2 parties, un titre et des sous titre avec une valeur.
- le premier mot (avant un TAB) est le titre,
- ensuite, j'ai SousTitre un _ et une valeur (nom de coul), les sous=20
parties =E9tant s=E9pr=E9es les unes des autres par des |
au final, je dois cr=E9er un bouton principale avec le titre, puis d'autr=
e=20
bouton en dessous avec les sous-titre et la police de la couleur indiqu=E9=
=20
dans le fichier...
C'est assez simple comme données... la lecture ne pose pas de problème,
Dans ce cas le sujet du message est inapproprié :)
c'est leur utilisation en fait... En gros : - Il y a 2 parties, un titre et des sous titre avec une valeur. - le premier mot (avant un TAB) est le titre, - ensuite, j'ai SousTitre un _ et une valeur (nom de coul), les sous parties étant séprées les unes des autres par des |
au final, je dois créer un bouton principale avec le titre, puis d'autre bouton en dessous avec les sous-titre et la police de la couleur indiqué dans le fichier...
Vous arrivez à faire quoi? Vous être bloqué où ?
-- Zazar
Bonsoir,
Voilà un nouveau problème....
Je dois lire dans un fichier des données de ce type :
C'est assez simple comme données... la lecture ne pose pas de problème,
Dans ce cas le sujet du message est inapproprié :)
c'est leur utilisation en fait...
En gros :
- Il y a 2 parties, un titre et des sous titre avec une valeur.
- le premier mot (avant un TAB) est le titre,
- ensuite, j'ai SousTitre un _ et une valeur (nom de coul), les sous
parties étant séprées les unes des autres par des |
au final, je dois créer un bouton principale avec le titre, puis d'autre
bouton en dessous avec les sous-titre et la police de la couleur indiqué
dans le fichier...
C'est assez simple comme données... la lecture ne pose pas de problème,
Dans ce cas le sujet du message est inapproprié :)
c'est leur utilisation en fait... En gros : - Il y a 2 parties, un titre et des sous titre avec une valeur. - le premier mot (avant un TAB) est le titre, - ensuite, j'ai SousTitre un _ et une valeur (nom de coul), les sous parties étant séprées les unes des autres par des |
au final, je dois créer un bouton principale avec le titre, puis d'autre bouton en dessous avec les sous-titre et la police de la couleur indiqué dans le fichier...
C'est assez simple comme données... la lecture ne pose pas de problè me,
Dans ce cas le sujet du message est inapproprié :)
Effectivement.... :)
c'est leur utilisation en fait... En gros : - Il y a 2 parties, un titre et des sous titre avec une valeur. - le premier mot (avant un TAB) est le titre, - ensuite, j'ai SousTitre un _ et une valeur (nom de coul), les sous parties étant séprées les unes des autres par des |
Et bien j'ai essayé de rentrer mes données ds des Hashtable imbriqué es, mais ça me semble très compliqué et je m'y perdais....
au final, je dois créer un bouton principale avec le titre, puis d'au tre bouton en dessous avec les sous-titre et la police de la couleur indiqu é dans le fichier...
Vous arrivez à faire quoi? Vous être bloqué où ?
Je sais créer un bouton :) Ce qui me perd surtout, c'est comment récupéré les données pour p ouvoir les utiliser le plus simplement possible...
Genre int Y = 0; for(int i=0;i<HashtableContenantlesParents.Lenght;i++) { Bouton+i = new Boutton(); /* PS : je sais que Bouton+i n'est pas bon, mais je sais pas comment utiliser une variable pour nommer un objet.*/ Bouton.Top = Y; Y = Boutton+i.Bottom; for(int I=0;I<HashtableContenantlesChild.Lenght;I++) { SousBouton+I = new Boutton(); SousBouton+I = Bouton SousBouton+I.ForeColor = "je ne sais pas comment aller chercher ma couleur qui se trouve ds le fichier"; Y = SousBouton.Bottom; } }
C'est assez simple comme données... la lecture ne pose pas de problè me,
Dans ce cas le sujet du message est inapproprié :)
Effectivement.... :)
c'est leur utilisation en fait...
En gros :
- Il y a 2 parties, un titre et des sous titre avec une valeur.
- le premier mot (avant un TAB) est le titre,
- ensuite, j'ai SousTitre un _ et une valeur (nom de coul), les sous
parties étant séprées les unes des autres par des |
Et bien j'ai essayé de rentrer mes données ds des Hashtable imbriqué es,
mais ça me semble très compliqué et je m'y perdais....
au final, je dois créer un bouton principale avec le titre, puis d'au tre
bouton en dessous avec les sous-titre et la police de la couleur indiqu é
dans le fichier...
Vous arrivez à faire quoi? Vous être bloqué où ?
Je sais créer un bouton :)
Ce qui me perd surtout, c'est comment récupéré les données pour p ouvoir
les utiliser le plus simplement possible...
Genre
int Y = 0;
for(int i=0;i<HashtableContenantlesParents.Lenght;i++)
{
Bouton+i = new Boutton(); /* PS : je sais que Bouton+i n'est pas bon,
mais je sais pas comment utiliser une variable pour nommer un objet.*/
Bouton.Top = Y;
Y = Boutton+i.Bottom;
for(int I=0;I<HashtableContenantlesChild.Lenght;I++)
{
SousBouton+I = new Boutton();
SousBouton+I = Bouton
SousBouton+I.ForeColor = "je ne sais pas comment aller chercher ma
couleur qui se trouve ds le fichier";
Y = SousBouton.Bottom;
}
}
C'est assez simple comme données... la lecture ne pose pas de problè me,
Dans ce cas le sujet du message est inapproprié :)
Effectivement.... :)
c'est leur utilisation en fait... En gros : - Il y a 2 parties, un titre et des sous titre avec une valeur. - le premier mot (avant un TAB) est le titre, - ensuite, j'ai SousTitre un _ et une valeur (nom de coul), les sous parties étant séprées les unes des autres par des |
Et bien j'ai essayé de rentrer mes données ds des Hashtable imbriqué es, mais ça me semble très compliqué et je m'y perdais....
au final, je dois créer un bouton principale avec le titre, puis d'au tre bouton en dessous avec les sous-titre et la police de la couleur indiqu é dans le fichier...
Vous arrivez à faire quoi? Vous être bloqué où ?
Je sais créer un bouton :) Ce qui me perd surtout, c'est comment récupéré les données pour p ouvoir les utiliser le plus simplement possible...
Genre int Y = 0; for(int i=0;i<HashtableContenantlesParents.Lenght;i++) { Bouton+i = new Boutton(); /* PS : je sais que Bouton+i n'est pas bon, mais je sais pas comment utiliser une variable pour nommer un objet.*/ Bouton.Top = Y; Y = Boutton+i.Bottom; for(int I=0;I<HashtableContenantlesChild.Lenght;I++) { SousBouton+I = new Boutton(); SousBouton+I = Bouton SousBouton+I.ForeColor = "je ne sais pas comment aller chercher ma couleur qui se trouve ds le fichier"; Y = SousBouton.Bottom; } }
En gros... :))
-- Zazar
Zazar
>> Avez-vous envisagé d'utiliser un fichier XML ?
Connais pô... :-(
Le XML est un format standard de stockage de données. Il existe de nombreux parseurs pour lire de tels fichiers, vous n'avez donc pas à écrire le votre; notamment .NET fournit de nombreuses classes pour manipuler de tels fichiers. Dans votre situation le fichier pourrait ressembler à quelque chose comme : <Donnees> <Parent texte="Client"> <Child texte="Client" color="SlateGray" /> <Child texte="Prospect" color="SlateGray" /> <Child texte="Artiste" color="SaddleBrown" /> </Parent > <Parent texte="AutreCLient"> ... </Parent > </Donnees>
Vous ne savez pas comment faire quoi ?
Et bien j'ai essayé de rentrer mes données ds des Hashtable imbriquées, mais ça me semble très compliqué et je m'y perdais....
Ce n'est pas si compliqué que ça, il faut surtout être rigoureux. Cependant, la Hashtable n'est peut-être pas nécessaire, un ArrayList peut éventuellement suffire. Par la suite, je reprend vos notations et j'utilise les Hashtable.
Alors : on veut avoir une Hashtable contenant les titres. On va donc créer une classe Parent contenant les informations nécessaires.
public class Parent { public string Texte; //Il vaut mieux faire une propriété //TODO rajouter une liste de sous-titre plus tard. }
On va ensuite créer notre Hashtable, et on va imposer que la clef est le nom d'un titre et la valeur associée est un objet de type Parent . Pour cela, soit on crée une classe encapsulant un objet de type Hashtable, soit on est rigoureux dans le développement (soit à partir de .net 2.0 on utilise la généricité). Par la suite, on va choisir la 2ième solution (la plus simple).
Hashtable HashtableContenantlesParents = new HashtTable(); // clef = titre du parent, value = objet de type Parent
Nous avons donc une liste de Parents. Chacun de ces parents doit avoir une liste d'enfants. On va appliquer la même méthode que celle ci-dessus. On crée la classe Child :
public class Child { public string Titre; public string Couleur; }
Ensuite à chaque parent on associe une Hashtable contenant les enfants : public class Parent { public string Texte; //Il vaut mieux faire une propriété public Hashtable HashtableContenantlesChild = new Hashtable(); }
La création de la liste complète devient donc : Parent nvParent = new Parent(); nvParent.Titre = "Parent n° 1"; Child nvChild = new Child(); nvChild.Titre = "Client"; nvChild.Couleur = "SlateGray"; nvParent.HashtableContenantlesChild.Add(nvChild.Titre, nvChild); nvChild = new Child(); nvChild.Titre = "Prospect"; nvChild.Couleur = "SlateGray"; nvParent.HashtableContenantlesChild.Add(nvChild.Titre, nvChild); HashtableContenantlesParents.Add(nvParent.Titre, nvParent);
etc...
Ensuite pour parcourir la liste : foreach (DictionaryEntry de in HashtableContenantlesParents) { // on parcourt la liste des parents Parent parent = (Parent) de.Value; //Le parent en cours; DoSomething(Parent.Titre); // On fait qqc avec le titre foreach(DictionaryEntry de2 in parent.HashtableContenantlesChild) {//on parcourt la liste des enfants du parent actuel Child child = (Child) de2.Value; DoSomethingElse(Child.Titre, Child.Couleur); } }
Voilà en gros une structure vous montrant le principe.
-- Zazar
>>
Avez-vous envisagé d'utiliser un fichier XML ?
Connais pô... :-(
Le XML est un format standard de stockage de données. Il existe de nombreux
parseurs pour lire de tels fichiers, vous n'avez donc pas à écrire le votre;
notamment .NET fournit de nombreuses classes pour manipuler de tels
fichiers.
Dans votre situation le fichier pourrait ressembler à quelque chose comme :
<Donnees>
<Parent texte="Client">
<Child texte="Client" color="SlateGray" />
<Child texte="Prospect" color="SlateGray" />
<Child texte="Artiste" color="SaddleBrown" />
</Parent >
<Parent texte="AutreCLient">
...
</Parent >
</Donnees>
Vous ne savez pas comment faire quoi ?
Et bien j'ai essayé de rentrer mes données ds des Hashtable imbriquées,
mais ça me semble très compliqué et je m'y perdais....
Ce n'est pas si compliqué que ça, il faut surtout être rigoureux. Cependant,
la Hashtable n'est peut-être pas nécessaire, un ArrayList peut
éventuellement suffire.
Par la suite, je reprend vos notations et j'utilise les Hashtable.
Alors : on veut avoir une Hashtable contenant les titres. On va donc créer
une classe Parent contenant les informations nécessaires.
public class Parent {
public string Texte; //Il vaut mieux faire une propriété
//TODO rajouter une liste de sous-titre plus tard.
}
On va ensuite créer notre Hashtable, et on va imposer que la clef est le nom
d'un titre et la valeur associée est un objet de type Parent . Pour cela,
soit on crée une classe encapsulant un objet de type Hashtable, soit on est
rigoureux dans le développement (soit à partir de .net 2.0 on utilise la
généricité). Par la suite, on va choisir la 2ième solution (la plus simple).
Hashtable HashtableContenantlesParents = new HashtTable(); // clef = titre
du parent, value = objet de type Parent
Nous avons donc une liste de Parents. Chacun de ces parents doit avoir une
liste d'enfants. On va appliquer la même méthode que celle ci-dessus.
On crée la classe Child :
public class Child {
public string Titre;
public string Couleur;
}
Ensuite à chaque parent on associe une Hashtable contenant les enfants :
public class Parent {
public string Texte; //Il vaut mieux faire une propriété
public Hashtable HashtableContenantlesChild = new Hashtable();
}
La création de la liste complète devient donc :
Parent nvParent = new Parent();
nvParent.Titre = "Parent n° 1";
Child nvChild = new Child();
nvChild.Titre = "Client";
nvChild.Couleur = "SlateGray";
nvParent.HashtableContenantlesChild.Add(nvChild.Titre, nvChild);
nvChild = new Child();
nvChild.Titre = "Prospect";
nvChild.Couleur = "SlateGray";
nvParent.HashtableContenantlesChild.Add(nvChild.Titre, nvChild);
HashtableContenantlesParents.Add(nvParent.Titre, nvParent);
etc...
Ensuite pour parcourir la liste :
foreach (DictionaryEntry de in HashtableContenantlesParents) { // on
parcourt la liste des parents
Parent parent = (Parent) de.Value; //Le parent en cours;
DoSomething(Parent.Titre); // On fait qqc avec le titre
foreach(DictionaryEntry de2 in parent.HashtableContenantlesChild) {//on
parcourt la liste des enfants du parent actuel
Child child = (Child) de2.Value;
DoSomethingElse(Child.Titre, Child.Couleur);
}
}
Voilà en gros une structure vous montrant le principe.
Le XML est un format standard de stockage de données. Il existe de nombreux parseurs pour lire de tels fichiers, vous n'avez donc pas à écrire le votre; notamment .NET fournit de nombreuses classes pour manipuler de tels fichiers. Dans votre situation le fichier pourrait ressembler à quelque chose comme : <Donnees> <Parent texte="Client"> <Child texte="Client" color="SlateGray" /> <Child texte="Prospect" color="SlateGray" /> <Child texte="Artiste" color="SaddleBrown" /> </Parent > <Parent texte="AutreCLient"> ... </Parent > </Donnees>
Vous ne savez pas comment faire quoi ?
Et bien j'ai essayé de rentrer mes données ds des Hashtable imbriquées, mais ça me semble très compliqué et je m'y perdais....
Ce n'est pas si compliqué que ça, il faut surtout être rigoureux. Cependant, la Hashtable n'est peut-être pas nécessaire, un ArrayList peut éventuellement suffire. Par la suite, je reprend vos notations et j'utilise les Hashtable.
Alors : on veut avoir une Hashtable contenant les titres. On va donc créer une classe Parent contenant les informations nécessaires.
public class Parent { public string Texte; //Il vaut mieux faire une propriété //TODO rajouter une liste de sous-titre plus tard. }
On va ensuite créer notre Hashtable, et on va imposer que la clef est le nom d'un titre et la valeur associée est un objet de type Parent . Pour cela, soit on crée une classe encapsulant un objet de type Hashtable, soit on est rigoureux dans le développement (soit à partir de .net 2.0 on utilise la généricité). Par la suite, on va choisir la 2ième solution (la plus simple).
Hashtable HashtableContenantlesParents = new HashtTable(); // clef = titre du parent, value = objet de type Parent
Nous avons donc une liste de Parents. Chacun de ces parents doit avoir une liste d'enfants. On va appliquer la même méthode que celle ci-dessus. On crée la classe Child :
public class Child { public string Titre; public string Couleur; }
Ensuite à chaque parent on associe une Hashtable contenant les enfants : public class Parent { public string Texte; //Il vaut mieux faire une propriété public Hashtable HashtableContenantlesChild = new Hashtable(); }
La création de la liste complète devient donc : Parent nvParent = new Parent(); nvParent.Titre = "Parent n° 1"; Child nvChild = new Child(); nvChild.Titre = "Client"; nvChild.Couleur = "SlateGray"; nvParent.HashtableContenantlesChild.Add(nvChild.Titre, nvChild); nvChild = new Child(); nvChild.Titre = "Prospect"; nvChild.Couleur = "SlateGray"; nvParent.HashtableContenantlesChild.Add(nvChild.Titre, nvChild); HashtableContenantlesParents.Add(nvParent.Titre, nvParent);
etc...
Ensuite pour parcourir la liste : foreach (DictionaryEntry de in HashtableContenantlesParents) { // on parcourt la liste des parents Parent parent = (Parent) de.Value; //Le parent en cours; DoSomething(Parent.Titre); // On fait qqc avec le titre foreach(DictionaryEntry de2 in parent.HashtableContenantlesChild) {//on parcourt la liste des enfants du parent actuel Child child = (Child) de2.Value; DoSomethingElse(Child.Titre, Child.Couleur); } }
Voilà en gros une structure vous montrant le principe.