الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مراقبة مجلد

مغلق
بدأه طوشة ولوشة في 4 مايو 2006 · 1 رد · 532 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم أنا شغلي هو مراقبة مجلد معين في حالة تم إضافة

أي ملف تظهر لي قائمة ضمن البرنامج الذي في سي شارب

أريد دالة api التي تقوم بمراقبة المجلد

:( ردو بسرررررررررررررررررررررررررعة بليز :(

#2

يمكن استخدام FileSystemWatcher في ذلك لمراقبة الـ Size الخاص بالمجلد , وبهذا عن اضافة ملفات جديده فيه أو عندما يكبر حجم بعض الملفات الموجوده فيه , فسيقوم الـ Watcher بتنبيهك .. ومن خلال الـ FileSystemEventArgs يمكننا معرفة اسم الملف الذي تسبب في تكبير حجم المجلد وتفجير الحدث , لاضافته الى قائمه في البرنامج كما تريد.

انشئ FileSystemWatcher :

System.IO.FileSystemWatcher yourWatcher = new System.IO.FileSystemWatcher(@"F:\YourFolderName");

yourWatcher.NotifyFilter = System.IO.NotifyFilters.Size;
yourWatcher.Changed+=new System.IO.FileSystemEventHandler(yourWatcherChanged);
yourWatcher.EnableRaisingEvents=true;

أنا حددت الـ NotifyFilter للـ Size فقط , يمكنك أنت على حسب الحاجه أن تجعله يراقب أشياء أخرى غير الـ Size مثل DirectoryName و Attributes والخ.

بعد ذلك عملت EventHandler اسمها yourWatcherChanged للحدث Changed حتى ينبهني عندما يتغير شئ في المجلد ( حجمه في هذا المثال ). وبعد ذلك جعلت الـ EnableRaisingEvents بـ true حتى يبدأ في المراقبه.

يمكننا الآن كتابة دالة الـ yourWatcherChanged التي سيتم استدعاءها عندما يتغير حجم المجلد نتيجة لانشاء أو لنقل ملف فيه مثلا :

void yourWatcherChanged(object sender, System.IO.FileSystemEventArgs e)
{
yourListBox.Items.Add(e.FullPath);
}

في الكود أنا استخدمت الخاصيه FullPath لاضافة العنوان الكامل للملف الذي تسبب في تفجير الحدث , الى الـ yourListBox. يمكنك أيضا استخدام خاصيتي Name و ChangeType للمزيد من المعلومات.

تم تعديل هذه المشاركة بواسطة معتز شمس في 4 مايو 2006 في 12:57

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

هذا الموضوع مغلق.

مواضيع مشابهة