الاخوة الكرام
السلام عليكم
لدي استفساران هما :
1- كيف أحذف ملف من القرص المرن من خلال الضغط على زر داخل النموذج
2- كيف أقوم بتهيئة القرص المرن من خلال الضغط على زر داخل النموذج
شاكرا لكم مقدماً .
تحياتي
الاخوة الكرام
السلام عليكم
لدي استفساران هما :
1- كيف أحذف ملف من القرص المرن من خلال الضغط على زر داخل النموذج
2- كيف أقوم بتهيئة القرص المرن من خلال الضغط على زر داخل النموذج
شاكرا لكم مقدماً .
تحياتي
لا احد يعرف ؟؟!!!!!!
معقولة ؟!
لحذف كافة الملفات من القرص المرن :
Kill ("A:*")
لكنه لا يحذف المجلدات ، كما يعطي خطأ في حال عدم وجود ملفات في القرص المرن . ويمكن لتجاوز الخطأ أن نضع قبله العبارة :
on error resume next
لحذف مجلد فارغ من القرص المرن :
RmDir "A:" & "اسم المجلد" & ""
لكنه لا يحذف مجلدا يحتوي على ملفات ، وفي حال وجود ملفات داخل القرص المرن يعطي خطأ .
ولمسح جميع الملفات من داخل هذا المجلد :
Kill ("A:" & "اسم المجلد" & "*")
لم أجد الكود الذي يحذف مجلدا بما فيه ، ولا الكود الذي يقوم بتهيئة القرص المرن ، كما حاولت وضع كود يقوم بالنظر لمحتويات القرص المرن ويحذف الملفات إن وجدت ، ثم يتعرف على المجلدات ثم يقوم بتفريغها ثم حذفها ، لكن واجهتني فيه بعض الإشكالات ، وأرجو أن أتمكن من ذلك لاحقا .
وإن كان أحد يعرف الكود الخاص بتهيئة القرص المرن ، أو كودا يحذف المجلد بما فيه فهذا أفضل .
هذا كودتوصلت إليه (على قد الحال) ، لكن لعله يحث الإخوة على النظر فيه وتصحيحه أو توفير أفضل منه .
لتجريب الكود ضعه في حدث عند نقر زر أمر :
On Error Resume Next
Dim MyName1, MyName2, MyPath1, MyPath2
MyPath1 = "A:"
Kill (MyPath1 & "*")
MyName1 = Dir(MyPath1, vbDirectory)
Do While MyName1 <> ""
MyName1 = Dir(MyPath1, vbDirectory)
If MyName1 <> "." And MyName1 <> ".." Then
If (GetAttr(MyPath1 & MyName1) And vbDirectory) = vbDirectory Then
Kill (MyPath1 & MyName1 & "*")
MyPath2 = MyPath1 & MyName1 & ""
Do While MyName2 <> ""
MyName2 = Dir(MyPath2, vbDirectory)
If MyName2 <> "." And MyName2 <> ".." Then
If (GetAttr(MyPath2 & MyName2) And vbDirectory) = vbDirectory Then
Kill (MyPath2 & MyName2 & "*")
RmDir MyPath2 & MyName2 & ""
End If
End If
Loop
RmDir MyPath1 & MyName1 & ""
End If
End If
Loop
الكود يحذف الملفات داخل القرص المرن ، ويفرغ المجلدات التي فيه من الملفات ومما فيها من مجلدات بعد تفريغها أيضا ، ثم يحذفها .
عيب الكود : لو وجد مجلد داخل مجلد داخل مجلد ، فلن يحذفها .
يمكن بسهولة أن نزيد في الكود بحيث يقبل ذلك ، لكن تأتي مشكلة : مجلد داخل مجلد داخل مجلد داخل مجلد ، وهكذا .
.الحل الحقيقي في تهيئة (فورمات) القرص المرن ، أو أن يطور هذا الكود بحيث يقبل إلى عشرة مستويات من المجلدات مثلا
تحذير :
جربت الكود في جهاز آخر فيه أكسس 2000 فوجدته يسبب تعليق ، مع أنه لم يسبب ذلك في جهازي ، لكن للتنبيه
وقد حاولت التعديل في المشاركة السابقة لكن لم أتمكن لمضي بعض الوقت عليها .
كود لاستدعاء نافذة تهيئة القرص المرن لأخينا المهاجر في الوصلة التالية في منتدى VB And VB.NET :
http://www.arabteam2000.com/vb/showthread....%CA%E5%ED%C6%C9
.
لكن لم أتمكن من استخدامه إلا بتعديل يسير كما في المثال التالي :
http://www.pcpages.com/harith77/FormatDriveA.zip
المثال يعمل معي ، لكن هل التغييرات التي أجريتها على الكود سليمة؟
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…