اجعل رورو44 صفحتك الرئيسية | احفظ رورو44 في مفضلتك | ارسل رورو44 إلى صديقك | أعلن على رورو44 | English Interface

 

 

 

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

مواقع سعودية | مواقع كويتية | مواقع بحرينية | مواقع قطرية | مواقع عمانية | مواقع يمنية | مواقع عراقية | مواقع اماراتية

 
    دروس في برمجة المواقع  في بي سكربت - VB Scripts
 

 

سلسلة تعلم VBScript – الجزء الثاني - الإجراءات المعرفة ضمن لغة VBScript



 

الدرس السابع: تابع.. الإجراءات المعرفة ضمن لغة VBScript

لاحظنا في الدرس السابق مجموعة من الدوال المعرفة داخل لغة VBScript والمتعلقة بالوقت والتاريخ.. في هذا الدرس سأحاول إكمال بقية الدوال الأخرى. وقد قمت بتقسيمها إلى فئات لتسهيل الوصول إليها ..... ولقد لاحظت في الدرس السابق أن سرد كافة متعلقات الدالة –كمرجع- يؤدي إلى تضخم حجم الدرس دون زيادة للفائدة، حيث انه يمكن استيعاب مبدأ معظم الدوال من خلال مثال بسيط بعد شرح الوظيفة وهذا ما سأقوم باتباعه في هذا الدرس.

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

الدوال النصية :

     تمكنك لغة VBScript من التعامل مع النصوص من خلال مجموعة من الدوال المعرفة مسبقا وهذه الدوال تجعلك قادرا على إجراء عمليات عديدة على النصوص ولكنها لا تضاهي إمكانية معالجة النصوص من خلال التعبيرات القياسية Regular Expression والتي توفرها لغة من خلال كائنات مبنية داخل اللغة، سنتطرق لها في الجزء الثالث –بإذن الله- وفيما يلي مجموعة الدوال المتعلقة بالنصوص..VBScript

مثال

الوظيفة

الدالة

'Return 7
MsgBox 
InStr("www.c4arab.com","a")

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

Instr

'Return 9
MsgBox 
InStrRev("www.c4arab.com","a")

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

InStrRev

'Return VB4arab.com
Msgbox 
Replace("C4arab.com","C","VB")

استبدال سلسلة نصية بأخرى

Replace


MsgBox strComp("ab","AB") '1 الأيسر هو الأكبر
MsgBox 
strComp("AB","ab") '-1 الأيمن هو الأكبر

المقارنة بين سلسلتين نصيتين

strComp

MsgBox strReverse("bara4C") 'C4arab

تعيد مقلوب سلسلة نصية

StrReverse

MsgBox LTrim(" C4arab") ' "C4arab"

إزالة المسافات البيضاء من يسار السلسة النصية

LTrim

MsgBox RTrim("C4arab ") ' "C4arab"

إزالة المسافات البيضاء من يمين السلسة النصية

RTrim

MsgBox Trim(" vb4arab ") '"vb4arab"

تقوم بإزالة المسافات البيضاء على جانبي السلسة النصية

Trim

MsgBox Left("C4arab.com",6) ' Return C4arab

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

Left

MsgBox Left("www.C4arab.com",6) ' Return C4arab

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

Right

MsgBox Mid("www.C4arab.com",5,6) ' Return C4arab

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

Mid

Dim Arr(1)
Arr(0) = "Read"
Arr(1) = "Only"
MsgBox 
Join(Arr,",") 'Read,Only

تعيد سلسلة نصية تمثل ناتج دمج عناصر مصفوفة

Join

sArr = Split("www.C4arab.com", ".")
For i = 0 To UBound
(sArr)
 MsgBox sArr(i)
Next

تقوم بتجزئة سلسلة نصية بناء على عبارة معينة وإضافة الأجزاء إلى مصفوفة(عكس السابقة)

Split

MsgBox LCase("C4ARAB") 'C4arab

تحويل حروف السلسلة النصية إلى أحرف صغيرة

LCase

MsgBox UCase("vb4arab") 'VB4ARAB

تحول أحرف السلسلة النصية إلى أحرف كبيرة

UCase

'Return >> hello      World
MsgBox "Hello" & Space(5) & "World"

تعيد سلسلة نصية تمثل عددا من محارف المسافة " "

Space

MsgBox String(5,"A") 'AAAAA

تعيد سلسلة نصية مكونة من تكرار محرف معين

String

MsgBox Len("C4arab") 'Return 6

إيجاد عدد المحارف في سلسلة نصية

Len

MsgBox Asc("A") 'Return 65
MsgBox
Asc("a") 'Return 97

إيجاد المناظر الرقمي لمحرف محدد في جدول آسكي

Asc

For I =0 to 255
  Document.write
Chr
(I) & " , "
Next

إيجاد المحرف المناظر للرقم الممر كوسيطة، حسب جدول آسكي

Chr

MsgBox FormatCurrency(55)

تنسيق قيمة كعملة حسب إعدادات النظام

FormatCurrency

MsgBox FormatDateTime(Date,vbShortDate)
MsgBox
FormatDateTime(Time,vbLongTime)

تعيد سلسلة نصية منسقة كوقت أو تاريخ

FormatDateTime

MsgBox FormatNumber(1.3)
MsgBox
FormatNumber(13)

تعيد سلسلة نصية منسقة كرقم

FormatNumber

MsgBox FormatPercent(16/32)

تعيد سلسلة نصية منسقة كنسبة مئوية

FormatPercent

الدوال الرياضية...

مثال

الوظيفة

الدالة

MsgBox Abs(-1.1) 'Return 1.1

تعيد القيمة المطلقة لقيمة معطاة

Abs

MsgBox Sqr(81) ' Return 9

تعيد الجر التربيعي للقيمة المعطاة

Sqr

MsgBox Sin(4)

تعيد جيب الزاوية (القيمة المعطاة) بالراديان

Sin

Pi =22/7
msgbox
Cos(0 * pi /180) 'Return 1

تعيد جيب تمام الزاوية

Cos

MsgBox Tan(0) ' Return 0

تعيد ظل الزاوية (القيمة المعطاة)

Tan

MyHSin = (Exp(1.3)- Exp(-1 * 1.3)) / 2

تعيد الدالة الأسية لقيمة معطاة

Exp

MsgBox Log(2.718282)

تعيد اللوغاريتم الطبيعي للقيمة معطاة

Log

MsgBox Fix(2.3) 'Return 2
MsgBox
Fix(-1.6) 'Return -1

تعيد الجزء (القيمة) الصحيح من قيمة معطاة

Fix

MsgBox Int(2.3) 'Return 2
MsgBox
Int(-1.6) 'Return -2

تعيد الجزء (القيمة) الصحيح من قيمة معطاة

Int

MsgBox Round(3.2357,2) 'Return 3.24

تعيد ناتج تقريب القيمة المعطاة

Round

MsgBox Sgn(3) ' Return 1
MsgBox
Sgn(0) ' Return 0
MsgBox
Sgn(-3) ' Return -1

تعيد قيمة تمثل إشارة العدد

Sgn

Randomize
MsgBox
Int(Rnd * 10)

تعيد رقما عشوائيا اصغر من 1 واكبر من أو يساوي 0

Rnd

Randomize
MsgBox
Int(Rnd * 10)

تؤسس نقطة بدء عشوائية

العبارة
Randomize

 
دوال للتعامل مع المتغيرات...

  لا شك انك لاحظت أن لغة VBScript لا تتطلب منك تحديد نوع المتغير أي أنها تعتبر جميع المتغيرات من نوع Variant متنوع ويمكن للغة التعرف على نوع المتغير من خلال القيمة المسندة، وهناك دوال تستخدم لتغيير نوع المتغير من نوع إلى آخر، وسيتم تغيير محتويات المتغير إلى الشكل الملائم للمدى الجديد للمتغير، لاحظ المثال..

Dim variable
variable = 1.5
variable = 
CInt(variable

MsgBox variable 
'Return 2

تلاحظ أن المتغير تم تقريبه لان العدد 1.5 لا يمكن أن يكون من نوع Integer عدد صحيح، ولذلك تم تقريبه... والجدول الموجود على الرابط يوضح أنواع المتغيرات ومدى كل متغير...
وفيما يلي مجموعة الدوال التي تقوم بتغيير نوع المتغيرات من نوع لآخر.
عملية تغيير نوع المتغير إلى أنواع أخرى

variable = CBool(variable'Boolean قيمة منطقية
variable = 
CByte(variable'Byte رقم من 0إلى 255
variable = 
CDate(variable'Date وقت أو تاريخ
variable = 
CDbl(variable'Double عدد ذو دقة مزدوجة
variable = 
CInt(variable'Integer عدد صحيح
variable = 
CLng(variable'Long عدد صحيح طويل
variable = 
CSng(variable'Single عدد ذو دقة وحيدة
variable = 
CStr(variable'String سلسلة نصية

ويمكن التأكد من نوع متغير هل هو من النوع معين أم لا، من خلال بعض الدوال ذات البادئة Is وهي كالتالي ..

 

Msgbox IsObject(variable' إذا كان المتغير من نوع كائن true
Msgbox 
IsDate(variable' إذا كان المتغير من نوع تاريخ true
' إذا كان المتغير يحوي قيمة يمكن تحويلها إلى رقم true
MsgBox 
IsNumeric(variable
variable = "11A"
MsgBox 
IsNumeric(variable' False

variable = "1112"
MsgBox 
IsNumeric(variable' True

ويمكن تحديد نوع المتغير من خلال الدالة TypeName لاحظ المثال...

Dim variable
variable = 1.5
MsgBox 
TypeName(variable'Double

variable = "C4arab.com"
MsgBox 
TypeName(variable'String

دوال متنوعة:

مثال

الوظيفة

الدالة

MsgBox Hex(15) ' Return F

تعيد قيمة تمثل نتيجة تحويل القيمة المعطاة إلى النظام السادس عشري.

Hex

MsgBox Oct(9) '' Return 11

تعيد قيمة تمثل نتيجة تحويل القيمة المعطاة إلى النظام الثماني.

Oct

For I = 1 to 255
Document.BgColor = RGB(255-I,255-I,255-I)
Next

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

RGB

Dim sTxt(3)
MsgBox
UBound(sTxt) 'Return 3

إيجاد الحد العلوي لمصفوفة

UBound

Dim sTxt
sTxt =
Array
("A","B","C")
MsgBox sTxt(1)
'Return B

MsgBox
UBound(sTxt) 'Return 2

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

Array

ملاحظات عامة:

  • يمكن الاطلاع على أمثلة لبعض الدوال السابقة من خلال الرابط ، تأمل طريقة التنفيذ، وحاول توظيف الدوال حسبما يفيد شيفرتك، فعلى سبيل المثال، الدالة UCase وظيفتها تحويل حروف النص إلى أحرف كبيرة، ولكن يمكنك توظيف الدالة لتنفيذ أمر أهم وهو التحقق من قيمة معينة، لأنه ربما تكون كلمة المرور هي مثلا C4arab (لاحظ أن الحرف C من الأحرف الكبيرة) ويقوم المستخدم بإدخال الكلمة بهذا الشكل c4arab فسيقوم البرنامج عندها باعتبار أن كلمة المرور خاطئة ويمكننا استعمال الدالة السابقة لتلافي المشكلة كالتالي ....

password = "C4ARAB.COM"
check = InputBox("ادخل كلمة المرور")
If Ucase(check) = Password Then
msgbox "كلمة المرور صحيحة"
Else
msgbox "كلمة المرور خاطئة"
End IF

تطبيق:

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

  • كفكرة أولية ستفكر بإنشاء مصفوفة تحتوي على العناصر النصية وتقوم بترقيمها ولكنك عند التعديل ستواجه بعض الصعوبة لأنك ستضطر إلى تغيير الحد العلوي للمصفوفة أي تغيير القيمة عند التصريح، هذا إلى جانب إضافة العبارة في بند جديد كالتالي:

'لابد من زيادة الحد العلوي عند إعادة التصريح
Dim sQuotes(1) 
sQuotes(0) = "سبحان الله"
sQuotes(1) = "الحمد لله"
'وهكذا

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

Randomize
Dim iRndNum,sQuotes
sQuotes = Array("الحمد لله", "سبحان الله", _
"الله أكبر", "لا إله إلا الله" _
, "سبحان الله وبحمده")
'ويمكن زيادة العناصر بإضافتها بين علامتي تنصيص

iRndNum = Int(Rnd * (UBound(sQuotes)+1))
document.
Write sQuotes(iRndNum)

أيضا تستطيع وضع العناصر في متغير نصي بالتتالي والفصل بينها بفاصلة لتكون أساس التقسيم واستخدام الدالة Split لإضافة العناصر إلى مصفوفة وهذا الحل به نفس العيب السابق.

كطريقة أخيرة سنضع العبارات في "منطقة نصية" TextArea (أحد عناصر تحكم لغة HTML) والذي تمكننا محررات صفحات ويب من تحرير بياناته بسهوله واحد هذه المحررات المحرر الذي تحدثنا عنه في بداية الموضوع (MDE)، وعند الحاجة للعبارات، نقوم بتقسيمها إلى عناصر في مصفوفة أيضا يجب علينا إخفاء المنطقة النصية أثناء التنفيذ ويتم ذلك من خلال الخاصية Display التابعة للأنماط الديناميكية dynamic style التي أضافتها لغةHTML الديناميكية لعناصر تحكم HTML .. لاحظ المثال التالي..

 



المزيد من المواضيع

سلسلة تعلم VBScript – الجزء الثالث - :نظرة لبعض تطبيقات اللغة.
سلسلة تعلم VBScript – الجزء الثالث - :المزيد عن الكائنات.
الدرس الثاني عشر:نظرة لبعض تطبيقات اللغة.
سلسلة تعلم VBScript – الجزء الثالث - : مكوناتCOM، استخدامها و بنائها
سلسلة تعلم VBScript – الجزء الثالث - الكائنات والأصناف
سلسلة تعلم VBScript -الجزء الاول - المبادئ
سلسلة تعلم VBScript – الجزء الثاني - الدوال والإجراءات الفرعية
سلسلة تعلم VBScript – الجزء الثاني - التكرار
سلسلة تعلم VBScript – الجزء الثاني - الجمل الشرطية
سلسلة تعلم VBScript – الجزء الثاني - مفاهيم اللغة.
سلسلة تعلم VBScript -الجزء الاول - الاسس

1

 

الاقسام الرئيسية

دروس للمبتدئين

--

دروس في أنظمة التشغيل

--

دروس في الانترنت

--

دروس في لغات البرمجة

--

دروس في برمجة المواقع

--

دروس في الأوفيس

--

دروس في الرسوم و التصميم

--

دروس في قواعد البيانات

--

دروس في الألعاب والبرامج

--

دروس في المكونات الصلبة

--

دروس في الشبكات

--

دروس في أمن المعلومات

--

دروس في الذكاء الاصطناعي

--

القائمة البريدية

  فضائح | ماسنجر | تداول | الحياة الزوجية | عجائب وغرائب| دروس تعليمية | عالم حواء | فضائح الفن | ستار اكاديمي | نكت | برامج | صور | | شات سعودي | شات عربي | ماسينجر | مسجات | دليل مواقع | دليلك | مواقع سعودية | مواقع كويتية | مواقع بحرينية | مواقع قطرية | مواقع عمانية | مواقع يمنية | مواقع عراقية | مواقع اماراتية | دردشة خليجية | دردشة سعودية | دردشة عربية | شات صوتي | دردشة صوتية | دردشة كويتية | دردشة اماراتية | دردشة عمانية | دردشة قطرية | دردشة بحرينية | دردشة عراقية | دردشة يمنية | سكس | طريق الاسلام, انا مسلم , طريق الهدايه , مسلمون , منوعات اسلاميه | اسلاميات , برامج اسلامية , منوعات اسلامية | جنس | الاسرة المسلمة , الاسرة العربية , اسرتي , عائلتي | برامج الاسره , نصائح معلومات , اسرة عربية سعودية خليجية | دروس تعليمية , مكتبة الدروس التعليمية | شروح برامج , شرح برامج , دورات تعليميه | طب وصحه - المركز الطبي | طبيبك على الانترنت , معلومات طبية , معلومات صحيه

Roro44.com xml :                            

شات سعودي | شات عربي | شات خليجي | العاب | دردشات | العاب بنات

 |  اشهر موقعك | احصائيات الموقع | اسعار الاعلانات |  لمراسلة الإدارة  |

:: ©2007-2003 www.roro44.com All rights reserved ::