الدوال (التوابع) البرمجية للفيجوال بيسك


(م. عبد المنعم) #1






الدوال (التوابع) البرمجية
للفيجوال بيسك



تنقسم الدوال فى الفيجوال بيسك الى عدة انواع كما يلى :

1. الدوال الرياضية Mathematics Functions

2. دوال سلاسل البيانات String Functions

3. دوال الوقت والتاريخ Date and Time Functions

4. دوال التحقق من أنواع البيانات Data Type Inspection Functions

5. دوال المدخلات والمخرجات Program Output and User Input Functions

6. دوال مالية Financial Functions

7. ودوال متنوعة أخرى

وسنستعرض بعضاً منها …

(م. عبد المنعم) #2

اولاً : الدوال الرياضية

الدالة Abs : ترجع القيمة المطلقة لآي عدد وترجعه من نفس نوع البيانات المعطى للدالة والمقصود بالقيمة المطلقة هي قيمة العدد بدون إشارة .
فالقيمة المطلقة لـ (-13) مثلا هي (13) وهكذا, فمثلا لو كتبنا الكود التالي :
MyNumber=Abs(-45.6)
Text1.Text=MyNumber
فإن نتيجة تنفيذ الدالة هي MyNumber=45.6

ولاحظ أن القيمة المدخلة للدالة لابد أن تكون عدد أو تعبير عددي فإذا كانت القيمة المدخلة للدالة Null ( اى قيمه فارغة) ستكون النتيجة Null وإذا كانت القيمة المدخلة للدالة متغير فارغ أو لم يتم تعيين قيمة له ستكون النتيجة (0).

الدالة Sqr : تستخدم هذه الدالة في تحديد الجذر التربيعي لرقم معين وتأخذ الصورة العامة التالية :
MyNumber=Sqr(10)
Text1.Text=MyNumber
فإن نتيجة تنفيذ الدالة هي MyNumber=3.1622776

الدالة Log : تستخدم هذه الدالة في تحديد قيمة اللوغاريتم العشري لرقم وتأخذ الصورة العامة التالية :
MyNumber=Log (20)
Text1.Text=MyNumber
فإن نتيجة تنفيذ الدالة هي MyNumber=2.9957327

الدالة Exp : تستخدم هذه الدالة في تحديد القيمة (e) وهي قاعدة اللوغاريتم الطبيعي مرفوعة بقوة الرقم الذي تتضمنه حيث (e) تساوي تقريبا 2.7182818 وتأخذ الصورة العامة التالية :
MyNumber=Exp (رقم)

الدالة Rnd : وتستخدم هذا الدالة في توليد أرقام عشوائية تقع ما بين الصفر وواحد بحد أقصى 15 رقما عشريا وتأخذ الصورة العامة التالية :
MyNumber=Rnd (عدد)
فمثلا الدالة Rnd(10) قد تعطي رقما مثل 0.7055475
وعند تشغيل الدالة مرة أخري ينتج رقما آخر مثل 0.533424 وهكذا .
واذا اردنا مثلا توليد ارقام صحيحه عشوائيه بين الصفر والعشرة مثلا فستصبح كما يلى int(rnd * 10)

الدالة Int : وتستخدم هذه الدالة لحساب الجزء الصحيح فقط من رقم يشتمل علي أرقام صحيحة وعشرية أو بعبارة أخر لحذف الأرقام العشرية الموجودة بعد العلامة العشرية بدون تقريب وتأخذ الصورة التالية :
MyNumber=Int (332.54)
فإن نتيجة تنفيذ الدالة هي MyNumber=332

الدالة Atn : تستخدم هذه الدالة في حساب مقلوب ظل الزاوية “ظتا” للرقم الذي تشتمل علية مقدار بالتقدير الدائري وتأخذ الصورة العامة التالية :
MyNumber=Atn (رقم)

الدالة Tan : تستخدم هذه الدالة في تحديد قيمة ظل زاوية معينة وتأخذ الصورة العامة التالية :
MyNumber=Tan (رقم)

الدالة Cos : وتستخدم هذه الدالة في تحديد قيمة جيب تمام الزاوية معينة وتأخذ الصورة العامة التالية :
MyNumber=Cos (رقم)

الدالة Sin : تستخدم هذه الدالة في تحديد قيمة جيب زاوية معينة وتأخذ الصورة العامة التالية :
MyNumber=Sin (رقم)


والله الموفق

(م. عبد المنعم) #3

ثانياً : دوال سلاسل البيانات

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

الدالة Array : تحول عدة بيانات مدخلة كنصوص تفصلها فاصلة إلى مصفوفة ، يكون رقم أول عنصر فيها (Lower Bound) هو (0) .
فمثلا لو أدخلنا النص التالي إلى الدالة :
“Frist”,“Second”,“Third”,“Forth”
MyNumber= Array(“First” , “Second” , “Third” , “Forth” )
Print MyNumber(0)
Print MyNumber(1)
Print MyNumber(2)
Print MyNumber(3)
نرى أن النتيجة هي :
First
Second
Third
Forth

أي أن المتغير MyNumber يحمل مصفوفة ممتلئة بالنصوص المدخلة بعد أن تحولت إلى عناصر للمصفوفة .

لاحظ أن المتغير MyNumber كان من نوع Variant لأننا لم نعلن عنه . ويمكن للمتغير من هذا النوع أن يحمل مصفوفة وكذلك يمكن أن تكون المصفوفة من أي نوع آخر فالمصفوفة المستعملة في المثال هي مصفوفة نصية بينما لو كانت العناصر المدخلة أرقاما (لاستعملنا علامات التنصيص مع الأرقام حتى لا تعتبر نصوصا) لكانت مصفوفة من نوع Integer مثلا .

الدالة Asc : ترجع كود الرمز المدخل (ASCII Code) .
فمثلا الحرف A له الكود 65 فعند إدخال حرف A مثلا ستكون النتيجة 65 وهكذا … ( لاحظ أن حرف A يختلف عن حرف a في الكود) .
MyNumber = Asc(“a”)
تجد أن المتغير MyNumber أصبح يحمل القيمة 97 . وهكذا …
انتبه فيما لو غيرة الحرف من صغير إلى كبير ستتغير القيمة إلى 65 .

الدالة UCase : وظيفتها بسيطة جدا فهي ببساطة تحول حالة النص المدخل من حالة الأحرف الصغيرة (Small Letters) إلى حالة الأحرف الكبيرة (Capital Letters) .
فالمثال التالي يحول “taftaf1267” إلى "TAFTAF1267”
Ucase(“taftaf1267”)

الدالة LCase : تعيد الدالة LCase نسخة من النص string تكون فيه جميع الحروف صغيرة Lowercase المتغيرة myText .
في المثال التالي ستحتوي على عبارة it works :
myText = “It Works”
myText = LCase(myText)

الدالة chr : تقوم الدالة chr بأخذ قيمة بين 0 و 255 وتعيد الحرف الممثل لهذه القيمة في جدول رموز ASCII، على سبيل المثال العبارة التالية :
Hi,
I’m “TafTaf”
ستجد أنك لا تستطيع كتابتها بهذا الشكل :
myText = “Hi,” & vbCrLf & “I’m “TafTaf””
لأن البرنامج سيعتقد بأن نهاية السلسة النصية السابقة هي عند علامات الاقتباس التي تقع مباشرة قبل كلمة TafTaf وستظهر لك رسالة خطأ، لذلك فإننا نلجأ لاستخدام الدالة chr حيث أن رمز علامة الاقتباس المزدوجة في جدول ASCII هو 34، فتكون الصياغة الصحيحة للعبارة البرمجية السابقة كالتالي :
myText = “Hi,” & vbCrLf & "I’m " & chr(34) & “TafTaf” & chr(34)

الدالة Len : ستجد فيما بعد حاجة في كثير من الأحيان لمعرفة طول السلسلة النصية ( عدد الأحرف )، ولعمل ذلك استخدم الدالة Len، مرر إليها النص وستعيد لك عدد الحروف :
myLength = Len(“TafTaf”)

الدالة InStr : يمكنك بواسطة هذه الدالة معرفة أول مكان يظهر فيه نص ما ضمن نص آخر أكبر منه.
الوسيطة الأولى هي وسيطة اختيارية تحدد مكان بدء البحث، أما الوسيطة الثانية string1 فتحدد السلسلة النصية التي سيتم البحث فيها، والوسيطة الثالثة string2 تحدد السلسلة النصية التي سيتم البحث عنها في السلسلة الأولى، أما الوسيطة الأخيرة فهي اختيارية أيضا وتحدد نوع المقارنة التي يجب إجرائها وهي تأخذ أحد الثوابت التالية :
0 - vbBinaryCompare
1 - vbTextCompare
والفرق بينهما هو أن الأولى تراعي حالة الأحرف والثاني لا تراعي حالة الأحرف.

في المثال التالي الدالة i ستحتوي على القيمة 1 :
i = InStr(“TafTaf”,“T”)
وأما المثال التالي فستحتوي i فيه على القيمة 3 :
i = InStr(“aafTaf”,“T”)
حيث أن الدالة في المثال السابق ستبحث عن الحرف T بادئه من الحرف الثاني ولذلك فهي لن تجد الحرف الأول.

الدالة Str : قد تبدو الدالة Str متشابهة مع الدالة chr، إلا أنها تؤدي وظيفة مختلف تماما، فهي تحول الأرقام إلى سلاسل نصية، وهي تفيد مثلا في حال أردت أن تقوم بالتحام بين رقمين فتقوم بتحويل كل منهما إلى سلسلة نصية وتطبق بينهما جمع السلاسل ( & ) الذي يختلف عن جمع الأرقام وبالتالي تحصل على سلسلة جديدة يمكنك أن تحولها إلى رقم من جديد.
على سبيل المثال الدالة myNumber تحتوي على القيمة 123456 :
myNumber = Str(123) & Str(456)
ستواجهك مشكلة في الشفرة السابقة حيث يقوم فبجوال بيسيك بإضافة مسافة قبل كل سلسلة نصية تنتج من الدالة السابقة.

الدالة Left : حيث تقوم بوضع سلسلة نصية string وتحدد الجزء الذي تريد اقتطاعه من بداية السلسلة length، والتعبير بكلمة من بداية السلسلة أدق من يسار السلسلة لأن هذا قد يحدث اشتباها في السلاسل النصية للغات التي تكتب من اليمين إلى اليسار مثل العربية، هنا تعيد السلسلة العدد المحدد من الحروف من اليمين أي أنها لا تهتم لاتجاه ظهور أحرف السلسة وإنما اتجاه تخزينها، وللتخلص من هذه المشكلة سنقول بداية السلسلة .

الدالة Right : مطابقة للدالة Left في كل شيء، إلا أنها تأخذ العدد المحدد من الحروف من نهاية السلسلة.

الدالة Mid : تعيد الدالة Mid عددا من الأحرف قدره length بدءا من حرف معين هو start، في سلسلة نصية string .
لاحظ أيضا أن الوسيطة length اختيارية وإذا لم تمرر بها أي قيمة فإن الدالة ستعيد الأحرف إلى نهاية السلسلة .

في المثال التالي ستحتوي المتغيرة myText على العبارة I’m Taf :
myText = Mid(“I’m TafTaf”, 1, 7)
أما في المثال التالي فستحتوي على الكلمة TafTaf :
myText = Mid(“I’m TafTaf”, 5)

التصريح Mid : يقوم التصريح Mid باستبدال مقطع محدد من النص بنص آخر، وهو يكتب في صورة مشابهة جدا لطريقة كتابة دالة Mid ولكن توضع بعده علامة مساواة وبعدها العبارة الجديدة.

في المثال التالي ستحتوي المتغيرة myText على القيمة I’m TafTaf :
name = “TafTaf”
myText = “I’m name”
Mid(myText, 5) = name
حيث سيتم حذف الجزء المحدد بالخاصية Mid ويوضع الجزء الذي بعد علامة المساواة في مكان الجزء المحذوف .

الدالة strReverse 000 : تعيد السلسلة string معكوسة، أي تبدأ من البداية وتنتهي من النهاية، المتغيرة myText .
في المثال التالي ستحتوي على العبارة emoclew :
myText = strReverse(“welcome”)

الدالة Replace : وتقوم باستبدال النص string2 بالنص string3 ضمن السلسلة string1، أي أنها تبحث في النص string1 عن النص string2 وعندما تجده فإنها تحذفه منه وتضع مكانه string3، ويمكن تحديد نقطة بداية البحث بالوسيطة start، وعدد مرات الاستبدال القصوى بالوسيطة count، ضع القيمة -1 لاستبدال الكل، وطريقة المقارنة بالوسيطة compare كما ذكر سابقا.

المتغيرة myText في المثال التالي ستحتوي على القيمة Hi Everyone :
myText = Replace(“Welcome Everyone,”, “Welcome”, “Hi”, 1, -1)

الدالة Format : وتقوم هذه الدالة بتنسيق رقم أو سلسلة حروف أو التاريخ/الوقت الموجود في التعبير تبعا لتعليمات التنسيق الموجودة في الدالة نفسها . وتأخذ الصورة التالية :
MyDate = Format(Date, “dd-mmm-yyyy”)
Text1.Text = MyDate

الدالة Trim : تقوم هذه الدالة بحذف الفراغات الموجودة في الجهة اليسري و اليمني من سلسلة وتأخذ الصورة التالية :
MyText = Trim(" TafTaf ")
Text1.Text = MyText

الدالة Rtrim : تقوم هذه الدالة بحذف الفراغات الموجودة في الجهة اليمني من سلسلة وتأخذ الصورة التالية :
MyText = Rtrim("TafTaf ")

الدالة Ltrim : وتقوم هذه الدالة بحذف الفراغات الموجودة في الجهة اليسري و اليمني من سلسلة . وتأخذ الصورة التالية :
MyText = Ltrim(" TafTaf ")

الدالة Space : وتقوم هذه الدالة سلسلة فراغات محدده بالعدد الموجود بين الأقواس :
MyText =“I’m”+Space (2)+“TafTaf”

الدالة String : تقوم هذه الدالة بتكرار سلسلة بالعدد المحدد :
MyText =String (3,“T”)

الدالة StrComp : تقارن سلسلتين لتحدد هل هما متساويتين ثم تعيد رقما بنتيجة المقارنة وتأخذ الصورة العامة التالية :
MyText =StrComp(“TafTaf”,“TafTaf”)

والله الموفق


(م. عبد المنعم) #4

ثالثاً : دوال الوقت والتاريخ

وهى الدوال المسؤولة عن اخراج قيمة الوقت والتاريخ وكل ما يتعلق بهما فى البرنامج ، كما تكون مسؤولة ايضا عن طريقة تنسيقهما وهى كبيرة بعض الشئ لذلك رأيت ان نقسمها الى جزئين , وهذا هو الجزء الاول … فعلى بركه الله توكلنا …

الدالة Now : تعيد هذه الدالة تاريخ اليوم والوقت الحالي باستخدام ساعة الحاسب الذي تعمل عليه وتكون بالصورة التالية :
Label1.Caption = Now()

الدالة Time : تعيد هذه الدالة الوقت الحالي حسب ما هو مدون بساعة الحاسب الذي تعمل عليه وتكون بالصورة التالية :
Label1.Caption = Time()

الدالة Date : تعيد التاريخ الحالي حسب ما هو مسجل بالحاسب ويكون بالصورة التالية :
Label1.Caption = Date()

الدالة Day والدالة Month :
تعيد الدالة Day() رقما يقع بين 1 ، 31 يمثل ترتيب اليوم المقابل لقيمة تاريخية
بينما تعيد الدالة Month() رقما يقع بين 1 ، 12 يمثل ترتيب الشهر المقابل لقيمة تاريخية :

Label1.Caption =Day(Date())
Label1.Caption =Month(Date())

الدالة DateSerial : تعيد هذه الدالة التاريخ المسلسل المقابل لليوم والشهر والسنة المدون بين الأقواس وتأخذ الصورة التالية :
GetDate=DateSerial(2003,4,11)
MsgBox GetDate

الدالة TimeSerial : تعيد هذه الدالة الوقت المسلسل المقابل للساعة و الدقيقة و الثانية المدونة بين الأقواس وتأخذ الصورة التالية :
Get_Time=TimeSerial(12,59,20)
MsgBox Get_Time

الدالة DateValue : تعيد هذه الدالة التاريخ المقابل لتعبير معين وتأخذ الصورة التالية :
RelVal = DateValue(Now – 1(
MsgBox RelVal
Select Case RelVal
Case Is < Int(Now): Verb "كان "=
Case Is > Int(Now): Verb = “سيكون”
Case Else: Verb = “اليوم هو”
End Select

WhatDay = Format(RelVal, "dddd”)
MsgBox UserDate & Verb & WhatDay
ييبن هذا المثال تحديد يوم من أيام الأسبوع (أمس) بعد تحديد قيمة تاريخ اليوم (بفرض : الاثنين الموافق 2 سنة 1997) ثم طرح (1) منة يظهر الناتج في صورة رسالة بان أمس “كان الأحد” .

دوال Hour,Minute,Second,TimeValue:
Hour(رقم)
Minute(رقم)
Second(رقم)
TimeValue(تعبير)
تعيد هذه الدوال قيم الساعة ، الدقيقة ، الثانية أو الوقت .

Midnight=TimeValue(“23:59:59”)
HourDiff=Hour(Midnight)-Hour(Now)
MinuteDiff=Minute(Midnight)-Minute(Now)
SecondDiff=Scond(Midnight)-Second(Now)+1
If Second Diff=60 Then
MinuteDiff=MinuteDiff+1
SecondDiff=0
End If
If MinuteDiff=60 Then
HourDiff=HourDiff+1
MinuteDiff=0
End If
TotalMinDiff=(HourDiff*60)+MinuteDiff
Total SecDiff=(Total MinDiff*60)+SeconDiff
Msg=”إجمالي الوقت المتبقي علي منتصف الليل هو”& Format(Total SecDiff,”#,##0”)
Msg=Msg&”ثانية ، يمكن ترجمتها إلي”
Msg=Msg & HourDiff & “ساعة، ” & MinuteDiff
Msg=Msg & “دقيقة، و ” & SecondDiff & “ثانية”
Msg BoxMsg

يستخدم هذا المثال الدوال السابقة لتحويل الوقت المتبقي علي منتصف الليل إلى ثواني ثم ترجمة هذا الوقت إلى ساعات ودقائق وثواني في رسالة كهذه "إجمالي الوقت المتبقي علي منتصف الليل هو 79972 ثانية يمكن ترجمتها إلى 22 ساعة 12 دقيقة 25 ثانية " .

الدالة Weekday : تعيد هذه الدالة ترتيب اليوم بين أيام الأسبوع من التاريخ المدون بحقل التاريخ أو القيمة التاريخية باعتبار أن يوم الأحد رقم 1 والاثنين 2 … وهكذا
Label1.Caption = Weekday(#1/4/97#)

الدالة Year : تعيد هذه الدالة رقما يعبر عن السنة لتاريخ معين .
Label1.Caption = Year(#1/4/97#)

الدالة DateAdd : تعيد هذه الدالة تاريخ جديد بعد أن تضيف له قيمة جديدة وبصرف عن اسم هذه الدالة فهي تعمل مع كل من التاريخ و الوقت .

ويوضح الجدول التالي المقصود بالمعامل "الفاصل الزمني " و القيم التي يمكن تخصيصها له :

الفاصل الزمني التوضيـــــــــح
yyyy سنة
q ربع سنة
m شهر
y يوم في سنة
d يوم
w يوم من الأسبوع ( الأحد 1 ، والاثنين 2 … وهكذا
ww أسبوع
h ساعة
n دقيقة
s ثانية
Label1.Caption = DateAdd(“yyyy”, -10, Date(

وفي هذا المثال تعيد هذه الدالة السنة الحالية 2003 إلى 10 سنوات مضت 1993

الدالة DateDiff : تقوم هذه الدالة بإعادة الفرق بين تاريخين :
Label1.Caption = DateDiff(“y”, 2000, 2003(

بينما المثال التالي يحدد عدد الأسابيع وعدد الأيام ما بين أول أيام سنة 2003 وتاريخ اليوم :
Label1.Caption = DateDiff(“ww”, #4/5/2003#, Now())
Label2.Caption = DateDiff(“y”, #4/10/2003#, Now())

الدالة DatePart : تقوم هذه الدالة بإعادة جزء من التاريخ (مثل اليوم أو الشهر أو الأسبوع أو الساعة ) ويتم تعين هذا الجزء بواسطة الفاصل الزمني .

تعيد الدالة في هذا المثال رقم اليوم المحدد في حقل تاريخ الاعتماد (OrderDate )
Label1.Caption = DatePart(“w”, OrderDate)

وهكذا نكون قد انتهينا من اغلب دوال الوقت والتاريخ المستخدمه بشكل عام …

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


والله الموفق

(م. عبد المنعم) #5

رابعاً : دوال التحقق من انواع البيانات

الدالة IsDate : تقوم هذه الدالة باختبار تعبير التاريخ صحيح أم لا .
TestVar = InputBox(“أدخل التعبير المراد اختبار أنه تاريخ”)
If IsDate(TestVar) Then
MsgBox “هذا التعبير تاريخيا وهو كما يلي :” & Format(CVDate(TestVar), “dddddd”)
Else
MsgBox "هذا التعبير ليس تاريخيا "
End If

الدالة IsNull : تقوم هذه الدالة باختبار الحقل أو ما شابهه هل يوجد به بيانات أم لا .
If IsNull(Text1.Text) Then
MsgBox”لا يوجد بيانات داخل صندوق النص”
Else
MsgBox”يوجد بيانات داخل صندوق النص”
End If

الدالة IsEmpty : تقوم هذه الدالة باختبار هل المتغير استهل أم لا ؟ … وإرجاع القيمة True إذا كان المتغير قد استهل و القيمة False إذا لم يكن قد استهل .

فعلي سبيل المثال الإجراء الذي أعلن فيه عن المتغير لكن لم يخزن فيه أية بيانات يعتبر Empty .
وفي المثال التالي ستعرف لماذا يختلف المتغير الفارغ Empty عن العديم Null والصفري .
يوضح المثال التالي ما إذا كان المستخدم ادخل شيئا في الحقول أم لا ومنه تلاحظ ماذا يحدث عندما تطبق الدالة IsEmpty وعلي المتغير الذي لم يستهل فيه شئ .

Dim V1 As Variant, V2 As Variant,V3 As Variant, V4 As Variant
V1=0 ‘قيمة صفر
V2=Null ‘قيمة عديمة
V3=” “ ‘سلسلة عديمة-
If Is Empty (V1) Then
MsgBox “فارغ V1 المتغير”
End If
If IsEmpty (V2) Then
MsgBox “فارغ V2 المتغير”
End If
If Is Empty (V3) Then
MsgBox “فارغ V3 المتغير”
End If
If Is Empty (V4) Then
MsgBox “فارغ V4 المتغير”
End If
والمخرجات الوحيدة التي ستحصل عليها من هذا البرنامج كما يلي :
“فارغ V4 المتغير”
وذلك لأن كل المتغيرات الأخرى لديها نوع من البيانات أي أنه تم استهلالها فالمتغير V1 استهل بالصفر و المتغير V2 استهل بالقيمة العديمة والمتغير V3 استهل بالسلسلة العديمة أي أن كل متغير من هذه المتغيرات لدية قيمة مهما كان نوعها أما المتغير V4 فلم يستهل أصلا لأنه غير موجود في منطقة الإعلان عن المتغيرات .

الدالة IsNumeric : تستخدم لمعرفة ما إذا كان تعبير معين يدل على عدد أم لا فنحن ندخل للدالة تعبير من نوع Variant أو String فتختبر الدالة هذا التعبير هل يمكن التعامل مع هذا التعبير كعدد أم لا فإذا كان يمكن التعامل معه كعدد فإن الدالة IsNumeric ترجع بالقيمة True وإذا كان التعبير لا فإن الدالة ترجع بالقيمة False .

فمثلا في المثال التالي كان المتغير ric من نوع String ويحمل عدد معين و نريد أن نختبر هذا العدد هل يمكن التعامل معه كعدد أم لا وفي حالتنا هذه سوف تكون قيمة المتغير True لان المتغير ric يصلح لأن يكون عدد
Dim ric as string
ric=“7.1342”
TafTaf=IsNumeric(ric)
ستكون النتيجة هنا True لأن المتغير ric يحمل عددا بالفعل .

Dim ric as string
ric=“LM7.1342”
TafTaf=IsNumeric(ric)
ستكون النتيجة هنا False لأن المتغير ric لا يحمل عددا فقط بل عدد مع أحرف وهذا غير صالح للتعامل معه كعدد .

والمثال التالي يختبر محتويات المتغير Avar ليحدد هل يمكن تحويل محتوياته إلى نوع رقمي أم لا ثم يظهر رسالة بالنتيجة بناء علي نتيجة الاختبار .

Avar = InputBox$(“أدخل رقما أو حرفا أو رمزا .”)
If IsNumeric(Avar) Then
MsgBox “بيانات رقمية”
Else
MsgBox “بيانات غير رقمية”
End If

الدالة VarType : تستخدم هذه الدالة في معرفة نوع بيانات المتغير :
Function IsReal(VarArg As String)
If VarType(VarArg) = 4 Or VarType(VarArg) = 5 Then
IsReal = True
Else
IsReal = False
End If
End Function


م ن ق و ل
والله الموفق

(hendokasha) #6

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


(kanaree) #7

يا جماعة في دالة تعبر عن ( ln ) مثل الموجودة في الالة الحاسبة ؟؟؟

واذا مش موجودة كيف بدي أعبر عنها في لغة الفيجيوال بيسك ؟؟؟

ولكم الشر الجزيل…


(قرصان اليمن) #8

يا سلام على الشرح الراقي


(madjid) #9

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


(sabreen) #10

(amr_cutie) #11

thanxxxxxxxx ya bashaaaaaa


(Eng.MK) #12

بجد تسلم ايديك عالموضوع الجمييييييييييل جدا دا يا بشمهندس


(system) #13

تسلم ايدك مشكور