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

برنامج ذو إجراء واحد ، كيف يمكن تطويره ليعمل على أكثر من ملف واحد ؟

بدأه TheImperial2 في 22 أغسطس 2009 · 10 رد · 543 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

عندي ولله الحمد خبرة لا بأس بها في إجراءات الـ C# ولكن يظل هناك حائط عملاق لم أتمكن من القفز من فوقه .

هذا الحائط هو :

كلما قمت بتصميم أداة تقوم بإجراء عملية معينة على ملف معين ، فإني لا أعلم سوى تصميمها لتعمل على ملف وحيد كل مرة .

الأداة التي أتحدث عنها هي أداة ذات إجراء واحد فقط وهو File.Copy

يقوم المستخدم باستعمال openFileDialog1 ليختار ملفه ، ثم بضغطه على زر Rename تقوم الأداة بإعادة تسمية الملف ، ولا بد من إعادة هذه الخطوات لكل ملف يرغب المستخدم بإعادة تسميته ، وأتكلم هنا عن أكثر من 220 ملف ...

فكيف أطور هذه الأداة ليستطيع المستخدم اختيار ملفات متعددة ثم إجراء العملية المطلوبة عليها الواحد تلو الآخر ؟

تم تعديل هذه المشاركة بواسطة TheImperial2 في 22 أغسطس 2009 في 10:56

#2

حدد الخاصية MultiSelect على true كي تمكن النافذة المستخدم من الإختيار المتعدد للملفات. و للحصول على أسماء الملفات التي تم اختيارها, استعمل الخاصية FileNames (بالجمع) التي هي Array من نوع string.

تحياتي...

#3

شكراً على ردك أخي الكريم ، ولكن الكود عندي معقد قليلاً ...

أرجو أن تلقي نظرة عليه وتساعدني في تعديله :blush:

في المرفقات

Source_CRC32.zip

#4

أظن أنه عليك تغيير واجهة المستخدم, حيث النموذج الرئيسي يمكن المستخدم من اختيار الملفات المراد تغيير اسمها و عند بدء العملية يظهر النمودج الحالي لكل ملف حيث المستخدم سيقوم بملء المربعات المستخدمة لاختيار الإسم الجديد للملف.

سؤال : رؤيتك لطريقة اختيار الملفات. اختيار الملفات يدويا أم اختيار مجلد و القيام بعمليات تغيير الإسم على محتواه؟

تحياتي...

#5

البرنامج يقوم بأخذ أسماء الملفات المختارة ويضيف إليها اللواحق الموضوعة في مربعات النص ... لذا ، نفس القيم سوف تطبق على كل الملفات ...

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

فقط أريد تطويره ليعمل على الملفات الواحد تلو الآخر ...

تحياتي ...

تم تعديل هذه المشاركة بواسطة TheImperial2 في 22 أغسطس 2009 في 14:50

#6

كما قلت لك. حدد الخاصية MultiSelect على true للكنترول openFileDialog1. و الكود الذي تتمحور عليه عمليات تغيير الأسماء :

// استعراض اسماء الملفات التي اختارها المستخدم
foreach(string s in openFileDialog1.FileNames) {
	// كود تغيير اسم الملف الموجود مساره على المتغير s
}

تحياتي...

#7

لمشكلة أنه الكود يستعمل متغيرات من نوع string لتحديد اسم الملف والمسار واللاحقة ... فكيف أعدلها حتى تتماشى مع الوضع ؟

#8

المتغير s المستعمل في loop لاستعراض اسماء و مسارات الملفات من نوع string كذلك.

في كل دورة لـ loop يأخد المتغير s مسار, اسم و لاحق الملف التالي من المجموعة التي اختارها المستخدم و على محتوى s ينبني تغيير اسم الملف.

تحياتي...

#9

شكراً جزيلاً ... ولكن يبدو أنه اكود يأخذ ملف واحداً ويقوم بتغيير اسمه على عدد الملفات المختارة :(

#10

هذا لأن التصميم الحالي لواجهة المستخدم موجهة للاشتغال على ملف واحد. لقد ذكرت لك في رد سابق كيف يجب أن تكون واجهة المستخدم كي تتمكن من الاشتغال على عدد من الملفات.

تحياتي...

#11

حسناً ،،، أشكرك جزيل الشكر على مساعدتك القيمة لي ...

سأحاول حل هذه المسألة وسأحرر ردي الأول ...

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…