PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → fSurveilleRépertoire + extension de fichier
fSurveilleRépertoire + extension de fichier
Iniciado por NicoFlo, 28,may. 2020 09:20 - 1 respuesta
Miembro registrado
47 mensajes
Publicado el 28,mayo 2020 - 09:20
Bonjour,

Je suis actuellement en développement d'une application de surveillance de répertoire réseau.
Le but de mon application est qu'à chaque création d'un fichier je récupère son contenu. Les fichiers arrivent sur le répertoire par FTP;

La fonction de surveillance fonctionne bien mais comme le fichier est transféré&ré par FTP, ma procédure se déclenche lorsque le fichier est en extension .tmp.
Est-il possible de spécifié l'extension du fichier à surveiller dans le répertoire ?

J'ai bien vu la fonction fSurveilleFichier que je peux déclencher lorsque j'intercepte le .tmp mais je souhaite savoir s'il n'existe pas une autre solution ?

Merci d'avance.
Cordialement.
Miembro registrado
962 mensajes
Publicado el 28,mayo 2020 - 13:39
hello,
dans la version windev dont je dispose (WD16) il n'y a pas la fonction fSurveilleRepertoire alors pour faire la surveillance d'un répertoire j'utilisais la classe dotnet FileSystemWatcher ( qui se trouve dans l'assemblage dotNet System) et qui peut filtrer sur un type de fichier.
Exemple :
1 - pour initialiser la surveillance d'un répertoire :
/Déclaration des "objets" .NET
Vcl_FolderWatcher est un System.IO.FileSystemWatcher
MonHandler est un System.IO.FileSystemEventHandler dynamique
//Procédure de traitement
MonHandler = DotNetDélégué( "OnChanged","FileSystemEventHandler" )
// Répertoire à surveiller
Vcl_FolderWatcher:Path = "M:\temp"
// Sans les sous-répertoire
Vcl_FolderWatcher:IncludeSubdirectories = False
// Type de fichiers à surveiller
Vcl_FolderWatcher:Filter = "*.tmp"
Vcl_FolderWatcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName
// brancher la procédure sur événements de création
Vcl_FolderWatcher:add_Created( MonHandler )
// ou de changement
// Vcl_FolderWatcher:add_Changed( MonHandler )
// Activation de la surveillance
Vcl_FolderWatcher:EnableRaisingEvents = True


et voici la procédure qui se déclenche sur événement dans le dossier :
Procedure OnChanged(Ppcl_MonWatcher est un FileSystemWatcher ,Ppcl_Args est un FileSystemEventArgs)
Trace ("héhé y a du nouveau ! Fichier : ",Ppcl_Args:Name)


--
Ami calmant, J.P