PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Variable enregistrement et Henregistre
Variable enregistrement et Henregistre
Débuté par Hacyrak, 15 oct. 2020 16:52 - 4 réponses
Posté le 15 octobre 2020 - 16:52
Bonjour,
Je n'arrive pas a faire fonctionner HEnregistre avec une variable de type enregistrement.

mTest est un Enregistrement de Missions
test est un Buffer = "{"IDMission":"1","login":"Test00"}
Désérialise(mTest,test,psdJSON)
Missions = mTest
Missions.MotDePasse = MDP_crypte(Missions.MotDePasse)
HEnregistre(Missions)


Lors de l'ajout d'un enregistrement c'est OK. Mais lors d'une modification rien n'est modifié et aucune erreur ne remonte.

Merci d'avance
Posté le 15 octobre 2020 - 17:47
Bonjour

voir la page d'aide en ligne :
https://doc.pcsoft.fr/fr-FR/?1000020962

le problème ne vient il pas de là :
"Seule la sérialisation de type JSON est disponible pour ce type de variable (fonction Sérialise). Aucune désérialisation n'est disponible."

Bons dev
Membre enregistré
283 messages
Popularité : +80 (92 votes)
Posté le 15 octobre 2020 - 17:54
Salut pour la modification tu devrais procéder ainsi

mTest est un Enregistrement de Missions

// Fait la lecture sur l'enregistrement rechercher : HLIT(Missions, clé, etc)
mTest = Missions

// Fait tes modifications sur mTest

// Applique les ensuite
Missions = MTest
HEnregistre(Missions)


--
Les innocents sont toujours accusés à tord.
Posté le 16 octobre 2020 - 08:48
@1865555 Merci cela fonctionne parfaitement.
@digi12 Non il semble que le problème était que je n'était positionné sur le bon enregistrement dans mon fichier. Il est possible de désérialiser un buffer json dans une variable enregistrement.
Membre enregistré
283 messages
Popularité : +80 (92 votes)
Posté le 16 octobre 2020 - 10:44
Je t'en prie, je te donne un autre conseil si tu veux éviter ces erreurs de positionnement justement:
mTest est un Enregistrement de Missions
NuméroEnreg est un entier

// Fait la lecture sur l'enregistrement recherché : HLIT(Missions, clé, etc)
NuméroEnreg = HNumEnr(Missions)
mTest = Missions

// Fait tes modifications sur mTest

// Applique les ensuite
Missions = MTest
HModifie(Missions, NuméroEnreg)


--
Les innocents sont toujours accusés à tord.