PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Détecter qu'un fichier est en cours d'utilisation
Détecter qu'un fichier est en cours d'utilisation
Started by Jean.VLD, Feb., 28 2020 1:53 PM - 3 replies
Registered member
164 messages
Popularité : +19 (19 votes)
Posted on February, 28 2020 - 1:53 PM
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
Registered member
3,881 messages
Popularité : +227 (347 votes)
Posted on February, 28 2020 - 4:23 PM
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
Posted on February, 29 2020 - 5:59 PM
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.
Registered member
164 messages
Popularité : +19 (19 votes)
Posted on March, 01 2020 - 4:02 PM
Merci à vous pour vos réponses.
J'ai intégré l'ouverture du fichier ... parfois c'est tellement évident :-)