Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

[.NET2] FILESYSTEMWATCHER, DELEGATE


Information sur la source

Catégorie :Fichier / Disque Source .NET ( DotNet ) Classé sous : filesystemwatcher, delegate, io, fichiers Niveau : Débutant Date de création : 03/06/2006 Date de mise à jour : 04/06/2006 11:55:39 Vu / téléchargé: 5 791 / 609

Note :
9,5 / 10 - par 4 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note


Description

dans les choses nouvelles avec .net je demande System.IO.FileSystemWatcher (deja présent avec .net1),mais en mieu avec .net2,cela permet d'etre averti lorsqu'un fichier est créé, modifié, renomé et supprimé dans un repertoire que l'on peut spécifier et avec un filtre que l'on peut aussi paramétrer... entre guillemets il ecoute un repertoire !!!

autre chose importante de ce code, il montre comment gerer les "Delegates" (on peut les assimiler à du Multi-thread, cela permet de ne pas bloquer une GUI lors d'operation persistante dans le temps comme une écoute sur le réseau)


pas de capture car pas de GUI :p
 

Conclusion

A la demande de Willy j'ai rajouter la gestion du multithread notemment lorsque l'on veut afficher dans un objet qui n'a pas été crée par le meme thread que celui qui appel, c'est le Cross-Threading !!!


comme d'hab : comms et notes !!!



 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

04 juin 2006 11:55:39 :
gestion du Cross-Threading (avec des objets autres qu'un messagebox)

Commentaires et avis

signaler à un administrateur
Commentaire de TroXsA le 04/06/2006 08:08:32

Bonjour,

je trouve que ton code est tres propre (que d'autre on oublier comment faire)
il est bien commenté et facile a comprendre !
merci pour cette exemple tres bien fait
9/10

signaler à un administrateur
Commentaire de Willi le 04/06/2006 10:57:47 administrateur CS

L'objet FileSystemWatcher ne s'execute pas dans le thread principal alors sa passe quand tu fais un messagebox mais si je fais appel à un objet créer dans mon thread principal, ba sa coince.

    Private Sub mFSW_Creation(ByVal Path As String) Handles mFSW.Creation
        Me.Text = Path   '<--erreur
        'MsgBox("Création du fichier " & Chr(34) & Path & Chr(34), MsgBoxStyle.Information)

    End Sub

Beaucoup de personnes me demandent comment contourner l'erreur que je t'ai indiqué.
Si tu pouvais ajouter cette correction (en passant par un délégué) je crois que sa interesserait pas mal de monde.

Bonne continuation :)

signaler à un administrateur
Commentaire de VBSorcier le 04/06/2006 11:01:25

ok je fait ca, je sais pas si j'aurais le temps aujourd'hui (repas de famille)

signaler à un administrateur
Commentaire de VBSorcier le 04/06/2006 11:57:22

voila avant de partir j'ai modifier le code pour gerer objets avec une delegate et les methode Invoke et AsynCallback

j'espère que cela sera utile pour pas mal d'entre notement la partie Cross-Threading

a+
VBSorcier

signaler à un administrateur
Commentaire de Willi le 04/06/2006 12:34:57 administrateur CS

je préfère faire comme ceci (question de gout)

sub delegate delFSW(value as string)
........
Private Sub mFSW_Changement(ByVal Path As String) Handles mFSW.Changement

  if me.invokerequired then
    dim del as new delSFW(addressof delProc)
    me.invoke(del,path)
  end if

End Sub
.....
private sub delProc(value as string)
  TonLabel.text = value
  TonTextbox.text = value
  TonListbox.items.add value
end sub

Bonne continuation :)
++

signaler à un administrateur
Commentaire de benazza le 05/06/2006 11:49:42

est ce que vous avez 'exmple en .Net 1.1
c'est tres utile pour moi

Merci

signaler à un administrateur
Commentaire de VBSorcier le 05/06/2006 18:58:38

ce composant était deja présent en .net 1.1 donc il suffit d'ouvrir le code avec notepad et de le mettre ds un projet .net1.1 et de la modifier un peu car le delagate n'existait pas avec .net1.1 donc ne pas mettre le FSW dans une classe séparé mais la mettre dans la feuille principale ...




signaler à un administrateur
Commentaire de benazza le 06/06/2006 10:32:36

Merci pour votre réponse

signaler à un administrateur
Commentaire de draluorg le 06/06/2006 12:49:19

Salut a tous,

J'avais deja un peu essaye ce composant, ce que je trouve relativement genant, c'est que si je cree un fichier, suivant sa taille je vais avoir plusieurs notifications alors que c'est une meme operation :( Je sais que c'est assez logique, car le fichier change de taille en plusieurs fois, mais bon...

Quelqu'un aurait il une idee pour contourner ce prob ?

++

signaler à un administrateur
Commentaire de VBSorcier le 06/06/2006 18:59:59

j'ai vu aussi effectivement que lorsque l'on modifie un fichier on est averti plusieurs fois ...

je me penche sur la question... pour voir si on peut contourner la chose !

signaler à un administrateur
Commentaire de Red_Dragon le 09/06/2006 12:19:41

Hormis la remarque (pertinente) de DRALUORG, excellent -> 10/10.
Si tu trouves la solution pour les notifications inutiles, bravo, en plus je serais preneur ;)

signaler à un administrateur
Commentaire de thepoe le 18/08/2006 16:23:58

Connaissez vous le 'CheckForIllegalCrossThreadCalls = False' ?
Cela permet beaucoup plus de choses sur les forms, notamment de modifier des valeurs sur un SplashScreen lors d'un Form_Load...

Plus encore, pour éviter les messages multiples du même fichier...
Dans les Sub FileSystemWatcher1_Changed,Created,etc..., sauvegardez la valeur de 'e.FullPath' dans une variable globale et conditionnez l'action faite avec 'if VarGlob <> e.FullPath then' ou VarGlob est le 'e.FullPath' mémorisé.

Voila, plus de polution de log...

Bon Courrage à tous...

signaler à un administrateur
Commentaire de dimitriusai le 18/05/2008 01:17:19

J'ai découvert une erreur, ou un bugg.
J'ai instancés plusieurs fois votre classe afin de pouvoir checker les .bmp .jpg et .png
et ils me font tous un event, alors que le jpg m'en créée deux !! bizard non ?

qqun a il déja eu ce bugg ? solution ?

Merci d'avance

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

FileSystemWatcher [ par Cristantin ] Bonjour .Comment peut-on afficher les fichiers contenus dans une arborescence lorsqu'on se sert du contr&#244;le FileSystemWatcher ? (apr&#232;s avoir Reseaux FileSystemWatcher [ par Sade ] Bonjour à tous J'utilise le FileSystemWatcher pour la surveillance de repertoire.Je dois integrer des fichiers lors de leurs reception, pour cela j'ut FileSystemWatcher - Surveiller plusieurs répertoires. [ par Romuald76 ] Salut à tous,J'aurais besoin d'un petit conseil ou d'une méthode. Je développe en VB.net 2003.Je dois sauvegarder des fichiers ou répertoires en temps System.IO [ par davidso ] Avis aux experts!Sur ma bécanne A (W2K), j'instancie mon composant FileSystemWatcher et ça marche, mais sur ma bécanne B (XP), ça ne marche pas, et l' Explorateur [ par Half85 ] Voilà, je suis noob en java et j'ai déjà utilisé le code de je sais plus qui pour afficher dans une frame la partie gauche de l'explorateur de windows Documents excels convertis en fichiers OLE [ par addamsmercredi ] Bonjour,J'enregistre des documents excels avec la méthode SaveToOle1File, j'obtiens ainsi les fichiers dans le format OLE.J'ai besoin de récupérer des Comment ouvrir plusieurs fichiers d'un même répertoire [ par jaju39 ] Je souhaite ouvrir un &#224; un tous les fichiers d'un m&#234;me r&#233;pertoire, comment faire ?Merci d'avancejaju39 Trier des fichiers par extension [ par deathsurfer ] Bonjour, je voudrais savoir s'il &#233;tait possible de ne faire apparaitre que les fichiers d'un certain type (c'est a dire avec la meme extension : AIDEZ MOI SVP [ par tj76200 ] je voudrai savoir comment on utilise les fichiers qui sont ds les zip je n'arrive pas a faire fonctyionn&#233; tt les programmes . est qu'il y a un to prôbléme avec Scripting.FileSystemObject [ par snarkpit29 ] Je voudrais savoir si avec Scripting.FileSystemObject ont peut ou non d&#233;finir une extension de fichier, je voudrais par exemple ne s&#233;l&#233;


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.