Si vous avez lu mon article sur les variants (http://blog.ytreza.org/windev-les-variants-et-json/), vous saurez que j'aime les utiliser. Il y a deux raisons à cela, ils sont vraiment pratiques et ils permettent de faire du json.
En ce moment, je travaille sur un projet où on doit faire de l'échange de données. Mes données sont dans une base HFSql et je les transmets en Json. Il me fallait donc une méthode pour mettre en place ce transfert facilement.
Je vous ai donc concocté une petite procédure qui fait ça tout simplement. La voici :
PROCEDURE HVersVariant(Enreg est un Enregistrement)
UnVariant est un Variant
POUR TOUTE CHAÎNE NomRubrique DE HListeRubrique(Enreg) SEPAREE PAR RC
NouveauMembre est un MembreVariant
NouveauMembre..Nom = NomRubrique
NouveauMembre..Valeur = {"Enreg." + NomRubrique}
Ajoute(UnVariant..Membre, NouveauMembre)
FIN
RENVOYER UnVariant
Et l'utilisation est toute simple. J'ai par exemple un fichier CLIENT. Je souhaite convertir un enregistrement en variant :
HLitPremier(CLIENT)
Enreg est un Enregistrement de CLIENT = CLIENT
UnVariant est un MembreVariant = HVersVariant(Enreg)
Et si je veux convertir mon variant en json :
Trace(VariantVersJSON(UnVariant, psdMiseEnForme))
Et voilà ! Une procédure toute simple pour faire du Json à partir de vos enregistrements. A l'occasion, je vous proposerai une méthode pour faire l'inverse.
Bonne journée à tous !