Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > WinDev > Contribuez
Contribuez Vos contributions pour la rubrique Windev : articles, cours, tutoriels, faq, comparatifs, tests, sources, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 06/07/2012, 12h05   #1
cladoo
Membre régulier
 
Inscription : mars 2007
Messages : 234
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 234
Points : 93
Points : 93
Par défaut [Généralités] Visualiser les membres d'un objet dans un Arbre

Bonjour,

Christophe PERRAULT du forum PC-SOFT a diffusé (http://forum.pcsoft.fr/thread.awp?gr...cur=273840&v=2) deux fonctions écrites par lui pour alimenter un champs arbre avec les membres d'un objet.

Je trouve l'idée excellente, et je me permets de diffuser ce code sur ce forum également.

Code :
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
PROCEDURE IHM_Debug_Variable(vp_object,vp_racine est une chaîne,vp_var est une Description DE Variable)

    PRIVE
    _def est une Definition
    _var est un Description DE Variable
    _racine est une chaîne

    SELON vp_var..Définition..Type
    CAS wlTableau
    SI {vp_object,vp_var..Nom}<>Null ALORS	// Gestion de tableaux dynamique ne possédant pas de type
    _def=TableauInfo({vp_object,vp_var..Nom},tiDéfinitionElément)
    SINON
    _def=Null
    FIN
    SI {vp_object,vp_var..Nom}..Occurrence>0 ALORS
    POUR _id=1 _A_ {vp_object,vp_var..Nom}..Occurrence
    _racine=vp_racine+TAB+vp_var..Nom+" {"+vp_var..Définition..Nom+" de "+_def..Nom+"} ("+{vp_object,vp_var..Nom}..Occurrence+" Occurrence)"
    _def=RécupèreDéfinition({vp_object,vp_var..Nom}[_id])
    SELON _def..Type
    CAS wlStructure,wlInstance
    _racine=_racine+TAB+"["+_id+"] {"+_def..Nom+"}"
    POUR TOUT _var DE _def..Variable
    IHM_Debug_Variable({vp_object,vp_var..Nom}[_id],_racine,_var)
    FIN

    AUTRE CAS
    ArbreAjoute(ARBRE_Debug_Classe,_racine+TAB+"["+_id+"] {"+_def..Nom+"} = "+{vp_object,vp_var..Nom}[_id])
    FIN
    FIN
    SINON
    SI _def<>Null ALORS
    _racine=vp_racine+TAB+vp_var..Nom+" {"+vp_var..Définition..Nom+" de "+_def..Nom+"} ( Non Alloué )"
    SINON
    _racine=vp_racine+TAB+vp_var..Nom+" {"+vp_var..Définition..Nom+" dynamique} ( Non Alloué )"
    FIN
    ArbreAjoute(ARBRE_Debug_Classe,_racine)
    FIN
    CAS wlTableauAssociatif
    _def=TableauInfo({vp_object,vp_var..Nom},tiDéfinitionElément)
    SI {vp_object,vp_var..Nom}..Occurrence>0 ALORS
    //POUR _id=1 _a_ {vp_object,vp_var..Nom}..Occurrence

    POUR TOUT _id,_data DE {vp_object,vp_var..Nom}
    _racine=vp_racine+TAB+vp_var..Nom+" {"+vp_var..Définition..Nom+" de "+_def..Nom+"} ("+{vp_object,vp_var..Nom}..Occurrence+" Occurrence)"
    //_def=RécupèreDéfinition({vp_object,vp_var..nom}[_id])
    SELON _def..Type
    CAS wlStructure,wlInstance
    _racine=_racine+TAB+"["+_data+"] {"+_def..Nom+"}"
    POUR TOUT _var DE _def..Variable
    IHM_Debug_Variable({vp_object,vp_var..Nom}[_data],_racine,_var)
    FIN

    AUTRE CAS
    ArbreAjoute(ARBRE_Debug_Classe,_racine+TAB+"["+_data+"] {"+_def..Nom+"} = "+{vp_object,vp_var..Nom}[_data])
    FIN
    FIN
    SINON
    _racine=vp_racine+TAB+vp_var..Nom+" {"+vp_var..Définition..Nom+" de "+_def..Nom+"} ( Non Alloué )"
    ArbreAjoute(ARBRE_Debug_Classe,_racine)
    FIN
    CAS wlStructure,wlInstance
    _racine=vp_racine+TAB+vp_var..Nom+" { "+vp_var..Définition..Nom+"}"
    _def=RécupèreDéfinition({vp_object,vp_var..Nom})
    POUR TOUT _var DE _def..Variable
    IHM_Debug_Variable({vp_object,vp_var..Nom},_racine,_var)
    FIN

    AUTRE CAS
    ArbreAjoute(ARBRE_Debug_Classe,vp_racine+TAB+vp_var..Nom+" {"+vp_var..Définition..Nom+"} = "+{vp_object,vp_var..Nom})
    FIN
cladoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2012, 14h47   #2
cladoo
Membre régulier
 
Inscription : mars 2007
Messages : 234
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 234
Points : 93
Points : 93
Mr Perrault a produit une nouvelle version de ses méthodes.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
PROCEDURE IHM_Debug_Classe(vp_object,vp_object_name est une chaîne)

    PRIVE
    _def est une Definition
    _var est un Description DE Variable
    _racine est une chaîne

    ArbreSupprimeTout(ARBRE_Debug_Classe)

    _def=RécupèreDéfinition(vp_object)
    SI _def<>Null ALORS
    _racine=vp_object_name+" ["+_def..Nom+"]"
    ArbreAjoute(ARBRE_Debug_Classe,_racine)
    POUR TOUT _var DE _def..Variable
    IHM_Debug_Variable(vp_object,_racine,_var)
    FIN
    FIN
Code :
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
PROCEDURE IHM_Debug_Variable(vp_object,vp_racine est une chaîne,vp_var est une Description DE Variable)

    PRIVE
    _def est une Definition
    _var est un Description DE Variable
    _racine est une chaîne

    SELON vp_var..Définition..Type
    CAS wlTableau
    SI {vp_object,vp_var..Nom}<>Null ALORS	// Gestion de tableaux dynamique ne possédant pas de type
    _def=TableauInfo({vp_object,vp_var..Nom},tiDéfinitionElément)
    SINON
    _def=Null
    FIN
    SI {vp_object,vp_var..Nom}..Occurrence>0 ALORS
    POUR _id=1 _A_ {vp_object,vp_var..Nom}..Occurrence
    _racine=vp_racine+TAB+vp_var..Nom+" {"+vp_var..Définition..Nom+" de "+_def..Nom+"} ("+{vp_object,vp_var..Nom}..Occurrence+" Occurrence)"
    _def=RécupèreDéfinition({vp_object,vp_var..Nom}[_id])
    SELON _def..Type
    CAS wlStructure,wlInstance
    _racine=_racine+TAB+"["+_id+"] {"+_def..Nom+"}"
    POUR TOUT _var DE _def..Variable
    IHM_Debug_Variable({vp_object,vp_var..Nom}[_id],_racine,_var)
    FIN

    AUTRE CAS
    ArbreAjoute(ARBRE_Debug_Classe,_racine+TAB+"["+_id+"] {"+_def..Nom+"} = "+{vp_object,vp_var..Nom}[_id])
    FIN
    FIN
    SINON
    SI _def<>Null ALORS
    _racine=vp_racine+TAB+vp_var..Nom+" {"+vp_var..Définition..Nom+" de "+_def..Nom+"} ( Non Alloué )"
    SINON
    _racine=vp_racine+TAB+vp_var..Nom+" {"+vp_var..Définition..Nom+" dynamique} ( Non Alloué )"
    FIN
    ArbreAjoute(ARBRE_Debug_Classe,_racine)
    FIN
    CAS wlTableauAssociatif
    _def=TableauInfo({vp_object,vp_var..Nom},tiDéfinitionElément)
    SI {vp_object,vp_var..Nom}..Occurrence>0 ALORS
    //POUR _id=1 _a_ {vp_object,vp_var..Nom}..Occurrence

    POUR TOUT _id,_data DE {vp_object,vp_var..Nom}
    _racine=vp_racine+TAB+vp_var..Nom+" {"+vp_var..Définition..Nom+" de "+_def..Nom+"} ("+{vp_object,vp_var..Nom}..Occurrence+" Occurrence)"
    //_def=RécupèreDéfinition({vp_object,vp_var..nom}[_id])
    SELON _def..Type
    CAS wlStructure,wlInstance
    _racine=_racine+TAB+"["+_data+"] {"+_def..Nom+"}"
    POUR TOUT _var DE _def..Variable
    IHM_Debug_Variable({vp_object,vp_var..Nom}[_data],_racine,_var)
    FIN

    AUTRE CAS
    ArbreAjoute(ARBRE_Debug_Classe,_racine+TAB+"["+_data+"] {"+_def..Nom+"} = "+{vp_object,vp_var..Nom}[_data])
    FIN
    FIN
    SINON
    _racine=vp_racine+TAB+vp_var..Nom+" {"+vp_var..Définition..Nom+" de "+_def..Nom+"} ( Non Alloué )"
    ArbreAjoute(ARBRE_Debug_Classe,_racine)
    FIN
    CAS wlStructure,wlInstance
    _racine=vp_racine+TAB+vp_var..Nom+" { "+vp_var..Définition..Nom+"}"
    _def=RécupèreDéfinition({vp_object,vp_var..Nom})
    POUR TOUT _var DE _def..Variable
    IHM_Debug_Variable({vp_object,vp_var..Nom},_racine,_var)
    FIN

    AUTRE CAS
    ArbreAjoute(ARBRE_Debug_Classe,vp_racine+TAB+vp_var..Nom+" {"+vp_var..Définition..Nom+"} = "+{vp_object,vp_var..Nom})
    FIN
cladoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h19.


 
 
 
 
Partenaires

Hébergement Web