الموضوع السابق   الموضوع التالي 

نافذة إدخال مخصصة

Function: GetInput

الغرض
عرض نافذة مخصصة للحصول على إدخال من المستخدم بحيث يمكن التحكم في نوع و حجم البيانات المدخلة.


الصيغة

function GetInput(var AResult: string; APrompt: string; ACaption: string = 'إدخال بيانات'; ControlType: Integer = IPC_EDIT; AllowEmptyStr: Boolean = True; MaxLen: Integer = 0; Password: Boolean = False; ComboItems: TStringList = nil; Central: Boolean = True; PosX: Integer = 0; PosY: Integer = 0): Boolean;

function GetInput(var AResult: Integer; APrompt: string; ACaption: string = 'إدخال بيانات'; ControlType: Integer = IPC_EDIT; MaxLen: Integer = 0; Password: Boolean = False; ComboItems: TStringList = nil; Central: Boolean = True; PosX: Integer = 0; PosY: Integer = 0): Boolean;

function GetInput(var AResult: Real; APrompt: string; ACaption: string = 'إدخال بيانات'; ControlType: Integer = IPC_EDIT; MaxLen: Integer = 0; Password: Boolean = False; ComboItems: TStringList = nil; Central: Boolean = True; PosX: Integer = 0; PosY: Integer = 0): Boolean;

function GetInput(var AResult: TDate; APrompt: string; ACaption: string = 'إدخال بيانات'; Central: Boolean = True; PosX: Integer = 0; PosY: Integer = 0): Boolean;


الوسائط (Parameters)

AResult بارامتر متغير (var) حيث يتم تخزين إدخال المستخدم. هذا البارامتر يمكن أن يكون متغيراً من النوع string أو Integer أو Real أو TDate، و ذلك حسب الصيغة المستخدمة من الدالة.
APrompt نص الرسالة الموجهة إلى المستخدم في نافذة الإدخال.
ACaption بارامتر اختياري يحدد عنوان نافذة الإدخال. إذا أهملته فإن الدالة تستعمل عبارة "إدخال بيانات" كعنوان للرسالة.
ControlType بارامتر اختياري يحدد نوع عنصر الإدخال، و يمكن أن يأخذ إحدى القيم التالية:
IPC_EDITعنصر الإدخال عبارة عن مربع نص (Edit Box).
IPC_DDCOMBOعنصر الإدخال عبارة عن خانة ائتلاف (Combo Box) بحيث يمكن للمستخدم أن يختار من القيم الموجودة في اللائحة أو أن يكتب قيمة من عنده.
IPC_DDLISTعنصر الإدخال عبارة عن خانة ائتلاف (Combo Box) بحيث يمكن للمستخدم فقط أن يختار من القيم الموجودة في اللائحة.

إذا أهملت هذا البارامتر فإن الدالة تستعمل النوع IPC_EDIT، أي مربع نص. هذا البارمتر غير مستخدم مع الصيغة الخاصة بإدخال التواريخ.
AllowEmptyStr بارامتر اختياري يستعمل فقط مع الصيغة الخاصة بإدخال النصوص (strings)، و يحدد ما إذا كان من الممكن اعتبار النص الفارغ (Empty string) إدخالاً مقبولاً أم لا. إذا كانت قيمة هذا البارامتر True (الافتراضي) فإن النص الفراغ يعتبر إدخالاً مقبولاً، أي يمكن للمستخدم أن ينقر الزر موافق دون أن يكتب أي شيء في خانة الإدخال. أما إذا كانت قيمته False فلابد للمستخدم أن يكتب شيئاً ما في خانة الإدخال.
MaxLen بارامتر اختياري يحدد الحد الأقصى لعدد الحروف أو الرموز أو الأرقام المسموح للمستخدم بإدخالها. القيمة الافتراضية هي الصفر (0) و تعني أنه لا حدود لطول الإدخال. هذا البارامتر غير مستخدم مع الصيغة الخاصة بالتاريخ، و يتم إهماله إذا كانت قيمة البارامتر ControlType هي IPC_DDLIST.
Password بارامتر اختياري يحدد ما إذا سيتم إظهار الإدخال في شكل نص سري (على هيئة نجوم). القيمة الافتراضية هي False، و التي تعني أن النص يظهر كما تتم كتابته. هذا البارامتر غير مستخدم مع الصيغة الخاصة بالتاريخ، و يتم إهماله إذا كانت قيمة البارامتر ControlType هي IPC_DDLIST.
ComboItems بارامتر اختياري من النوع TStringList يحدد البنود التي سيتم تعبئتها في خانة الائتلاف (Combo Box) إذا كانت قيم البارامتر ControlType هي IPC_DDCOMBO أو IPC_DDLIST. و رغم أن النوع TStringList يمكن أن يقبل أي نصوص، فإن الصيغة الخاصة بإدخال الأعداد الصحيحة (Integer) تقوم تلقائياً باستبعاد أية بنود لا تمثل أعداداً صحيحة، و كذلك الحال مع الصيغة الخاصة بالأعداد الحقيقية (Real). هذا البارامتر غير مستخدم مع الصيغة الخاصة بالتاريخ، و يتم إهماله إذا كانت قيمة البارامتر ControlType هي IPC_EDIT.
Central بارامتر اختياري يحدد ما إذا سيتم إظهار نافذة الإدخال في وسط الشاشة أم لا. القيمة الافتراضية هي True، و تعني أن النافذة ستظهر في منتصف الشاشة، و في هذه الحالة يتم إهمال قيمة البارامترين PosX و PosY. إذا كانت قيمة هذا البارامتر False فإن النافذة تظهر عند الموقع المحدد بالبارامترين PosX و PosY.
PosX, PosY بارامتران اختياريان يحددان موقع النافذة على الشاشة إذا كانت قيمة البارامتر Central هي False.

الشرح
كما نرى، فإن لهذه الدالة أربع صيغ (للنصوص - string، و الأعداد الصحيحة - Integer، و الأعداد الحقيقية - Real، و التوريخ - Date) مع عدد كبير من البارامترات بحيث يمكننا التحكم في الإدخال المطلوب من المستخدم، كما أن الدالة تعرض رسائل تنبيه إذا لم يتقيد المستخدم بنوع الإدخال المطلوب.
الصيغة الخاصة بالتاريخ تقبل تواريخ في النطاق من 01/01/1900 إلى 31/12/2100.
إذا أدخل المستخدم أو اختار قيمة مقبولة و نقر الزر موافق (أو ضغط المفتاح Enter) فإن الدالة تخزن القيمة المدخلة في البارامتر AResult و تعيد True. أما إذا نقر المستخدم الزر إلغاء الأمر (أو ضغط المفتاح Escape) فإن قيمة البارامتر AResult لا تتغير و الدالة تعيد False.


 أعلى الصفحة
 الموضوع السابق   الموضوع التالي