محاضرة ASP 5: مكونات ASP (2)
الكاتب:Eve Cole
وقت التحديث:2009-05-30 19:58:12
في المحاضرة السابقة، تعلمنا كيفية إنشاء المكونات، باستخدام مكونات قدرة المستعرض، ومكونات الوصول إلى الملفات، ومكونات AD Rotator، ومكونات ربط المحتوى، وتعلمنا أيضًا عن أسلوب CreateObject، وأسلوب MapPath، وأسلوب HTMLEncode لكائن الخادم. ستواصل هذه المحاضرة دراسة المكونات.
1. مكون البريد الإلكتروني: كائنات بيانات تعاون NTS
غالبًا ما نرى على الإنترنت أن العديد من المواقع توفر وظائف إرسال عبر الإنترنت (أي استخدام النماذج لتنفيذ إرسال الأسئلة أو الدعم أو التعليقات المعلوماتية، وما إلى ذلك) أو إرسال رسائل تأكيد للزائرين. يصعب تحقيق هذه الوظيفة للصفحات الرئيسية الشخصية لأنها تتطلب دعمًا إضافيًا من موفر الصفحة الرئيسية (الكتابة عبر الإنترنت على صفحتي الرئيسية الشخصية مكتوبة بـ CGI ولا علاقة لها بـ ASP).
ملاحظة خاصة: تم تصحيح جميع الأمثلة الواردة في هذه المحاضرة على Windows NT4.0 Server+IIS (Internet Information Server) 4.0، ولكن معظمها ينطبق أيضًا على Windows9.x+PWS. ومع ذلك، لمعرفة كيفية استخدام ASP بشكل جيد، فمن الأفضل تثبيت Windows NT ليتعايش مع Windows 95/98 (لا تخف إذا لم تقم بتثبيته من قبل، فهو سهل للغاية، طالما أن الجهاز قليلاً أفضل، يمكن أن يصبح NT تلقائيًا Win NT/Win9 بعد التثبيت × التمهيد المزدوج).
<% 'wuf30.asp
البريد الخافت
"إنشاء مكون البريد الإلكتروني."
تعيين البريد = Server.CreateObject("CDONTS.NewMail")
"إرسال البريد الإلكتروني."
Mail.Send "من@intldept.com"، و"إلى@intldept.com"، و"الموضوع"، و"النص الأساسي"
تعيين البريد = لا شيء
%>
هذا هو أبسط مثال. في الواقع، باستخدام هذا المكون، يمكنك إرسال رسائل البريد الإلكتروني بتنسيق نص عادي أو تنسيق نص تشعبي بتنسيق HTML. ويدعم المكون أيضًا النسخة الكربونية (CC) والنسخة الكربونية العمياء (BCC)، ويمكن أن تتضمن صورًا ومرفقات ويمكنه أيضًا تلقي رسائل البريد الإلكتروني. وينبغي القول أن الوظيفة قوية جدًا. لكنني شخصيا لا أقدر ذلك كثيرا، لأنه لاستخدام هذا المكون، يجب عليك تثبيت خدمة SMTP الخاصة بـ Windows NT Server وIIS4.0 (نمط Microsoft)، وهذا المكون لا يدعم بروتوكول POP3. لذلك، إذا لم تتمكن من إرسال رسائل البريد الإلكتروني بشكل طبيعي باستخدام هذا المكون، فيمكنك فتح Internet Server Manager لمعرفة ما إذا كان موقع SMTP الافتراضي قد تم تشغيله (ابدأ) وبعض الإعدادات ذات الصلة. ومع ذلك، إذا كنت من محبي Microsoft، يمكنك الذهاب إلى صفحتي الرئيسية (http://wuf.bentium.net/) لتنزيل إجراءات wuf31.asp وsendmail.asp الخاصة بهذا المكون ودراستها بنفسك.
2. استخدام مكونات الطرف الثالث حتى الآن، تم تضمين المكونات التي قدمناها في IIS4.0، ويمكنك استخدام هذه المكونات مباشرة. بالإضافة إلى ذلك، يمكنك أيضًا الحصول على المكونين التاليين من القرص المضغوط الخاص بـ Microsoft IIS Resource Kit (أو جرب حظك على http://www.microsoft.com/iis لمعرفة ما إذا كان من الممكن تنزيلهما):
ل مكون عداد الصفحة: عداد صفحات الويب
l مكون مدقق الأذونات: مكون تأكيد إذن الوصول إلى صفحة الويب
لقد انتهى هنا تقديم المكونات المضمنة في IIS4.0، ولكن لا تزال هناك حاجة إلى مواصلة دراسة مكونات ASP. فمن ناحية، يوجد عدد قليل جدًا من المكونات المضمنة في IIS4.0 وما بعده ومن ناحية أخرى، قد لا تكون وظائف هذه المكونات المتوفرة قوية جدًا ومناسبة لاحتياجاتك. ولذلك، فإن العدد الأكبر من الموارد عبارة عن مئات من مكونات الطرف الثالث الموجودة على الإنترنت، وبعضها مجاني، وبعضها يقدم إصدارات ذات وظائف محدودة أو إصدارات تقييمية، وبالطبع فإن المزيد منها يكلف أموالاً (يكلف المكون ثلاثة أرقام). $، هل ارتكبت خطأ! إنه مجرد "ابتزاز" ملتوي). استخدام هذه المكونات يمكن أن يجعلك خبيرًا زائفًا في ASP، مما يسمح لك بإنشاء صفحة رئيسية قوية بسرعة وسهولة. وقد نجد هذا الشعور أيضًا من خلال بعض الأمثلة.
(1) مكون تحميل الملفات AspSmartUpload (مجاني)
قم بتنزيل المكون أولاً: يبلغ حجم الملف حوالي 100 كيلو بايت (يمكنك أيضًا تنزيله من موقعي). بعد التنزيل والتفريغ، يوجد إجماليًا أكثر من ثلاثين ملفًا، موجودة في أدلة مختلفة. يمكنك الرجوع إلى ملفات التعليمات لدراستها بنفسك، وهذا مجرد مثال كامل لتوضيح كيفية استخدام مكونات الطرف الثالث.
ابحث عن الملفين AspSmartUpload.dll وAspSmartUploadUtil.dll، واستخدم سطري الأوامر "regsvr32.exe aspsmartupload.dll" و"regsvr32.exe aspsmartuploadutil.dll" على التوالي في موجه الأوامر الخاص بخادم الويب لتسجيل المكون (إذا كنت عند استخدام Regsvr32.exe لأول مرة، يمكنك أولاً نسخ ملفي DLL هذين إلى دليل "Winnt/System32" أو "Windows/System" الخاص بخادم الويب). ستظهر في النافذة المنبثقة (ملاحظة: يجب عليك التسجيل قبل استخدام مكونات الطرف الثالث. يتم تثبيت بعض مكونات الطرف الثالث ويمكن تسجيلها تلقائيًا، في حين أن المزيد من المكونات المشابهة تتطلب التسجيل اليدوي بنفسك). بعد التسجيل الناجح، الخطوة التالية هي كتابة التعليمات البرمجية لاستخدام المكون. يتكون هذا المثال من ملفين (لاحظ أنه من فضلك لا تستخدم أسماء الملفات الصينية أثناء الاختبار):
wuf32.htm – صفحة ويب أمامية (نموذج) لتحميل الملفات
<أتش تي أم أل>
<نمط النوع = "نص/CSS">
<!--
الإدخال {عائلة الخط: "宋体"، "Times New Roman"؛ حجم الخط: 9pt؛ ارتفاع الخط: 16pt}
-->
</نمط>
<الجسم BGCOLOR = "أبيض">
صفحة ويب لتحميل الملفات (يمكنك تحديد عدد الملفات التي يمكنك تحميلها، ولكن لا يمكن أن يحتوي اسم الملف على أحرف صينية)
<الموارد البشرية>
<طريقة النموذج = "POST" ACTION = "wuf34.asp" ENCTYPE = "متعدد الأجزاء/بيانات النموذج">
<!--النص -->
اسم المستخدم: <input TYPE="TEXT" name="myText" value=""><br>
<!-- كلمة المرور -->
كلمة المرور: <input TYPE = "PASSWORD" name = "myPASSWORD" value = ""><br>
<!--مخفي -->
<input TYPE="hidden" name="myHidden" value="hidden"><br>
<!--الملف -->
الملف 1: <INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
الملف 2: <INPUT TYPE="FILE" NAME="FILE2" SIZE="50"><BR>
الملف 3: <INPUT TYPE="FILE" NAME="FILE3" SIZE="50"><BR>
الملف 4: <INPUT TYPE="FILE" NAME="FILE4" SIZE="50"><BR>
<INPUT TYPE="SUBMIT" VALUE="تحميل">
</فورم>
</BODY></HTML>
اضغط على الزر "تحميل"، وسيتم التعامل مع الخلفية بواسطة الملف wuf34.asp (يمكنك أيضًا تنزيل wuf33.asp الأبسط):
<HTML><BODY BGCOLOR="white">
نتائج تحميل الملف:
<الموارد البشرية>
<%
تعتيم mySmartUpload، العنصر، القيمة، الملف
'قم أولاً بإنشاء المكون على النحو التالي
تعيين mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.Upload
استخدم For Each حلقة للحصول على قيمة كل عنصر في النموذج من
لكل عنصر في mySmartUpload.Form
لكل قيمة في mySmartUpload.Form(item)
Response.Write(العنصر & " = " & القيمة & "<BR>")
التالي
التالي
الاستجابة.اكتب "<Hr>"
'تحميل بيانات الملف
' Response.Write("عدد الملفات =" & mySmartUpload.Files.Count &"<BR>")
Response.Write("إجمالي البايتات = "& mySmartUpload.Files.TotalBytes &" بايتات<Br><Br>")
Response.Write("قائمة الملفات:" & "<Br>")
لكل ملف - هناك طريقة أسهل، راجع wuf33.asp
لكل ملف في mySmartUpload.Files
إذا لم يكن file.IsMissing ثم
'احفظه ضمن C:temp باسم الملف الأصلي
file.SaveAs("c:temp" & file.FileName)
Response.Write(file.FileName & "(" & file.Size & "بايت)<BR>")
نهاية إذا
التالي
اضبط mySmartUpload = لا شيء
%>
</الجسم>
</HTML>
لمزيد من الاستخدام التفصيلي ووظائف هذا المكون (مثل تحديد نوع وحجم الملفات التي تم تحميلها، أو التحميل إلى قاعدة البيانات، أو تنزيل الملفات أو حقول قاعدة البيانات، وما إلى ذلك)، يمكنك قراءة العينات أو دراسة المساعدة الأجنبية بنفسك. إذا كنت تشعر أن قراءة النص الإلكتروني أمر مرهق للغاية، فيمكنك أيضًا تنزيل مكون تحميل الملفات المنتج محليًا، والذي يحتوي على مساعدة وعينات صينية ولا يزال عنوان التنزيل جيدًا.
(2) المكون الرسومي: مخطط Dundas الدائري (مخطط دائري)
استمع أولاً إلى ما يقوله موفر المكونات: "أداء وامض، ورسومات عالية الجودة يمكن أن تجعل الناس خافتين، وقويين، وسريعين، ومرونة لا تضاهى." واو، التفاخر أفضل من Wei Xiaobao، أليس كذلك؟ دعونا ننظر إلى النتائج:
باستخدام هذا المخطط الدائري، يمكنك أيضًا إجراء استطلاعات مثل Sina.com. ما الذي يحظى بشعبية كبيرة مجانًا؟ ماذا تنتظر؟
(1) 3DPieCSC.EXE: http://www.dundas.com/downloads/freeproducts/files/3DPieCSC.EXE
(2) FPDocInst.exe: http://www.dundas.com/downloads/freeproducts/files/FPDocInst.exe
تم تضمين هذا المكون في 3DPieCSC.EXE. وهذا الأخير عبارة عن ملف توثيق وتثبيت. لقد قمت بتثبيته في الدليل "C:Inetpub3dPieCSC" الخاص بالخادم. ويأتي هذا المكون مع نموذجين من البرامج المعقدة للغاية الأداء ويصعب فهمه. إليك مثال شعبي بسيط وعملي:
wuf36.htm، استدعاء ملف ASP من خلال العلامة <IMG>:
<HTML><الجسم>
<IMG src="wuf37.asp">
</BODY></HTML>
wuf37.asp، يستخدم لإنشاء الرسومات (كما هو مذكور أعلاه، يرجى عدم استخدام اللغة الصينية في الكود):
<%@ اللغة=VBScript %>
<% خيار صريح
خافت objPieChart
تعيين objPieChart = Server.CreateObject("Dundas.PieChartServer.1") 'إنشاء المكون أولاً
"تعيين دليل العمل."
objPieChart.DirOutput = "C:Inetpub3dPieCSCSampleChart"
'قم بتعيين الدليل الذي يوجد به ملف القالب
objPieChart.DirTemplate = "C:Inetpub3dPieCSCSampleTemplates"
'كتالوج المواد - يمكنك بسهولة تغيير المواد ولون الرسومات
objPieChart.DirTexture = "C:Inetpub3dPieCSCSampleTextures"
'اختر ملف قالب، والذي يمكن تحريره أو تعديله بنفسك
objPieChart.LoadTemplate "PieInTheSky.cuc"
"عنوان الرسم
objPieChart.Title = "هذه عينة"
'أضف عناصر متنوعة، بما في ذلك أوصاف ملصقات الوزن
objPieChart.AddData 40، "Item1:40%"، "الصين"
objPieChart.AddData 30، "Item2:30%"، "USA"
objPieChart.AddData 30، "Item3:30%"، "أخرى"
'نتيجة الإخراج هي رسم، ويمكن تحديد العرض والارتفاع
objPieChart.SendJPEG 400300
تعيين objPieChart = لا شيء
%>
لأكون صادقًا، هذا الشيء المجاني جيد جدًا، لكن الإجراءات الروتينية التي يوفرها معقدة جدًا بحيث لا يمكن إتقانها بسهولة. قد ترغب الآن في استخلاص استنتاجات من مثال واحد وفهم كيفية الحصول على رسم بياني. يوجد بالفعل مثل هذا المكون: ShotGraph، لكنه لا يحتاج إلى أن يكون معقدًا للغاية، ما عليك سوى إعداد صورة رسم بياني (يمكنك ذلك). إذا لم تتمكن من رؤية الآخرين، فهي موجودة على صفحة الويب، ما عليك سوى حفظها كصفحة منفصلة)، ما عليك سوى استخدام علامتي HTML الوزن والارتفاع لتمديدها وضغطها بشكل متناسب (<img src = bar.gif width = <%= المتغير٪> الارتفاع = 10>).
بالإضافة إلى ذلك، من أجل التعويض عن البداية المختصرة لهذه المحاضرة، أوصي رسميًا بمكونين للبريد الإلكتروني:
(1) aspSmartMail: احرص على عدم استخدام اللغة الصينية في الكود، وإلا فلن تتمكن من إرسال خطاب للحصول على التفاصيل، راجع الروتين wuf35.asp.
(2) W3 Jmail: http://download.dimac.net/jmail/jmail.exe.
(3) ChinaMail: http://wuf.bentium.net/، وهو مكون بريد إلكتروني صيني بالكامل كتبته بنفسي.
أنا شخصياً أشعر بمشاعر معقدة وثقيلة بشأن المكونات التي تحتوي على عدد قليل جدًا من المكونات المضمنة في IIS4.0، لكن العديد من مكونات النص الإلكتروني عبر الإنترنت لا تدعم اللغة الصينية وليست ممتعة في الاستخدام انتقل إلى http://www.chinaasp.com/، أفضل موقع ويب في الصين، لمعرفة ذلك. المكونات المدرجة قليلة جدًا، وهو أمر مخيب للآمال، ثم لم يتبق سوى طريقة واحدة، وهي كتابتها بنفسك. ولكن هل يستطيع الناس العاديون كتابتها بأنفسهم، وهذا شك). أنا أتفق تمامًا مع دعوة ChinaASP، وربما يعني ذلك أنه لم تقم أي شركة برمجيات في الصين بنشر مكونات ASP علنًا، على الرغم من وجود الكثير من الكتب حول ASP، إلا أنها ليست ذات ذوق رفيع. في الواقع، عندما تمت دعوتي لكتابة هذه المحاضرة، كان هناك عدد قليل جدًا من الكتب حول ASP في السوق، ولكن الآن، فجأة أصبح هناك الكثير منها. ما زلت أوصي بشراء الكتب التي كتبها أجانب، أولاً، فهي متوفرة على أقراص مضغوطة ثانيًا، إنها بالفعل منتجات مستوردة بشكل عام، ومن الأفضل أن تُقرأ بهذه الطريقة، وهي ليست جامدة.
أخيرًا، سأزودك بالعديد من مواقع موارد المكونات:
(1) http://www.serverobjects.com/
(2) http://www.15thans.com/
(3) http://www.activeserverpages.com/
(4) http://www.softartisans.com/