في العدد السابق ، قدم المؤلف باختصار بعض الحس السليم من VBScript ، واحدة من لغات البرمجة النصية ASP. في عملية كتابة برنامج ASP لمساعدتك في فهم أفضل لـ VBScript.
بعد تعلم المفاهيم الأساسية للمتغيرات والثوابت وعمليات لغة البرمجة النصية vbscript ، ستستمر هذه المشكلة في تقديم وظائف VBScript وتجنيدك.
تتم تسمية وظائف كتل الكود مثل الإجراءات ، لكنها مختلفة تمامًا. يمكننا أن نفهم بهذه الطريقة أن العملية تشبه الجملة الكاملة ، في حين أن الوظيفة تشبه الكلمة. على سبيل المثال ، عندما ترغب في الحصول على الجذر التربيعي لرقم معين ، يمكنك فقط تمرير الرقم إلى وظيفة SQR () في VBScript ، وستقوم هذه الوظيفة على الفور بإرجاع الجذر التربيعي للرقم. يحب:A = SQR (9)
ثم أ = 3. سوف يجلب لك وظائف اللغة البرمجة النصية راحة كبيرة لكتابة برامج ASP. هذا هو الحل. الآن دعنا نراجع هذا التمرين بعد الفصل.يستخدم المؤلف ASP لإنشاء نظام BBS قائم على الويب ، على أمل إضافة ميزة خاصة إليه ، أي عندما يقوم أي مستخدم بتسجيل الدخول إلى BBS ، يمكنه الوصول إلى جميع المعلومات التي تم إصدارها حديثًا في الأيام السبعة الماضية.
إذا لم تكن على دراية بـ VBScript ، فلن تعرف أن VBScript نفسها توفر مواعيد الوظيفة للحصول على الفرق أو المبلغ بين التواريخ.
المواعيد (سنة ، شهر ، يوم)
إذا كنت ترغب في تحديد تاريخ ، على سبيل المثال: 10 نوفمبر 1998 ، فيجب أن يكون نطاق القيمة لكل معلمة في وظيفة التوقيف مقبولة ، أي ، يجب أن تكون قيمة اليوم بين 1 و 31 ، وقيمة الشهر يجب أن تكون بين 1 و 31 ، ويجب أن تكون قيمة الشهر بين 1 و 12. ومع ذلك ، يمكن أيضًا تحديد تاريخ نسبي لكل معلمة باستخدام تعبير رقمي يمثل عدد السنوات والشهور والأيام قبل أو بعد يوم معين. يستخدم المثال التالي تعبيرات رقمية بدلاً من التواريخ المطلقة. هنا ، تُرجع وظيفة المواعيد تاريخ العشرين عامًا (1990-20) وشهرين (11-2) ويوم آخر (10-1) قبل 10 نوفمبر 1998: 9 سبتمبر 1978. الإجراء كما يلي:Datep = المواعيد (1998-20 ، 11-2 ، 10-1)
بالنسبة لمعلمة السنة ، إذا كان نطاق القيمة من 0 إلى 99 ، يتم تفسيره على أنه 1900 إلى 1999. بالنسبة لمعلمات السنة خارج هذا النطاق ، يتم استخدام أربعة أرقام لتمثيل السنة (على سبيل المثال ، 1800). عندما تتجاوز قيمة أي معلمة النطاق المقبول ، سيتم نقلها بشكل صحيح إلى الوحدة الزمنية الأكبر التالية. على سبيل المثال ، إذا تم تحديد 35 يومًا ، فسيتم تفسير عدد الأيام على أنها شهر واحد بالإضافة إلى عدد الأيام الإضافية ، والتي تعتمد على عامها وشهرها. ولكن يحدث خطأ إذا تجاوزت قيمة المعلمة نطاق -32،768 إلى 32،767 ، أو إذا كان التاريخ المحدد بواسطة ثلاث معلمات (سواء مباشرة أو من خلال التعبير) خارج نطاق التاريخ المقبول.بعد أن نفهم ونؤدي استخدام مواعيد الوظيفة ، دعونا نلقي نظرة على السؤال الذي حدده المؤلف وسيتم حل كل شيء. أدناه سأقوم بنشر هذا الجزء من الكود في البرنامج على النحو التالي: العدد = المواعيد (السنة (التاريخ) ، الشهر (التاريخ) ، اليوم (التاريخ) -7)
العنصر = DateValue (itemp)
sql = حدد * من الرسالة حيث message.creatime بين #& date & #و #& itemp & #
هنا نتلامس مع مجموعة من الوظائف العام والشهر واليوم ، والتي تستخدم للحصول على موعد. التاريخ هو ثابت يمثل تاريخ اليوم ، في حين أن Datevalue الوظيفة هو متغير يحول متغير السلسلة إلى تنسيق تاريخ. في السطر الثالث من هذا البرنامج ، تواصلنا أولاً مع بيان استعلام SQL القياسي.
SELECT هو أمر SQL SQL القياسي. شرط الاستعلام هو استرداد السجلات التي تلبي الشروط في قاعدة البيانات. لتوصيل الجملة بأكملها وفهمها: الاستعلام عن جميع السجلات في قاعدة البيانات المسمى Message ، وتخزين جميع السجلات في غضون سبعة أيام قبل اليوم وقبل اليوم في SQL المتغير. ربما لأنك تتعرض لبيانات SQL لأول مرة ، لا يمكنك فهم وظيفتها تمامًا لفترة من الوقت ، ولكن لا تقلق من أنه في الفصول المستقبلية ، سيستخدم المؤلف مشكلة خاصة لتقديم استخدام SQL لك.
من خلال التعلم أعلاه ، يجب أن يكون الجميع قادرين على فهم دور الوظائف في البرامج. بعد ذلك ، دعونا نلقي نظرة على بناء الجملة الأساسي لـ VBScript.
يجب أن يعلم الأصدقاء الذين يعرفون لغات البرمجة أن البيانات التي تتدفق في البرامج يمكن أن تنقسم بشكل أساسي إلى بيانات شرطية وبيانات حلقة.
حدد بيان الحالة
IF ... ثم ... يتم استخدام بيان آخر لحساب ما إذا كانت الحالة صحيحة أم خاطئة ، ولتحديد العبارة المراد تشغيلها بناءً على نتيجة الحساب. عادةً ما يكون الشرط هو أن التعبير الذي يقارن القيم أو المتغيرات يتم استخدامه باستخدام مشغل المقارنة ، و IF ... ثم ... يمكن أن يكون بيان آخر متداخلًا حسب الحاجة.
دعنا ننشئ ملفين عينة: if1.asp و if2.asp
قم بإلغاء العبارة التالية في المفكرة وحفظها كـ if1.asp (ملاحظة: يرجى إزالة المساحة بعد <في البرنامج) <html>
<head>
<title> if1.asp < /title>
</head> <bgcolor =#ffffff>
<form action = if2.asp method = get>
اسمك الأول <input name = firstName maxLength = 20> <p>
اسم الأخير <input name = lastName maxLength = 20> <p>
<نوع الإدخال = إرسال> <إدخال نوع = إعادة تعيين>
< /form>
< /body>
</html>
قم بإلغاء العبارة التالية في المفكرة وحفظها كـ IF2.asp <html>
<head>
<title> ifrespond.asp < /title>
</head>
<٪ fname = request.querystring (FirstName)
lname = request.querystring (اسمه)
إذا fname = جورج و lname = واشنطن ثم ٪>
مرحبًا ، يجب أن تكون أول رئيس!
<٪ آخر ٪>
مرحبا! تشرفت بلقائك
<٪ نهاية إذا ٪>
< /body>
</html>
يقوم ASP1.asp بإنشاء مربع إدخال نص ، ويتطلب من المستخدم إدخال اسمه الأخير ،
ASP2.ASP هو استخدام بيان IF لتحديد ما إذا كان الاسم الذي أدخله المستخدم هو جورج واشنطن ، وتقديم ملاحظات مماثلة. نواجه هنا طلب كائن مدمج ASP. تسترجع مجموعة QueryString قيمة المتغير في سلسلة استعلام HTTP ، ويتم تحديد سلسلة استعلام HTTP بواسطة القيمة بعد علامة الاستفهام (؟). يحب:
http: //localhost/if2.asp؟ firstName = George & LastName = Washington
قم بإنشاء سلسلة اسم متغيرة مع Value FirstName = George & LastName = Washington. سيركز مؤلف كائن ASP على المقالات التالية.
يتيح لك تشوه IF ... ثم ... آخر عبارة عن الاختيار من بين شروط متعددة ، أي إضافة شرط elseif لتوسيع وظائف IF ... ثم ... أخرى ، مما يسمح لك بالتحكم بناءً على شروط متعددة.
لقد قمنا بتوسيع جزء البرنامج من ASP2.asp على النحو التالي: <٪
fname = lace (request.querystring (firstName))
lname = lace (request.querystring (lastName))
إذا fname = جورج و lname = واشنطن ثم ٪>
مرحبًا ، يجب أن تكون أول رئيس! <p>
<٪ elseif fname = ronald و lname = ريغان ثم ٪>
مرحبًا ، يجب أن تكون رئيس الممثل! <p>
<٪ elseif fname = jimmy و lname = carter then ٪>
مرحبًا ، يجب أن تكون رئيس مزارع الفول السوداني! <p>
<٪ elseif fname = naoko أو fname = تشارلز ثم ٪>
مرحبًا ، يذكرني اسمك بشخص ما ، لكنني لست متأكدًا من من! <p>
<٪ آخر ٪>
مرحبا! تشرفت بلقائك
<٪ نهاية إذا ٪>
كما يمكن إضافة العديد من الجمل الأخرى لتوفير خيارات متعددة. لكن استخدام جمل متعددة في كثير من الأحيان يجعل البرنامج مرهقًا للغاية. طريقة أفضل للاختيار من بين الشروط المتعددة هي استخدام عبارة CASE SELECT.
يوفر بنية CASE SELECT حلاً لـ IF ... ثم ... بنية ELSEIF ، يمكنك تحديد وتنفيذ واحدة منها من كتل بيان متعددة. توفر عبارة CASE SELECT وظائف مماثلة لـ IF ... ثم ... ELSE BATE ، ولكن يمكن أن تجعل الكود أكثر إيجازًا وسهل القراءة. يستخدم هيكل حالة SELECT تعبير اختبار بسيط يتم حسابه مرة واحدة فقط في بدايته. تتم مقارنة نتيجة التعبير بقيمة كل حالة في الهيكل. إذا كانت تتطابق مع كتلة العبارة المرتبطة بالحالة.
<٪
fname = lace (request.querystring (firstName))
lname = lace (request.querystring (lastName))
الاسم = fname+lname
حدد اسم الحالة
قضية جورج واشينغتون
الرد. write مرحبا ، يجب أن تكون أول رئيس! <p>
قضية رونالدريجان
الرد. write مرحبا ، يجب أن تكون رئيس الممثل! <p>
حالة جيميكارتر
الرد
قضية Naokocharles
الرد
حالة أخرى
الرد
نهاية SELECT ٪>
لاحظ أن بنية حالة SELECT تحسب تعبيرًا واحدًا فقط في البداية وفقط مرة واحدة ، بينما IF ... ثم ... يحسب هيكل Elseif التعبير لكل عبارة elseif ، والتي يمكن أن تختلف. لذلك ، يمكن استخدام بنية حالة SELECT بدلاً من IF ... ثم ... بنية elseif فقط إذا كان التعبير المحسوب بواسطة عبارة eloseif هو نفسه. يمكن أيضًا تداخل عبارة SELECT CASE ، ويجب أن يكون لكل طبقة من بيان حالة SELET المتداخلة عبارة محددة نهاية مطابقة.
لا يمكن تفصيل الطريقة أعلاه لاستخدام الوظائف والبيانات الشرطية للغة النصية التي تم تقديمها لك بسبب الطول. في عملية تطوير تطبيقات ASP على أساس يومي ، أدرك المؤلف نفسه تدريجياً أهمية لغة البرمجة النصية. ولكن أيضًا يعزز كفاءة التنفيذ ووظائف تطبيقات ASP. إذا كنت ترغب في القيام بشيء جيد ، فيجب عليك أولاً شحذ أدواتك. نظرًا لأن هذه المقالة ليست برنامجًا تعليميًا لـ VBSCROPT ، فيمكننا استخدام مساحة صغيرة فقط لإدخال بعض المعرفة الأساسية VBSCRIP بحاجة إلى التعمق في vbscript. إذا كان لديك أي أسئلة بعد قراءة هذا المقال ، فيرجى إرسال بريد إلكتروني لي في الوقت المناسب.