منتديات داماس


Moved to new forum, Click Here to register

الدرس الخامس

الدرس الخامس

اعزائي واخوتي
اهلاً بكم مرة اخرى مع برنامج جديد ودرس جديد من دروس الفيجيوال بيسك 6
وسامحوني على طول الغياب

اليوم ومن خلال هذا البرنامج البسيط سنتعرف على المزيد من الادوات الجديدة المتاحة
في برنامج الفيجوال ألا وهي :


-DriveListBox

- DirListBox

- FileListBox

- Image




وسيكون الهدف من درس اليوم هو تصميم برنامج لاستعراض انواع مختلفة من الصور الموجودة
على القرص الصلب او أي وسط تخزين آخر.

قبل الشروع في العمل سنقوم بتعديل على بيئة عمل الفيجيوال وذلك لتسهيل عملية تنسيق الادوات على الفورم.

تلاحظون اخوتي ان خلفية الفورم منقطة وبين النقط توجد مسافات وعندما تقوم بتحريك أي اداة
على الفورم تتتحرك من نقطة الى نقطة الاخرى

ايضاً عند تغيير الأبعاد (Resize) للادوات يكون النقص او الزيادة من نقطة الى نقطة الاخرى

ماذا لو أردنا التحكم بهذه الحركة او بتغيير الابعاد بدقة اكثر.

- قم بتشغيل برنامج الفيجيوال بيسك
- اختر من القائمة Tools الخيار Options
- اختر General
قم بعمل التعديل كما بالصورة التالية :



الدرس الخامس



- هناك ادوات تأتي مع الفيجيوال وتستخدم للتنسيق ولاظهارها قم بعمل التالي :
- قم بالضغط بالزر اليمين على شريط الادوات ToolsBar واختر Form Editor ثم قم بوضع
هذا الشريط في مكان مناسب


الدرس الخامس




الدرس الخامس


- هذه الادوات لا تكون فعالة الا اذا كان الفورم مفتوح.


- كما ان بعض هذه الادوات لا تكون فعالة الا اذا قمت باختيار اكثر من اداة في نفس الوقت على نفس الفورم.
على سبيل المثال لمحاذاة مجموعة من الادوات (Labels) قم باختيار احداها بالضغط عليها
بالزر الايسر مرة واحدة ثم اضغط على المفتاح Ctrl وابقيه مضغوطاً ثم قم بالضغط بالزر الايسر
على الادوات الاخرى التى تريد محاذاتها او توحيد ابعادها.


يُفترض في برنامج المستعرض إنجاز ما يلي:

- إظهار نموذج على الشاشة لاختيار الملفات التى نريد عرض صورها.


- إظهار لائحة محركات الأقراص المتوافرة، وتمكين المستخدم الاختيار من بينها.


- إظهار لائحة الملفات الموجودة حالياً، في الدليل الذي يختاره المستخدم من مربع سرد الأدلة.


- إظهار اسم الملف ومساره في مربع Label عند اختياره من مربع لائحة الملفات.


- إظهار صورة الملف بمجرد اختياره


- إنهاء تنفيذ البرنامج عند الضغط على المفتاح Esc


التمثيل المرئي لبرنامج مستعرض الصور :


- أنشئ الدليل الذي سنستعمله لحفظ العمل المنجز.
C:\VB6\Browser

- أنشئ مشروعاً جديداً من النوع Standard EXE.


- احفظ نموذج المشروع بالاسم Browser.Frm واحفظ ملف المشروع بالاسم Browser.Vbp
في الدليل السابق



يُفترض أن يبدو النموذج المكتمل كما في الشكل التالي :


الدرس الخامس



والشكل التالي يبين رموز عناصر التحكم بالملفات في إطار مربع الأدوات :



الدرس الخامس



ملاحظة /
أدوات التحكم بالملفات تعمل بشكل مترابط مع ببعضها البعض.



الدرس الخامس




عنصر التحكم Image :

تستطيع أيضاً وضع انواع معينة من ملفات الصور مثل bMP,jpg,gif,ico في عنصر التحكم Image،
الذي يدعم الخاصية Stretch. تمكّنك هذه الخاصية من مد (تكبير) الصورة إلى أي حجم شئت.
(لا يدعم النموذج ولا عنصر تحكم Picture هذه الخاصية).
بعد إسناد القيمةTrue إلى الخاصية Stretch. سوف تكبر الصورة آلياً لتملأ كامل مساحة
عنصر التحكم Image، أي بكلمة أخرى يكبر فيجول بيسك أو يصغر حجم الصورة آلياً.

فمثلاً، إذا كان عنصر التحكم Image بحجم 2 بوصة × 2 بوصة، وكان يحتوي على الصورة MyPic.bmp،
فسوف يصغر فيجول بيسك الصورة MyPic.bmp من حجمها إلى 2 بوصة × 2 بوصة.

تستطيع أيضاً إسناد إحدى القيمتين True أو False، أثناء مرحلة البرمجة إلى الخاصية Stretch
لعنصر التحكم Image كما يلي :
Image1.Stretch = True

هناك اداه تشبه في عملها عمل Image وهي عنصر التحكم Picture :
يتشابه عنصر التحكم Picture كثيراً مع عنصر التحكم Image، باستثناء أنه يقدّم المزيد من الخصائص،
والمزيد من الحوادث والطرق. إلا أنه لا يدعم الخاصية Stretch، (فقط عنصر التحكمImage وحده
الذي يدعم الخاصية Stretch).

يقدّم عنصر التحكم Picture الخاصية AutoSize، ويؤدي إسناد القيمة True إلى هذه الخاصية،
إلى قيام فيجول بيسك بضبط حجم عنصر التحكم Picture وفقاً لحجم ملف الصورة الذي يحتويها.

فمثلاً، إذا كان ملف الصورة بحجم 3 بوصة × 3 بوصة، فسوف يضبط فيجول بيسك
عنصر التحكم Picture بحيث يساوي 3 بوصة × 3 بوصة، لا يقدم النموذج ولا عنصر التحكم Image
الخاصية AutoSize.

يستخدم عنصر التحكم Image مصادر أقل Resource، من تلك التي يستخدمها العنصر Picture،
ولهذا يتمكن من إعادة رسم الصورة بشكل أسرع.



مرحلة كتابة أكواد البرنامج :

- أدخل النص التالي ضمن الإجراء cmdExit():

كود:
Private Sub cmdExit_Click()
 End
End Sub

أنقر نقرتين فوق صندوق محركات الأقراص Drive1 واكتب النص التالي ضمن الإجراء
Drive1_Change():



كود:
 
Private Sub Drive1_Change()
    On Error GoTo DriveError
    Dir1.Path = Drive1.Drive
    Exit Sub
DriveError:
    MsgBox "محرك الأقراص غير صالح", 16
    Drive1.Drive = Dir1.Path
    Exit Sub
 
 
 
 
End Sub
يُنفّذ الإجراء Drive1_Change() آلياً، عند تغيير محرك الأقراص في مربع سرد المحركات.
يجدّد هذا الإجراء الخاصية Path لمربع سرد الأدلة، بإسناد محرك الأقراص الجديد
الذي تم اختياره إليها:

قبل أن يغيّر الإجراء، الخاصية Path لمربع سرد الأدلة، كتبنا سطر مصيدة الأخطاء.
تُعتبر مصيدة الأخطاء هذه لازمة، لأن تغيير مسار Path مربع سرد الأدلة، قد ينجم عنه خطأ ما.
فمثلاً، قد يغير المستخدم مربع سرد السواقات، إلى محرك الأقراص A:، إلا أن A:
ليس جاهزاً في تلك اللحظة. فيتسبب تغيير المسار Path في مربع سرد الأدلة إلى A:
بظهور خطأ. ولتلافي حصول خطأ أثناء زمن التنفيذ، وُضعت المصيدة الممثلة بالعبارة التالية:
On Error Go To DriveError

فإذا ظهر خطأ ما الآن أثناء تنفيذ هذه العبارة:



كود:
Dir1.Path = Drive1.Drive
فسيعمل فيجول بيسك على نقل تنفيذ البرنامج إلى نص البرنامج الواقع تحت اللافتة
DriveError:. ليُظهر نص البرنامج الوارد تحت هذه اللافتة، رسالة خطأ ويسترجع القيمة الأصلية
لمحرك الأقراص، وذلك باستخدام العبارة التالية:


كود:
Drive1.Drive = Dir1.Path
لاحظ أن قيمة Dir1.Path لم تتغير (أي ما زالت محافظة على قيمتها الأصلية)، لأن العبارة التي
تسببت في الخطأ (في حال حدوثه) لم تنفذ بعد.

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

يفترض ان تظهر رسالة الخطأ بهذا الشكل :



الدرس الخامس




ملاحظة /

سنقوم مستقبلا بشرح كيفية التعامل مع اظهار الرسائل (اخطاء - تنبيه) بشكل مفصل.

أنقر فوق صندوق المجلدات Dir1 وأكتب :


كود:
Private Sub Dir1_Change()
    File1.Path = Dir1.Path
End Sub
يُنفذ الإجراء Dir1_Change()، عند تبديل الدليل الحالي في مربع سرد الأدلة. حيث يتم
تحديث الخاصية Path لمربع سرد الملفات

يُظهر مربع سرد الملفات، الملفات المحتواة في الدليل الذي اختاره المستخدم،
نتيجة لإسناد الخاصية Path لمربع سرد الأدلة، إلى الخاصية Path لمربع سرد الملفات.

أنقر نقرتين فوق صندوق الملفات File1 وأكتب الشيفرة التالية :


كود:
Private Sub File1_Click()
    If Right(File1.Path, 1) <> "\" Then
        Label1.Caption = File1.Path & "\" & File1.FileName
    Else        ' If root directory
        Label1.Caption = File1.Path & File1.FileName
    End If
Image1.Picture = LoadPicture(Label1.Caption)
End Sub
السطر الاول : يُستخدم التابع الوظيفي Right() للتحقق من أن آخر رمز في مسار الملف المنتقى،
هو الرمز (\)، فإذا لم يكن كذلك، فلا بد من إضافته إلى نهاية المسار.
تعتبر العبارة السابقة لازمة، لأن الخاصية File1.Path تحتوي على الرمز (\) إضافة لحرف
محرك الأقراص، وذلك عند اختيار ملف من الدليل الرئيسي لمحرك الأقراص (مثلاً C:\).

أما عند اختيار الملف من مكان آخر غير الدليل الرئيسي، فلن تحتوي الخاصية File1.Path
على الرمز (\) في نهايته (ستكون مثلاً C:\TEST بدلاً من C:\TEST\)، ولهذا لا بد من
استخدام عبارة الشرط If لضمان وجود الرمز (\) بغض النظر عن مكان اختيار الدليل.

السطر الثاني: عرض المسار الكامل للملف الذي تم تحديده في الأداة 1Label

السطر الثالث : يعني ان الملف الذي تم اختياره موجود على الفهرس الجذر مثلاً /:C

السطر الرابع : تحميل الصورة التى المختارة من المسار المحدد في Label1 وعرضها في الاداة Image1



- احفظ المشروع باختيار Save Project من القائمة File لفيجول بيسك.



ملاحظة /
بشكل عام تستخدم العبارة التالية لتحميل صورة من مسار معين ووضعها في عنصر التحكم Image:


كود:
Image1.Picture = LoadPicture("C:\My Pictuers\MyPic.bmp")
يتسبب التابع الوظيفي LoadPicture() باستبدال الصورة الحالية في حال وجودها حيث ان
عنصر التحكمImage لا يستوعب أكثر من صورة واحدة في نفس اللحظة.
أما لمحو (مسح) صورة موجودة حالياً في عنصر التحكم Image أثناء مرحلة التنفيذ،
فاستخدم العبارة التالية:


كود:
 
Image1.Picture = LoadPicture("")
تنفيذ برنامج مستعرض الصور :

- نفّذ برنامج مستعرض الصور بالضغط على مفتاح F5 وتمرن على شتى عناصر التحكم التي تظهر على الشاشة.

توضح الصورة التالية الشكل النهائي للبرنامج بعد تنفيذه



الدرس الخامس





لاحظ المظاهر التالية عند تشغيلك لبرنامج مستعرض الصور:

- تظهر أدلة محرك الأقراص الذي تنتقيه، في مربع سرد الأدلة، حاول اختيار محرك أقراص
من مربع سرد محركات الأقراص.

- عند اختيار محرك أقراص غير جاهز، تظهر رسالة خطأ، ويسترجع مربع السرد قيمته الأصلية.
فمثلاً لدى محاولتك القراءة من محرك الأقراص A ولم يكن هنالك قرص مرن، تظهر رسالة خطأ،
ويسترجع مربع سرد المحركات قيمته الافتراضية (وهي/:C).

- يؤدي النقر المزدوج على الدليل المطلوب في مربع سرد الأدلة إلى اختياره.

- تظهر حال اختيار أحد الأدلة، ملفات ذلك الدليل في مربع سرد الملفات، ويظهر اسم
الدليل الحالي فوق مربع سرد الأدلة.

- يظهر اسم الملف في مربع Label حال توضع الإضاءة فوقه، في مربع سرد الملفات ثم
تظهر الصورة في المكان المخصص لذلك Image.

- يؤدي ضغط المفتاح Esc إلى نفس دور نقر الزر إلغاء الذي أُسندَت القيمة True إليه
أثناء زمن التصميم.

- انقر الزر خروج لإنهاء برنامج مستعرض الصور.

وفي انتظار اسئلتكم واستفساراتكم


الدرس الخامس

اختكم في الله
أزهارو
.
.
.

الدرس الخامس

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

الدرس الخامس : من محرر الفديوهات kdenlive درس عملى

الدرس الخامس - شرح نافذة لصفات

الدرس الخامس : الأوامر الشرطية - دورة PHP للمبتدئين

الدرس الخامس دمج برامجك الجاهزة

الدرس الخامس الليرات - دورة الفوتوشوب ل أم مايا


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


أختى أزهارو أنا عضوة جديدة فى هذا المنتدى و سعدت جدا عندما و جدت مشاركات جادة من العضوات فبارك الله لك و ان شاء الله ساتابع دروسك فلدى فكرة لا بأس بها عن البرمجة بلغة الفيجوال بيسك


مشكورة مشرفتنا الغالية على الدرس الجميل ..

تحياتى و كل عام و انتى بخير


الشرح الرائع مشكورة مشرفتنا الغالية على الدرس


شرح وافي مشكورة على مجهوداتك


شكرا لمروركم اخوتي الاعزاء

واهلا وسهلا بك اختى ايمان وصفى

وكل عام وانتم جميعا بألف خير
وعيد سعيد


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

جزاكي الله كل خير اخت ازهاروووووو ... كما عهدناكي

مبدعه دائماً بكل ما تعنيه الكلمة من مقاييس .

تقبلي أسمى تحياتي


تسلم ايدج مشرفتنا المبدعة ازهار
وان شاء الله دنيتك كلها ازهار :)



اخي اسامة - اخي LONLY

اشكركم على مروركم المشرف

وعلى الكلمات الجميلة
أدوات الموضوع

الانتقال السريع

DamasGate Engineering Community