OVH Cloud OVH Cloud

Historique

3 réponses
Avatar
stanislas
Bonjour,

Je souhaiterais conserver une sorte d'historique de toutes les
modifications apportées par l'utilisateur sur le contenu de champs
(provenant de plusieurs fichiers) affichés dans une fenêtre.

La propriété « modifié » me permet de tester un champ ou une fenètre
mais je souhaiterais une sorte de boucle qui me test tous mes champs
et qui le cas échéant ajoute des infos dans un champ RTF. Je
souhaiterais ajouter une ligne précisant l'ancien et le nouveau
contenu du champ.
Ex :
Le DD/MM/YYYY à HH :MM Login a remplacé AncienContenu par
NouveauContenu dans le champ MonChamp.

Ma question comment fait on pour effectuer une opération sur tous les
champs d'une fenètre.

Merci d'avance

Stan

PS : Le Journal serait il une autre sorte de solution.

3 réponses

Avatar
farplus
Bonjour,

voici une piste:

// code en entrée de fenêtre:
i est un entier
ValeurChamp est une chaine
ValModif est une chaine
NomTemp est ne chaine
NomChamp est un tableau de xx chaines //xx=nombre de
champs de ta fenetre, voire plus
TypeChamp est un tableau de xx entiers
i=1
boucle
NomTemp=enumerechamp(nomfenetre,i)
si Nomtemp="" sortir
nomchamp[i]=nomtemp
Typechamp[i]=typevar({nomtemp})
i++
fin
i--

// code après lecture enregistrements
X est un entier
pour X=1 a I
si typechamp[x]<>wlChaine alors
Valchamp+=numeriqueverschaine({nomchamp}[i])+tab
sinon
valchamp+={nomchamp}[i]+tab
fin
// code après chaque modif
X est un entier
pour X=1 a I
si typechamp[x]<>wlChaine alors
ValModif+=numeriqueverschaine({nomchamp}[i])+tab
sinon
valModif+={nomchamp}[i]+tab
fin
pour x=1 a I
si extraitchaine(valchamp,i)<>extraitchaine(valmodif,i) alors
changement est une chaine=extraitchaine(valchamp,i)+" a changé pour
"+extraitchaine(valmodif,i) + "le à"
sortir
fin
enregistre(changement)
valChamp=valmodif
valmodif=""

// ça doit fonctionner
"
Avatar
stanislas
Merci beaucoup, après quelques corrections et bidouillage votre
méthode fonctionne parfaitement, je ne connaissais pas EnumèreChamp.
Je vais voir ce que cela peut donner si j'ajoute un tableau sur ma
fenêtre…

Stan
Avatar
farplus
Bonjour,

normal s'il y avait des erreurs, je ne l'ai pas testé.
Pour ce qui est du tableau, s'il sert à lister les différentes valeurs
(avant et après modification) n'oubliez pas de le sortir de la liste, si
c'est un tableau relié à un fichier il faut vous construire une zone mem en
parallèle pour tester les changements ou alors sauver l'ancienne valeur à
l'entrée dans la zone et comparer les 2 à la sortie.

A+