PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e 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, fev., 28 2020 1:53 PM - 3 respostas
Membro registado
164 mensagems
Popularité : +19 (19 votes)
Publicado em fevereiro, 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
Membro registado
3.845 mensagems
Popularité : +227 (347 votes)
Publicado em fevereiro, 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
Publicado em fevereiro, 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.
Membro registado
164 mensagems
Popularité : +19 (19 votes)
Publicado em março, 01 2020 - 4:02 PM
Merci à vous pour vos réponses.
J'ai intégré l'ouverture du fichier ... parfois c'est tellement évident :-)