PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Changement dans le fichier de donnée
Changement dans le fichier de donnée
Débuté par Alain Blanc, 26 juin 2017 15:04 - 4 réponses
Posté le 26 juin 2017 - 15:04
Bonjour à vous, j'ai deux interfaces différentes qui utilisent le même fichier de donnée. Il est en client/serveur bien sûr. Une des interfaces permet de modifier/ajouter des données dans mon fichier et l'autre ne fait que les lires. Je me demandais si il y avais une manière de détecter qu'il y a eu un changement dans le fichier de donnée. Par exemple, quand je modifie/ajoute une ligne dans le fichier via mon interface, je voudrais que l'autre interface détecte qu'il y a eu un changement dans le fichier. Est-ce que cela est possible ?

P.S: Pour le moment, j'ai mit un timer qui appel ma fonction a chaque seconde, donc, lorsqu'il y a un changement dans mon fichier et bien sa l’apparaît mais le problème est que je veux pas appeler 100000 fois pour rien ma fonction.

Merci :merci:
Membre enregistré
36 messages
Popularité : +3 (3 votes)
Posté le 26 juin 2017 - 15:58
HVersion() permet de détecter des modifications effectuées sur un fichier de données partagé entre plusieurs programmes.
Posté le 26 juin 2017 - 16:09
yess ! merci :)
Posté le 26 juin 2017 - 16:16
mais pour qu'il marche n'importe quand dans ma fenêtre, je dois le mettre dans quoi ? la fin d'initialisation, la demande de mise a jour.., la prise de focus ne marche pas..

Désolé je viens de commencer ce langage !

Merci encore une fois
Membre enregistré
36 messages
Popularité : +3 (3 votes)
Posté le 27 juin 2017 - 09:24
A l'ouverture de ta fenêtre, tu stockes la valeur renvoyée par HVersion() dans une variable globale.
Tu crées une procédure automatique (Timer) qui contrôle la valeur renvoyée par HVersion() avec celle d'origine.
Si la valeur est différente, tu déclenches le ré-affichage de ta fenêtre et tu mets à jour ta variable globale avec la nouvelle valeur.
Si tu travailles en version 22 et en HFSQL CS, tu peux utiliser la fonction HSurveille qui fait la moitié du boulot à ta place...

Bon dev