هل الدوال
| اسم الدالة | VB 6 [ 1 ] [ 2 ] | VBA [ 3 ] | VBScript [ 4 ] | VB .NET | لغة T-SQL |
|---|---|---|---|---|---|
IsArray | نعم | نعم | نعم | نعم | لا |
IsDate | نعم | نعم | نعم | نعم | نعم |
IsDBNull | لا | لا | لا | نعم | لا |
IsEmpty | نعم | نعم | نعم | لا | لا |
IsError | نعم | نعم | لا | نعم | لا |
IsMissing | نعم | نعم | لا | لا | لا |
IsNothing | لا | لا | لا | نعم | لا |
IsNull | نعم | نعم | نعم | لا | نعم |
IsNumeric | نعم | نعم | نعم | نعم | نعم |
IsObject | نعم | نعم | نعم | لا | لا |
IsReference | لا | لا | لا | نعم | لا |
تُعرف هذه Isالدوال (المعروفة أيضًا بدوال معلومات البيانات ، [ 5 ] أو دوال فحص البيانات ، [ 6 ] أو دوال اختبار البيانات [ 6 ] ) بأنها مجموعة من الدوال في لغات البرمجة التالية : Visual Basic 6 و Visual Basic for Applications و VBScript و Visual Basic .NET من مايكروسوفت . كما يُوفر موفر بيانات .NET Framework لخادم Microsoft SQL Server عددًا منها في لغة Transact-SQL .
ما تفعله الوظائف
هذه الدوال هي دوال بسيطة للتحقق من صحة البيانات وأنواعها. تحدد دوال التحقق من صحة البيانات ما إذا كان من الممكن تحويل قيمة البيانات المُمرَّرة كوسيط للدالة إلى النوع المُشار إليه في اسم الدالة، وتُعيد Booleanقيمة تُسجِّل ما إذا كان التحويل ممكنًا أم لا. (لاحظ أن دوال تحويل البيانات الفعلية، مثل `if`، Oct()تُطلق استثناءات في حال تعذُّر التحويل. تسمح دوال التحقق من الصحة باختبار ما إذا كان التحويل سيفشل ، وتغيير مسار تنفيذ البرنامج في عبارة `if` ). Trueيشير `if` إلى إمكانية التحويل، Falseبينما يشير `if` إلى عدم إمكانية التحويل. وبالمثل، تُعيد دوال التحقق من النوع قيمة Booleanتُسجِّل ما إذا كان تعبير الوسيط من نوع مُحدد.
في لغة Transact-SQL، تُرجع الدوال صفرًا أو واحدًا بدلاً من Booleanالقيم Trueو False.
IsArray(name)- تُحدد هذه الدالة ما إذا كان اسم المتغير المُمرر كوسيط لها عبارة عن مصفوفة. تجدر الإشارة إلى أن المصفوفات غير المُهيأة ستُعاد
Falseمن هذه الدالة في Visual Basic .NET. [ 7 ] في Visual Basic 6، لا تُعتبر المصفوفات أنواعًا مرجعية، وستُعاد المصفوفة غير المُهيأةTrueمن هذه الدالة تمامًا كما تُعاد المصفوفة المُهيأة. [ 8 ] IsDate(expression)- تُحدد هذه الدالة ما إذا كان التعبير المُمرر كوسيط لها قابلاً للتحويل إلى متغير من النوع
Date، أو أنه بالفعل من النوعDate. يمكن بالطبع تحويل المتغيرات غير المُهيأة من النوع ، على الرغم من كونها غير مُهيأة، لذا ستُرجع هذه الدالة دائمًا قيمة خاطئة لهذه المتغيرات. [ 9 ] لاحظ أن السلاسل النصية التي تحتوي على يوم من أيام الأسبوع بالإضافة إلى تاريخ (مثل ) ستُرجع نتيجة فشل. [ 10 ] في VBScript وVisual Basic .NET، تستخدم عملية التحويل إعدادات اللغة في Microsoft Windows، مما يعني أن ما قد يُحلل كتاريخ على نظام مُهيأ لاستخدام لغة معينة، قد لا يُحلل كتاريخ على نظام آخر مُهيأ لاستخدام لغة مختلفة. [ 11 ] [ 12 ]DateTrue"Sat, October 12, 2010" IsDBNull(expression)- تحدد هذه الدالة ما إذا كان التعبير المُمرر كوسيط لها يُقيّم إلى
System.DBNull.Value. [ 9 ] وهذا يُعادلIsNull()دالة Visual Basic 6. [ 10 ] لاحظ أنه لا يُمكن مُقارنة تعبيرٍ ما مُباشرةً للتحقق من مُساواته معSystem.DBNull، لأن أي تعبيرٍ من الشكلx = DbNullسيُقيّم إلىDbNullببساطة لاحتوائه على قيمة فارغة.IsDBNull()هي الطريقة الوحيدة لاختبار المُساواة معSystem.DBNull. [ 12 ] IsEmpty(expression)- تُحدد هذه الدالة ما إذا كان التعبير المُمرر كوسيط لها متغيرًا غير مُهيأ. تجدر الإشارة إلى أن المتغير غير المُهيأ يختلف عن المتغير الذي تم تهيئته لاحتواء قيمة معينة
Null. [ 13 ] على الرغم من أن الدالة تأخذ تعبيرًا، وليس مجرد اسم متغير، فإن أي تعبير ليس مجرد اسم متغير يُعتبر غير مُهيأ. [ 11 ] كانت هذه الدالة متاحة في Visual Basic 6، ولكن تم استبدالها في Visual Basic .NET بالدالة [ 14 ]IsNothing(). في VBScript، إذا تم تعيين قيمة لمتغير ، فإن هذه الدالة لا تزال تُرجع قيمة معينة . [ 15 ]NothingFalse IsError(expression)- تحدد هذه الدالة، في لغة Visual Basic .NET، ما إذا كان التعبير المُمرر كوسيط لها كائنًا استثنائيًا، أي كائنًا من
System.Exceptionالفئة أو إحدى فئاتها الفرعية. [ 7 ] في Visual Basic 6، تختبر الدالة ما إذا كان التعبير متغيرًا منvbErrorالنوع الفرعي الخاص. [ 16 ] IsMissing(name)- تُحدد هذه الدالة ما إذا كان اسم المتغير المُمرر كوسيط لها وسيطًا اختياريًا لم يُمرر إلى الدالة من قِبل مُستدعيها. وتُرجع الدالة
Trueقيمة فارغة فقط إذا كان المتغير متغيرًا لم تتم تهيئته. هذه الدالة موجودة فقط في Visual Basic 6. أما في Visual Basic .NET، فيجب أن تحتوي المعاملات الاختيارية على مُهيئات افتراضية، وبالتالي لم تعد هذه الدالة موجودة. [ 17 ] IsNothing(expression)- تحدد هذه الدالة ما إذا كان التعبير المُمرر كوسيط لها يُقيّم إلى
Nothing. [ 9 ] وهي دالة مكتبة بسيطة (تتألف من 4 تعليمات CIL فقط ) يمكن كتابتها في Visual Basic على النحو التالي: [ 18 ] [ 19 ]يؤدي هذا إلى إرجاعدالة عامة مشتركة IsNothing ( ByVal Expression As Object ) As Boolean Return ( Expression Is Nothing ) End Function
Falseقيمة فارغة لجميع تعابير القيمة (غير المرجعية)، لأنها ستُغلّف، كجزء من استدعاء الدالة، في كائنات، والتي بطبيعتها لن تكون كائنات فارغة. [ 18 ] [ 19 ] لتجنب هذا السلوك، يمكن استخدامISعامل المقارنة لمقارنة كائن مباشرةً بنوع مرجعيNothing، بكتابة `null` بدلاً من `null` . سيُصدر المُصرّف خطأً أثناء وقت الترجمة إذا كان التعبير المُقارن قيمةً وليس نوعًا مرجعيًا، مُكتشفًا عدم تطابق النوع أثناء الترجمة بدلاً من إرجاع القيمة الفارغة أثناء وقت التشغيل. [ 20 ] تُعتبر السلاسل النصية أنواعًا مرجعية في Visual Basic .NET، وبالتالي يُمكن أن تكون فارغة (على عكس السلاسل النصية الفارغة تمامًا). بالنسبة لهذه السلاسل النصية، تُرجع هذه الدالة `null` . (أما بالنسبة للسلاسل النصية الفارغة، فتُرجع `null` ). [ 21 ] [ 18 ]expressionIS NothingIsNothing(expression)FalseTrueFalse IsNull(expression)- تحدد هذه الدالة ما إذا كان التعبير المُمرر كوسيط لها يُقيّم إلى قيمة فارغة
Null. القيمة الفارغة في أي تعبير فرعي من التعبير تجعل التعبير بأكمله يُعتبر فارغًا. [ 15 ] IsNull(expression1,expression2)- هذه الدالة، التي تأخذ وسيطين، خاصة بلغة Transact-SQL. على عكس دالة Visual Basic التي تحمل نفس الاسم، فهي لا تُرجع قيمة فارغة
Boolean، بل تُرجع التعبير الأول إذا لم يكن فارغًاNULL، وإلا تُرجع التعبير الثاني. [ 22 ] الغرض من هذه الدالة هو استبدال أيNULLقيم بقيمة أخرى، يُفترض (ولكن ليس شرطًا) أنها غير فارغةNULL. [ 23 ] وهي نسخة ذات وسيطين من الدالةCOALESCE(). IsNumeric(expression)- تُحدد هذه الدالة ما إذا كان بالإمكان تحويل التعبير المُمرر كوسيط لها إلى رقم (سواء كان حرفًا
ShortأوIntegerسلسلة نصيةLongأو رقمًاSingleأو رقمًاDoubleأوDecimalرقمًا) من حرف أو سلسلة نصية، أو ما إذا كان رقمًا بالفعل. [ 24 ] [ 25 ] في لغة Transact-SQL، يمكن تحويل السلاسل النصية إلى أرقام حتى لو احتوت على أحرف غير متوقعة في الأرقام. وذلك لأن Transact-SQL تسمح بالتحويل من أنواع البياناتmoneyالمختلفةsmallmoneyإلى أرقام، وقد تحتوي البيانات النقدية في شكل سلسلة نصية على رموز مؤشرات العملة مثل الرمزين '£' أو '$'. [ 26 ] وينطبق الأمر نفسه على VBScript، حيث تُعتبر أي سلسلة نصية يمكن تحويلها إلى قيمة عملة في اللغة المحلية الحالية سلسلة نصية رقمية. مع ذلك، لا تعتبر VBScript التواريخ والأوقات سلاسل نصية رقمية. [ 27 ] IsObject(expression)- تحدد هذه الدالة ما إذا كان التعبير المُمرر كوسيط لها كائنًا أم قيمة. [ 4 ] وهذا يُعادل
IsReference()دالة Visual Basic .NET. [ 10 ] IsReference(expression)- تحدد هذه الدالة ما إذا كان التعبير المُمرر كوسيط لها مرجعًا أم قيمة. [ 24 ] وهذا يُعادل
IsObject()دالة Visual Basic 6. [ 10 ]
مراجع
ما الذي يدعم ماذا
- ↑ ماركوس وليفي 2002 ، ص 750-751.
- ^ رومان وبتروشا ولوماكس 2002ب ، ص 394 وما يليها.
- ↑ هاريس 1999 ، ص 402-403.
- 1 2 Knittel 2002 ، ص. 609.
- ↑ هاريس 1999 ، ص 402.
- 1 2 بيري وهيتيهيوا 1998 ، ص 237.
- 1 2 رومان، بيتروشا ولوماكس 2002 أ، ص. 69.
- ^ رومان، بيتروشا ولوماكس 2002ب ، ص 394-395.
- 1 2 3 رومان، بيتروشا ولوماكس 2002 أ، ص. 86.
- 1 2 3 4 Petroutsos 2002 ، ص. 115.
- 1 2 لوماكس، تشايلدز وبتروشا 2003 ، ص. 341.
- 1 2 رومان، بيتروشا ولوماكس 2002 ب، ص 395.
- ↑ هاريس 1999 ، ص 416.
- ^ ويكفيلد وسوندر 2001 ، ص. 690.
- 1 2 لوماكس، تشايلدز وبتروشا 2003 ، ص. 342.
- ^ رومان، بيتروشا ولوماكس 2002ب ، ص 397.
- ^ بتروشا 2006 ، ص. 367,528,637.
- 1 2 3 بتروشا 2006 ، ص 438.
- 1 2 ستيل 2005 أ.
- ↑ ستيل 2005ب .
- ^ رومان، بيتروشا ولوماكس 2002ب ، ص 394.
- ^ إسرائيل وجونز 2001 ، ص. 476.
- ↑ برايس 2003 ، ص 119.
- 1 2 رومان، بيتروشا ولوماكس 2002 أ، ص. 87.
- ↑ بيتروتسوس 2002 ، ص 114.
- ↑ MSDN & 1 .
- ↑ لوماكس، تشايلدز وبتروشا 2003 ، ص 343.
المصادر المستخدمة
- هاريس، ماثيو (1999). سامز: تعلم برمجة مايكروسوفت إكسل 2000 بنفسك في 21 يومًا . سلسلة سامز للتعلم الذاتي. سامز. رقم ISBN 978-0-672-31543-5.
- إسرائيل، مارك؛ جونز، ج. ستيفن (2001). دليل دراسة تصميم شهادة MCSE: SQL Server 2000. سلسلة أدلة دراسة الشهادات. جون وايلي وأولاده. ISBN 978-0-7821-2942-7.
- نيتل، برايان (2002). "مرجع VBScript". ويندوز إكس بي من الداخل . دار نشر كيو. رقم ISBN 978-0-7897-2733-6.
- لوماكس، بول؛ تشايلدز، مات؛ بتروشا، رونالد (2003). VBScript باختصار . في سلسلة In a Nutshell ( الطبعة الثانية). دار نشر أورايلي ميديا. رقم ISBN 978-0-596-00488-0.
- ماركوس، ويليام؛ ليفي، أليكس (2002). برمجة فيجوال بيسك 6. دار نشر تاتا ماكجرو هيل. رقم ISBN 978-0-07-040290-4.
- بيري، جريج م.؛ هيتيهيوا، سانجايا (1998). سامز: تعلم فيجوال بيسك 6 بنفسك في 24 ساعة . سلسلة تعلم بنفسك في 24 ساعة ( الطبعة الثانية). دار نشر سامز. ISBN 978-0-672-31533-6.
- بيتروتسوس، إيفانجيلوس (2002). إتقان فيجوال بيسك دوت نت . سلسلة الإتقان. جون وايلي وأولاده. ISBN 978-0-7821-2877-2.
- بتروشا، رونالد (2006). فيجوال بيسك 2005: المرجع الكامل . ماكجرو هيل بروفيشنال. ISBN 978-0-07-226033-5.
- برايس، جيسون (2003). إتقان برمجة قواعد البيانات بلغة سي شارب . جون وايلي وأولاده. رقم ISBN 978-0-7821-4183-2.
- رومان، ستيفن؛ بتروشا، رون؛ لوماكس، بول (2002أ). مرجع لغة VB.NET المختصر . دار نشر أورايلي ميديا. رقم ISBN 978-0-596-00428-6.
- رومان ستيفن. بيتروشا، رون؛ لوماكس، بول (2002ب). لغة VB.NET باختصار . باختصار ( الطبعة الثانية). O'Reilly Media، Inc. ISBN 978-0-596-00308-1.
- ستيل، باتريك (31 مايو 2005). "هل هو لا شيء؟ بالتأكيد!" . مدونة باتريك ستيل الخاصة بـ .NET .
- ستيل، باتريك (2005-06-03). "تجنب IsNothing()" . مدونة باتريك ستيل الخاصة بـ .NET .
- ويكفيلد، كاميرون؛ سوندر، هينك-ايفرت (2001). لي ، وي منغ (محرر). دليل مطور الويب VB.net . سينجرس. رقم ISBN 978-1-928994-48-0.
- "ISNUMERIC (Transact-SQL)" . MSDN : SQL Server 2008: مرجع Transact-SQL . مايكروسوفت . 23 مايو 2023.
للمزيد من القراءة
وثائق مايكروسوفت على الإنترنت
- "
IsArrayالطريقة" . MSDN : مكتبة فئات إطار عمل .NET:Microsoft.VisualBasicمساحة الاسم . مايكروسوفت . - "
IsDateالطريقة" . MSDN : مكتبة فئات إطار عمل .NET:Microsoft.VisualBasicمساحة الاسم . مايكروسوفت . - "
IsDBNullالطريقة" . MSDN : مكتبة فئات إطار عمل .NET:Microsoft.VisualBasicمساحة الاسم . مايكروسوفت . - "
IsErrorالطريقة" . MSDN : مكتبة فئات إطار عمل .NET:Microsoft.VisualBasicمساحة الاسم . مايكروسوفت . - "
IsNothingالطريقة" . MSDN : مكتبة فئات إطار عمل .NET:Microsoft.VisualBasicمساحة الاسم . مايكروسوفت . - "
IsNumericالطريقة" . MSDN : مكتبة فئات إطار عمل .NET:Microsoft.VisualBasicمساحة الاسم . مايكروسوفت . - "
IsReferenceالطريقة" . MSDN : مكتبة فئات إطار عمل .NET:Microsoft.VisualBasicمساحة الاسم . مايكروسوفت .
آخر
- مايكروسوفت بيسك
