PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Comment tester si un fichier est ouvert
Comment tester si un fichier est ouvert
Iniciado por rastam57, 05,feb. 2016 15:34 - 3 respuestas
Publicado el 05,febrero 2016 - 15:34
Bonjour,

Comment tester si un fichier est ouvert (avec LanceAppliAssociée) et comment forcer sa fermeture.

Par avance merci

Rastam
Miembro registrado
351 mensajes
Publicado el 05,febrero 2016 - 15:45
Bonjour,

Il te suffit de faire un "fBloque" sur ton fichier pour voir si une autre application l'utilise (n'oublie pas de le débloquer après soit en fermant soit avec fDébloque).

Voir la documentation : http://doc.pcsoft.fr/fr-FR/?3036030

La seule possibilité de forcer la fermeture d'un fichier ouvert par une autre application et de tuer l'application ou les applications qui l'utilisent.

--
Bon développement, Patrick [3po.fr]
Miembro registrado
87 mensajes
Publicado el 20,agosto 2019 - 15:28
Bonjour,

En complément de cette solution, existe-t-il un moyen de connaitre le nom d'utilisateur, éventuellement du poste qui bloque le fichier s'il s'agit d'un fichier accessible en réseau?

Cordialement,

--

NR
Miembro registrado
87 mensajes
Publicado el 20,agosto 2019 - 16:34
Pour ma part, j'ai plutôt utilisé la solution suivante (fBloque me retournait vrai même si le fichier était déjà ouvert par quelqu'un d'autre).

FONCTION FichierDejaOuvert(sCheminFichier est une chaîne)
resultat est un booléen
sAtt est une chaîne

resultat =Faux
sAtt =fAttribut(sCheminFichier)
SI sAtt<>"" ALORS
//R : Fichier en lecture seule. Le fichier est uniquement accessible en lecture.
SI Contient(sAtt,"R") ALORS
resultat=Vrai
FIN
FIN

RENVOYER resultat


Par contre, cette solution ne me permet malheureusement pas de savoir qui bloque le fichier.

--

NR
Mensaje modificado, 20,agosto 2019 - 16:36