PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Initialisation d'arbre  "sauvegardable"?
Initialisation d'arbre "sauvegardable"?
Débuté par whischmaster, 08 sep. 2004 11:19 - 6 réponses
Posté le 08 septembre 2004 - 11:19
Bonjour,
j'ai mis en place divers treeview dans une application de statistiques comparatives
sur 2 ans.
ces treeviews parcourent mes fichiers pours s'initialiser
Probleme : 160 000 enregistrements par fichiers ----> temps de réponses

serait-il possible de mettre dans un fichier le résultat d'initialisation?
ou quelques choses du genre pour conserver le contenu de mes treeview et
ainsi les afficher quasi instantanément?

Voici le code d'initialisation d'un de mes treeviews:
ArbreAjoute(Arbre1, "RHD")
HLitPremier(Ligne_RHD ,IDLigne)
TANTQUE PAS HEnDehors
ArbreAjoute(Arbre1,"RHD"+TAB+Ligne_RHD.CENTRALE_RHD+TAB+Ligne_RHD.centrale_rhd_niveau1+TAB+Ligne_RHD.centrale_rhd_niveau2+TAB+Ligne_RHD.CENTRALE_RHD_niveau_3+TAB+Ligne_RHD.Client)
HLitSuivant(Ligne_RHD,IDLigne)
FIN

dsl si le code n'est pas super lisible
Merci d'avance Wis
Posté le 08 septembre 2004 - 11:37
Wis wrote:
Bonjour,
j'ai mis en place divers treeview dans une application de statistiques comparatives
sur 2 ans.
ces treeviews parcourent mes fichiers pours s'initialiser
Probleme : 160 000 enregistrements par fichiers ----> temps de réponses

serait-il possible de mettre dans un fichier le résultat d'initialisation?
ou quelques choses du genre pour conserver le contenu de mes treeview et
ainsi les afficher quasi instantanément?

Voici le code d'initialisation d'un de mes treeviews:
ArbreAjoute(Arbre1, "RHD")
HLitPremier(Ligne_RHD ,IDLigne)
TANTQUE PAS HEnDehors
ArbreAjoute(Arbre1,"RHD"+TAB+Ligne_RHD.CENTRALE_RHD+TAB+Ligne_RHD.centrale_rhd_niveau1+TAB+Ligne_RHD.centrale_rhd_niveau2+TAB+Ligne_RHD.CENTRALE_RHD_niveau_3+TAB+Ligne_RHD.Client)
HLitSuivant(Ligne_RHD,IDLigne)
FIN

dsl si le code n'est pas super lisible
Merci d'avance Wis


sinon on peut ne charger que 2 niveaux de l'arbre pour eviter un temp
d'init trop long. (2 niveaux pour avoir les + devant)
apres il faut faire une fonction quand on developpe les branches de
l'arbre pour charger un niveau supplémentaire sur cette branche.

a++
Goof
Posté le 08 septembre 2004 - 12:17
goof wrote:

sinon on peut ne charger que 2 niveaux de l'arbre pour eviter un temp
d'init trop long. (2 niveaux pour avoir les + devant)
apres il faut faire une fonction quand on developpe les branches de
l'arbre pour charger un niveau supplémentaire sur cette branche.

a++
Goof


a oui aussi il y a un identifiant pour chaque feuille on peut y stocker
une chaine avec des clefs (eviter les clef binnaires mettre les
composantes de la clef et la reconstruire apres) et des valeurs autre
(niveau de chargement, type de feuille, ...)

a++
Goof
Posté le 08 septembre 2004 - 12:19
goof wrote :
sinon on peut ne charger que 2 niveaux de l'arbre pour eviter un temp
d'init trop long. (2 niveaux pour avoir les + devant)
apres il faut faire une fonction quand on developpe les branches de
l'arbre pour charger un niveau supplémentaire sur cette branche.

a++
Goof


Si j'ai bien compris :
dans le code d'initialisation j'initialise uniquement 2 niveau (racine>centrale>niveau1)
et quand on deroule niveau 1 je charge le niveau 2 et ainsi de suite
donc il faut que je place un code sur l'evenement deroulement de noeud?
Posté le 08 septembre 2004 - 16:13
Wis wrote:


Si j'ai bien compris :
dans le code d'initialisation j'initialise uniquement 2 niveau (racine>centrale>niveau1)
et quand on deroule niveau 1 je charge le niveau 2 et ainsi de suite
donc il faut que je place un code sur l'evenement deroulement de noeud?

oui fatalement
mais l'idée est de ne charger qua la branche que l'on est en train de
dérouller. d'ou un besoin de stockage de variables dans l'identifiant
des feuilles.
Posté le 08 septembre 2004 - 16:42
oui fatalement
mais l'idée est de ne charger qua la branche que l'on est en train de
dérouller. d'ou un besoin de stockage de variables dans l'identifiant
des feuilles.


Oué ca m'a pas l'air des plus evident
Ma base de données et mes fichiers sont mis a jour tous les mois. A c moment
je peux affirmer que le contenu de mes arbres ne changera pas avant un mois

c'est pour cela que j'aimerai stocké le contenu de mes arbres.
Posté le 08 septembre 2004 - 17:59
Wis wrote:
oui fatalement
mais l'idée est de ne charger qua la branche que l'on est en train de
dérouller. d'ou un besoin de stockage de variables dans l'identifiant
des feuilles.



Oué ca m'a pas l'air des plus evident
Ma base de données et mes fichiers sont mis a jour tous les mois. A c moment
je peux affirmer que le contenu de mes arbres ne changera pas avant un mois

c'est pour cela que j'aimerai stocké le contenu de mes arbres.


dans ce cas la pourquoi ne pas générer un document XML
il y a une racine et on peut descendre l'arbre
en plus, ca peut même donner un truc sympa dans IE (avec les + et -)
un peut limite coté design mais c'est exactement ce que tu veut.
Sauvegarder des données d'une façon structuré. par contre je ne sais pas
si relire un fichier XML ira plus vite que le fichier HF (saut si la
base HF est en reseaux avec pleins de monde dessus et le fichier XML en
local.

a++
Goof