PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Comment tester si un fichier est ouvert
Comment tester si un fichier est ouvert
Débuté par rastam57, 05 fév. 2016 15:34 - 3 réponses
Posté le 05 février 2016 - 15:34
Bonjour,

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

Par avance merci

Rastam
Membre enregistré
351 messages
Posté le 05 février 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]
Membre enregistré
87 messages
Posté le 20 août 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
Membre enregistré
87 messages
Posté le 20 août 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
Message modifié, 20 août 2019 - 16:36