موسوعة الإلكترونيات الحرة وتعليم البرمجيات.

مواضيع جديدة

الأربعاء، 6 فبراير 2019

مربع الادخال Text Box والشريط Label


شرح مربع الادخال Text Box والشريط Label

 ما هو مربع الادخالText  في فيجوال بيسيك؟

هي أداة تضاف الى النموذج Form في فيجوال بيسيك بهدف اخال البيانات فيها كالأرقام، سواء أعداد حقيقية أم صحيحة، أو نصاً أو رمز أو أي مدخل من لوحة المفاتيح.

ما الهدف من استخدام مربع الادخال؟

توفير نافذة للمستخدم تتيح له ادخال البيانات من لوحة المفاتيح والتي تعتبر بدورها متغيرات ليتم التعامل معها برمجيا لأهداف مختلفة مثل ادخال العدد 3 لحساب مربعه أي العدد 9.

كيف يتم استدعاء وتعريف مربع الإدخال Text؟

من شريط الأدوات Toolbox يتم اختيار الأداة Text ورسمها وتحديد أبعادها باستخدام الفأرة Mouse، أما برمجيا فيتم تعريف واستدعاء الأداة Text كالتالي:
text1.Text

حيث أن الكلمة text1 هي اسم أول مربع ادخال تم ادراجه. أما الكلمة Text فهي العائلة التي ينتمي اليها صندوق الادخال text1.

كيف يتم تخزين قيمة من مربع الادخال text1 داخل متغير؟

نستخدم الأمر أو الدالة Val() والتي هي اختصار للكلمة Value أي قيمة ما داخل القوسين كما في المثال التالي:

عرف المتغير x على أنه عدد صحيح
Dim x As Integer 
استخرج القيمة المدخلة من text1 وخزّنها في x
x = Val(text1.Text) 
اطبع قيمة المتغير x
Print x

في المثال السابق، إذا قام المستخدم بإدخال أي عدد داخل مربع الادخال text1 فإن ذلك العدد سيتم تخزينه في المتغير الصحيح x باستخدام الدالة Val(text1.Text)، وبعدها ستتم طباعته كما في الأمر Print x. والشكل التالي يوضح المغزى:


كما نلاحظ أن الناتج المطبوع يأخذ مكانه دوما في الجزء الأيسر العلوي من الشاشة Form، لذلك يجب تخصيص مكان لوضع الناتج المحسوب داخله. وهنا يأتي دور الأداة Label، حيث يتم ادراجها من القائمة Toolbox الى أي مكان على سطح ال Form، وبالتالي نحدد في هذه الحالة أين نريد أن يكون الناتج أو الجواب المحسوب والمطبوع.

كيف يتم استدعاء الأداة Label برمجيا؟

عند فتح نافذة البرمجة، يتم استدعاء الـ Label1 بالأمر Label1.caption والـ Label2 بالأمر Label2.caption وهكذا.
أما إذا أردنا تخزين وطباعة ناتج المتغير X داخل label1 فنكتب الأمر التالي:
Label1.caption = X

مثال يشمل الأداة Text والأداة Label:

قم بإدخال أي عدد داخل مربع الادخال Text1 وعند الضغط على زر الـ Command1 قم بعرض الجذر التربيعي في label1 للعدد الذي تم إدخاله في Text1؟
عرف المتغير X على أنه عدد حقيقي (أي عدد)
Dim X as Double
استخرج القيمة المدخلة في مربع الادخال text1 وضعها في X
X = Val(text1.Text)
ضع قيمة المتغير X في شريط العرض Label1
Label1.caption = X

نلاحظ أنه في حال استخدام Label1.caption لم يتم التطرق الى الأمر Print، فالأمر البرمجي Label1.caption يقوم بعرض محتويات المتغير الذي تمت المساواة به مباشرة كما في المثال السابق.

مثال آخر فيه text1, text2 و label1

ماذا لو أردنا جمع العددين المدخلين في مربعي الادخال text1 و text2 على التوالي ووضع ناتج جمعهما في Label1 عند الضغط على الزر command1؟
في تلك الحالة سنقوم بكتابة الأوامر البرمجية التالية داخل الزر Command1
Private Sub Command1_Click()
Dim x As Double
Dim y As Double
    x = Val(Text1.Text)
    y = Val(Text2.Text)
Label1.Caption = x + y
End Sub
والشكل التالي يوضح الواجهة الرسومية الخاص للبرنامج أعلاه:


مقارنة بين الأداة Text والأداة Label:

الجدول التالي يوضح بعض من أوجه الاختلافات بين مربع الادخال text1 والشريط label1
وجه المقارنة
مربع الادخال Text1
الشريط Label1
رمز الأداة في شريط الأدوات
 

الهدف من استخدامها
تمكين المستخدم من ادخال البيانات بهدف معالجتها
عرض البيانات المخزنة أو التي تم معالجتها
إمكانية التعديل على البيانات بداخلها
يمكم التعديل
لا يمكن التعديل
إدخال البيانات
نعم
لا يمكن ادخال البيانات عن طريقه
استخدامها كمخرجات
نعم
نعم
طريقة الاستدعاء
بدلالة .Text
يتم العرض بدلالة Caption



ليست هناك تعليقات:

إرسال تعليق

???????