بتـــــاريخ : 11/8/2008 7:55:18 PM
الفــــــــئة
  • الحـــــــــــاسب
  • التعليقات المشاهدات التقييمات
    0 2829 0


    Visual Basic (6)

    الناقل : mahmoud | العمر :35 | المصدر : www.kettaneh.net

    كلمات مفتاحية  :
    دروس فيجول بيسك

     

    محتويات الدرس السادس :
          v         أهم خصائص النافذة
          v        أهم أحداث النافذة
          v        إظهار النوافذ وإخفائها
     
    أهم الخصائص للنافذة
    اسم الخاصية : AutorRedraw
    متوفرة أثناء  : التصميم والتنفيذ
    تحدد هذه الخاصية إذا كانت النافذة ستفقد محتوياتها عند إعادة رسمها أم لا . إذا وضعت أدوات مثل أدوات الخط أو الأشكال أو العنوان فإذا حدث مايستدعي إعادة رسم للنافذة ، كأن تغطيها نافذة أخرى ثم تنكشف . فإن "فيجول بيسيك" يقوم بإعادة رسمها دون تدخل منك .
    أما إذا كتبت أي شئ على النافذة باستخدام الأمر print  أو رسمت أي شكل هندسي بإستخدام الأمر circle أو line  ثم قام المستخدم بتصغير النافذة ثم تكبيرها فإن النافذة ستفقد محتوياتها وتظهر بدون الأشكال أو العبارات التي طبعتها ذلك أن الناتج من هذه الأوامر ليس ثابتاً . جرب ذلك :
    مثال
          v         افتح مشروع جديد
          v        انقر نقراً مزدوجاً فوق النافذة form1 لتفتح نافذة البرمجة الخاصة بها .
          v        غير الحدث المعروض في النافذة إلى حدث النقر click
          v        اكتب التعليمات التالية :
    sub form_click ( )
    circle (2500,2000),1500
    "هذه تجربة على الكتابة فوق النافذة " print
    end sub
          v        شغل البرنامج بالضغط على F5
          v        انقر فوق النافذة سوف يقوم "فيجول بيسيك" بتنفيذ الأوامر التي وضعتها في
     
    حدث النقر فيرسم دائرة ويطبع جملة .
          v        صغر النافذة ثم كبرها ، ماذا تلاحظ ؟؟؟ ستجد أن النافذة فقدت محتوياتها .
    والحل هو أن تضع الأوامر في الحدث paint بدلاً من click
    مثال :
    sub form_paint ( )
    circle (2500,2000),1500
    "هذه تجربة على الكتابة فوق النافذة " print
    end sub
          v        شغل البرنامج F5
          v        صغر النافذة وكبرها ، ستجد أن النافذة محتفظة بمحتوياتها
    حل أخر ( هو يمكن أن تغير خاصية النافذة form1 وتضع autodedraw قيمة true
     
    شرح  دراسة الخصائص للنافذة form1 في المحاضرة
     
    إخفاء النافذة
    استخدم امر hide  لإخفاء النافذة
    مثال :
    form2.hide
    وهذا الامر يقوم بإخفاء form2
     
    اظهار النافذة
    مثال :
    form2.show
     
    وهذا الامر يقوم بإظهار form2
    أوامر التعامل مع الملفات والأدلة
          v        معرفة القرص والدليل الحالي
    إذا أردت معرفة القرص والدليل الحالي ، استخدم الأمر curdir$
    مثال :
    label1.caption = curdir$
     
    يعود هذا بالدليل الحالي بكاملة بما فيه القرص الحالي . لذلك يمكنك استخدام الأمر left$  لقراءة أول حرف فيه ومن ثم معرفة القرص الحالي ، مثل :
    mydrive$ = left$(curdir$, 1)
    فهنا المتغير  mydrive  يحتوي على القرص الحالي
     
    معرفة الدليل الذي بدأ منه برنامجك
    مثال :
    a$ = app.path
     
    نسخ ملف
    عندما ترغب في نسخ ملف ، استخدم الأمر filecopy وله الصيغة التالية
    "الهدف"   ," المصدر"   filecopy
    مثال :
    filecopy "c:\mypro\test.exe” , “c:\windows\test.exe”
    ومن الممكن تغيير اسم الملف عند النسخ
    مثال :
    filecopy "c:\mypro\test.exe” , “c:\windows\absoft.exe”
     
    حذف ملف
    باستخدام امر kill
    مثال :
    kill "c:\mypro\test.exe”
     
    يجب أن تتحلى بالحذر عند استخدام هذا الامر لإنه أيضا يستخدم خاصية * و ؟
    كما تفعل في نظام دوس
    مثال :
    kill "*.tmp"
     
    إعادة تسمية الملفات والأدلة
    فمثلاً من الممكن تسمية الملفات أو الأدلة باستخدام الأمر name وله الصيغة التالية:
    "الاسم الجديد"as   "الاسم القديم"name
    مثال
    name "c:\mypro\test.exe” as "c:\mypro\test.old”
    ومن الممكن أن تستخدم الأمر لنقل ملف من دليل إلى آخر فمثلاً :
    name "c:\mypro\test.exe” as "c:\test.exe”
    فهنا ننقل الملف test.exe  من دليل mypro إلى الدليل الجذري c:\
     
    البحث عن ملف
    بإستخدام امر dir$
    مثل الامر الموجود في نظام دوس
    مثال :
    exist$ = dir$ (“c:\vb\icons\computer\disk03.ico”)
    يحمل المتغير exits$  نتيجة البحث عن الملف . ويمكنك بعد ذلك إختباره
    مثال :
    if exist$ <> “” then
    )"تم العثور على الملف"msgbox (
    else
    "لم يتم العثور على الملف المطلوب"msgbox
    end if
     
    فتح الملف
    لكي نقرأ أو نكتب إلى ملف ، يجب أن تفتحه أولاً . ويمكنك فتح الملف باستخدام الأمر open وله الصيغة التالية :
    رقم الملف as   #طور الملفfor  اسم الملف open
    ويعني طور الملف مايلي
    استخدم كلمة input
    فتح الملف للقراءة
    استخدم كلمة output
    فتح الملف للكتابة (يمسح محتويات الملف)
    استخدم كملة append
    فتح الملف للإضافة (يقوم بإضافة )
     
    بعد فتح الملف يمكنك أن تقوم بالعمليات التالية :
          v        الكتابة إلى الملف
    تتم الكتابة إلى الملف باستخدام الأمر print
    وله الصيغة التالية :
    "ماتريد كتابته"   , رقم الملفprint #
    مثال
    "خلاص قربت تنتهي دورة فيجول بيسك"   , 1print #
     
    مثال على ذلك
          v        افتح مشروع جديد
          v        ضع اداة الأوامر على نافذة البرنامج
          v        وبعد ذلك انقر على اداة الأوامر نقرا مزدوجاً
    سيفتح لك نافذة البرمجة اكتب مايلي :
    sub command1_click ()
    open "c:\test.txt” for output as #1
    "هذا اختبار لفتح الملفات والكتابة عليها print #1 , "
    "بإستخدام فيجول بيسك print #1 , "
    close #1
    end sub
     
    القراءة من الملف
    استخدم الأمر input وله الصيغة التالية :
     متغير  , رقم الملفinput #
     
    وفي هذه الحالة سيقوم بقراءة سطر كامل من الملف ، ويضعه في المتغير . فإذا فرضنا أنك فتحت الملف تحت الرقم 1 ، يمكنك أن تكتب :
    input #1 , myline$
     
    فهنا سيقرأ الأمر input سطراً من الملف ويضعه في المتغير myline$
     
    ولكن إحذر أن تقرأ إلى نهاية الملف لإن  "فيجول بيسيك" سوف يقوم بتوقيف البرنامج
    ولحل ذلك اختبر قيمة الأمر             )  رقم الملف  EOF(
    if EOF(1) then
    وصلنا إلى نهاية الملف
    else
    لم نصل إلى نهاية الملف
    end if
     
    جرب القراءة من الملفات :
          v        افتح مشروع جديد
          v        ضع اداة الأوامر على نافذة البرنامج
          v        وبعد ذلك انقر على اداة الأوامر نقرا مزدوجاً
    سيفتح لك نافذة البرمجة اكتب مايلي :
    sub command1_click ()
    open "c:\autoexec.bat” for input as #1
    do while not eof (1)
    input #1, a$
    print a$
    loop
    close #1
    end sub
          v        شغل البرنامج F5
     
    كيف تغلف الملف ؟
    بعد أن تنتهي من القراءة أو الكتابة ، يجب أن تغلف الملف وهو سهل جداً ماعليك إلى أن تكتب
    رقم الملفClose #
    وإذا كنت تريد أن تغلف ملفات كثيرة فتحتها اكتب
    Close
     
     
     
     
     
     
    كيف تطلب معلومة من المستخدم ؟
    ومع أنها الان مفهومة ولكن هنا سوف نقوم بشرحها بالتفصيل
     
    طلب معلومة من المستخدم استخدم الامر inputbox$
    وله صيغة التالية
    متغير
    Inputbox$
    ,رسالة(
    ,عنوان النافذة
    (قيمة افتراضية
     
    رسالة تعني : الجملة التي تريد عرضها على المستخدم
    عنوان النافذة : هو شريط العنوان في النافذة التي يعرضها على المستخدم
    قيمة افتراضية : هو القيمة التي تضعها أنت للمستخدم مثل
     
     
     
     
     
    كيف تعرض رسالة على المستخدم ؟
    قد ترغب في أحيان كثيرة أثناء سير البرنامج ، أن تطلب من المستخدم أن ستخذ قرارا بشأن مسألة ما . فمثلاً إذا طلب المستخدم حفظ ملف باسم معين ، ثم كان هذا الملف موجوداً على القرص ، فقد ترغب في سؤاله إن كان يريد الكتابة فوقه أم لا . في هذه الحالة تعرض له رسالة وتترك له حرية اختيار الإجراء المناسب ، مثل :
     
     
    كيف تعرض هذه الرسالة ؟
     
    يتم عرض هذه الرسائل باستخدام الأمر msgbox وله شكلان . الأول إذا كنت تريد عرض رسالة بيسطة ولا تطلب من المستخدم أن تحدد رأيه في مسألة معينة ، في هذه الحالة استخدام الصيغة التالية :
    عنوان مربع الحوار, الأزرار والرموز , الرسالة المطلوبه  msgbox
    أما إذا كنت تريد أن تعرف رأيه بشئ معين قم بوضع الامر بالطريقة التالية
    عنوان مربع الحوار, الأزرار والرموز , الرسالة المطلوبه  msgbox  = المتغير
    وفي هذه الحالة سيحمل المتغير رد فعل المستخدم
     
    الرسالة المطلوبه : هو الجملة التي تريد عرضها على المستخدم
    عنوان مربع الحوار : هو عنوان شريط عنوان مربع الحوار
    الأزرار والرموز : وهو يحدد نوعية الأزرار التي ترغب في عرضها والرموز
    وهذه الرموز والأزرار :
    معناه
    الرقم
    عرض زر ok (موافق)
    0
    عرض زري ok (موافق) و cancel (إلغاء الأمر)
    1
    عرض أزرار abort (توقف) وretry (إعادة المحاولة) ignore (تجاهل)
    2
    عرض أزرار yes (نعم) و no  (لا) و cancel (إلغاء الأمر)
    3
    عرض أزرار yes (نعم) و no  (لا)
    4
    عرض أزرار retry (إعادة المحاولة) وcancel ( إلغاء الأمر)
    5
    عرض رمز قف
    16
    عرض رمز علامة الاستفهام
    32
    عرض رمز علامة التعجب
    48
    عرض رمز علامة الاستعلام
    64
     
    فإذا رغبت في عرض رسالة تحتوي على الأزرار ok و cancel ومعها رمز علامة الاستعلام ،فإنك تجمع 1+64 = 65 وتستخدمها عندما تطلب الرسالة هكذا :
    "بدون عنوان", 65,  "هذه رسالة للتجربة"msgbox
    وإذا كنت تريد أن تعرف رد فعل المستخدم ، فإن الأمر msgbox يعود بالاحتمالات التالية :
    المستخدم نقر زر …
    الرقم
    Ok ( موافق)
    1
    Cancel (إلغاء امر)
    2
    Abort (توقف)
    3
    Retry  (إعادة المحاولة)
    4
    Ignore (تجاهل)
    5
    Yes (نعم)
    6
    No  (لا)
    7
     
    ومثال على ذلك :
    sun command1_click ()
    " هل ترغب حقاً في إنهاء البرنامج "msg$ =
    "الخروج من البرنامج"title =
    response = msgbox (msg ,36 ,title )
    if  response = 6  then end
    end sub
     
    شرح البرنامج :
    في هذه الحالة سيعرض "فيجول بيسيك" الرسالة وإذا اختار المستخدم "نعم" yes
    فإن "فيجول بيسيك" ينهي البرنامج .
     
    الصوت في "فيجول بيسيك"
    يجب كتابة هذا الربط الديناميكي في ملف برمجة في سطر واحد ولكنه هنا في سطرين ‍‍‍‍‍.
    Public Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
     
    أما هذا الامر فوق النافذة نفسها وتضعه في general
    Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
     
    وبعد كتابة هذا السطر ماعليك الان إلا كتابة الاسم فقط وهو SNDPLAYSOUND
     
    DIM Result as integer
    Result = sndplaysound(“c:\windows\toda.wav”,3)
     
    يقوم هذا الاجراء بمعرفة مسار برنامجك الذي شغل منه ثم يشغل ملف موجود في نفس المسار وهو أفضل من السابق .
    b$ = app.Path
    )sound1 = SNDPLAYSOUND(b$ + "\" + "ton.WAV", 3
    كلمات مفتاحية  :
    دروس فيجول بيسك

    تعليقات الزوار ()