![]() |
|
معلومة ::: FileSystemWatcher أداة هامة جداً - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : معلومة ::: FileSystemWatcher أداة هامة جداً (/showthread.php?tid=5315) |
معلومة ::: FileSystemWatcher أداة هامة جداً - RaggiTech - 06-10-12 كاتب الموضوع : BADRMEDIA
السلام عليكم ورحمة الله وبركاته بصراحة من العيب أن تكون لديك هذه الأداة FileSystemWatcher ولا تعرف قيمتها فلها فوائد جمة وستفتح عليك أفكار برامج كثيرة وممتعة - فوظيفتها ببساطة مراقبة أى تغييرات على مجلد معين أو أى شئ بداخله كيفية استخدامها أول شئ ضعها على النموذج وستجدها فى قائمة الأدوات لها أربع خصائص ذات أهمية قبل استخدامها لابد تعيين قيم لهم الخاصية Path و Filter و NotifyFilter و IncludeSubdirectories الخاصية Path نحدد فيها مسار المجلد الذي نرغب بمراقبته ولكن سيتم إعلامك بالتغييرات داخل المجلد وليس بالتغييرات على خصائصه هو الخاصية IncludeSubdirectories فى حالة جعلها تساوى True فأنك ستراقب المجلد بكل شجرته وتفرعاته من مجلدات فرعية منه وملفات أى الجذر هو المجلد المحدد - وفى حالة جعلنا قيمة الخاصية False سيكون المراقبة على المجلد فقط الخاصية Filter تحدد فيها ملفات معينة إذا أردت مراقبة ملفات ذات امتداد محدد واستخدام *.* تستطيع مراقبة جميع الملفات دون تحديد أما فى حالات التحديد فأنك تراقب المحدد فقط مثل *.exe القيمة الافتراضية لهذه الخاصية هي Null وهي تطابق *.* الخاصية NotifyFilter مكودة على مستوى البت bit-coded بحيث يمكنك تحديد تشكيلة من واحد أو أكثر من قيم مرقمة enumerated كـ Attributes و CreationTime و DirectoryName و FileName و LastAccess و LastWrite و Security و Size و القيمة الافتراضية لها هي LastWrite Or FileName Or DirectoryName ففي هذه الحالة لن تظهر تنبيهات عندما تتغير الخصائص مثال عن كيفية تعريف تحكم FileSystemWatcher من أجل التغييرات في شجرة المجلد C:\Windows ندرج الأدة FileSystemWatcher كود : FileSystemWatcher1.Path = "c:\windows"اظهار التنبيهات نحن عرفنا الخصائص جاء دور الحصول على التنبيهات وتتم التنبيهات فور حدوث تغيير كطريقة للحصول على التنبيهات من FileSystemWatcher هي كتابة معالجات للأحداث الخاصة بهذا العنصر ولكن هذه الأحداث لن تبدأ بالعمل إلا بضبط الخاصية EnableRaisingEvents = True و تستقبل الأحداث Created و Deleted و Changed البارامتر FileSystemEventArgs الذي يعرض خاصيتان هامتان Name اسم الملف الذي حدث عليه التغير و FullPath مسار ذلك الملف كود : Private Sub FileSystemWatcher1_Created(ByVal sender As Object, _كود : Private Sub FileSystemWatcher1_Deleted(ByVal sender As Object, _كود : Private Sub FileSystemWatcher1_Changed(ByVal sender As Object, _البارامتر FileSystemEventArgs يقوم أيضاً بعرض خاصية ChangeType وهي خاصية مرقمة Enumerated حيث تخبرك بالحدث الذي وقع على الملف بحيث يمكنك استخدامها لعمل إجراء معالجة وحيد للأحداث الثلاثة السابقة كود : Private Sub FileSystemWatcher1_All(ByVal sender As Object, ByVal e As FileSystemEventArgs) _معلومة ::: FileSystemWatcher أداة هامة جداً - RaggiTech - 06-10-12 الحدث Changed لا يستقبل أية معلومات حول نوع التغيير الذي سبب الحدث الحدث Renamed يستقبل البارامتر RenamedEventArgs الذي يعرض خاصيتان إضافيتان هما OldName الاسم القديم و OldFullPath المسار الكامل القديم كود : Private Sub FileSystemWatcher1_Renamed(ByVal sender As Object, ByVal e As RenamedEventArgs) _معلومة ::: FileSystemWatcher أداة هامة جداً - RaggiTech - 06-10-12 صفحة الأدة فى مكتبة MSDN http://msdn2.microsoft.com/en-us/lib...er(VS.71).aspx |