بسم الله الرحمان الرحيم, الملك القدوس العزيز الحكيم.
والصلاة والسلام على أشرف الأنبياء والمرسلين, سيدنا وحبيبنا محمد ابن عبد الله صلى الله عليه وسلم.
أما بعد فأيها الإخوى والأخوات الكرام بتحية الإسلام أحييكم, وتحية الإسلام السلام فالسلام عليكم ورحمةًا من الله تعالى وبركاته.
أيها الأحباب تكملة للدورة التي قد بدأناها في تعليم لغة البرمجة autoit
ففي الدرس السادس
كنا قد تعرفنا على دالة MSGBox
وتعرفنا على كيفية استخدامها
وتطرقنا لكل خدماتها بالتفصيل الشامل
اليوم نبقى في نفس السياق
فسنتعرف اليوم على دالة مشابهة تقريبة
لاكن لها غرض آخر
ألا وهي الدالة التي تطلب من المستخدم كتابة أمر معين
Input box
أي مربعات الحوار
طبعا هذه سنحتاجها كثيرا في الدروس التالية
هي ورسائل المحاورة
لذا أرجو أن تعطو هذه الدروس إهتمام حتى لا تصعب عليكم الأمور في ما سيأتي
وأكرر
ما هذه سوى بدائيات اللغة
ولم ندخل إلى عمق اللغة بعد
لذا يجب أن نحسن التعامل مع البدائيات حتى يسهل علينا التعامل مع الأساسيات
ما هي مربعات الحوار input box
أخي العزيز لعلك في رحلتك مع البرامج صدفت برنامج يطلب منك تفعيل مثلا أو إدخال بيان محدد
وهذا في شاشة تحتوي على مربع للكتابة وزر موافق وإلغاء
هذه الشاشة هي شاشة مربع الحوار
input box
ما هي متطلبات هذه الدالة
عزيزي هذه الدالة لا تتطلب أي ملف إستدعاء
كيف يمكنني إنشاء هذه الدالة
عزيزي القارئ
لإنشاء مربع الحوار تحتاج لاستخدام دالة تسمى
INPUTBox
وشكل الدالة يكن كالتالي
InputBox ( “title”, “prompt” [, “default” [, “password char” [, width = -1 [, height = -1 [, left = Default [, top = Default [, timeout = 0 [, hwnd]]]]]]]] شرح إعدادات الدالة
title | عنوان النافذة |
prompt | الرسالة التي تريد إظهارها للمستخدم |
default | النص الذي تريد أن يكن مكتوب إفتراضيا, بإمكانك ترك عَلَمَتي تنصيص فارغتين إذا لم ترد أن يكن أي شيء مكتوب. |
password char | هذه الخانة تستخدم إذا أردت أن يكن مربع الحوار خاص بكلمة سر, حيث تكتب بين عَلَمَتي تنصيص الحرف الذي تريده أن يظهر للمستخدم عندما يقم بكتابة أي شيء, يعني على نفس شكل كلمة السر. طبعا يمكنك ترك عَلَمَتي تنصيص فارغتين إذا لم ترد جعل هذا المربع خاص بكلمة سر. |
width | عرض النافذة, إذا أردت أن تتركها على الإفتراضي أكتب القيمة ناقص 1 (-1) |
height | طول النافذة, إذا أردت أن تتركها على الإفتراضي أكتب القيمة ناقص 1 (-1) |
left | تحريك النافذة إلى اليمين, إذا أردت أن تتركها على الإفتراضي أكتب القيمة (default) |
top | ارتفاع النافذة, إذا أردت أن تتركها على الإفتراضي أكتب القيمة (default) |
timeout | وقت إختفاء النافذة بالثواني, حيث لو مرت هذه المدة ولم يكتب المستخدم شيء فسيتم إخفاء النافذة تلقائيا, القيمة الإفتراضية هي 0 |
hwnd | رمز النافذة, إن أردت ربط نافذة مربع الحوار مع نافذة موجودة بالفعل. |
الخانات التي لا يمكن تجاوزها في هذه الدالة هي
العنوان
النص
أما الباقي فاختياري
ملاحظة :
لا يمكنك القيام بضبط اعداد وتجاهل الاعداد الذي يسبقه
إذا لم ترد تغييره فيمكنك استبداله بقيمته الافتراضية.
طبعا المثال على الدالة سيكن أسفله
كيف يمكنني الحصول على النص الذي قام المستخدم بكتابته
عزيزي هذه الدالة يجب انشائها وربطها مع متغير إن أردت أن تحصل على الناتج.
فعلى سبيل المثال
local $input = inputBox(“name”, “يرجى كتابة إسمك”)
هنا أنا تجاهلت كل الإعدادات سوى العنوان والرسالة
وإذا أردت أن أحصل على الناتج فهو قيمة المتغير
$input
فمثلا لعرض الناتج في رسالة حوارية نقم بكتابة
local $input = inputBox(“name”, “يرجى كتابة إسمك”)
msgBox(0, “الإسم”, $input)
هنا سيتم عرض الناتج لك في رسالة عزيزي
طبعا إذا لم يكتب المستخدم شيء, أو قام بالضغط على إلغاء, أو انتهت فترة الإنتظار المحددة فالناتج يكن لا شيء.
أمثلة
عزيزي القارء سأقم هنا بتقديم أمثلة على كل ما درسناه اليوم
وسوف أضع زر لنسخ المثال لكي أسهل عليك التجربة
وفي الأمثلة سأحرص على استخدام ما رأيناه في الدرس السابق كذالك
المثال الأول
في هذا المثال سأقم بمطالبة المستخدم بكتابة إسمه
ثم أعرض الإسم في رسالة للمستخدم
#include
local $input = inputBox(“name”, “يرجى كتابة إسمك”, “”, “”, -1, -1, default, default, 0, “”)
MSGBox($MB_OK+$MB_ICONINFORMATION+$MB_SYSTEMMODAL, “الناتج”, $input, 0, “”)
المثال الثاني
هنا عزيزي سأقم بعرض مربع لكتابة اسم المستخدم
ثم آخر لكتابة كلمة السر
بعد كل مربع أضهر الناتج في رسالة
#include
local $UserName = inputBox(“إسم المستخدم”, “يرجى كتابة إسم المستخدم”, “”, “”, -1, -1, default, default, 0, “”)
MSGBox($MB_OK+$MB_ICONINFORMATION+$MB_SYSTEMMODAL, “الناتج”, $userName, 0, “”)
local $Password = inputBox(“كلمة السر”, “يرجى كتابة كلمة السر”, “”, “*”, -1, -1, default, default, 0, “”)
MSGBox($MB_OK+$MB_ICONINFORMATION+$MB_SYSTEMMODAL, “الناتج”, $password, 0, “”)
المثال الثالث
في هذا المثال سأقم بعرض المربع لمدة 10 ثواني
ثم يعطي الناتج
#include
local $input = inputBox(“تجربة”, “يرجى كتابة شيء”, “”, “”, -1, -1, default, default, 10, “”)
MSGBox($MB_OK+$MB_ICONINFORMATION+$MB_SYSTEMMODAL, “الناتج”, $input, 0, “”)
خاتمة
أخي ها قد وصلنا إلى نهاية هذا الدرس
لأي استفسار, طلب
فيمكنك كتابته في التعليقات أو في قسم الأسئلة الخاص باللغة في الموقع
وسأكن مسرور بالاجابة
ولأي اقتراح, انتقاد, أو تنبيه
فأرجو التواصل معي
وأسعد بالتواصل معكم بأي وسيلة متاحة.
لا تنساني أخي من دعائك الصالح
كما يرجا نشر الدورة حتى تعم الفائدة
ومسك الختام السلام
فالسلام عليكم ورحمة الله تعالى وبركاته