الأحد، 25 مارس 2012

                                                             بسم الله الرحمن الرحيم


 درس عمل مستعرض صور بالفيجوال بيسك
نبدا....

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


أداة العنوان 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 التي تقوم بعرض رسالة خطأ.