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

سؤال هام جداً بخصوص المجلدات

بدأه firstman في 10 مارس 2008 · 7 رد · 973 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

إخوانى الأعزاء أعضاء هذا الصرح الرائع

لى طلب صغير بالنسبة لعمالقة هذا المنتدى وهو انا عامل برنامج ويوجد فيه قائمة ملف بداخلها يوجد امر إختيار مجلد العمل أريد عند الضغط على هذا الأختيار وضع كل الملفات التى إمتدادها TIF الموجودة داخل المجلد المختار في ListBox

أرجو ألا أكون قد أثقلت عليكم بطلبى

وشكراً لكم يا إخوانى

#2

يمكنك أستخدام File List Box و ضبط الـ Pattern على *.tif و تحديد المجلد له بالكود و هذا يكفى.

#3
msayed2004 كتب:
يمكنك أستخدام File List Box و ضبط الـ Pattern على *.tif و تحديد المجلد له بالكود و هذا يكفى.

أخى العزيز أشكرك جداً على إهتمامك بمساعدتى أرجو منك إرسال مثال على ذلك وأرجو أن تشرح لى كيف أختار المجلد عن طريق CommonDialog وليس عن طريق الكود لأن هذا هام جداً فى برنامجى.

وشكراً

#4

الـ Common Dialog للا يجوز له تحديد إسم مجلد معين إلا بأسلوب معين ، علي العموم حمل المكتبة Microsoft Shell Controls And Automation من References ومن ثم تنفيذ الكود التالي :

Private Sub cmdOK_Click()
	Dim sh As New Shell
	Dim fo As Folder
	Dim strPath As String
	On Error Resume Next
	Set fo = sh.BrowseForFolder(Me.hWnd, "قم بتحديد مسار البرنامج", 1)
	strPath = fo.Items.Item.Path
End Sub

وهذا لتحديد مسار غلاف محدد

أما بالنسبة لتحديد جميع الملفات فقم بإنشاء ListBox ومن ثم ضع الكود التالي بعد جلب المسار بالمتغير strPath كما يلي :

strPath = Dir(strPath & "\*.*")
Do While strPath <> ""
	List1.AddItem = strPath
	strPath = Dir
Loop

شكراً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#5
MMA_EG_Cairo كتب:
الـ Common Dialog للا يجوز له تحديد إسم مجلد معين إلا بأسلوب معين ، علي العموم حمل المكتبة Microsoft Shell Controls And Automation من References ومن ثم تنفيذ الكود التالي :

Private Sub cmdOK_Click()
	Dim sh As New Shell
	Dim fo As Folder
	Dim strPath As String
	On Error Resume Next
	Set fo = sh.BrowseForFolder(Me.hWnd, "قم بتحديد مسار البرنامج", 1)
	strPath = fo.Items.Item.Path
End Sub

وهذا لتحديد مسار غلاف محدد

أخى العزيز

أما بالنسبة لتحديد جميع الملفات فقم بإنشاء ListBox ومن ثم ضع الكود التالي بعد جلب المسار بالمتغير strPath كما يلي :

strPath = Dir(strPath & "\*.*")
Do While strPath <> ""
	List1.AddItem = strPath
	strPath = Dir
Loop

شكراً

أخى العزيز/ MMA_EG_Cairo

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

وهى

1- عند أختيار الفولدر عن طريق BrowseForFolder يظهر زر New Folder فهل يمكن إلغاء ظهوره.

2- يظهر فى الليست بوكس المسار الكامل للملفات هل يمكن التحكم فى أن يظهر أسم الملف فقط وإخفاء باقى المسار.

3- هل يوجد اختيار فى اللليست بوكس يمكنه أن يعطينى المسار الكامل للملف عند الوقوف عليه فى الليست بوكس ولكن

بدون أسم الملف يعنى يعطينى المسار حتى الفولدر الموجود فيه الملف.

4- عند أختيار الفولدر عن طريق الأكواد السابقة يتم إضافة الملفات الموجودة داخله الى الليست بوكس ولكن عند أختيار نفس الفودر مرة أخرى عن طريق الخطأ يتم تكرار الملفات الموجودة بداخله فهل هناك طريقة تمنع تكرار الملفات داخل الليست بوكس

اخى الفاضل اعلم انى قد اثقلت عليك ولكن أعذر تلميذك فأنا احب التعلم من العظماء أمثالكم

#6

اخوانى الأعزاء أعلم أنى قد أثقلت عليكم بأسئلتى الكثيرة ولكن كل هدفى أن أتعلم من العظماء أمثالكم حتى أكون سببا لأفادة غيرى كما جعلكم الله سبباً لى وشكراً لكم جميعاً إخوانى الأعزاء سواء أجبتونى أو لم تجيبونى

وشكراً لكل أعضاء هذا الصرح الأكثر من رائع والذى أتمنى من الله أن يحفظه دائماً فى أحسن حال.

#7
اقتباس
1- عند أختيار الفولدر عن طريق BrowseForFolder يظهر زر New Folder فهل يمكن إلغاء ظهوره.

ألأخ الغالي ، فعلياً أنا لا أعلم كيفية إلغائها ، وعلي ما أعتقد أنه لا يجوز إلغائها . ولكن أخي معزرتاً أنا أعرض لك فكرة بسيطة كما طلبت ، ولكنني في الحقيقة حينما أفكر في إستخدام مثل هذه الآداة صراحتاً لا أتعامل معها ، حيث أنني أفضل إنشاء نموذج متكامل وبه كل ما أحتاجة من تعريب وأزرار و قوائم و ...... الي آخرة.

اقتباس
2- يظهر فى الليست بوكس المسار الكامل للملفات هل يمكن التحكم فى أن يظهر أسم الملف فقط وإخفاء باقى المسار.

طبعاً أخي يمكن ذلك ، ولكنني أنا أعرض لك مسار الملف كامل بمربع النص ، ولكن لاحظ ما كتبتة لك :

Text1.Text = fo.Items.Item.Path & "\Data.dat"

الكود السابق يجلب المسار Path ومن ثم إضافة القيمة النصية "Data.dat\" علية بحيث أن يكون المسار مضمن إلية إسم الملف وإمتدادة ، فيمكنك عرض إسم الملف فقط لا غير بمربع النص ، ومن ثم إدراج إسم الملف وإمتدادة بالصورة الموضحة أعلاة في متغير بدلاً من عرضها في مربع نص كما يلي :

varPath = fo.Items.Item.Path & "\Data.dat"

ومن ثم إستخدام المتغير بدلاً من مربع النص

اقتباس
3- هل يوجد اختيار فى اللليست بوكس يمكنه أن يعطينى المسار الكامل للملف عند الوقوف عليه فى الليست بوكس ولكن بدون أسم الملف يعنى يعطينى المسار حتى الفولدر الموجود فيه الملف.

مش فاهم ، بس أخي أعتقد والله أعلم أنك تتحدث عن الـ FileListBox و DirListBox ، أليس كذلك !!!

إن كان الأمر هكذا ، يكون ردي لك نعم ( ياريت توضح )

اقتباس
4- عند أختيار الفولدر عن طريق الأكواد السابقة يتم إضافة الملفات الموجودة داخله الى الليست بوكس ولكن عند أختيار نفس الفودر مرة أخرى عن طريق الخطأ يتم تكرار الملفات الموجودة بداخله فهل هناك طريقة تمنع تكرار الملفات داخل الليست بوكس

كل شيء يجوز بقليل من الحيلة ، فضلاً قم بإجراء Loop علي قائمة الـ List Box ومن ثم حدد إذا كان الملف موجود لا تقم بإدراجة ، وإذا كان غير موجود فأدرجة ( كما تشاء )

شكراً

تم تعديل هذه المشاركة بواسطة MMA_EG_Cairo في 13 مارس 2008 في 10:56

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#8
اقتباس
1- عند أختيار الفولدر عن طريق BrowseForFolder يظهر زر New Folder فهل يمكن إلغاء ظهوره.
لم أعد أعمل على الـ VB لكن لازالت لدى الـ Modules و الـ Classes التى كنت أستعملها.

المرفق يحتوى على Module تقدر تستخدمها لأظهار نافذة أختيار المجلدات دون الحاجة لأضافة الـ Microsoft Shell Controls And Automation كـ Reference و كل ما عليك أن تكتب False فى الـ Parameter المسمى NewDialogStyle و لن يظهر لك زر New Folder

BrowseForFolderDlg.zip

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