Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Filesystemwatcher .net3.5 απορία

Îåêßíçóå áðü ôï ìÝëïò AlKiS. Τελευταία δημοσίευση από το μέλος AlKiS στις 23-07-2009, 09:40. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  22-07-2009, 13:28 52689

    Filesystemwatcher .net3.5 απορία

    Θέλω να κάνω ένα πρόγραμμα το οποίο θα καταλαβαίνει πότε ένα αρχείο έχει προσθεθεί σε ένα φάκελο και θα το μετονομάζει

    Σκεύτηκα το Filesystemwatcher. Έτσι άλλαξα το NotifyFilter σε FileName, και το Path σε αυτό του φακέλου που θέλω να παρακολουθήτε.

    Εξορισμού στον κωδικό έχει Handles "FileSystemWatcher1.Changed", αλλά αφού θέλω να βλέπει τα αρχεία που μπαίνουν το άλλαξα σε "Handles FileSystemWatcher1.Created"


    Το πρόβλημάμου τώρα είναι οτι δεν ξέρω με ποιά εντολή να "διαβάζω" το όνομα του αρχείου το οποίο προκάλεσε το "Private Sub FileSystemWatcher1_Created" να δουλέψει

    Προφανώς χωρίς αυτό δεν μπορώ να προχορίσω στην μετονομασία χωρίς το βήμα αυτό :(


    Δημοσίευση στην κατηγορία: ,
  •  22-07-2009, 13:37 52691 σε απάντηση της 52689

    Απ: Filesystemwatcher .net3.5 απορία

    Αυτό το οποίο θέλεις βρίσκεται μέσα στα EventArgs του CreatedEvent (συνήθως "e" βγαίνει το default). Εάν δηλαδή θέλεις το όνομα, θα κάνεις e.Name κλπ. Υπάρχουν κι άλλα properties εκεί όπου μπορείς τα δεις και σου δίνουν άλλες πληροφορίες όπως το Path. Πρόσεξε μόνο γιατί πρέπει να χειριστείς κι άλλα πράγματα όπως πχ. εάν το αρχείο είναι ανοιχτό, γιατί εκεί η μετονομασία με το FileIO θα "σκάει" επειδή το αρχείο είναι in-use, κι άλλα τέτοια σενάρια.


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  22-07-2009, 20:23 52710 σε απάντηση της 52691

    Απ: Filesystemwatcher .net3.5 απορία

    δεν καταλαβαίνω τις πρότες προτάσεις. Κατάλαβα αυτό που λες οτι πρέπει να ελένχονται κ άλλα πράγματα όπως αν είναι "in use" αλλά αυτό με το event δεν τοποιασα..

    Μιλάμε πάντα για κάτι μέσα στο FileSystemWatcher? αν ναί τότε δεν εντοπίζω το EventArgs.

    Αν όχι, τότε το μόνο άλλο που βλέπω με event είναι το EventLog

    Ελπίζω να μην γίνομαι ανυπόφορος.

    Ευχαριστώ


  •  22-07-2009, 21:01 52713 σε απάντηση της 52710

    Απ: Filesystemwatcher .net3.5 απορία

    Κάθε συνάρτηση χειρισμού ενός event στο .NET συνήθως έχει 2 παραμέτρους :

    α)το αντικείμενο που έκανε raise το event ως πρώτη παράμετρο

    β)επιπλέον παραμέτρους που αφορούν το event,οι οποίοι βρίσκονται μέσα σε μια κλάση που κληρονομεί την EventArgs.

    Π.χ, εσύ πρόσθεσες την FileSystemWatcher1_Created για να κάνει  χειρισμό του event Created.Η συνάρτηση λοιπόν θα είναι

    κάπως έτσι:

    Private Shared Sub FileSystemWatcher1_Created(source As Object, e As FileSystemEventArgs)

    Η e περιέχει τα στοιχεία που χρειάζεσαι,όπως το όνομα του στοιχείου που δημιουργήθηκε και το full path του. 

  •  23-07-2009, 09:40 52721 σε απάντηση της 52713

    Απ: Filesystemwatcher .net3.5 απορία

    OOOOOOOOOOOOOOOO!!!


    Αυτό δεν το ήξερα τόσο καιρό !!! λολ!

    Ευχαριστώ πολύ! Λογικά τώρα θα δουλέψει, μόλις γίνει θα βάλω το θέμα σαν επιλυμένω.

    Και πάλι ευχαριστώ και τους δύο


Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems