1. Windows Live Messenger 2009
2. Adsl TV 1.96
3. Delphi 6
4. Winamp 5.5.2
14 Nov 2008
[Évènement] YouTube Live : diffusion en direct du concert YouTube !
08 Nov 2008
Faille WiFi : 15 minutes pour casser une clé WPA
06 Nov 2008
Aidez MySpace à s'enrichir : Piratez !
31 Oct 2008
Ubuntu 8.10 : En téléchargement dès aujourd'hui !
28 Oct 2008
Microsoft Surface : le futur de l'informatique est pour maintenant !
Google : le maître des noms de domaines
La nouvelle version de GMail en images !
Barème de rémunération pour les disques durs multimédias
Remplacer un caractère par un autre (compatible Unicode Delphi2009)
Converter - Conversions d'unités de longueur
Afficher la date et heure du jour
À votre tour, devenez partenaire de mx-dev.net.
Vous êtes ici : Accueil › Delphi › Sources › Notification des modifications des fichiers d'un dossier
Auteur : Flo
Catégorie : Manipulation de fichiers
Niveau : Expert
Posté le : 25 Février 2008 à 15h06
Ce code permet de tenir l'application au courant des modifications des fichiers dans un répertoire donné.
Il utilise l'API ReadDirectoryChangesW disponible à partir de Windows 2000 Professional (donc OK pour XP et Vista mais pas pour 98 ou Me).
Il existe d'autres codes Delphi utilisant cette API mais celui-ci à l'avantage :
- D'utiliser l'API en mode asynchrone, ce qui consomme très peu de ressources.
- D'être threadé (les structures "overlapped" sont passées dans WaitForMultipleObject ce qui fait que le thread ne consomme aucune ressource processeur tant qu'un fichier n'a pas été modifié)
- De pouvoir lister plus précisément la cause de la notification (création, surpression, renom, accès au fichier, modification)
Pas de bugs connus.
Cependant, il n'est toujours pas possible de détecter les changements d'attributs car la structure renvoyée par windows est trop imprécise (le même évènement intervient pour la taille, les dates et les attributs)
5 fichiers 6,20 Ko
| DirChange.dpr | 257 Octets |
| Directives.inc | 2,16 Ko |
| UDirChangeNotifier.pas | 8,05 Ko |
| UFrmPrinc.dfm | 2,27 Ko |
| UFrmPrinc.pas | 3,75 Ko |