إظهار الرسائل ذات التسميات دورة تعليم لغة الــ html. إظهار كافة الرسائل
إظهار الرسائل ذات التسميات دورة تعليم لغة الــ html. إظهار كافة الرسائل
الثلاثاء، 27 نوفمبر 2012
[ دورة CSS ] الملاحظات ج6
الدرس السادس: الملاحظات CSS
السلام عليكم .........إذا كانت لديك بعض المعلومات عن لغات البرمجة – تطبيقات سطح المكتب أو تطبيقات الويب – فإنك حتماً معتاد على فكرة الملاحظات .
الملاحظات:
هي نوع من أنواع التوثيق التي تتيح لك كتابة تلميحة صغيرة في أول كل صفحة أو بجانب الأسطر الغامضة بعض الشيء و هكذا بحيث يسهل عليك فهم ما كتبته عند الرجوع إليه بعد مدة . و بالطبع فإنه ينصح دائماً بتوثيق برامجك ، سوى كنت ستستخدمها لأغراض التوزيع العام أو لأغراض الاستخدام الشخصي لأن ذلك يحفظ الكثير من وقتك و وقت من يقرأ برامجك .الطريقة:
لإدراج ملاحظة في ملف السي اس اس ، قم باتباع الطريقة الموضحة في المثال التالي :
وهذه هديتي لكم في هذا الدرس
ملخص من كتاب : "DHTML و CSS لشبكة الويب العالمية"
[ حمل الكتاب ]
ولأي إستفسار الرجاء ترك تعليقاتكم لأقوم
بالإجابة عليها في القريب العاجل![[ دورة CSS ] الملاحظات ج6 | ابداع ديزاين abda3 design [ دورة CSS ] الملاحظات ج6 | ابداع ديزاين abda3 design](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTueDoNOKMTZf_-z0aQNXKgx5L9KmDotRw6uhQwnFiNle7W4_nUZ5cgM1OZUEda-N1s_5Jum9cZsHVlEQHQoY8DIqytrJbc7Z0OeU4wMY_uzWo3PqfyBhMFl_zNRgSXLRbrn6K1TzXZ2s/s1600/faseel.png)
لا تقرأ وترحل شارك معنا بتعليق فنحن نسعى لنقدم لك الافضل والاجمل
Résumé
التسميات:
اضافات css,
دورة تعليم لغة الــ html,
دورة css,
دورة VBScript,
دورة xml
|
0
التعليقات
الاثنين، 19 نوفمبر 2012
[فهرس] دورة VB Scripts
[فهرس] دورة VB Scripts
[ في بي سكربت - VB Scripts ]
الدرس الاول : ما هي ؟ وماهيا مميزاتها ؟
الجزء الاول: اساسيات ج2
الجزء الاول : برنامجك الأول في ج3
الجزء الثاني: المفاهيم البرمجية للغة ج4
الدرس الخامس: الجمل الشرطية ج5
الدرس السادس: الحلقات التكرارية Loops ج6
الدرس السابع: الدوال والإجراءات الفرعية ج2
الدرس السابع: الكائنات والأصناف ج 8
الدرس التاسع: مكونات COM، استخدامها و بنائها ج9
ولأي إستفسار الرجاء ترك تعليقاتكم لأقوم
بالإجابة عليها في القريب العاجل![[فهرس] دورة VB Scripts | ابداع ديزاين abda3 design [فهرس] دورة VB Scripts | ابداع ديزاين abda3 design](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTueDoNOKMTZf_-z0aQNXKgx5L9KmDotRw6uhQwnFiNle7W4_nUZ5cgM1OZUEda-N1s_5Jum9cZsHVlEQHQoY8DIqytrJbc7Z0OeU4wMY_uzWo3PqfyBhMFl_zNRgSXLRbrn6K1TzXZ2s/s1600/faseel.png)
لا تقرأ وترحل شارك معنا بتعليق فنحن نسعى لنقدم لك الافضل والاجمل
Résumé
التسميات:
برمجة,
دورة تعليم لغة الــ html,
دورة VBScript,
دورة xml,
HTML دورة,
xhtml
|
0
التعليقات
الأحد، 18 نوفمبر 2012
دورة [VBScript] الدرس التاسع: مكونات COM، استخدامها و بنائها ج9
الدرس التاسع: مكونات COM، استخدامها و بنائها ج9
نموذج كائن المكون Microsoft Component Object Model هو إحدى التقنيات البرمجية المقدمة من مايكروسوفت كخطوة إيجابية تجاه مبدأ "الكود القابل لإعادة الاستعمال"، حيث تمثل مكونات COM مجموعة من الدوال المغلفة داخل وحدات(أصناف) والتي يمكن استخدامها من قبل التطبيقات الأخرى، فمثلا تستطيع إنشاء عدد من الدوال التي تتعامل مع الملفات وبعد تغليفها في مكون COM، تستطيع الاستفادة منها في أي من تطبيقاتك المستقبلية بعملية اتصال بسيطة بين تطبيقك ومكون COM، ومن الجدير بالذكر أن COM أسلوب موحد، وهذا يعني إمكانية إنشاءها بأكثر من لغة كـ VC++ أو VB كما تستطيع استخدامها في العديد من اللغات.استعمال مكونات COM في VBScript
يمكن اعتبار المكون كوعاء يحتوي على صنف أو أكثر وكما رأينا من قبل فإنه قبل استخدام صنف معين يجب علينا إنشاء كائن منه، وهذا ينطبق على مكونات COM ايضا، وفيما يلي مثال يوضح كيفية استخدام هذه المكونات من خلال لغة VBScript والمثال مطبق على أتمتة اكسيل أحد برامج طقم أوفيس من مايكروسوفت ..
كود:
Dim objExcelApp,objExcelWk
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.visible = True 'إظهار برنامج اكسيل
Set objExcelWk = objExcelApp.WorkBooks.Add 'إضافة ورقة عمل
With objExcelApp.ActiveSheet 'إدراج قيم
.Cells(1,1) = "اسم الموقع"
.Cells(2,1) = "www.abda3design.blogspot.com"
End With
objExcelWk.SaveAs "C:Site.xls" 'حفظ الملف باسم
objExcelApp.Quit 'إغلاق برنامج اكسيل
Set objExcelApp = Nothing 'تحرير الذاكرة
لا شك انك لاحظت من خلال المثال السابق قوة COM وإمكانياتها التي ستخدمك كثيراً، حيث استطعت زيادة قوة شيفرتك مئات المرات بعدد قليل من الأسطر.
كيفية ربط مكونات COM في VBScript
الربط Binding هو الأسلوب الذي يحدد متى وكيف يتم الاتصال بمكون COM وهناك أسلوبان للربط هما الربط المبكر الذي يتم فيه تصريح المتغير كنمط كائن بعد إضافة مرجع للصنف، أما الثاني فهو الربط المتأخر والذي يمثل الأسلوب الوحيد للربط في VBScript حيث نستخدم الدالة CreateObject لإنشاء نسخة من مكون COM، أيضا يجب ملاحظة أن الأسلوب الذي اتبعناه سابقا لإنشاء كائن من صنف داخلي يعتبر ربطا متأخرا أيضا.
نظرات أعمق إلى تقنية COM
كمبرمج VBScript لست بحاجة إلى معرفة المزيد حول COM ولكن المعرفة سوف تجعلك أكثر ثباتا عند التعامل مع COM ومشكلاتها. وقد رأيت أنه من المفيد ذكر بعض الأمور الرئيسة بشكل مختصر جدا، ولكنك ستتعرف أكثر على هذه التقنية عند استخدامها في لغات متقدمة كـ VB، وربما عانيت منها الكثير إذا كنت من مبرمجي VC++ ..
واجهات الكائن Object Interfaces
جميع الكائنات تملك واجهة أو أكثر والتي تستخدم لتأسيس الاتصال بين العميل ومكون
COM، كما تقوم هذه الواجهات بتعريف الخصائص والطرق والأحداث التي يحويها المكون،
وفيما يلي بعض أهم واجهات COM.
الواجهة IUknown
وتعد من أهم الواجهات حيث تتعرف على كافة كائنات مكون COM كما تستخدم لمعرفة إذا ما كان يدعم واجهات أخرى.
الواجهة IDispatch
وتسمى الأتمتة وهي عنصر هام لاستخدام المكونات من لغات النصوص البرمجية.
الواجهة Dual
أو الواجهة المضاعفة وهي تمكننا من الاستفادة من مميزات الربط المبكر والمتأخر بالشكل الملائم.
التسجيل Registration
قبل استخدام مكونات COM يجب تسجيلها، ويتم التسجيل في مسجل النظام حيث يتم إعطاء المكون معرف فريد تقوم بإنشائه خوارزمية خاصة لهذا الغرض ويسمى GUID.
ويمكن تسجيل المكونات من نوع DLL من خلال البرنامج Regsvr32 كالتالي ..
كود:
Regsvr32 svr.dll
أما المكونات من نوع EXE فيتم تسجيلها تلقائيا عند تشغيلها وتمرير الوسيطة /Regserver لها.
مكونات COM مدعومة في VBScript بشكل واسع
تعتبر المكتبة Scripting Runtime أحدى مكونات COM المفيدة جدا لمستخدمي VBScript وهذه المكتبة يتم تركيبها عند تركيب اللغة وتحتوي على الصنفين Dictionary و
FileSystemObject . أيضا هناك كائنان مبنيان داخل اللغة أي أننا لا نحتاج لاستخدام الدالة CreateObject لإنشائهما وهما Err و RegExp وتعتبر المكونات السابقة أكثر المكونات استعمالا لدى مطوري VBScript. وسنتطرق لها بشكل أكثر تفصيلا في دروس لاحقة باذن الله.
بناء مكوناتك الخاصة
تستطيع تطوير مكون باستخدام لغة VBScript! ... بالطبع ليس بشكل كلي قادر على العمل بمفرده ولكن بشكل اكثر بساطة، حيث تقوم بإنشاء الأصناف ثم باستخدام برنامج Windows Script Component تقوم بتحويلها إلى مكونات وهي عبارة عن ملفات معتمدة على تقنية
XML، وتستطيع تحويل ملفاتك إلا مكونات بسهولة باستخدام المعالج الخاص بالبرنامج
السابق وهو على الرابط
http://www.msdn.microsoft.com/scrip...lets/wz10en.exe ، و بالنسبة لواجهات COM فهي في الملف Scrob.dll الذي يعمل كوسيط بين مكوناتك المنشأة باللغات النصية وبين البرنامج العميل.
ملاحظات عامة
· تستطيع استكشاف مكونات COM الموجودة في جهازك من خلال برنامج OLEView.exe والمرفق مع حزمة Visual Studio والذي يعد أداة قوية لاستكشاف هذه المكونات.
· COM+ هي تطوير لفكرة COM وذلك لاستخدامها في تطبيقات n-tier الموزعة حيث يمكن اعتبار COM+ أنها ناتج دمج أساس تقنية COM مع تقنيات اخرى، في مقدمتها MTS ملقم معاملات مايكروسوفت.
ولأي إستفسار الرجاء ترك تعليقاتكم لأقوم
بالإجابة عليها في القريب العاجل
لا تقرأ وترحل شارك معنا بتعليق فنحن نسعى لنقدم لك الافضل والاجمل
Résumé
التسميات:
دورة تعليم لغة الــ html,
دورة css,
دورة VBScript,
دورة xml,
HTML دورة,
xhtml
|
0
التعليقات
الجمعة، 16 نوفمبر 2012
دورة [VBScript] الدرس السابع: الكائنات والأصناف ج 8
الدرس السابع: الكائنات والأصناف ج 8
الجزء الثالث VBScript
هذه السلسة التي كنا قد بدأناها بجزأين، يمثل الأول مقدمة إلى اللغة ويحوي الثاني جزءا كبيرا من مفاهيم اللغة، وكما قد نوهنا سابقا بأن الجزأين السابقين كافيان لتوضيح الحصة الكبرى من هذه اللغة، أما فيما تبقى من الدروس -التي تم فصلها بناء على رغبة الاخوة- فإن الحديث سيكون حول موضوعات متقدمة بعض الشيء، وعلى الأخص الدرسين الأولين، فإن لم تكن شغوفا للتطلع لكيفية إدارة الأمور فإنك تستطيع انتظار الدروس التي تليها وثق بأنك تجاوزك لهذه الدرسين لن يؤثر على استيعابك لما يليها، إلا أنك ستفتقد إمكانية النظر إلى ما خلف الكواليس.
أخيراً احب أن أخبركم بأنني أجد صعوبة في تبسيط بعض الأمور من خلال نقاط سريعة لذلك
فأنا لا أثق أنني أستطيع إيصال ما أريد إيصاله لك كاملا ولكنني سأحاول ذلك و أتتمنى
أن أوفق،
الدرس الثامن: الكائنات والأصناف Objects and Classes…
كأني بك تتساءل الآن "هل لغة VBScript لغة كائنية التوجه وإذا لم يكن الأمر كذلك فما سر هذه المقدمة؟!" والجواب بأن لغة VBScript ليست لغة كائنية التوجه لأنها لا تدعم المبادئ الأساسية للأخيرة …… ولكن اللغة قد بدأت بدعم فكرة الأصناف والتي تعد المدخل الرئيس لفكرة البرمجة كائنية التوجه ولا أدري لماذا لم تكمل مايكروسوفت مسيرتها وتقوم بدعم أسلوب OOP ولو بشكل جزئي كما فعلت في اللغة الأم Visual Basic.
إذا كنت ترى أن ما تحدثنا عنه مربكا بالنسبة لك فأنت بحاجة إلى توضيح لبعض المفاهيم قبيل الانتقال إلى التطبيق العملي…
الكائن Object
تدعم لغة VBScript مفهوم الكائنات منذ إصداراتها الأولى ويمكن اعتبار أي كيان معروف في الوجود كائنا مثلا "محمد" كائن، وموقع "Abda3 Design" كائن آخر، والشركة الفلانية كائن ثالث وهكذا … ولكل كائن خصائص Properties مميزة له تعرفه كاللون والحجم، أيضا للكائن طرق Methods وهي الأعمال التي يقوم الكائن بإنجازها كالحركة أو القراءة.
الصنف Class
يعد الصنف النواة الأساسية للبرمجة كائنية التوجه OOP، وقد تم دعم مفهوم الصنف في لغة VBScript منذ الإصدار الخامس للغة ويمكن تعريف الصنف بأنه جملة من الكائنات المتشابهة في الخصائص والطرق، فمثلا "محمد" و "احمد" كائنان من صنف الإنسان حيث نلاحظ أن لهما نفس الخصائص والطرق، بينما يختلف صنف "الدراجة الهوائية" عن صنف "الإنسان"، فالأول قد يحتوي على الخاصية "حجم العجلات" أما الثاني فلا. ولنأخذ مثال من بيئة البرمجة فمثلا عنصر تحكم HTML المسمى TextArea يعتبر صنف، ولو وضعنا نسخا(حالات) في صفحتنا فسيعتبر كلا منها كائن مثلا TextArea1 و TextArea2.
إنشاء الأصناف
قبل الحديث عن كيفية إنشاء الأصناف من المفيد أن أخبرك بأن بنائك للصنف سيتيح لك إعادة استخدامه مستقبلا بطريقة سهلة ودون حدوث مشكلات مع نصك البرمجي الجديد، وهذا مما ابرز فوائد استخدام هذا الأسلوب البرمجي.
عند إنشائك لصنف معين ستفكر في الخصائص والطرق – والتي تطرقنا لها سابقا – إضافة
للأحداث التي سنتطرق لها بعد قليل.
وتمكنك لغة VBScript من إضافة الأصناف من خلال العبارة Class كالتالي
كود:
Class ClassName
'Class Code
End Class
إنشاء كائن من الصنف وتدميره
لن نتمكن من استخدام الصنف المنشأ إلا بعد إنشاء حالة(كائن) منه، ويمكن إنشاء كائن من صنف كالتالي ..
كود:
Dim objBook 'التصريح عن متغير للكائن
Set objBook = New CBook 'CBook إنشاء كائن من الصنف
لعلك لاحظت في المثال السابق استخدامنا للعبارة Set عند إسناد القيمة للمتغير والسبب في ذلك أننا نتعامل مع متغير لكائن وهذا يعني أننا لا نقوم بإسناد الكائن نفسه، ولكننا نضع مؤشر Pointer إليه.
ولتدمير الكائن –عند عدم الحاجة إليه- فإننا نستخدم القيمة Nothing لتحرير الذاكرة كالتالي ..
كود:
Set objBook = Nothing
إنشاء الخصائص
تمثل الخصائص متغيرات ويفضل أن تكون من نوع Private أي يمكن التعامل معها على مستوى الصنف فقط..
كود:
Private m_sUsername
وهناك عدة أنواع من الخصائص، فمنها ما هو للقراءة فقط ومنها ما هو للكتابة فقط ومنها ما هو للقراءة والكتابة معا، وتوفر لغة VBScript بعض الإجراءات التي تمكنك من قراءة وكتابة الخصائص، وفيما يلي توضيح ذلك..
1. الإجراء Property Let
ويستخدم لإسناد القيم للخصائص..
كود:
'التي تمثل كلمة المرور CustomerPassword متغير الخاصية
Private m_sPassword
Public Property Let CustomerPassword(sPassword)
m_sPassword = sPassword ' إسناد القيمة الجديدة
End Property
2. الإجراء Property Get
كود:
Class CCustomr
'التي تمثل كلمة المرور CustomerAge متغير الخاصية
Private m_iAge
Public Property Let CustomerAge(iAge)
m_iAge = iAge 'إسناد القيمة الجديدة
End Property
Public Property Get CustomerAge()
CustomerAge = m_iAge 'قراءة القيمة الحالية
End Property
End Class
ويمكن التعامل مع الخاصية السابقة كالتالي..
كود:
Dim objCustomer
Set objCustomer = New CCustomer
objCustomer.CustomerAge = 90 ' ضبط
msgbox objCustomer.CustomerAge ' قراءة
3. الإجراء Property Set
وهو يشبه الإجراء Property Let كثيرا ولكنه يستخدم مع الكائنات.
إنشاء الطرق
الطرق قد تكون دالة أو إجراء فرعي –وقد تناولنا الدوال والإجراءات في الجزء الثاني- ولذلك ستجد أن إضافة الطرق للصنف عملا سهلا..
كود:
Class CCustomer
' ShowGreeting الإجراء الفرعي الذي يمثل الطريقة
Sub ShowGreeting()
document.write "Hello"
End Sub
End Class
ويمكن استخدام الطريقة السابقة من خلال شيفرتك كالتالي..
كود:
Dim objCustomer
Set objCustomer = New CCustomer
'ShowGreeting استدعاء الطريقة
objCustomer.ShowGreeting
إنشاء الأحداث Events
الحدث هو عبارة عن رسالة يمكن للكائن إرسالها، فمثلا عند النقر على زر أمر كالذي يظهر في مربعات الحوار فسينطلق حدث النقر Click، ويمكنك إضافة كود ينفذ مهمة معينة عند إطلاق حدث معين … وتوفر لغة VBScript الحدثين Class_Initialize الذي يتم إطلاقه عند إنشاء الكائن والحدث Class_Terminate والذي يتم إطلاقه عندما تتحرر كافة المؤشرات التي تشير إلى
الكائن، وهذا مثال لتوظيف الحدث Class_Initialize
كود:
Private Sub Class_Initialize()
msgbox "Created"
End Sub
ملاحظات عامة:
ستجد في الدرس اللاحق تطبيقات أخرى على الاصناف تجعلك تفكر بشكل جدي باستعمالها في شيفراتك المستقبلية.
ولأي إستفسار الرجاء ترك تعليقاتكم لأقوم
بالإجابة عليها في القريب العاجل![دورة [VBScript] الدرس السابع: الكائنات والأصناف ج 8 | ابداع ديزاين abda3 design دورة [VBScript] الدرس السابع: الكائنات والأصناف ج 8 | ابداع ديزاين abda3 design](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTueDoNOKMTZf_-z0aQNXKgx5L9KmDotRw6uhQwnFiNle7W4_nUZ5cgM1OZUEda-N1s_5Jum9cZsHVlEQHQoY8DIqytrJbc7Z0OeU4wMY_uzWo3PqfyBhMFl_zNRgSXLRbrn6K1TzXZ2s/s1600/faseel.png)
لا تقرأ وترحل شارك معنا بتعليق فنحن نسعى لنقدم لك الافضل والاجمل
Résumé
التسميات:
دورة تعليم لغة الــ html,
دورة css,
دورة VBScript,
دورة xml,
HTML دورة,
xhtml
|
0
التعليقات
الخميس، 15 نوفمبر 2012
دورة [VBScript] الدرس السابع: الدوال والإجراءات الفرعية ج2
الدرس السابع: الدوال والإجراءات الفرعية ج2
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 & "http://abda3design.blogspot.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,"http://abda3design.blogspot.com"
ولأي إستفسار الرجاء ترك تعليقاتكم لأقوم
بالإجابة عليها في القريب العاجل![دورة [VBScript] الدرس السابع: الدوال والإجراءات الفرعية ج2 | ابداع ديزاين abda3 design دورة [VBScript] الدرس السابع: الدوال والإجراءات الفرعية ج2 | ابداع ديزاين abda3 design](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTueDoNOKMTZf_-z0aQNXKgx5L9KmDotRw6uhQwnFiNle7W4_nUZ5cgM1OZUEda-N1s_5Jum9cZsHVlEQHQoY8DIqytrJbc7Z0OeU4wMY_uzWo3PqfyBhMFl_zNRgSXLRbrn6K1TzXZ2s/s1600/faseel.png)
لا تقرأ وترحل شارك معنا بتعليق فنحن نسعى لنقدم لك الافضل والاجمل
Résumé
التسميات:
دورة تعليم لغة الــ html,
دورة css,
دورة VBScript,
دورة xml,
HTML دورة,
xhtml
|
0
التعليقات
الأربعاء، 14 نوفمبر 2012
دورة [VBScript] الدرس السادس: الحلقات التكرارية ج6
الدرس السادس: الحلقات التكرارية Loops ج6
قد تحتاج في برنامجك تنفيذ مهمة معينة لعدد ما من المرات، لا شك انه يمكنك كتابة هذه الأوامر بشكل متسلسل ولكن هذه الطريقة غير عمليه لأنك قد تحتاج مثلا إلى إسنادقيم لألف عنصر من مصفوفة ... وهنا يتجلى دور الحلقات التكرارية في إنجاز المهمة
بطريقة سهلة وكود مختصر.....
توفر لغة VBScript إمكانية تطبيق فكرة الحلقات التكرارية بصورتين، فيمكنك تنفيذ مهمة ما عدد معين من المرات أو تنفيذ المهمة حتى يتحقق شرط معين...
الحلقة For .... Next
تمكنك الحلقة السابقة من تنفيذ أمر معين لعدد من المرات ... والصيغة العامة لهذه الحلقة على الشكل التالي:
كود
For (counter) = (Start) To (End) Step (Num)
‘مجموعة الأوامر‘
Next
حيث counter متغير يمثل العداد و start قيمة ابتدائية للعداد و End القيمة النهائية، أما الكلمة المفتاحية Step فهي اختيارية ويمكن استعمالها لزيادة قيمة العداد بقيم مختلفة ويقتضي حذفها أن تكون الزيادة بمعدل واحد ... وهذا مثال توضيحي..
كود :
Dim I
For I = 1 To 10
document.write "VBScript مرحبا بكم معنا في دروس" & "< BR>"
Next
في المثال السابق قمنا بكتابة عبارة الترحيب عشر مرات، لاحظ انه يمكننا التعامل مع رموز HTML عند وضعها بين علامتي تنصيص.
ويمكن إدخال حلقة تكرارية داخل أخرى بحيث يتم تنفيذ الأمر الذي بداخل الحلقة الداخلية بمقدار حاصل ضرب التكرارين وهذا ما يسمى بالحلقات المتداخلة Nest loop..
لاحظ المثال..
كود:
For I = 10 To 1 Step -1
For K = 1 To 10
'كتابة العددين المراد ضربهما
document.write I & " * " & K & " = "
'كتابة نتيجة الضرب
document.write I*K & "< BR>"
'نهاية الحلقة الداخلية
Next
'وضع خط أفقي بعد نهاية كل جدول
document.write "< HR>"
'نهاية الحلقة الخارجية
Next
عند تطبيقك للمثال السابق ستلاحظ كتابة جدول الضرب للأعداد من 10 إلى 1 تنازليا..
الآن تأمل الشيفرة السابقة، تلاحظ في السطر الأول الحلقة الأولى والتي تحوي عداد تنازلي، وقد استعملنا القيمة –1 مع الكلمة المفتاحية Step لكي نجعل الزيادة في قيمة التكرار تكون بمعدل تناقصي من 10 إلى 1 وهذه الحلقة تستخدم لتحديد الجدول مثلا في المرة الأولى الجدول رقم 10 ثم 9 ثم 8 وهكذا... وفي الحلقة الداخلية نقوم بطباعة جدول العشرة كاملا ونعود لجدول التسعة وهكذا..
الحلقة Do .... loop
تستخدم هذه الحلقة لتكرار تنفيذ أوامر معينة حتى يتحقق شرط معين .. ولهذه الحلقة
أربعة أشكال متقاربة ... وهذه هي الصيغ العامة لها
أولا: اختبار الشرط عند بداية الحلقة..
- الحلقة Do ... While
كود:
Do While (Condition)
الأوامر التي تريد تكرارها طالما أن الشرط متحقق
loop
- الحلقة Do ... Until
كود:
Do Until (Condition)
الأوامر التي تريد تكرارها حتى يتحقق الشرط.
loop
وهذا مثال توضيحي
كود:
Dim Counter
Counter =0
Do While Counter <> 4
Counter = Counter + 1
document.write Counter & "< BR>"
Loop
تلاحظ في المثال السابق كتابة الأرقام من 1 إلى 4، حيث في المرة الأولى تزيد قيمة العداد لتصبح 1 ويتم كتابة العدد ثم 2 ... 3 وهكذا حتى تصبح قيمة العداد 4 فلا يمكننا بعدها تكرار الدخول إلى الحلقة...
ثانيا: اختبار الشرط عند نهاية الحلقة... والشرط
الموجود بنهاية الحلقة هو الذي يحدد هل يتم إعادة تكرار الحلقة أم لا...- الحلقة Loop ... While
كود:
Do
الأوامر التي تريد تكرارها
loop While (Condition)
- الحلقة Loop ... Until
كود:
Do
الأوامر التي تريد تكرارها
loop Until (Condition)
وهذا مثال توضيحي...
كود:
Do
Counter = Counter + 1
document.write Counter & "< BR>"
Loop Until Counter = 4
الحلقة While ... Wend
هذه الحلقة كانت مستخدمة في لغة بيسك القديمة و فيما يبدو أن مايكروسوفت تركتها لمسألة التوافقية بين الإصدارات فقط ويمكن تنفيذ مهمتها باستخدام الحلقة Do While
... loop وبمرونة اكثر....
كود:
Dim SiteName
'سيتم التكرار طالما انك لم تدخل العنوان بشكل صحيح
'Not لاحظ استعمالنا للمعامل
While Not SiteName = "www.c4arab.com"
SiteName = InputBox("ادخل عنوان موقع الموسوعة")
Wend
المجموعات والحلقة For Each .... Next
الحلقة For Each .... Next هي نوع خاص من التكرار ويستخدم عند التعامل مع المجموعات... والمجموعة تتكون من عدة كتل من البيانات ويمكن التعامل مع المصفوفات كمبدأ شبيه بالمجموعات وتستخدم المجموعات غالبا عند التعامل مع الكائنات والتي
سنتطرق إليها لاحقا...
وسنتعامل هنا مع المصفوفات لتوضيح طريقة التعامل مع الحلقة For Each .... Next ....
تستخدم العبارة السابقة لإنشاء تكرار يمر على كافة العناصر في المجموعة بغض النظر عن عددها والصيغة العامة لها على الشكل التالي ..
كود:
For Each (Variable) In (Collection)
‘الأوامر التي سيتم تنفيذها
Next
وهذا مثال توضيحي...
كود:
Dim MyCol,Counter,SiteName(3)
Dim Prompt,Title
'For...Next إسناد قيم إلى المصفوفة من خلال حلقة
For Counter = 1 To 3
Prompt = "ادخل موقعا من مفضلتك"
Title ="الموقع رقم " & I
SiteName(Counter) =InputBox(Prompt,Title) & "< BR>"
Next
'For Each...Next قراءة القيم من المصفوفة من خلال حلقة
For Each MyCol In SiteName
'كتابة العنصر الحالي
document.write MyCol
Next
ملاحظات عامة:
1) يمكن الخروج من الحلقة التكرارية قبل إنهاءها وذلك باستخدام العبارة Exit Do للحلقة Do ... loop و Exit For للحلقة For ... Next ...
كود:
Dim sSiteName,iCounter
For iCounter = 1 To 10
sSiteName =InputBox("ادخل موقعا من مفضلتك")
'إذا لم تدخل أي عنوان سيتم الخروج من الحلقة
If sSiteName = "" Then Exit For
document.write sSiteName & "< BR>"
Next
2) تجنب الحلقات الغير منتهية... لاحظ المثال... كود:
Dim iNum
Do Until A <> 0
iNum = InputBox("ادخل رقما")
iNum = iNum * 0
Loop
تلاحظ في المثال أن الحلقة ستستمر إلى ما لانهاية لأن القيمة لن تتغير عن الصفر،
وهذا يعد علة bug في شيفرتك يجب عليك اجتنابها.
ولأي إستفسار الرجاء ترك تعليقاتكم لأقوم
بالإجابة عليها في القريب العاجل
لا تقرأ وترحل شارك معنا بتعليق فنحن نسعى لنقدم لك الافضل والاجمل
Résumé
التسميات:
دورة تعليم لغة الــ html,
دورة css,
دورة xml,
HTML دورة,
xhtml
|
0
التعليقات
الثلاثاء، 13 نوفمبر 2012
دورة [VBScript] الدرس الخامس: الجمل الشرطية VBScript ج5
الدرس الخامس: الجمل الشرطية VBScript ج5
لا شك أن جميع المبرمجين يدركون أهمية الجمل الشرطية في بناء شيفرة البرنامج أوالنص البرمجي، وعلى الأخص الجملة ذات البادئة IF … وكثيرا ما نصادف الألغاز التي تتمحور فكرتها حول تنفيذ مهمة معينة دون الاعتماد على الجمل الشرطية، وهذا ما يقودنا إلى أهمية هذه الجمل في تكوين الشيفرات …
المعاملات Operators :
المعاملات هي رموز تستخدم للربط بين تعبيرين أو أجزاء عمليه حسابيه بينهما، وتم
التطرق لها هنا نظرا لارتباطها الوثيق بموضوع الجمل الشرطية،ونستطيع تقسيم
المعاملات في لغة VBScript إلى ثلاث أقسام.
المعاملات الحسابية:
وهي رموز العمليات الرياضية وهي كالتالي:
معاملات المقارنة:
وتستخدم مع العمليات الرياضية وهي كالتالي: (ملاحظة الأمثلة ستجدها مدمجة مع أمثلة
المعاملات المنطقية والتي سنتطرق لها بعد قليل)
تستخدم المعاملات المنطقية لإيجاد نتيجة تعبير ... هل هي صحيحة أم خاطئة.. وفيما
يلي المعاملات المنطقية التي تحويها لغة VBScript مع أمثلة لكل معامل...
ملاحظة:في جميع الأمثلة التالية افترض اننا قمنا باسناد القيم إلى المتغيرين A وB
على الشكل التالي.
A = 5
B = 4

الجملة الشرطية
If …. Then
تستخدم الجمل الشرطية لتنفيذ أمر معين عند تحقق شرط ما والصيغة العامة للجملة IF
السابقة هي كالتالي:
شفرة برمجية :
If (شرط)
Then (الأمر الذي سيتحقق في حال كون الشرط السابق صحيحا)
وهذا مثال على استعمال التركيب السابق للجملة If
شفرة برمجية :
Num = InputBox("ادخل رقما")
If Num > 100 Then
msgbox "هذا الرقم اكبر من 100"
إذا تغاضينا عن تفاهة المثال لأننا هنا في موطن التعلم ولكن سنتطرق لأمثلة أكثر تقدما في المستقبل … سنجد أن المثال السابق يحتوي على الشرط Num > 100 فإذا تحقق الشرط فإن البرنامج سيظهر مربع رسالة تفيد بان الرقم المدخل أكبر من 100.
الجملة If …. Then…. Else
لاحظت في المثال السابق أنه سيتم إظهار رسالة إذا كان الرقم أكبر من 100 ولكنه لن
يحصل شيئا إذا كان عدا ذلك، في الجملة If …. Then…. Else سوف تستطيع إظهار رسالة
أخرى إذا كان الرقم أصغر من أو يساوي 100 وذلك من خلال الجزء الذي أضفناه والمسمى
Else وهذه هي الصيغة العامة للجملة السابقة:
شفرة برمجية :
If (شرط)
Then
(الأمر الذي سيتحقق في حال كون الشرط السابق صحيحا)
Else
(الأمر الذي سيتحقق في حال كون الشرط السابق خاطئا)
End If
والآن لاحظ التعديل على المثال السابق شفرة برمجية :
Num = InputBox("ادخل رقما")
If Num > 100 Then
Msgbox "هذا الرقم اكبر من 100"
Else
Msgbox "هذا الرقم اصغر من أو يساوي 100"
End If
الجملة If …. Then…. ElseIf
لا شك انك الآن توقعت معنى الإضافة ElseIf والتي تستخدم إذا كان هناك اكثر من شرط..
وهذه هي الصيغة العامة للجملة السابقة…
شفرة برمجية :
If (1 شرط)
Then
(الأمر الذي سيتحقق في حال كون الشرط 1 صحيحا)
ElseIf (2 شرط) Then
(الأمر الذي سيتحقق في حال كون الشرط 2 صحيحا)
Else
(الأمر الذي سيتحقق إذا لم يتحقق أيا من الشروط السابقة)
End If
واليك هذا المثال… الذي سيختبر هل القيمة المدخلة موجبة أم سالبه أم مساوية
للصفر.
شفرة برمجية :
Num = InputBox("ادخل رقما")
If Num > 0 Then
msgbox "القيمة المدخلة موجبة"
ElseIf Num < 0 Then
msgbox "القيمة المدخلة سالبة"
Else
msgbox "القيمة المدخلة تساوي الصفر"
End If
الجملة Select Case
تتشابه الجملة Select Case مع الجملة If …. Then…. ElseIf ولكن الجملة Select Case
تعتبر افضل استخداما عندما يكون التفرع لأكثر من شرطين لأنها تظهر بنية الشيفرة
بشكل أوضح وستلاحظ ذلك لاحقا، أيضا البنية السابقة تستخدم عندما يكون الاختيار بناء
على متغير واحد، وهذه هي الصيغة العامة للجملة Select Case
شفرة برمجية :
Select Case (متغير)
Case (القيمة 1)
الأمر الذي سيتحقق إذا كانت قيمة المتغير مساوية للقيمة 1
Case (القيمة 2)
الأمر الذي سيتحقق إذا كانت قيمة المتغير مساوية للقيمة 2
Case Else
الأمر الذي سيتحقق إذا لم تكن قيمة المتغير مساوية لأي من القيم
السابقة
End Select
ويمكن الاستغناء عن Case Else عند عدم الحاجة إليها.
وهذا مثال على استخدام الجملة السابقة
شفرة برمجية :
strChos = "ادخل أحد الألوان التالية ليتم تحويل لون الخلفية"
strChos = strChos + "إليه .. احمر، اخضر، ازرق، اسود"
BkGd = InputBox(strChos,"تحديد لون الخلفية")
Select Case BkGd
Case "احمر"
document.bgColor = "FF0000"
Case "اخضر"
document.bgColor = vbGreen
Case "ازرق"
document.bgColor = "0000FF"
Case "اسود"
document.bgColor = vbBlack
Case Else
msgbox "فضلا تأكد من صحة تهجئة الكلمة"
End Select
ولأي إستفسار الرجاء ترك تعليقاتكم لأقوم
بالإجابة عليها في القريب العاجل
لا تقرأ وترحل شارك معنا بتعليق فنحن نسعى لنقدم لك الافضل والاجمل
Résumé
التسميات:
دورة تعليم لغة الــ html,
دورة css,
دورة VBScript,
دورة xml,
xhtml
|
0
التعليقات
الاثنين، 12 نوفمبر 2012
دورة [VBScript] الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4
الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4
الدرس الرابع : المتغيرات والثوابت والمصفوفات.
كما ذكرنا سابقا أن لغة VBScript تتشابه مفاهيمها البرمجية مع لغة Visual Basic
لذلك فإن مبرمجي فيجوال بيسك سيجدوا هذا الجزء عبارة عن تحصيل حاصل … وسأبدأ في هذا
الدرس بالحديث عن المتغيرات والثوابت وسأضيف إليها المصفوفات وقد فضلت قرن المصلح
الإنجليزي بالعربي، نظرا لتعدد التعريبات لمصطلح معين والذي يثبت مجددا أن العرب لا
يمكن أن يتفقوا، فقد رصدت قبل فترة 5 أو 6 تعريبات لـ structure Query Language ،
وعلى العموم فقد اعتمدت تعريبات "مركز التعريب والبرمجة" الذي يؤكد انه يستخدم
المفردات المعتمدة من قبل مايكروسوفت رغم أنني اقتنعت قبل فترة وجيزة أن تعريبات
معظم منشورات "دار شعاع" هي الأقرب للصحة، هذا إذا غضضنا الطرف عن التعريبات – إن
صح تسميتها تعريب - التي تثير السخرية مثل تعريب Media Player بـ "اللاعب السمعي
البصري" مع احترامي لقدرات الكاتب(المترجم) …… والآن لنعد لموضوعنا ولنبدأ
بالمتغيرات..
![دورة [VBScript] الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4 | ابداع ديزاين abda3 design دورة [VBScript] الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4 | ابداع ديزاين abda3 design](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTueDoNOKMTZf_-z0aQNXKgx5L9KmDotRw6uhQwnFiNle7W4_nUZ5cgM1OZUEda-N1s_5Jum9cZsHVlEQHQoY8DIqytrJbc7Z0OeU4wMY_uzWo3PqfyBhMFl_zNRgSXLRbrn6K1TzXZ2s/s1600/faseel.png)
المتغير ببساطه هو مكان في الذاكرة لتخزين معطيات معينه(عدد، سلسلة نصيه، كائن،…)
وله اسم محدد، وهناك عدد من القواعد يجب الالتزام بها عند تسمية المتغيرات في
VBScript وهي:
- يجب أن يبدأ الاسم بحرف.
- لا يمكن أن يزيد طول اسم المتغير عن 255 حرفا.
- لا يمكن استخدام أحد الكلمات المحجوزة في اللغة مثل Year أو MsgBox أو غيره.
- ايضا هناك بعض المحارف لا يمكن استخدامها مثل الفراغات وبعض العلامات وهي ! & % - $ #.
(يفضل) قبل استخدام أي متغير أن يتم التصريح عنه، وتستخدم لغة VBScript العبارة Dim
للتصريح المتغيرات، مثلا نريد التصريح عن المتغير النصي strGreeting فإننا نستخدم
الكود التالي:
شفرة برمجية :
Dim strGreeting
إسناد القيم:
ويتم إسناد القيم إلى المتغيرات بسهولة حيث يتم وضع اسم المتغير ثم علامة
المساواة ونضع بعدهما قيمة المتغير مثلا…
شفرة برمجية :
strGreeting = "Hello"
ويمكن استخدام المتغيرات لتخزين إدخال من قبل المستخدم وذلك عن طريق القيمة المعادة
عن الدالة InputBox والتي تظهر مربع رسالة يحث المستخدم على إدخال بيانات ما وفي
المثال التالي تلاحظ أننا قمنا بتمرير الوسيطتين الأولى والثانية، حيث تمثل الأولى
النص الذي يحث المستخدم على إدخال البيانات والوسيطة الثانية تمثل عنوان مربع
الإدخال وهناك وسيطات أخرى لاتهمنا حاليا مثل إحداثيات المربع والقيمة الافتراضية
وغيرها لاحظ المثال.
شفرة برمجية :
YourWebSite = InputBox("ادخل اسم موقعك","طلب إدخال اسم الموقع")
document.write YourWebSite
إلى متغير ثم استخدمنا الخاصية Write لكائن Document لكتابة القيمة إلى المستند.
و يمكن استخدام المتغيرات لتحديد الزر الذي تم نقره في مربع رسالة إخراج وتستخدم
لغة VBScript الدالة MsgBox لإظهار نص ما من خلال نافذة منبثقة.. وتلاحظ في المثال
التالي أننا قمنا بتمرير الوسيطتين الأولى والثانية، حيث تمثل الأولى النص الذي
سيظهر وتمثل الثانية الأزرار التي ستظهر في مربع الإخراج.
شفرة برمجية :
ButtonClicked = msgbox("هل تريد تغيير لون الخلفية إلى
الأزرق",vbYesNo)
If ButtonClicked = 6 Then
Document.bgColor = "#000080"
End If
و بغض النظر عن العبارة الشرطية IF التي لم نتطرق لها بعد، ستجد أن الدالة أعادت قيمة تمثل الزر الذي تم النقر عليه وفي الشرط التالي نختبر القيمة التي تم وضعها في
المتغير، فإذا كانت تساوي 6 أي نقر المستخدم على الزر نعم فإننا نقوم بتغيير لون
الخلفية إلى الأزرق.
![دورة [VBScript] الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4 | ابداع ديزاين abda3 design دورة [VBScript] الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4 | ابداع ديزاين abda3 design](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTueDoNOKMTZf_-z0aQNXKgx5L9KmDotRw6uhQwnFiNle7W4_nUZ5cgM1OZUEda-N1s_5Jum9cZsHVlEQHQoY8DIqytrJbc7Z0OeU4wMY_uzWo3PqfyBhMFl_zNRgSXLRbrn6K1TzXZ2s/s1600/faseel.png)
الثوابت كما يدل عليها اسمها، هي قيم ثابتة مخزنة تحت اسم معين وتختلف عن المتغيرات
بأنه لا يمكن تغيير قيمها وقت التشغيل ولها فوائد عديدة منها أنها تجعل الكود اقصر
حيث أنها تغنيك عن تمرير القيمة التي قد تكون سلسلة نصية طويلة فباستخدام الثوابت
يكفي تمرير اسم الثابت، وتفيد الثوابت أيضا في جعل الكود اسهل فهما. وهاك مثال على
التصريح عن الثوابت واستخدامها.
شفرة برمجية :
Const Web_Site = "www.abda3design.blogspot.com"
' التصريح عن الثابت
MsgBox Web_Site 'عن استدعاء الثابت
وهناك ثوابت جاهزة معرفة داخل اللغة وتسهل عليك الكثير من المهام ولو عدت بعض
الخطوات إلى الوراء ستجد انك قبل قليل استخدمت أحد الثوابت المعرفة داخل اللغة وهو
الثابت vbYesNo والذي تم استخدامه مع مربع الرسالة وهناك ثوابت أخرى من الممكن أن
تحل محله مثل vbYesNoCancel .. وفيما يلي جملة من الثوابت التي يتم استخدامها كثيرا
داخل اللغة.
- ثوابت الألوان وهي: vbYellow، vbRed، vbGreen، vbMagenta، vbWhite، vbBlack،
vbCyan
- ثوابت للتعامل مع النصوص مثل : vbNewLine والذي يمثل محرف السطر الجديد، والثابت
vbNullString والذي يمثل سلسلة نصية فارغة.
- ثوابت للتعامل مع التاريخ مثل : vbSaturday، vbSunday، vbMonday،، etc…
![دورة [VBScript] الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4 | ابداع ديزاين abda3 design دورة [VBScript] الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4 | ابداع ديزاين abda3 design](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTueDoNOKMTZf_-z0aQNXKgx5L9KmDotRw6uhQwnFiNle7W4_nUZ5cgM1OZUEda-N1s_5Jum9cZsHVlEQHQoY8DIqytrJbc7Z0OeU4wMY_uzWo3PqfyBhMFl_zNRgSXLRbrn6K1TzXZ2s/s1600/faseel.png)
المصفوفة هي عبارة عن مجموعة من المتغيرات لها نفس الاسم ويتم الوصول إلى قيمة كل
متغير بواسطة رقم خاص به مثلا هذه المصفوفة تحتوي على مائة متغير.
شفرة برمجية :
Dim SiteName(99)
واعتبرت هنا مائة متغير لأن الترقيم يبدأ من صفر. وهناك ملاحظة وهي أن التصريح عن المصفوفات إجباري.
إسناد القيم:
شفرة برمجية :
'التصريح عن مصفوفة بثلاث متغيرات
Dim GoodSites(2)
'إسناد القيم
GoodSites(0) = "www.vb4arab.com"
GoodSites(1) = "www.c4arab.com"
GoodSites(2) = "www.abda3design.blogspot.com"
'لاسترجاع قيمة متغير معين
msgbox GoodSites(1)
المصفوفات متعددة الأبعاد ثابتة الحجم Fixed Arrays:
لاحظت في المثال السابق أن المصفوفة ذات بعد واحد أي ذات عمود واحد، و توفر لغة
VBScript إمكانية إنشاء مصفوفات متعددة الأبعاد لاحظ المثال التالي شفرة برمجية :
'إسناد القيم
' العمود الأول الصف الأول
GoodSites(0,0) = "موقع فيجوال بيسك للعرب"
' العمود الأول الصف الثاني
GoodSites(0,1) = "www.vb4arab.com"
' العمود الثاني الصف الأول
GoodSites(1,0) = "موقع الموسوعة العربية"
' العمود الثاني الصف الثاني
GoodSites(1,1) = "www.c4arab.com"
'استدعاء القيم
msgbox GoodSites(0,0) + " " + GoodSites(0,1)
msgbox GoodSites(1,0) + " " + GoodSites(1,1)
المصفوفات الديناميكية Dynamic Arrays :
قد لا نعلم عدد العناصر التي نريد إدخالها في المصفوفة أو نريد من المستخدم
تحديد ذلك، ولا يمكننا ذلك من خلال المصفوفات ثابتة الحجم التي قمنا باستعمالها قبل
قليل ولذلك سنلجأ إلى استخدام المصفوفات متغيرة الحجم (الديناميكية) وهذا مثال على
استخدام هذا النوع من المصفوفات..
شفرة برمجية :
Dim GoodSites()
Num = InputBox("أدخل عدد مواقع البرمجة العربية التي تراها جيدة")
ReDim GoodSites(Num – 1)
تلاحظ في المثال السابق أننا قمنا بتعريف المصفوفة دون تحديد عدد العناصر وعندما
أدخل المستخدم عدد العناصر فإننا قمنا بإعادة تصريحها باستخدام العبارة ReDim لتصبح
بالحجم الجديد.
ملاحظات عامة:-
- يجب مراعاة مكان تصريح المتغيرات والمصفوفات فعند الحاجة لاستخدامها في داخل
إجراء معين فإنه يتم التصريح عنها في نفس الإجراء وعند الحاجة للتعامل معها في أكثر
من إجراء فإنه يجب التصريح عنها خراج الإجراءين لتحتفظ بقيمها لاحظ المثال..
شفرة برمجية :
< INPUT type="button" value="Button1" name="button1">
< INPUT type="button" value="Button2" name="button2">
< Script language ="VBScript">
Sub button1_OnClick()
Dim Counter
Counter=10
MsgBox Counter
End Sub
Sub button2_OnClick()
MsgBox Counter
End Sub
< /Script >
الآن عندما تنقر على الزر Button1 فإنه سيتم اسند القيمة 10 إلى المتغير Counter
ولكن عندما تنقر على الزر Button2 ستجد أن المتغير فقد قيمته … الآن انقل التصريح
خارج الإجراء وانقر على الزرين بتتابع ولاحظ النتيجة.
- يمكن التصريح لأكثر من متغير أو مصفوفة بعبارة Dim واحدة
شفرة برمجية :
Dim MyVar,MyArr(20)
- ذكرت من قبل أنه يفضل التصريح عن المتغيرات (لأسباب عديدة) ويمكنك جعل التصريح
إجباريا بإضافة العبارة Option Explicit في بداية السكريبت.
شفرة برمجية :
Option Explicit
Num = 10 ' Num هنا سيظهر خطأ لأنك لم تقوم بالتصريح عن
المتغير
ولأي إستفسار الرجاء ترك تعليقاتكم لأقوم
بالإجابة عليها في القريب العاجل![دورة [VBScript] الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4 | ابداع ديزاين abda3 design دورة [VBScript] الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4 | ابداع ديزاين abda3 design](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTueDoNOKMTZf_-z0aQNXKgx5L9KmDotRw6uhQwnFiNle7W4_nUZ5cgM1OZUEda-N1s_5Jum9cZsHVlEQHQoY8DIqytrJbc7Z0OeU4wMY_uzWo3PqfyBhMFl_zNRgSXLRbrn6K1TzXZ2s/s1600/faseel.png)
لا تقرأ وترحل شارك معنا بتعليق فنحن نسعى لنقدم لك الافضل والاجمل
Résumé
التسميات:
برمجة,
دورة تعليم لغة الــ html,
دورة css,
دورة VBScript,
HTML دورة,
xhtml
|
0
التعليقات
الاشتراك في:
الرسائل (Atom)
![[ دورة CSS ] الملاحظات ج6 | ابداع ديزاين abda3 design [ دورة CSS ] الملاحظات ج6 | ابداع ديزاين abda3 design](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3HfjiO2YAHHCBKANz20hQO5PXpIZKLRSKb5epVR6YAui4ki7sANlkbTNk92kSy9nSeTRyLyDET2Fqq4-weSTn5ZCKIOnSvESyRS7UKc57UFd7KeAdKXzvYCFl_rA4XtyWOWdlOMD69mo/s200/CSS.png)

![دورة [VBScript] الدرس السابع: الدوال والإجراءات الفرعية ج2 | ابداع ديزاين abda3 design دورة [VBScript] الدرس السابع: الدوال والإجراءات الفرعية ج2 | ابداع ديزاين abda3 design](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbrcXI29Z3oZ4kpHW35lY-xraOZAcq_LQGLUq8dma-a99CN-Rp-6duLbYh759GrpKMxUj9DEDqsmq0_dX3WQ5KXj5KH1xnFylv7VtX2whDqiTlk7-6wnz4saeZv1E56a9tSMnaOYGp4Do/s200/vbscript+abda3design.png)




