الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

المعطيات و التعامل معها امثلة و شروح

مغلق
بدأه Buffer في 11 ديسمبر 2004 · 5 رد · 865 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاته

الاخوة الاعزاء بادء دي بدء اود ان اهنئكم على هدا الموقع الرائع و الجهد المبدول فيه مشرفين و اعضاء و امنى ان تقبلوا بي اخا بينكم نتشارك ماتيسير لدينا من علم و معرفة و الله ولي التوفيق.

اود ان ابدء اول مشاركة لي بنشر شرح مبسط عن المعطيات و التعامل معها في لغة الفجوال بيسك و سيكون هدا الشرح مدعما بالامثلة و اتمنى من جميع الاخوة ممن لديهم اية اضافات ان يقوموا باضافتها لتعم الفائدة على الجميع.

كما يعلم معظمنا و للمبتدئين ان المعطيات التي نتعامل معها في الفجوال بيسك عديدة و قد نحتاج في اي من برامجنا او تطبيقاتنا الى التحويل بين انماط هده المعطيات.

كيف دلك ؟

هدا ماسنراه معا

التحويل بين انماط المعطيات

سنرى في هدا المثال طريقة بناء تطبيق للتحويل بين انماط المعطيات المختلفة في الفجوال بيسك.

سيكون المثال عن التحويل بين النمطين

Double

Integer

كما تجدون في اخر الشرح قائمة بالانماط و توابع تحويلها.

ننشأ على الفورم مايلي:

TextBox

Button

Label

اضغط مرتين على مربع الامر و اكتب مايلي:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Data1 As Double
        Dim Data2 As Integer
        Data1 = TextBox1.Text
        Data2 = Data1
        Label1.Text = Str(Data2)
    End Sub

نقوم في السطرين الاول و الثاني بحجز مساحة للمتغيرين اللدين نود التحويل بينهما

في السطر الثالث نسند القيمة الموجودة في مربع النص الى المتغير الاول

ثم في السطر الرابع نساوي بين المتغيرين

ثم نظهر نتيجة التحويل في اخر سطر

في المثال الثاني و الدي يقوم بنفس العمل سنقوم باضافة كود بسيط في اعلى محرر الكود وهو كالاتي:

Option Strict On

هدا الكود يعني بان فجوال بيسك لن يقوم بالتحويل بين الانماط بشكل تلقائي و عندها سنواجه مشكلة عند التعليمة المحددة للتحويل أي عندما نسند قيمة للمتحولين لتصجحيح الخطأ يجب تغيير الكود الى التالي باستخدام تابع تحول القيمة الممررة الى عدد صحيح من النمط Integer

و هو التابع CInt

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Data1 As Double
        Dim Data2 As Integer
        Data1 = Val(TextBox1.Text)
        Data2 = CInt(Data1)
        Label1.Text = Str(Data2)
    End Sub

لم تتغير بنية السطرين الاول و الثاني و لكن التغيير يبدأ من السطر الثالث حيث نحدد ان المتحول يساوي القيمة العددية في مربع النص

في السطر الرابع نصرح بان المتحول الثاني يساوي العدد الصحيح للمتحول الاول

ثم نظهر ناتج التحويل في السطر الاخير.

قد يتسال بعضنا مالعمل في حال نسيان احد توابع التحويل؟

الحل موجود و هو عن طريق استخدام التابع التالي ِCType

و يكون الكود على النحو التالي

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Data1 As Double
        Dim Data2 As Integer
        Data1 = Val(TextBox1.Text)
        Data2 = CType(Data1, Integer)
        Label1.Text = Str(Data2)
    End Sub

قائمة بالانماط و توابع تحويلها

CBool = Boolean

CByte = Byte

CChar = Char

CDate = Date

CDbl = Double

CDec = Decimal

CInt = Integer

CLng = Long

CObj = Object

CShort = Short

CSng = Single

CStr = String

تحويل الحروف من النسق الكبير الى النسق الصغير

في هدا المثال سنرى طريقة استخدام التابع (UCase)

و التي تستخدم للتحويل من الحروف الصغيرة الى الكبيرة

على الفورم قم بانشاء مايلي:

TextBox

Button

Label

قم بالضغط مرتين على زر الامر و اكتب الكود التالي :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim StrText1 As String
        StrText1 = TextBox1.Text
        Label1.Text = UCase(StrText1)
    End Sub

نقوم في مرحلة اولى بحجز الاسم StrText كمتغير من نوع String

ثم في المرحلة الثانية نصرح بان المتحول يساوي القيمة المدخلة في مربع النص

ثم النقطة الاخيرة و هي استخدام الدالة لتحويل ابيانات الى حروف كبيرة و اظهارها.

يمكن الاستغناء عن التصريح عن المتحول و دلك بكتابة مايلي:

Label1.Text = UCase(TextBox1.Text)

و لكن ينصح دائما بحجز مساحة للمتغيرات في فجوال بيسك و خاصة في البرامج الكبيرة.

يمكن استخدام هده الدالة في الحالات التي يريد صاحب البرنامج استخدام الحروف الكبيرة فقط لادخال البيانات و لايريد ان يتسبب بالازعاج للمستخدمين او في حالة كلمات السر .

توابع تحويل انماط المعطيات

Chr رمز محرف الى محرف

Format, LCase, UCase, String.ToUpper, String.ToLower, String.Format محارف كبيرة او صغيرة

DateSerial, DateValue تاريخ الى رقم

Hex , Oct رقم بالتمثيل العشري الى طريقة احرف التمثيل

Format, Str رقم الى سلسلة محارف

CBool, CByte, CDate, CDbl, CDec, CInt, CLng, CObj, CSng, CShort, CStr, Fix, Int نمط معطيات الى اخر

Asc محرف الى رمز المحرف

Val سلسلة محارف الى رقم

TimeSerial, TimeValue وقت الى رقم تسلسلي

التحقق من المعطيات

كل من هده التوابع يعيد القيمة True ادا كان الوسيط الممرر من القيمة المقابلة

IsArray () مصفوفة

IsDate () تاريخ

IsDBNull () قيمة Null من قاعدة البيانات

IsError ()خطأ

IsNumeric () قيمة رقمية

IsReference () متحول من النمطObject و غير مربوط بغرض فعلي و الا تعيد القيمة False

اتمنى ان يكون الشرح واضحا و ان تتحقق الفائدة المطلوبة من المشاركة.

أرجوا من الاخوة الخبراء اضافة تعليقاتهم لتعم الفائدة

يامال الشام ...

#2

ما شاء الله أخي الكريم، مشاركة رائعة وجهد مقدر، ويا ليت من الأخوة الزملاء قراءة المشاركة للإستفادة من تلك المعلومات الأساسية والتي يجب أن يتقنها كل راغب في تعلم المبرمجة.

أهلاً وسهلاً بك أخي Buffer في المنتدى، أهلاً وسهلاً، منتظرين مشاركات مستقبلية بنفس المستوى.

Learn Japanese :>>> http://www.nouben.com/

#3

شكرا على ردك اخي العزيز و اتمنى من جميع الاخوة المشاركة باضافة التعليقات و المزيد من الاكواد البرمجية المتعلقة بالموضوع لنناقشها و نستفيد منها لتعم الفائدة ...

و ان شاء الله المزيد من المشاركات في الطريق ...

يامال الشام ...

#5

جزاكم الله خيرا

#6

اهلا بيك اخى عزيزا و اتمنى لك التوفيق

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…