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

  • طباعة

الأداوات المستخدمة:

أداة العنوان Label، أداة الأقراص DriveListBox، أداة المجلدات DirListBox، أداة الملفات FileListBox، وأخيراً أداة الصور Image.



تصميم البرنامج:

1-              ابدأ بمشروع جديد.

2-              ضع الأدوات DriveListBox و DirListBox و FileListBox، ثم غير خاصية Pattern التابعة لأداة الملفات إلى:  *.Bmp ; *.Wmf ; *.Jpg; *.Ico ; *.Pic وبهذا لن تعرض الأداة إلا ملفات الصور ذات اللواحق المحددة.

3-              ضع أداة الصور Image وغير خاصية BorderStyle إلى "1-Fixed Single" و خاصية Stretch إلى True، ومعنى ذلك أن الصورة التي ستعرض في هذه الأداة ستأخذ حجم الأداة.

4-              ضع أداة عنوان وغير خاصية Caption إلى “FileName

5-              رتب الأدوات السابقة بحيث تبدو كما في الشكل التالي:

 

كتابة الشفرة:

1-              في البداية يجب ربط أداة الأقراص مع أداة المجلدات، بحيث تعرض أداة المجلدات المجلدات الموجودة في القرص المختار، ويتم ذلك بكتابة الشفرة التالية في الحدث Drive1_Change، الذي يقع عند اختيار قرص جديد:

Dir1.Path = Drive1.Drive

2-              يجب ربط أداة المجلدات مع أداة الملفات، بحيث تعرض أداة الملفات الملفات الموجودة في المجلد المختار من أداة المجلدات، ويتم ذلك بكتابة الشفرة التالية في الحدث Dir1_Change الذي يقع عند الانتقال لمجلد جديد:

File1.Path = Dir1.Path

3-              يجب الآن إضافة الشفرة اللازمة لتحميل الصورة المحددة من أداة الملفات إلى أداة عرض الصور Image، ويتم ذلك بواسطة الشفرة التالية التي يجب أن تكتب في الحدث File1_Click الذي يقع عند اختيار ملف جديد:

If Right(Dir1.Path, 1) = "" Then

  Label1.Caption = Dir1.Path + File1.FileName

Else

  Label1.Caption = Dir1.Path + "" + File1.FileName

End If

 

Image1.Picture = LoadPicture(Label1.Caption)

 

تقوم الشفرة السابقة باختبار الحرف الأيمن من المسار، فإذا كان هذا الحرف هو "" عندئذٍ نغير خاصية Caption التابعة للأداة Label1 إلى المسار مضافاً إليه اسم الملف،وإلاّ نضيف المحرف "" بين المسار واسم الملف. وفي النهاية نقوم بتحميل ملف الصورة الذي وضعنا مساره في أداة العنوان Label إلى أداة عرض الصور Image وذلك باستخدام أمر تحميل الصور LoadPicture.

 

ملاحظة:

لو نفذت البرنامج السابق ثم اخترت محرك الأقراص المرنة A، ستلاحظ أن البرنامج يعرض رسالة خطأ ويتوقف عن العمل لعدم وجود قرص في السواقة المرنة، ولحل هذه المشكلة علينا استخدام أوامر معالجة الأخطاء الموجودة في Visual Basic، وللقيام بذلك عدل الشفرة الموجودة في الحدث Drive1_Change إلى :

On Error GoTo err

Dir1.Path = Drive1.Drive

Exit Sub

err:

MsgBox "حدث خطأ ما ربما أن القرص غير موجود في السواقة"

أي في حال حدوث خطأ معين إنتقل إلى اللافتة err التي تقوم بعرض رسالة خطأ.