دروس كمبيوتر وصيانة دروس حاسب دروس مجلة  درس نيوك phpnuke الدروس دروس مسنجر MSN - yahoo - Gmail دروس منتديات vBulletin دروس الجوالات والهواتف دروس السي بنل cpanel دروس اكسس access دروس بيونت شوب برو - point shop pro دروس برمجة php - mysql دروس برامج منوعة software دروس ثري دي ماكس 3D max دروس جافا سكريبت JavaScript دروس دريم ويفر DreamWeaver دروس شبكات Networks دروس سويش - swish دروس فلاش - flash دروس فيجوال بيسك Visual Basic دروس فرونت بيج - frontpage دروس فوتوشوب photoshop دروس هكر hacker crack virus
سلسلة تعلم VBScript – الجزء الثاني - الدوال والإجراءات الفرعية - دروس تطوير المواقع والمنتديات
اعمال السعودية ينتهي في 8\10\1429 هـ روح القصيد ينتهي في 3\11\1429 هـ  ينتهي في20\10\1429 هـ
الحمادين ينتهي في 8\10\1429 هـ جريمة هزت مدينة الرياض ينتهي في 3\11\1429 هـ الجيل الجديد لخدمات الانترنت 8-8-1429
للاعلان بالموقع سعر الاعلان 400 ريال في كافة اقسام موقع مدرسة المشاغبين جويا نتهي في 20\10\1429 هـ للاعلان بالموقع سعر الاعلان 400 ريال في كافة اقسام موقع مدرسة المشاغبين
للاعلان بالموقع سعر الاعلان 400 ريال في كافة اقسام موقع مدرسة المشاغبين منتديات دلوعتي ينتهي في 16\11\1429 هـ للاعلان بالموقع سعر الاعلان 400 ريال في كافة اقسام موقع مدرسة المشاغبين
احصائيات سريعة
اقسام على الموقع
دروس في أنظمة التشغيل | ماي سكيول - MySQL | لفيجوال بيسك - Visual Basic | المات لاب Matlab | اللينكس و اليونكس | الاسمبلي - ASSEMBLY | الاوتلوك - Outlook | البرمجة تحت اللنكس -Linux Programming | البرمجة تحت وندوز بواسطة دوال ال win API | البرمجة في بيئة الدوت نت .Net | التصمبم والرسوم | الدلفي - Delphi | الجافا - Java | السي - C | الصوت و الصورة | الوورد - Word | القسم العام للأوفيس | الكوبول - COBOL | control panel-ftp | اوراكل - Oracle | اكسل - Excel | تحميل الملفات | برامج متنوعة | برامج التصفح | برامج الحماية | برامج إنترنت | تعرّف على الويب | بوربوينت - Power Point | images | دروس : كمبيوتر وصيانة | دروس مجلة نيوك phpnuke | دروس مسنجر MSN - yahoo - Gmail | دروس منتديات vBulletin | دروس الجوالات والهواتف | دروس السي بنل cpanel | دروس اكسس access | دروس بيونت شوب برو - point shop pro | دروس برمجة php - mysql | دروس برامج منوعة software | دروس ثري دي ماكس 3D max | دروس تطوير المواقع والمنتديات | دروس جافا سكريبت JavaScript | دروس دريم ويفر DreamWeaver | دروس شبكات Networks | دروس سويش - swish | دروس فلاش - flash | دروس فلاش mx | دروس فى نظام الوندوز WINDOWS | دروس فىالباسكال - Pascal | دروس فيجوال بيسك Visual Basic | دروس فرونت بيج - frontpage | دروس فوتوشوب photoshop | دروس هكر hacker crack virus | سي ++ | سي شارب - #C | فيجوال سي ++ - ++ Visual C | قسم البرمجة العام | دروس فى لغة HTML
البحث في المواد

اكثر المحتويات زيارة
الدوال في الاكسل (6,947 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (4,581 مشاهده)
الدرس الثالث : بعض تطبيقات الدوال في اكسل (3,342 مشاهده)
شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (2,707 مشاهده)
تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (2,653 مشاهده)
تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (2,632 مشاهده)
الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (2,547 مشاهده)
أنواع العلاقات وطريقة الربط بين الجداول. (2,303 مشاهده)
دروس في الأوفيس الأكسس - Access0- (2,003 مشاهده)
أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (1,967 مشاهده)
مقدمة عامة حول الاكسل وحيل خاصة بالاكسل (1,941 مشاهده)
تعريف الفن التشكيلي: (1,865 مشاهده)
كيفية حل مشاكل الانترنت اكسبلور Internet Explorer (1,848 مشاهده)
الدرس الأول : عمل شريحة في البوربوينت (1,762 مشاهده)
اضافه صوت ونص لخلفيه في باور بوينت (1,678 مشاهده)
شرح طريقة التجميع Grouping في برنامج الاكسل (1,585 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس . (1,566 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (1,560 مشاهده)
التعرف على مكونات الكمبيوتر (1,495 مشاهده)
برنامج Windows Movie Maker لتكوين أفلام (1,481 مشاهده)
ما هو المات لاب MATLAB؟ (1,389 مشاهده)
كيف تجعل برنامجك أكثر تألقا وجمالا باستخدام أداة Active Skin (1,381 مشاهده)
درس تعريب المجلة (1,345 مشاهده)
مقدمة عن لغة البيسك (1,318 مشاهده)
مقدمة في ربط قواعد البيانات داخل بيئة الـ .NET باستخدام الـ VB.NET (1,310 مشاهده)
جديد مواد مع عشوائي
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (957 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (586 مشاهده)
ضبط خيارات اللغة فى الـ Microsoft Word0--- (718 مشاهده)
استخدام لوحة المفاتيح في الـ Word0---- (844 مشاهده)
إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (914 مشاهده)
دمج المراسلات0-- (524 مشاهده)
وضع صورة كخلفية للنص0-- (666 مشاهده)
السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (464 مشاهده)
كتابة الأرقام الكسرية ورموز المعادلات0-- (764 مشاهده)
درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (498 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (1,560 مشاهده)
دورة الأكسيس : الدرس الرابع : العلاقات0---- (792 مشاهده)
أساسيات في Access0--0 (603 مشاهده)
تصميم تقرير لطباعة البيانات0---- (601 مشاهده)
تصميم نموذج استعراض البيانات‏0--تصميم نموذج استعراض البيانات‏0-- (584 مشاهده)
تصميم نموذج إدخال‎ ‎البيانات0--- (679 مشاهده)
إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (548 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (455 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (1)0- (411 مشاهده)
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (565 مشاهده)
استعلامات SQL في Access - تحديث البيانات الجدولية0-- (490 مشاهده)
الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (284 مشاهده)
الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (373 مشاهده)
تصميم تقرير لطباعة الإجمالي0--- (390 مشاهده)
استعلامات التحديد Select Query مع أمثله (1)0--- (511 مشاهده)
اعلانات في الموقع على جميع الصفحات

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

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










 


الدرس السابع: الدوال والإجراءات الفرعية
Functions and Subs ...


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

الدوال..

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

 




كود:






 



Function FunctionName([arguments])




Function statements




End Function












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

 

كود:





'تكوين الدالة


Function Percent(Hi,Nw)


Dim RetVal


RetVal = Nw * 100  / Hi & "%"


Percent = RetVal


End Function









كما تلاحظ في المثال السابق أننا قمنا بطلب القيمة العليا Hi والقيمة الحالي Nw كوسيطات ثم قمنا بإجراء العملية لإيجاد النسبة ثم مرنا النتيجة إلى اسم الدالة..

ويمكننا استدعاء الدالة بتمرير القيمة العظمى والقيمة الحالية

 




كود:





 



Dim sRet




sRet = Percent(200,50)




msgbox sRet







الإجراءات الفرعية..

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

 





كود:






 



Sub SubName(arguments)




Sub statements




End Sub













الآن سنقوم بتحويل المثال السابق لجعله معتمدا على الإجراءات الفرعية

 





كود:






 



Sub Percent(Hi,Nw)




Dim RetVal




RetVal = Nw * 100 / Hi & "%"




msgbox RetVal




End Sub









والآن نقوم باستدعاء الإجراء الفرعي

 





كود:






 



Percent 200,50













تلاحظ عند الاستدعاء أن الإجراء لا يعيد أي قيمه بل يقوم بتنفيذ مجموعة من الأوامر ، آخرها هو عرض نتيجة القيمة باستخدام الإجراء msgbox .. أيضا تلاحظ عدم استخدامنا للأقواس عند استدعاء الإجراء الفرعي ويجب علينا استخدامها إذا قمنا بالاستدعاء
بواسطة العبارة Call ...

 





كود:






 



Call Percent(200,50)










الدوال والإجراءات المعرفة داخل اللغة...

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

دوال الوقت والتاريخ في لغة VBScript..

 الدالة Date

الوظيفة:

تعيد التاريخ الحالي

مثال:

 





كود:






 



msgbox Date











ملاحظة:

تستخدم الدالة Time لإيجاد الوقت الحالي على نفس نهج الدالة السابقة أيضا نستخدم الدالة Now لإيجاد التاريخ والوقت معا.

 الدالة DateAdd

الوظيفة:

جمع أو طرح مدة زمنية من وإلى تاريخ معين..

الصيغة العامة:

 



DateAdd(Interval, Number, Date)

 


الوسيطات:

interval : هذه الوسيطة تأخذ القيم التالية.. d الأيام، h الساعات، m الأشهر، n الدقائق، q ربع العام، s الثواني، w يوم من الأسبوع، ww الأسبوع، y يوم من العام، yyyy العام.

Number : مقدار الإضافة.

Date: التاريخ المراد الإضافة إليه.

مثال

 





كود:






 



'#لاحظ ضرورة وضع التاريخ بين نسختي العلامة



msgbox DateAdd("d",1,#01/01/98#) '02/01/98











 الدالة DateDiff

الوظيفة:

إيجاد الفرق بين تاريخين.

الصيغة العامة:

 



DateDiff (interval, date1, date2 [ ,
firstdayofweek
[ , firstweekofyear ]] )

 


الوسيطات:

Interval: تشبه نفس الوسطية في الدالة DateAdd.

Date1: التاريخ الأول (المطروح)

Date2: التاريخ الثاني (المطروح منه)

Firstdayofweek: (وسيطة اختيارية)أول يوم في الأسبوع وتأخذ القيم من 1 إلى 7 حيث
يمثل vbSunday رقم 1 و vbMonday رقم 2 وهكذا..

firstweekofyear: (وسيطة اختيارية) وتأخذ القيم التالية

vbUseSystem لاستخدام إعدادات NLS API

vbFirstJan1 البدء عند الأسبوع الذي يحدث فيه 1 يناير

vbFirstFourDays البدء عند أول أسبوع يحوي الأيام الأربع الأقل

vbFirstFullWeek البدء عند الأسبوع الأول الكامل

مثال: 

 

كود:










 



msgbox DateDiff("d",#01/01/98#,Date)










 الدالة DatePart

الوظيفة:

تعيد جزءا محددا من تاريخ معطى.

الصيغة العامة:

 



DatePart (interval, date [ , firstdayofweek [ ,
firstweekofyear
]] )

 


الوسيطات:

interval: تم التطرق لهذه الوسطية في الدالة DateAdd.

Date: التاريخ الذي سيعاد جزء منه.

Firstdayofweek: تم التطرق لهذه الوسطية في الدالة DateDiff.

Firstweekofyear: تم التطرق لهذه الوسطية في الدالة DateDiff.

مثال:

 




كود:









 



msgbox DatePart("d",#01/05/98#) ' 5












 الدالة DateSerial

الوظيفة:

تعيد تاريخا تسلسليا يوافق قيم يوم وشهر وسنة ممررة إليها كوسيطات.

الصيغة العامة:

 


DateSerial (year, month, day)

 


الوسيطات:

year: قيمة تمثل السنة بين (100و 9999).

month: قيمة تمثل الشهر.

Day: قيمة تمثل اليوم.

مثال

 





كود:






 



msgbox DateSerial(1998,2,12) ' 12/02/98











ملاحظة:

تشبه الدالة TimeSerial الدالة السابقة في طريقة تعاملها ولكنها تختلف عنها في أنها
تتعامل مع الوقت.
 DateValue

الوظيفة:

إيجاد التاريخ المكافئ للقيمة الممررة..

الصيغة العامة:

 



DateValue (date)

 


الوسيطات:

Date: قيمة تمثل التاريخ..

مثال:

 





كود:






 



msgbox DateValue("يناير,99")










ملاحظة:

تشبه الدالة TimeValue الدالة السابقة في طريقة تعاملها ولكنها تختلف عنها في أنها
تتعامل مع الوقت.
 الدالة Day

الوظيفة:

تعيد رقم اليوم للتاريخ المحدد.

الصيغة العامة:

 



Day (date)

 


الوسيطات:

Date: قيمة تمثل التاريخ

مثال:

 





كود:






 



msgbox Day(Date)











ملاحظة:

تستخدم الدالتين Month و Year لإيجاد قيمة اليوم والسنة لتاريخ معين على نفس نهج
الدالة السابقة.
 الدالة Hour

الوظيفة:

تعيد رقم يمثل الساعة للزمن المحدد.

الصيغة العامة:

 



Hour( Time)

 


الوسيطات:

Time: قيمة تمثل الزمن.

مثال:

 





كود:






 



msgbox Hour(#05:01:10 Am#) '5











ملاحظة:

تستخدم الدالتين Minute و Second لإيجاد قيمة الدقائق والثواني لزمن معين بنفس نهج
الدالة السابقة.
 الدالة MonthName

الوظيفة:

تعيد الدالة قيمة تمثل اسم الشهر المكافئ للقيمة الممررة.

الصيغة العامة:

 



MonthName( month [,abbreviate])

 


الوسيطات:

month: رقم الشهر.

Abbreviate : (وسيطة اختيارية) تأخذ هذه الوسيطة قيمة منطقية تحدد هل يتم اختصار
اسم الشهر أم لا.

مثال:

 





كود:






 



msgbox MonthName(12) 'ديسمبر











ملاحظة:

تشبه الدالة WeekdayName الدالة السابقة -في المفهوم- وتختلف عنها في كونها تعيد
اسم اليوم من الأسبوع.
 الدالة WeekDay

الوظيفة:

تعيد رقما يمثل اليوم لتاريخ معين.

الصيغة العامة:


 






Weekday( date, [firstdayofweek])

 

 


الوسيطات:

date: قيمة تمثل التاريخ.

Firstdayofweek: تم التطرق لها في الدالة DateDiff.

مثال:

 





كود:






 



msgbox WeekDay(#01/01/99#) '6 الجمعة











 الدالة Timer

الوظيفة:

تعيد الوقت المنقضي منذ نصف الليل.

مثال:

 





كود:






 



Dim startTime,EndTime,SiteName,Prompt




Prompt ="ادخل العنوان التالي"& vbcrlf




msgbox "سيتم اختبار سرعتك في الكتابة...استعد"




startTime = Timer




SiteName = InputBox(Prompt & "www.c4arab.com")




EndTime= Timer



If SiteName = "www.c4arab.com" Then




Prompt = "قمت بكتابة 14 محرفا خلال "



msgbox Prompt & EndTime - startTime & " ثانية"



End If








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

1. يمكن الخروج من الإجراءات قبل نهايتها باستخدام العبارة Exit Function للدوال و
Exit Sub للإجراءات الفرعية.

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

 





كود:






 



Dim Ret,Prompt




Prompt ="هل تريد تحويل اللون الخلفي للنافذة إلى الأسود؟"




Ret = msgbox(Prompt,vbYesNo)




If Ret = vbYes Then document.bgColor = vbBlack







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

 





كود:






 



Dim Prompt




Prompt ="سيتم تحويل اللون الخلفي للنافذة إلى الأسود"




msgbox Prompt




document.bgColor = vbBlack









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





كود:






 



'تكوين الإجراء الفرعي




Sub Myloop(Num,Txt)



If Num = 0 Then Exit Sub




document.write Txt & "< BR>"




Myloop Num - 1,txt



Exit Sub




End Sub




'عند الاستدعاء




Myloop 5,"www.c4arb.com"

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

أضف هذه المادة في موقعك:
مواد مشابهة:
طـريقة تـركيب منتـدى ib ..الطريقة مشروحه بالصور طـريقة تـركيب منتـدى ib ..الطريقة مشروحه بالصور
طـريقة تـركيب منتـدى ib ..الطريقة مشروحه بالصور
(مرات المشاهدة: 155 مرات)
سلسلة تعلم VBScript – الجزء الثالث - :نظرة لبعض تطبيقات اللغة. سلسلة تعلم VBScript – الجزء الثالث - :نظرة لبعض تطبيقات اللغة.
سلسلة تعلم VBScript – الجزء الثالث - :نظرة لبعض تطبيقات اللغة.
(مرات المشاهدة: 168 مرات)
مقدمة للغة ASP مقدمة للغة ASP
مقدمة للغة ASP
(مرات المشاهدة: 177 مرات)
دورة XML [الدرس الثالث]: لماذا XML وفيما تستخدم ؟ دورة XML [الدرس الثالث]: لماذا XML وفيما تستخدم ؟
دورة XML [الدرس الثالث]: لماذا XML وفيما تستخدم ؟
(مرات المشاهدة: 68 مرات)
برنامج IIS: برنامج IIS:
برنامج IIS:
(مرات المشاهدة: 225 مرات)
مقدمة للغة بيرل ( الدرس الأول ) مقدمة للغة بيرل ( الدرس الأول )
مقدمة للغة بيرل ( الدرس الأول )
(مرات المشاهدة: 87 مرات)
طريقة إدراج الأنماط في الصفحة طريقة إدراج الأنماط في الصفحة
طريقة إدراج الأنماط في الصفحة
(مرات المشاهدة: 317 مرات)
دورة XML [الدرس الثاني]: مقدمة إلى تقنية XML وما حولها دورة XML [الدرس الثاني]: مقدمة إلى تقنية XML وما حولها
دورة XML [الدرس الثاني]: مقدمة إلى تقنية XML وما حولها
(مرات المشاهدة: 68 مرات)
ستايل islamic للإصدار: vBulletin Version 3.5.0 Release Candidate 2 ستايل islamic للإصدار: vBulletin Version 3.5.0 Release Candidate 2
ستايل islamic للإصدار: vBulletin Version 3.5.0 Release Candidate 2
(مرات المشاهدة: 76 مرات)
إتصل بنا أو راسلنا خاصيه متاحه في النسخه الثالثه إتصل بنا أو راسلنا خاصيه متاحه في النسخه الثالثه
إتصل بنا أو راسلنا خاصيه متاحه في النسخه الثالثه
(مرات المشاهدة: 77 مرات)
جميع الحقوق في هذا الموقع محفوظة وكل المواد على الاقسام ملك لاصحابها :Copyright © All rights reserved