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 !

Jonathan Laurent

Read more posts about this author.

Comments