PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → Détecter qu'un fichier est en cours d'utilisation
Détecter qu'un fichier est en cours d'utilisation
Iniciado por Jean.VLD, 28,feb. 2020 13:53 - 3 respuestas
Miembro registrado
164 mensajes
Popularité : +19 (19 votes)
Publicado el 28,febrero 2020 - 13:53
bonjour à tous,
est-ce que quelqu'un parmi vous a déjà trouvé une solution afin de savoir si un fichier, quel que soit son type, est ouvert dans son lecteur ?
Je m'explique par rapport à mon besoin.
Des fichiers peuvent être enregistrés dans la base sous la forme de mémo.
Une fois extrait, nous démarrons via lanceppliassociée le lecteur de ce fichier extrait.
Comment savoir que l'utilisateur a terminé de travailler sur son fichier pour pouvoir le réintégrer ?

Merci pour vos idées et astuces !
Jean
Miembro registrado
3.889 mensajes
Popularité : +227 (347 votes)
Publicado el 28,febrero 2020 - 16:23
Bonjour,
Une solution tordue :
Tu peux lancer le fichier via LanceAppli qui à l'avantage de pouvoir retourner le PID. Il suffit ensuite de contrôler si ce PID est utilisé via ExeLancé(PID) ou via les info récupérées grâce à ExeListeProcessus

--
Il y a peut être plus simple, mais, ça tourne
Publicado el 29,febrero 2020 - 17:59
Salut,

Voici le code pour détecter si un fichier est déjà ouvert :
SI fFichierExiste(sFichier) ALORS
// Contrôle fichier déjà ouvert
nRes est un entier = fOuvre(sFichier,foBloqueEcriture)
SI nRes = -1 ALORS
Erreur("Le fichier est déjà ouvert","Fermez le pour continuer et l'ouvrir de nouveau depuis la base")
RETOUR
SINON
fFerme(nRes)
FIN
FIN
// Puis : Ajout dans le memo ou extraction du mémo ou autre traitement sur le fichier
// ….


Et voilà

Bon dév.
Miembro registrado
164 mensajes
Popularité : +19 (19 votes)
Publicado el 01,marzo 2020 - 16:02
Merci à vous pour vos réponses.
J'ai intégré l'ouverture du fichier ... parfois c'est tellement évident :-)