لمن يريد التعرف عليه اكتر

يناير 4th, 2007 كتبها ahmedtawfik hafez نشر في , Web Programming

السلام عليكم ورحمه الله وبركاته
للعايز يتعرف عليه ويشوف البلوج التعبان بتاعى الجديد انا لسه مش فاضى فمش مهتم بيه قوى بس ربنا يسهل وافضاله
وانا  طالب  لمن يدخل على البوج الجديد بتاعى وشايف حاجه غلط فى البلوج او فى حياتى  برد عليه ومكتوب تيلفونات فى البلوج موجود لينكه لل

المزيد


شرح حلو للفيجوال بيزك 6

مايو 11th, 2006 كتبها ahmedtawfik hafez نشر في , Web Programming

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


سنكتب في هذا الفصل، أول برنامج لك في فيجول بيسك. تمر مرحلة كتابة البرنامج في فيجول بيسك بخطوتين:
1
خطوة التصميم المرئي للبرنامج.n
سندعوها عبر الكتاب بالتمثيل المرئي Visual Implementation للنموذج.
2
خطوة كتابة نص البرنامج.n
يُصمِم المستخدم خلال الخطوة الأولى، البرنامج باستخدام الأدوات التي تأتي مع برمجية فيجول بيسك. تمكّنك هذه الأدوات من تصميم البرنامج باستخدام الفأرة ولوحة المفاتيح.
لا يلزمنا خلال مرحلة البرمجة المرئية (أي التصميم المرئي) كتابة أي نص برمجي!، وكل ما عليك معرفته هو كيف تشغّل وتستخدم الأدوات البرمجية التي تأتي مع فيجول بيسك. وسوف تلاحظ أن عملية التصميم المرئي فيها قدر كبير من المتعة وتعتمد بكثرة على النقر بالفأرة. يركز هذا الفصل على معرفة كيفية استخدام أدوات التصميم المرئي في فيجول بيسك.
أما في خطوة كتابة نص البرنامج، فيستخدم محرر نصوص لكتابة البرنامج. وتتألف البرامج من عبارات مكتوبة بلغة البرمجة فيجول بيسك. تتشابه عملية كتابة نصوص البرامج في فيجول بيسك مع كتابة البرامج في اللغات الأخرى. إلا أن كتابة البرامج في فيجول بيسك أسهل بكثير من كتابتها باللغات الأخرى.
حول هذا الفصل
ستلاحظ إذا استعرضت باقي فصول الكتاب، أن هذا الفصل ليس نموذجياً، فهو يركز على ناحية البرمجة المرئية Visual Programmingللغة فيجول بيسك، ولهذا فهو يدقق على كيفية استخدام الأدوات البرمجية للغة (عناصر التحكم). بينما تتولى فصول الكتاب المتبقية تعليمك، كيفية كتابة نص البرامج في فيجول بيسك.
إنشاء دليل حفظ الملفات
قبل البدء بعملية كتابة أول برنامج لك في لغة فيجول بيسك، سننشئ دليلاً يحوي على ملفات العمل المنجز. وسنفترض عبر هذا الفصل، أن الدليل موجود لديك على القرص الصلب، وسنطلب منك فقط حفظ الملفات فيه، لهذا أنشئ الدليل التالي C:\VB5Prg\Ch01.
برنامج الترحيب
سنكتب برنامجاً يدعى برنامج الترحيب. وقبل كتابة برنامج الترحيب بنفسك دعنا ندرس أولاً مواصفاته، وبهذه الطريقة سنتمكن من فهم ما يفترض أن ينجزه هذا البرنامج بشكل أفضل.
يظهر الإطار المبين في الشكل 1-1، عند بدء تشغيل برنامج الترحيب وكما تلاحظ يحوي إطار البرنامج على ثلاثة أزرار أوامر (الزر إظهار الترحيب والزر مسح والزر خروج) ومربع نص فارغ.
الشكل 1-1
برنامج الترحيب.
تظهر الرسالة مرحباً بكم ضمن مربع النص، عند النقر على الزر إظهار الترحيب.
الشكل 1-2
إظهار مرحباً بكم
في مربع النص.
يمحو برنامج الترحيب محتوى مربع النص، عند النقر بالفأرة على الزر مسح.
ينتهي تنفيذ برنامج الترحيب عند النقر على الزر خروج.
إنشاء مشروع جديد
الآن وقد علمت ما ينجزه برنامج الترحيب، نستطيع الشروع بكتابته.
ملاحظة
برنامج الترحيب عبارة عن برنامج بالغ البساطة، لكن مع ذلك يتوجب عليك كتابته بنفسك، لأنه يمثل برنامجاً نموذجياً في فيجول بيسك. وفي الواقع، حال تعلمك كيفية كتابة برنامج الترحيب بنفسك، تستطيع فهم ما هي لغة فيجول بيسك! طبعاً هنالك كمّ هائل من المعلومات الأخرى في فيجول بيسك لا بد لك من معرفتها، إلا أن كتابة هذا البرنامج بنفسك يعني أنك تعرفت على أساسيات فيجول بيسك.
أُولى الأوليات التي يجب عليك إنجازها، هي إنشاء مشروع جديد New Project لبرنامج الترحيب باتباع الخطوات التالية:
1
شغّل فيجول بيسك. إذا رأيت مربعq الحوار المبين في الشكل 1-3، فأغلق هذا المربع بنقر الزر إلغاء الأمر.
2
اخترq البند New Project من القائمة File لفيجول بيسك.
يستجيب فيجول بيسك بإظهار مربع الحوار New Project المبين في الشكل 1-4.
الشكل 1-3
مربع الحوار New Project
الذي قد يظهر عند تشغيل فيجول بيسك.
كما يبدو من الشكل 1-4. يمكّنك مربع الحوار New Project من إنشاء أنواع مختلفة من المشاريع (Project). لكننا في الوقت الراهن، نرغب بإنشاء تطبيق تنفيذي قياسي
(Standard EXE).
الشكل 1-4
مربع الحوار New Project
الذي يُظهره فيجول بيسك بعد اختيار New Project من القائمة File.
لهذا أَخبر فيجول بيسك بذلك باتباع الخطوة التالية:
1
انقر الرمزq Standard EXE الذي يظهر ضمن مربع الحوار New Project ثم انقر الزر OK لمربع الحوار New Project.
يظهر عند ذلك إطار خال يدعى النموذج Form1 (انظر الشكل 1-5). سنستخدم أدوات لغة فيجول بيسك المتنوعة حتى يصبح النموذج الخالي، كالمبين
في الشكل 1-1.
الشكل 1-5
النموذج Form1 الفارغ.
حفظ المشروع الجديد
رغم أننا لم نجر أي تعديلات بعد على النموذج الفارغ، لكن يتوجب عليك حفظ المشروع في هذه المرحلة المبكرة من التصميم. يؤدي حفظ المشروع إلى تخزين ملفين:
1
ملف المشروعn Project File، ويمتلك الامتداد vbp. يحتوي هذا الملف على المعلومات التي يستخدمها فيجول بيسك لبناء المشروع.
2
ملف النموذج Form File، ويمتلك الامتداد frm.n ويحتوي على معلومات تتعلق بالنموذج نفسه.
استخدم الآن الخطوات التالية لحفظ الملفين: Hello.vbp (ملف المشروع)، و Hello.frm (ملف النموذج).
1
تحقق من تمركزq الإضاءة عند عنوان الإطار Form1، ثم اختر Save Form1 As من القائمة File لفيجول بيسك. (يعني تمركز الإضاءة عند نموذج ما، أنه تم اختياره).
يستجيب فيجول بيسك بإظهار مربع الحوار Save File As.
2
استخدم مربع الحوار Save File As لاختيارq الدليل C:\VB5Prg\Ch01 من أجل حفظ الملف فيه. بدّل الاسم الافتراضي للنموذج من Form1.frm إلى Hello.frm
(
انظر الشكل 1-6).
3
انقر الزر حفظ في مربع الحوارq Save File As.
يستجيب فيجول بيسك بحفظ النموذج باسم Hello.frm في الدليل C:\VB5Prg\Ch01.
ملاحظة
لا تستخدم الاسم الافتراضي الذي يقدمه فيجول بيسك عند حفظ نموذج ما. بل احفظ النموذج باسم مناسب للتطبيق الذي تصممه. لاحظ مثلاً، أننا استخدمنا الاسم Hello.frm كاسم لنموذج برنامج الترحيب.
الشكل 1-6
حفظ النموذج
بالاسم Hello.frm.
والآن، احفظ ملف المشروع:
1
اختر Saveq Project As من القائمة File لفيجول بيسك.
يستجيب فيجول بيسك بإظهار مربع الحوار Save Project As.
2
الاسم الافتراضي الذي يقدمه فيجول بيسك للمشروع هوq Project1.vbp.
لكن لا بد من تغيير الاسم الافتراضي إلى اسم يتناسب مع التطبيق الذي تعمل على تطويره.
3
استخدم مربع الحوار Save Project As لحفظ المشروعq بالاسم Hello.vbp في الدليل C:\VB5Prg\Ch01.
ملاحظة
لا تستخدم الاسم الافتراضي الذي يعطيه فيجول بيسك للمشروع عند حفظ ملف المشروع. ولكن بدلاً من ذلك أطلق على المشروع اسماً يتناسب مع التطبيق الذي تصممه. لاحظ مثلاً أننا أطلقنا على مشروع برنامج الترحيب تسمية Hello.vbp. نكون حتى هذه اللحظة قد أنهينا حفظ الملفين Hello.vbp (ملف المشروع) وHello.frm (ملف النموذج).
فحص إطار المشروع Project Window
حتى هذه النقطة، يدعى المشروع بالاسم Hello.vbp ويتألف من ملف نموذج واحد هو الملف Hello.frm. سنمر عبر الفصول القادمة على مشاريع تحوي أكثر من ملف نموذج.
يعتبر إطار المشروع Project Window من الأدوات الهامة التي يقدمها فيجول بيسك، ويمكّنك من رؤية الملفات المختلفة الموجودة في المشروع. (ستشعر بقيمة هذه الميزة بشكل أفضل كلما زاد تعقيد المشروع).
اتبع الخطوات التالية لفهم محتويات إطار المشروع Project Explorer:
4
اختر Project Explorer من القائمة Viewq لفيجول بيسك.
يظهر إطار المشروع حسب ما هو مبين في الشكل 1-7.
الشكل 1-7
إطار نافذة المشروع
Project Window.
ملف المشروع، حسب ما يظهر من إطار المشروع هو Hello.vbp. وهو يحتوي على نموذج وحيد باسم Hello.frm. يعتبر المشروع الحالي بسيط جداً، بحيث لا تغدو أهمية إطار المشروع واضحة للعيان. لكن مع تزايد تعقيد المشاريع التي ستكتبها مستقبلاً، سوف تلاحظ مدى أهمية هذا الإطار.
تغيير الخاصية Caption للنموذج (تغيير عنوان النموذج)
اتفقنا أن النموذج الفارغ الذي أنشأه فيجول بيسك يحمل العنوان Form1 (انظر الشكل 1-5). هذا العنوان يمثل العنوان الافتراضي الذي يعطيه فيجول بيسك للنموذج الفارغ عند إنشائه. تستطيع ترك هذا العنوان على حاله، ولكننا نفضل أن نطلق عنواناً على النموذج يكون مناسباً لموضوعه. فمثلاً حسب الشكل 1-1، يحمل النموذج عنوان برنامج الترحيب، وفي هذا دلالة على أن البرنامج هو برنامج ترحيب.
ملاحظة
النموذج هو إطار (Window) بنفس الوقت. فمثلاً، النموذج Form1 المبين في
الشكل 1-5 يدعى نموذج ويدعى إطار (Window) بذات الوقت. يطلق مصطلح النموذج، على النافذة التي أنشأتها في مرحلة التصميم، ويستخدم مصطلح الإطار (أو نافذة)، عند تنفيذ البرنامج. بكلام آخر، عند ذكر مصطلح النموذج، يكون المقصود مرحلة التصميم، وعند ذكر مصطلح الإطار أو النافذة، يكون المقصود مرحلة التنفيذ.
نبين لك الآن طريقة تغيير عنوان النموذج الفارغ لبرنامج الترحيب:
1
تحقق من اختيار النموذج الفارغ. تستطيع التأكد بسهولة من اختيارq نموذج، بتفحص شريط عنوانه. فإذا كان شريط العنوان (Caption) مضاءً، فهذا يعني أن النموذج تم اختياره. أما إذا لم يكن قد تم اختيار النموذج، فيكفي النقر النموذج في أي مكان على سطحه لاختياره.
أو تستطيع بدلاً من ذلك اللجوء إلى إطار المشروع Project Window (اختر Project Explorer من القائمة View لفيجول بيسك)، ثم اختيار العنصر Hello.frm بنقر الفأرة عليه، ثم نقر الرمز View Object الذي يظهر أعلى إطار المشروع. (انظر الشكل 1-7. يظهر الرمز View Object أعلى نافذة المشروع وثاني رمز من جهة اليمين).
بعد اختيار النموذج، اختر إطار الخصائص Properties Window من القائمة View لفيجول بيسك.
يستجيب فيجول بيسك بإظهار إطار الخصائص (Properties Window)، الشكل 1-8.
الشكل 1-8
إطار الخصائص
Properties Window.
ملاحظة
يمكنك في فيجول بيسك نقل شتى الإطارات إلى أي موقع ضمن سطح مكتب فيجول بيسك وذلك بسحب عناوين هذه الإطارات بواسطة الفأرة.
قد يتغير شكل الإطارات قليلاً تبعاً للموقع الذي تأخذه على سطح المكتب. فمثلاً قد يتغير شكل إطار الخصائص Properties Window إلى حد ما، عما هو مبين في الشكل 1-8، بحسب الموقع الذي يحتله على سطح المكتب، لكن مهما كان موقعه، تستطيع التعرف عليه، بسبب احتوائه على كلمة الخصائص Properties في عنوانه.
1
انقر على الخلية التي تظهر يمين اسم الخاصيةq Caption (خلية العنوان) في إطار الخصائص (Properties Window).
الآن ستجد، أن الخلية الواقعة يمين الخلية Caption تملك النص Form1.
2
استخدم المفتاح Deleteq ومفاتيح الأسهم على لوحة المفاتيح، لحذف النص Form1، واستبدله بكتابة النص برنامج الترحيب.
يفترض أن يبدو إطار الخصائص كما في الشكل 1-9.
تهانينا! لقد أنهيت للتو عملية تبديل الخاصية
المزيد

الدرس الثامن عشر وسوم META ومحركات البحث

مايو 6th, 2006 كتبها ahmedtawfik hafez نشر في , Web Programming

أهلاً وسهلاً بك إلى الدرس الثامن عشر من دروس HTML…

من المحتمل أن يكون عنوان هذا الدرس غريباً بعض الشيء بالنسبة لك. وأنه قد أثار لديك بعض التساؤلات عن فحوى هذه الوسوم وعن الهدف من هذا الدرس بشكل عام… ولكي لا تطول تساؤلاتك دعني أوضحها لك كما يلي:-

لقد تابعنا معا من خلال الدروس السابقة مفردات لغة HTML خطوة بخطوة. ومن المحتمل أنك قمت بتطبيق هذه الدروس بصورة عملية من خلال صفحات وهمية قمت أنت بإنشائها. (حسناً فعلت!!! - لأنه من الصعب استيعاب أي موضوع جديد دون القيام بالتطبيق العملي له، وخصوصاً في مجال الكمبيوتر عموماً ولغاته بشكل خاص). والآن أنت تعتقد أنه حان الوقت للعمل الجدي، فلديك فكرة لموضوع ما، وتريد طرحها على الإنترنت. وأنك تفكر بإنشاء موقعك الخاص لتعرض هذا الموضوع من خلاله. وتؤمن أن هذه الدروس التي تتابعها في هذا الموقع قد كوّنت لديك المعرفة الكافية للقيام بتصميم موقعك بنفسك (كما أتمنى)… وبذلك تجد نفسك جاهزاً للانطلاق في رحاب الإنترنت ولتقول بكل فخر: "لدي موقع على الإنترنت". لكنك أيضا قد تتوقف لتفكر للحظات… فأنت تعرف والجميع يعرف أنه يوجد في الإنترنت حالياً الملايين من المواقع! وربما تتساءل: كيف لي أن أنشئ موقعي في هذا الخضم الهائل من المواقع؟! وكيف للناس أن يجدوا طريقهم إلى هذه الزاوية الصغيرة التي أنشأتها في هذا الكيان اللامحدود؟ وإذا كنت من النوع المتشائم فربما ستتراجع عن هذه الفكرة (فكرة الموقع) قبل أن تبدأها… حسناً، لا أريدك أن تشعر بالإحباط. فالطبع لو أن كل واحد منّا يفكر بالجدوى من إنشاء موقع إنترنت خاص به بهذه الطريقة لما وجدت كل هذه المواقع ولما تكونت الإنترنت أصلاً، أليس كذلك؟

في بدايات الإنترنت، كانت هناك عبارة دارجة تقول

Build it, and they will come

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

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

إذن فمحركات البحث هي الخطوة الأولى

لكن كيف نصل أصلاً إلى محركات البحث هذه؟ (وأعني هنا كيف نتوصل إلى إدراج موقعنا في قوائم هذه المحركات؟) وهو ما سنحاول الإجابة عليه في هذا الدرس.

حسناً… قد تقول: نحن هنا نناقش لغة HTML فما دخل محركات البحث بهذا الموضوع؟ بالطبع فإن الهدف من هذا الدرس هو إكمال ما بدأناه في الدروس السابقة حول لغة HTML أي أننا سوف نناقش وسوماً جديدة لهذه اللغة. لكن بما أن هذه الوسوم تتعلق بمحركات البحث. فقد وجدت أنه من المحتم توضيح العديد من النقاط حول هذه المحركات. وعلى أية حال فالمزيد من المعرفة لن يضر أحداً.
إذن فما ستجده هنا في هذا الدرس لن يكون فقط وسوم HTML بل أيضاً بعض المعلومات والأفكار حول محركات البحث، ولن يعنينا هنا كيفية استخدامها للبحث بل ما سيعنينا هو كيفية إدراج المواقع ضمنها… أي أنك لن تكون هنا باحثاً عن المعلومة، بل ستكون ناشراً لها. وأتمنى أن تكون هذه الأفكار عوناً لك على ذلك.

 

كيف لك أن تجعل الناس يأتون إلى موقعك، وأن يجدوا طريقهم إليه بسهولة ويسر؟ وبشكل أعمّ … كيف تستطيع أن تسوّق موقعك؟؟؟
هذا هو السؤال

 

هنا لن أتكلم معك في أمور بديهية وأقول لك إن الفكرة الموجودة في موقعك والموضوع المطروح فيه لهما أثر واضح في جذب الزوار إليه. ولن أقول لك بأن طريقة تنظيمه وتنسيقه تسهل عليهم التجول فيه، وبالتالي لن يجدوا صعوبة في إيجاد ما يبحثون عنه. كذلك لن أذكّرك بأن التجديد المستمر لمحتوياته يجعل زوارك يحرصون على العودة مرة بعد مرة… طبعا لن أقول لك كل ذلك!!!!

لا أعرف مدى استخدامك لمحركات البحث للوصول إلى ما تريده في الإنترنت! ولا أعرف أيضاً إن كان استخدامها قد أثار

المزيد


الدرس السابع عشر الويب واللغة العربية

مايو 6th, 2006 كتبها ahmedtawfik hafez نشر في , Web Programming

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

فذلكة تاريخية

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

لكن دعنا لا نلم هؤلاء الرواد الذين اتبعوا هذه الطريقة. فكما يقال (مكره أخاك لا بطل) وعذرهم هو عدم وجود متصفحات تستطيع عرض النصوص العربية بطريقة صحيحة. إلى أن قامت شركة صخر بإطلاق متصفحها سندباد الذي جاء معرباً لـ Netscape وشركة مايكروسوفت التي أطلقت MS Internet Explorer ليكونا فاتحة خير بالنسبة لنا كمستخدمين عرب للإنترنت، ولا نستطيع إلا أن نكنّ لهما كل التقدير. فهانحن كما ترى نبحر في الإنترنت ولغتنا العربية تزداد انتشاراً فيها يوماً بعد يوم.


 

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

ولنبدأ الآن…

لنقم بداية بتعريف صفحة ويب عادية كما إعتدنا:

<HTML>
<HEAD>
<TITLE> … <‎/TITLE>
<‎/HEAD>
 
<BODY>
….
<‎/BODY>
<‎/HTML>

ومن ثم سنقوم بإضافة هذه الشيفرة لها

‎<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1256">‎

وذلك في القسم الأعلى أي ضمن الوسمين <HEAD> … <‎/HEAD> ويفضل أن تكتبها بعد وسوم العنوان <TITLE> … <‎/TITLE>

<HTML>
<HEAD>
<TITLE> … <‎/TITLE>
‎<META HTTP-EQUIV="Content-Type" CONTENT="text/html;
charset=windows-1256 ">‎
<‎/HEAD>
 
<BODY>
….
<‎/BODY>
<‎/HTML>

قم بكتابة هذه الشيفرة كما هي نصاً وحرفاً. وما يعنينا فيها الآن هي العبارة

charset=windows-1256

فهي لب موضوعنا. أما باقي الشيفرة فسوف نقوم بمناقشتها إن شاء الله في درس لاحق عند الحديث عن الوسوم المتقدمة.

فما الذي تعنيه العبارة السابقة؟؟ بإختصار شديد، هي تحدد قائمة الترميز العربية Code Page التي سيتم عرض صفحتنا من خلالها. أو لنقل أنها تحدد أسلوب التشفير الذي سيستخدمه المتصفح لعرض الأحرف.


 

حسناً، يبدو أننا سنعود ثانية للفذلكة التاريخية. وهذه المرة إلى بدايات اللغة العربية مع الحاسوب الشخصي نفسه وليس مع الإنترنت فقط:-
إذا كنت من مستخدمي الحاسوب القدامى … وبالتحديد من أيام نظام التشغيل DOS وتطبيقاته (أي قبل أن يكون هناك برنامج ويندوز المعرّب) فلا بد أنك تعرف، وربما تعاملت مع برامج التعريب القديمة التي واكبت تلك الفترة كبرنامج النافذة وريم ونظم صخر … إلخ. حيث أنه في تلك الفترة كانت هناك عدة جهات أخذت على عاتقها مهمة تعريب الحاسوب وأنظمة تشغيله. لكن المشكلة كانت في في غياب التنسيق بين هذه الجهات. وكانت النتيجة هي إصدار العشرات من برامج التعريب التي تختلف عن بعضها البعض في طريقة ترتيب قائمة الرموز والحروف وبالتالي اختلف أسلوب تشفير النصوص وعرضها. بمعنى أن النص المكتوب من خلال برنامج "النافذة" سوف يبدو كمجموعة من الحروف والكلمات المبهمة وكأنها مكتوبة بلغة أخرى باستخدام برنامج آخر مثل "ريم".

ولتوضيح الفكرة السابقة (على الأقل كما أفهمها أنا!!!) إليك هذا المثال.
لنفرض أن هناك قائمة ترميز رتّبت فيها الحروف بالشكل ال

المزيد


الدرس السادس عشر المتصفحات والوسوم الخاصة

مايو 6th, 2006 كتبها ahmedtawfik hafez نشر في , Web Programming

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

هل سبق لك وأن صادفت عبارة Best Viewed with Netscape Navigator أو Best Viewed with MS Internet Explorer أو (أفضل مشاهدة بواسطة المتصفح نيتسكيب … أو إكسبلورر) عند زيارتك لبعض مواقع الإنترنت? حتماً لقد شاهدت مثل هذه العبارات تذيل الكثير من المواقع. والحقيقة أن مصممي هذه المواقع ليسوا بالضرورة من المعجبين بهذا المتصفح أو ذاك بحيث يعلنوا ولائهم له دون غيره من المتصفحات. لكن بكل بساطة ربما قاموا بتضمين بعض الوسوم أو الخصائص التي يدعمها ذلك المتصفح فقط في صفحاتهم…! بحيث إذا قام زائر ما بالدخول إلى ذلك الموقع مستخدماً متصفحاً آخر غير الموصى به فلن يشاهد نفس النتيجة التي يشاهدها زائر آخر يستخدم المتصفح المطلوب. (طبعاً لا أستطيع أن أعمم هذا لأن هناك العديد من المصممين الذين يفضلون فعلاً متصفحاً عن غيره سواءً قاموا بتضمين الوسوم الخاصة به أم لا)
 
نعم، يوجد هناك العديد من الوسوم في لغة HTML التي قامت الشركات المنتجة للمتصفحات كمايكروسوفت ونيتسكيب بتطويرها بحيث تعمل على متصفحها الخاص دون غيره من المتصفحات Browser Specific Tags (من قال لك أن الشركات الكبرى تتعامل مع بعضها البعض كالكبار). وقد يصل الأمر أحياناً إلى وجود وسوم موحدة تدعمها جميع المتصفحات لكن طريقة تنفيذ وعرض هذه الوسوم هي التي تختلف. وأذكرك بما قلناه في الدرس الرابع عند الحديث عن القوائم. فقد شاهدنا كيف أن كلا المتصفحين يدعمان الوسم <UL> والخاصية TYPE لكنهما يختلفان على القيم التي تدرج معهما. وهذا مثال واحد فقط على هذا الإختلاف.

و

المزيد


الدرس الخامس عشر النماذج (2)

مايو 6th, 2006 كتبها ahmedtawfik hafez نشر في , Web Programming

أهلاً وسهلاً بك إلى الدرس الخامس عشر من دروس HTML. وهو الثاني من درسين حول النماذج. لقد قمنا في الدرس السابق بمناقشة الوسوم الأساسية للنماذج وتعلمنا كيفية إدراج النماذج في صفحات الويب. كما قمنا بمناقشة بعض أشكال إدخال البيانات في النموذج وهي Text, Password, Hidden هل تذكر كيف نقوم بتعريفها؟ راجع الدرس السابق إن أردت المزيد من التوضيح، وإلا هيا بنا نكمل ولندخل في الموضوع مباشرة.

سوف نتابع الآن مع مجموعة من الأشكال الخاصة بالاختيار من متعدد وهي بالمناسبة ثلاثة أنواع: Radio, Checkbox وقائمة الإختيار

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

وكمثال، لنفرض أنني أريد أن أسأل الزائر عن المتصفح الذي يستخدمه (كما هو موجود في دفتر الزوار على شكل قائمة إختيار) لكن بدلا من أن يكون على شكل قائمة إختيار أريده أن يكون على شكل RADIO وذلك بالشكل التالي:(أود أن أذكرك أن عناصر النموذج تظهر بشكل معكوس إذا كنت تستخدم Sindbad 3.0)

Sindbad 3.0
Sindbad 4.0
Ms Explorer 3.0
Ms Explorer 4.0

فكيف ننشيء مثل هذه القائمة؟ … حسناً، لنبدأ من الصفر ونعرّف نموذجاً

<FORM>
 
<‎/FORM>

ثم لنقم بتعريف هذا الشكل، هل تذكر الوسم الخاص بذلك؟ إنه <INPUT>

<FORM>
‎<INPUT TYPE="radio">‎
<‎/FORM>

لكن بما أن هناك أربعة مدخلات، إذن نحتاج إلى أربعة وسوم

<FORM>
<INPUT TYPE="radio"> <BR>
<INPUT TYPE="radio"> <BR>
<INPUT TYPE="radio"> <BR>
<INPUT TYPE="radio"> <BR>
<‎/FORM>

نحتاج الآن إلى تسمية هذه المدخلات، أي أننا سنستخدم الخاصية NAME معها. أما الاسم المعطى بحد ذاته فمن الأفضل أن يكون مرتبطاً نوعاً ما بموضوع السؤال، ليس لأن هذا ضروري للنموذج بل هو ضروري لك كشخص سيقوم باستقبال البيانات المرسلة من خلال النموذج، وبالتالي من الأفضل أن يوجد عنوان معبّر للبيانات بغرض التمييز. وبما أننا هنا نتحدث عن المتصفحات فليكن هذا الاسم هو browser

<FORM>
<INPUT TYPE="radio" NAME="browser"> <BR>
<INPUT TYPE="radio" NAME="browser"> <BR>
<INPUT TYPE="radio" NAME="browser"> <BR>
<INPUT TYPE="radio" NAME="browser"> <BR>
<‎/FORM>

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

الخطوة التالية هي إعطاء قيمة لكل مدخلة في هذه القائمة وذلك حسب ما نراه مناسباً، إذن حان الوقت لاستخدام الخاصية VALUE:

<FORM>
<INPUT TYPE="radio" NAME="browser" VALUE="Sind3"> <BR>
<INPUT TYPE="radio" NAME="browser" VALUE="Sind4"> <BR>
<INPUT TYPE="radio" NAME="browser" VALUE="Msie3"> <BR>
<INPUT TYPE="radio" NAME="browser" VALUE="Msie4"> <BR>
<‎/FORM>

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

<FORM>
<INPUT TYPE="radio" NAME="browser" VALUE="Sind3">
Sindbad 3.0 <BR>
<INPUT TYPE="radio" NAME="browser" VALUE="Sind4"> Sindbad 4.0<BR>
<INPUT TYPE="radio" NAME="browser" VALUE="Msie3"> MS Explorer 3.0<BR>
<INPUT TYPE="radio" NAME="browser" VALUE="Msie4"> MS Explorer 4.0<BR>
<‎/FORM>

Sindbad 3.0
Sindbad 4.0
MS Explorer 3.0
MS Explorer 4.0

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

<FORM>
<INPUT TYPE="radio" NAME="browser" VALUE="Sind3">
Sindbad 3.0 <BR>
<INPUT TYPE="radio" NAME="browser" VALUE="Sind4" CHECKED>
Sindbad 4.0‎<BR>‎
<INPUT TYPE="radio" NAME="browser" VALUE="Msie3"> MS Explorer 3.0<BR>
<INPUT TYPE="radio" NAME="browser" VALUE="Msie4"> MS Explorer 4.0<BR>
<‎/FORM>

Sindbad 3.0
Sindbad 4.0
MS Explorer 3.0
MS Explorer 4.0

وأخيراً… أود أن أوضح لك الصورة التي يصلك بها النموذج عند اختيار أحد حقوله (ولنفترض أنه الخيار الثالث). وهي بالشكل التالي:

browser=Msie3


 

نأتي الآن إلى الشكل الثاني من أشكال الإختيار من متعدد والذي يدعى CHECKBOX. ظاهرياً لا يختلف هذا الشكل عن الشكل الذي سبقه، لكن عملياً هناك اختلافات جذرية من حيث المفهوم والتعريف. وأنا أفضّل أن نبقى على استخدامنا للمثال السابق حتى يسهل علينا تمييز الفروق.

Sindbad 3.0
Sindbad 4.0
MS Explorer 3.0
MS Explorer 4.0

قبل أن نستمر قم بالنقر على أكثر من حقل في القائمة السابقة وأنظر ماذا سيحدث؟ إن باستطاعتك اختيار أكثر من حقل في نفس الوقت! وهذا هو الفرق الأول بين CHECKBOX و RADIO ففي RADIO يمكن اختيار حقل واحد فقط ليس أكثر.
لنقم الآن بتعريف هذه الحقول، وتسميتها بشكل مباشر ومن ثم سنعلّق عليها:

<FORM>
<INPUT TYPE="checkbox" NAME="Sind3" VALUE="Yes"> Sindbad 3.0 <BR>
<INPUT TYPE="checkbox" NAME="Sind4" VALUE="Yes"> Sindbad 4.0 <BR>
<INPUT TYPE="checkbox" NAME="Msie3" VALUE="Yes"> MS Explorer 3.0 <BR>
<INPUT TYPE="checkbox" NAME="Msie4" VALUE="Yes"> MS Explorer 4.0 <BR>
<‎/FORM>

ماذا تلاحظ؟ أولاً لقد أسندنا القيمة checkbox للخاصية TYPE. ثم أعطينا لكل حقل في القائمة إسماً مميزاً في الخاصية NAME يختلف عن باقي الحقول. أما الخاصية VALUE فأعطيناها قيمة موحدة لجميع الحقول. وبالطبع قمنا في النهاية بكتابة الأسماء التعريفية لكل حقل.

في RADIO نستطيع اختيار حقل واحد فقط أما في CHECKBOX فنختار أكثر من حقل، لذلك يستخدم عادة في الحالات التي يحتمل أن نحصل فيها على عدة أجوبة لنفس السؤال.

في RADIO تكون أسماء الحقول موحدة والقيم


المزيد


الدرس الرابع عشر النماذج (1)

مايو 6th, 2006 كتبها ahmedtawfik hafez نشر في , Web Programming

أهلاً وسهلاً بك إلى الدرس الرابع عشر من دروس HTML. والذي سيكون الأول من درسين سنتحدث فيهما عن النماذج وكيفية تضمينها في صفحات الويب.

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

لا تكمن صعوبة التعامل مع النماذج في كونها معقدة بحد ذاتها، كلا … فهي إحدى العناصر التي تدعمها لغة HTML وهي مجرد وسوم عادية مثلها مثل الوسوم التي تعاملنا معها في جميع الدروس السابقة. وبإمكانك إنشاء النماذج في موقعك بنفس السهولة التي تدرج فيها جدولاً أو إطاراً (هذا بالطبع إذا كنت تعتقد أن الجداول والإطارات سهلة) لكن التداخل بينها (وأعني النماذج) وبين لغات البرمجة المتقدمة في الويب مثل JavaScript, CGI هي ما يجعلها تختلف عن سابقيها من الوسوم أو العناصر الأخرى. خاصة إذا احتجت إلى بعض المقاطع البرمجية من هذه اللغات ضمن نماذجك. أما إذا اكتفيت بالإمكانات المتواضعة التي توفرها HTML بالنسبة للنماذج. فما من مشكلة… لأنه سيكون بإمكانك التعامل معها بكل بساطة. وفي هذا الدرس لن نتطرق بالطبع إلى أي من اللغات سوى HTML.

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

1
2
3

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


 

والآن إلى العمل

مع أن الأشكال السابقة تختلف عن بعضها البعض من حيث المبدأ والمظهر (وطريقة التعريف أيضاً) إلا أنها يجب أن تدرج جميعاً ضمن وسمين أساسيين للنماذج هما:

<FORM> … <‎/FORM>

وكما جرت العادة نحتاج لتحديد بعض الخصائص التي تتعلق بطبيعة هذا النموذج. ولدينا هنا ثلاث خصائص:

ACTION

تحدد العنوان الذي سيتم إرسال بيانات النموذج إليه لتتم معالجتها بالصورة المطلوبة. وعادة يكون هذا عنواناً لبريد إلكتروني Email سوف يتم إرسال بيانات النموذج إليه. أو قد يكون عنواناً لبرنامج CGI موجود على الكمبيوتر الخادم Server الذي تتواجد عليه صفحة الويب، حيث يستقبل هذه البيانات ويعالجها حسب التعليمات الموجودة فيه كأن يضيفها مثلاً إلى إحدى الصفحات (كما يحدث عادة في دفاتر الزوار) أو يتحقق من صحة بعض الحقول المدخلة ومطابقتها لمعايير معينة، أو أن يقوم بالبحث عن كلمة أو عبارة ضمن صفحات الموقع كما في نماذج البحث الموجودة في مواقع الويب.

<FORM ACTION="mailto:someone@domain.com"> … <‎/FORM>
<FORM ACTION="name_and_address_of_CGI_script"> … <‎/FORM>


 

METHOD

تحدد الطريقة التي سيتم بها التعامل مع العنوان المحدد في الخاصية السابقة ACTION. وهناك قيمتين لهذه الخاصية هما: GET التي تستخدم في حالة كون عملية المعالجة داخلية أي تتم داخل الخادم Server نفسه. ففي مثالنا السابق عندما نستخدم نموذج البحث عن كلمة في الموقع، فإن عملية المعالجة (أي البحث) تجري مباشرة في الموقع. والقيمة الثانية هي Post وتستخدم عندما تكون عملية المعالجة خارجية كأن يتم إرسال البيانات إلى عنوان بريد إلكتروني.

<FORM ACTION="mailto:someone@domain.com" METHOD="post"> … <‎/FORM>
<FORM ACTION="name_and_address_of_CGI_script" METHOD="get"> … <‎/FORM>


 

ENCTYPE

هذه الخاصية تحدد طريقة الترميز التي سيتم إرسال البيانات وفقاً لها. وهي تأخذ القيمتين التاليتين: (يجب أن تكتب هذه القيم كما هي نصاً وحرفاً)

 

  • application/x-www-form-urlencoded
  • text/plain

 

وبدون الخوض في الأسباب التقنية التي أدت إلى إيجاد هذين النوعين من طرق الترميز أو في أمور برمجية بعيدة عن موضوعنا، فإن الدافع لإستخدام أي من القيمتين هو طبيعة عملية المعالجة التي ستجرى على البيانات أو طبيعة برنامج البريد الإلكتروني الذي ستستقبل هذه البيانات من خلاله (إذا كان يدعم MIME أم لا، وهي إختصار للعبارة Multi-purpose Internet Mail Extentions وهي من المعايير السائدة في الإنترنت والتي تتعلق بنقل جميع أنواع البيانات من صوت وصورة وليس فقط النصوص من خلال البريد الإلكتروني). وما يعنينا هنا هو الفرق بين الطريقتين من حيث طريقة إرسال واستقبال البيانات. فعند استخدام text/plain ستصل البيانات بالشكل التالي:

NAME=Yahya Al-Sharif
Address=Nablus , Palestine
Email=yahya@palnet.com

(الكلمات Name, Address, Email هي أسماء الحقول في النموذج ونقوم نحن بتعريفها أثناء عملية تصميم النموذج أما النصوص الظاهرة بعد إشارة المساواة فهي البيانات المدخلة، وسوف نتحدث عن تعريف أسماء الحقول بعد قليل)

أما عند استخدام application/x-www-form-urlencoded فستصل البيانات بالشكل:

NAME=Yahya+Al-Sharif&Address=Nablus+,+Palestine&Email=

المزيد


الدرس الثالث عشر الخرائط الصورية

مايو 6th, 2006 كتبها ahmedtawfik hafez نشر في , Web Programming

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

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

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

Image Map

 

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

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

هل أنت مستعد؟ لننطلق إذن.

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

Our Map

وهذه هي الشيفرة الخاصة بإدراجها

‎‎<IMG SRC="flowers.jpg" WIDTH="320" HEIGHT="310" BORDER="0"‎>‎

والآن سوف نضيف لهذه الشيفرة خاصية جديدة من خصائص الوسم <IMG> هي ‎USEMAP="#map_name"‎ والتي تخبر المتصفح أن يستخدم هذه الصورة كخريطة وذلك حسب التحديدات الموجودة في تعريف هذه الخريطة (وسنتحدث عن هذه التحديدات لاحقاً إن شاء الله). أما القيمة map_name فهي تمثل الاسم الذي نريد أن نعيّنه للخريطة (أي اسم نريده). وكما ترى فإن هذا الاسم مسبوق بإشارة #.

ما رأيك أن نسمي الخريطة باسم ourmap. عندها سوف تصبح الشيفرة كما يلي:

‎‎<IMG SRC="flowers.jpg" WIDTH="320" HEIGHT="310" BORDER="0" USEMAP="#ourmap"‎>‎

وكانت هذه هي الخطوة الأولى في تعريف الخريطة. والخطوة الثانية هي تحديد التفاصيل.


 

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

‎<MAP NAME="ourmap">‎

<‎/MAP>

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

Shapes Map

 

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

والسؤال الآن هو، كيف نحدد هذه المناطق باستخدام HTML وكيف يمكن للمتصفح أن يميزها دون غيرها؟ والجواب هو استخدام الوسم <AREA> والذي يدرج ضمن الوسم السابق وبنفس عدد المناطق الساخنة التي نريدها.

‎<MAP NAME="ourmap">‎

<AREA>
<AREA>
<AREA>
<AREA>

<‎/

المزيد


الدرس الثاني عشر وسوم … من هنا وهناك!!!

مايو 6th, 2006 كتبها ahmedtawfik hafez نشر في , Web Programming

أهلاً وسهلاً بك إلى الدرس الثاني عشر من دروس HTML. كما ترى من العنوان فقد اخترت أن يكون هذا الدرس خارجاً قليلاً عن نطاق الدروس السابقة من حيث المحتوى. فلن تجد هنا وسوماً محددة تستطيع حصرها تحت موضوع معين، بل وسوماً عامة وخصائص إضافية لوسوم ذكرت سابقاً. وإن كان الهدف من معظمها ترتيب الصفحة والتحكم بشكل محتوياتها. ولا أخفي عليك أني قصدت تأجيل بعضها حتى هذا الدرس مع أنه كان من الممكن إدراجها ضمن دروس سابقة، وخاصة الدرس الرابع (الفقرات). لكن حجّتي في عدم إدراجها في حينه أن هذه الوسوم لن يتم استخدامها ولن تُفهم طريقة عملها إلاّ عند استخدام وسوم أخرى تمّ شرحها في وقت لاحق بعد الفقرات مثل الصور والجداول. أما البعض الآخر ففضلت عدم حصرها ضمن أي درس على اعتبار أنها وسوم عامة لا تختص بأي موضوع. على أية حال يكفينا هذه المقدمة وأترك لك حرية تصنيفها كما يحلو لك. والآن لندخل مباشرة في الموضوع.


 

أترى هذا الخط الذي فصلت به هذه الفقرة عن الفقرة السابقة؟ إنه يسمى بلغة HTML بالمسطرة الأفقية Horizontal Rule وتستطيع إدراجه لتقسيم صفحتك بكتابة الوسم <HR> فقط لا غير. أكتب:

<HR>

ليظهر لديك هذا الخط:


لكن هذا ليس كل شيء. لأنك تستطيع تحديد سُمك هذا الخط إذا أضفت له الخاصية SIZE وأتبعتها برقم يمثل هذا السُمك مثلاً:

‎<HR SIZE="5">‎

 

‎<HR SIZE="1">‎

 

‎<HR SIZE="10">‎

 

كذلك يمكنك تحديد عرض الخط باستخدام الخاصية WIDTH والتي من الممكن أن تأخذ قيمة مطلقة أو نسبية

‎<HR WIDTH="80%">‎

 

‎<HR WIDTH="400">‎

 

‎<HR SIZE="5" WIDTH="60%">‎

 

ومن الخصائص الأخرى لهذا الخط خاصية المحاذاه ALIGN والتي تأخذ القيم center, left, right

‎<HR WIDTH="80%" ALIGN="center">‎


‎<HR WIDTH="400" ALIGN="left">‎


‎<HR SIZE="5" WIDTH="60%" ALIGN="right">‎


وكما تلاحظ فإن هذا الخط يكتسب مظهراً غائراً ثلاثي الأبعاد وإذا أردت خطاً عادياً غير غائر فقم بإضافة الخاصية NOSHADE

<HR SIZE="5" WIDTH="60%" ALIGN="center" NOSHADE>

 

أما إذا كان لون هذا الخط لا يعجبك، فما من مشكلة إذ أنك تستطيع اختيار اللون الذي يعحبك من خلال الخاصية COLOR (تعمل فقط مع MS Explorer)

<HR SIZE="5" WIDTH="60%" ALIGN="center" COLOR="#FF0000" NOSHADE>

 


 

الوسم التالي في هذه المجموعة هو وسم الملاحظات ‎<!– … –>‎ ونستخدمه عند الحاجة لكتابة بعض الملاحظات الخاصة أو العبارات التوضيحية ضمن الملف والتي يقصد أن لا تظهر عند استعراض هذا الملف في المتصفح.

‎This is line one<BR>‎
‎<!– This is line two –><BR>‎
‎and, this is line three<BR>‎

وهذه هي النتيجة

This is line one

and, this is line three


 

من المؤكد أنك تعرف الوسم <BR> والذي يقوم بالتحكم في نهايات الأسطر (أي أنه ينهي السطر الحال

المزيد


الدرس العاشر الإطارات (2)

مايو 6th, 2006 كتبها ahmedtawfik hafez نشر في , Web Programming

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

بداية، أجد من الضروري أن أذكرك بالوسمين الأساسيين للإطارات واللذين ندرجهما في الملف الأساسي، وهما <FRAMESET> والذي يوضع بدلاً من <BODY> ويشكّل الوسم الأساسي لتحديد مجموعة الإطارات في الصفحة وخصائص هذه المجموعة ككل. و <FRAME> الذي يوضع داخل نطاق الوسم السابق ويعرّف الملف المصدر لكل إطار ويحدد خصائصه. ومن المهم جداُ أن نميز بين الخصائص المتعلقة بكل وسم وأن لا نخلط بينهما.

وعند الحديث عن الإطارات سوف نواجه تلك المشكلة العتيدة التي تؤرق دائماً مصممي صفحات الويب، ألا وهي مسألة توافق الوسوم والخصائص مع المتصفحات المختلفة (والتي قمت بتوضيحها هنا). فمثلاً لدينا أربع خصائص للوسم <FRAMESET> ، لكن واحدة منها فقط تعمل مع كلا المتصفحين الرئيسيين Netscape, MS Explorer. وكما إعتدنا سوف لن أركز على هذه الخصائص ، لكن على الأقل سأكتفي بذكرها وذكر عملها وأترك لك حرية تجربتها إن أردت.

أولى هذه الخصائص هي FRAMEBORDER وهي تقوم بتحديد ظهور أو عدم ظهور الحدود حول الإطارات وتأخذ القيم 1 للظهور، و0 لعدم الظهور. وهذا مثال عليها:

‎<FRAMESET ROWS="50,*,15%,20%" FRAMEBORDER="0">‎
    ‎<FRAME SRC="frame1.html">‎
    ‎<FRAME SRC="frame2.html">‎
    ‎<FRAME SRC="frame3.html">‎
    ‎<FRAME SRC="frame4.html">‎
<‎/FRAMESET>
  *  

أما الخصائص الثلاث الأخرى فهي:

  • BORDER: تحدد سمك الحدود الظاهرة حول الإطارات وهي تأخذ قيماً بالبيكسل. (‎BORDER="n"‎) وتعمل فقط مع Netscape

  • BORDERCOLOR: لإضافة لون للحدود (‎BORDERCOLOR="rrggbb"‎) وتعمل مع Netscape أيضاً.

  • FRAMESPACING: لتحديد مسافات فارغة إضافية حول الإطارات وتأخذ قيماً بالبيكسل (FRAMESPACING="n"‎) وهي تعمل مع MS Explorer.

 


 

أما الخصائص المستخدمة مع الوسم <FRAME> فهي كالتالي:

 

  • MARGINHEIGHT: تحدد مقدار المسافة الفارغة المتروكة للهوامش العلوية والسفلية للإطار (بالبيكسل).

    ‎MARGINHEIGHT="n"‎

  • MARGINWIDTH: تحدد مقدار المسافة الفارغة المتروكة للهوامش اليمنى واليسرى للإطار (بالبيكسل).

    ‎MARGINWIDTH="n"‎

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

المزيد


التالي



WELCOME TO THE BLOG IN THE BEST PROGRAMMING THE COMPUTER We hope to gain and hold the regularly visit.I WOULD LIKE TO KNOW YOUR OPINION ON THE BLOG