منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] كود يحذف جميع الملفات بداخل المجلد - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] كود يحذف جميع الملفات بداخل المجلد (/showthread.php?tid=26591)



كود يحذف جميع الملفات بداخل المجلد - Risky - 22-09-18

السلام عليكم ورحمه الله وبركاته ..

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

1- button
2- CheckBox1

طبعا أريد اضيف اكثر من CheckBox وعند عمل عليه علامه والضغط علي بوتون يمسح الملف وعند تحديد الجميع والضغط علي بوتون يمسح الجميع

أن شاءالله الفكرة وصلت ..

في أنتظاركم


RE: كود يحذف جميع الملفات بداخل المجلد - r49 - 22-09-18

استخدم الأمر My.Computer.FileSystem.DeleteFile لحذف ملف


RE: كود يحذف جميع الملفات بداخل المجلد - r49 - 22-09-18

لو في مثال على الفكره يكون أحسن


RE: كود يحذف جميع الملفات بداخل المجلد - Risky - 22-09-18

أنا استخدمت هذا الامر


كود :
Dim dirs() As DirectoryInfo = {New DirectoryInfo(
كود :
"PATH1"
كود :
), New DirectoryInfo(
كود :
"PATH2"
كود :
), New DirectoryInfo(
كود :
"PATH3"
كود :
)}
كود :
        
كود :
For Each dr In dirs
كود :
            
كود :
For Each fn As FileInfo In dr.GetFiles
كود :
                
كود :
File.Delete(fn.FullName)
كود :
            
كود :
Next
كود :
        
كود :
Next

لكن ماعرفت اخصصها في اداه لحالها واضيفها هنا CheckBox


RE: كود يحذف جميع الملفات بداخل المجلد - Risky - 22-09-18

أين انتو يا أخوة


RE: كود يحذف جميع الملفات بداخل المجلد - Risky - 22-09-18

غريبة مافي آحد يعرف


RE: كود يحذف جميع الملفات بداخل المجلد - elgokr - 23-09-18

وعليكم السلام ورحمة الله وبركاته

فى البداية لاتمام حذف الملفات بطريقة الحذف النهائي 
او الحذف بارسال الملف الى سلة المحذوفات فاتبع الرابط التالى
https://docs.microsoft.com/en-us/dotnet/visual-basic/developing-apps/programming/drives-directories-files/how-to-delete-a-file

ناتى الان الى كيفية استخدام الكود الموضح بالاعلى خاصة
كود :
       Dim dirs() As System.IO.DirectoryInfo = {New System.IO.DirectoryInfo("PATH1"), New System.IO.DirectoryInfo("PATH2"), New System.IO.DirectoryInfo("PATH3")}
       For Each dr In dirs
           For Each fn As System.IO.FileInfo In dr.GetFiles
               System.IO.File.Delete(fn.FullName)
           Next
       Next

لنقول ان لدى CheckBox وظيفته مثل موافقة الشروط والاحكمام 
وهو عبارة عن عند الموافقة على الشروط سيتم حذف الملف نهائياً

هنا اليك اكثر من طريقة للاستخدام
وهو ان تجعل الـ Button من خصائصه Enabled بقيمة False
وعند تحديد علامة صح على CheckBox يقوم بتحويل الـ Button لخصائصه Enabled الى True

وهو من خلال الكود التالى
كود :
   Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
       If CheckBox1.Checked = True Then
           Button1.Enabled = True
       Else
           Button1.Enabled = False
       End If
   End Sub

الى هنا لا يوجد مشكلة الان بكده انت ليس بحاجة الى التعديل على الكود الخاص بك
طيب اذا كنت لا اريد استخدام هذه الطريقة واريد مباشر من خلال كود الـ Button

فكل ما عليك جعل الكود بهذا الشكل
كود :
       Dim dirs() As System.IO.DirectoryInfo = {New System.IO.DirectoryInfo("PATH1"), New System.IO.DirectoryInfo("PATH2"), New System.IO.DirectoryInfo("PATH3")}
       For Each dr In dirs
           For Each fn As System.IO.FileInfo In dr.GetFiles
               If CheckBox1.Checked = True Then
                   System.IO.File.Delete(fn.FullName)
               End If
           Next
       Next

اتمنى ان تكون الصورة وضحت لك كاملاً
واتمنى ان الرابط بالاعلى يفيدك ايضاً للتعامل مع حذف الملفات

تحياتى لك
وتمنياتى لك التوفيق



RE: كود يحذف جميع الملفات بداخل المجلد - Risky - 23-09-18

كود :
If CheckBox1.Checked = True Then
           Dim txtFilesArray As String() = IO.Directory.GetFiles("path", "*.*")

           For Each p In txtFilesArray
               IO.File.Delete(p)
           Next

       End If

       If CheckBox2.Checked = True Then
           Dim txtFilesArray1 As String() = IO.Directory.GetFiles("path", "*.*")

           For Each p In txtFilesArray1
               IO.File.Delete(p)
           Next
       End If


شكراً لك [b]elgokr تم الحل بالطريقه هذي[/b] ..


RE: كود يحذف جميع الملفات بداخل المجلد - elgokr - 23-09-18

الشكر لله
واحسنت عملاً فى طرح الحل الذى استخدمته
حتى تعم اكثر من حلول للاخرين

تحياتى لك
وتمنياتى لك التوفيق