|
[WD9] Détournement du type "Source de données" |
Débuté par info, 16 nov. 2005 17:42 - 3 réponses |
| |
| | | |
|
| |
Posté le 16 novembre 2005 - 17:42 |
Bonjour,
J'ai eu l'idée de détourner le type "Source de données" afin de l'utiliser pour créer des structures dynamiques (=pas besoin de déclarer les membres, une simple assignation suffit pour que le membre de la structure existe).
Exemple : -------------------------- MaStructure est source de donnees
MaStructure.nom="Toto" MaStructure.age# MaStructure.DateNaissance=DateSys()
Info(MaStructure.nom, MaStructure.age, MaStructure.DateNaissance) --------------------------
Jusqu'à là, tout va bien et fonctionne comme voulu.
L'étape suivante consiste, dans une autre portion de code, à obtenir la liste des membres de la structure afin de traiter chacun (toujours sans aucune déclaration préalable). Je comptais logiquement sur hListeRubrique(), mais cela ne fonctionne pas (je ne jette pas la pierre à Pcsoft car il s'agit d'un détournement de l'objet original du type "source de données"). Néanmoins, si quelqu'un a une idée permettant de récupérer la liste des membres, je suis preneur...
Merci d'avance.
Michel Fages |
| |
| |
| | | |
|
| | |
| |
Posté le 16 novembre 2005 - 18:58 |
Salut
Amusant ! Ca ressemble à du Javascript
J'ai noté que Dimension(MaStructure) retourne 4. A part ça, Occurrence - POUR TOUT - [] - .. ne marchent pas.
Tu réalises bien sûr que ce type de code risque de ne pas être portable en WinDev 10 ou de faire planter ton appli ?
Merci pour ce petit (hum) moment de détente.
-- Ciao Pat Biker http://aaa.windev.free.fr/
On Wed, 16 Nov 2005 16:42:21 +0100, "Hexo7" <info@hexo7.net> wrote:
Bonjour,
J'ai eu l'idée de détourner le type "Source de données" afin de l'utiliser pour créer des structures dynamiques (=pas besoin de déclarer les membres, une simple assignation suffit pour que le membre de la structure existe).
Exemple : -------------------------- MaStructure est source de donnees
MaStructure.nom="Toto" MaStructure.age# MaStructure.DateNaissance=DateSys()
Info(MaStructure.nom, MaStructure.age, MaStructure.DateNaissance) --------------------------
Jusqu'à là, tout va bien et fonctionne comme voulu.
L'étape suivante consiste, dans une autre portion de code, à obtenir la liste des membres de la structure afin de traiter chacun (toujours sans aucune déclaration préalable). Je comptais logiquement sur hListeRubrique(), mais cela ne fonctionne pas (je ne jette pas la pierre à Pcsoft car il s'agit d'un détournement de l'objet original du type "source de données"). Néanmoins, si quelqu'un a une idée permettant de récupérer la liste des membres, je suis preneur...
Merci d'avance.
Michel Fages
|
| |
| |
| | | |
|
| | |
| |
Posté le 17 novembre 2005 - 08:27 |
Hexo7 a écrit :
Bonjour,
J'ai eu l'idée de détourner le type "Source de données" afin de l'utiliser pour créer des structures dynamiques (=pas besoin de déclarer les membres, une simple assignation suffit pour que le membre de la structure existe).
Exemple : -------------------------- MaStructure est source de donnees
MaStructure.nom="Toto" MaStructure.age# MaStructure.DateNaissance=DateSys()
Info(MaStructure.nom, MaStructure.age, MaStructure.DateNaissance) --------------------------
Jusqu'à là, tout va bien et fonctionne comme voulu.
L'étape suivante consiste, dans une autre portion de code, à obtenir la liste des membres de la structure afin de traiter chacun (toujours sans aucune déclaration préalable). Je comptais logiquement sur hListeRubrique(), mais cela ne fonctionne pas (je ne jette pas la pierre à Pcsoft car il s'agit d'un détournement de l'objet original du type "source de données"). Néanmoins, si quelqu'un a une idée permettant de récupérer la liste des membres, je suis preneur...
Merci d'avance.
Michel Fages
Bonjour Michel
C'est un des sujet que nous avons couvert depuis longtemps. il faut matérialiser la source de donnée en un fichier HyperFile pour l'utiliser avec les fonctions HXXX comme s'il s'agissait d'un fichier de l'analyse... jsuqu'à annulation de la description.
Je t'invite à lisre ce dossier au paragraphe "Fichiers temporaires / externes" http://www.wdforge.org/modules/icontent/index.php…
Bien à toi -- ++ R&B WDForge.org |
| |
| |
| | | |
|
| | |
| |
Posté le 17 novembre 2005 - 09:46 |
Bonjour,
Pourqoi ne pas ajouter à chaque structure un membre "Champ" contenant les noms, types, tailles .
Pour Ton cas :
Mastructure.Champ = "Nom,C,10;Age,N,4;DateNaissance,D,8; etc
Liste du membre 3 : extraitchaine( ExtraitChaine(MaStructure.champ, 3, ";"),1,",")
Type du membre 3 : extraitchaine( ExtraitChaine(MaStructure.champ, 3, ";"),2,",")
Longueur du membre 3 : extraitchaine( ExtraitChaine(MaStructure.champ, 3, ";"),3,",")
Cordialement,
C.AUBRY |
| |
| |
| | | |
|
| | | | |
| | |
|