در این درس با چگونگی تعیین تصاویر و رنگ پس زمینه (Background) آشنا خواهید شد. رنگ و یا تصویر پس زمینه فاکتور بسیار مهمی در طراحی صفحات اچتمل بوده و استفاده از رنگ و یا تصویر مناسب نقشی تعیین کننده در خوانا بودن صفحات دارد.
رنگ متن و زمینه متناسب
انتخاب رنگ مناسب متون و پس زمینه به خوانا بودن متن کمک شایان توجهی خواهد کرد.
رنگ متن و زمینه نامتناسب
مثالی از انتخاب نامناسب رنگ متن و پس زمینه
تگ <body> دارای دو شناسه مهم برای تعیین رنگ و تصویر پس زمینه میباشد. پس زمینه صفحات اچتمل رنگ و یا یک تصویر میتواند باشد.
شناسه bgcolor برای رنگ پس زمینه (background color)شناسه bgcolor رنگ پس زمینه را تعیین میکند. مقدار رنگ پس زمینه میتواند نام رنگ (مثل red یا blue ) ، مقدار آن بر اساس استاندارد RGB و یا حتی مقدار هگزادسیمال (Hexadecimal) باشد.
<body bgcolor="#000000"> <body bgcolor="rgb(0,0,0)"> <body bgcolor="black"> |
در تمامی مثالهای بالا با کمک شناسه bgcolor رنگ زمینه صفحه "سیاه" تعیین میشود.
شناسه Background برای تصویر پس زمینه:برای تعیین تصویری که به عنوان پس زمینه صفحه نمایش داده میشود از شناسه background استفاده میشود.مقدار این شناسه URL یا آدر س تصویر (image) میباشد.اگر ابعاد تصویر کوچکتر از ابعاد صفحه مرورگر باشد، تصویر زمینه تکثیر خواهد شد تا حدی که تمام صفحه نمایش از تصویر زمینه پوشانده شود.
<body background="bg.gif"> <body background="http://www.khaterat.com/images/bg.gif"> |
در مثال اول از آدرس دهی نسبی (relative) برای تعیین URL یا آدرس تصویر استفاده شده و در واقع در این مثال فایل اچتمل و تصویر bg.gif باید در یک دایرکتوری قرار گیرند. در مقابل مثال دوم از آدرس دهی مطلق (absolute) برای تعیین آدرس تصویر استفاده شده است و همانطور که میدانید آدرس تصویر در هر نقطه از فضای وب میتواند باشد.
نکات مهم: اگر از تصاویر پس زمینه در صفحات اچتمل استفاده میکنید به نکات زیر توجه کنید :
شناسه های bgcolor و background در تگ <body> در نسخه 4 اچتمل و XHTML پشتیبانی نمیشوند و در واقع از رده خارج محسوب میشوند. در عوض کنسرسیوم W3C استفاده از Style Sheet ها را توصیه میکند و در واقع در نسخه 4 اچتمل و استاندارد جدید XHTML تمامی اطلاعات مربوط به نمایش یا presentation و layout باید در style sheet ها قرار گیرند.
استفاده مناسب از تصویر زمینه 1
در این مثال بدلیل استفاده از تصویر مناسب برای زمینه، نوشته های صفحه کاملا خوانا هستند.
استفاده مناسب از تصویر زمینه 2
در این مثال در اثر استفاده از تصویر مناسب برای زمینه، نوشته های صفحه کاملا خوانا هستند.
استفاده نامناسب از تصویر زمینه
در این مثال نوشته های صفحه خوانا نیستند.
استفاده از تصویر زمینه با آدرس مطلق
در این مثال آدرس تصویر زمینه بصورت مطلق و کامل آورده شده است.
تعیین رنگ زمینه با Style Sheet ها
در این مثال چگونگی استفاده از Style Sheet ها برای تعیین رنگ زمینه آورده شده است.
در این درس با مفاهیم وب، اینترنت، مرورگرها و استانداردهای وب آشنا خواهید شد.
در این درس با ویژگیهای فایلهای HTML یا اچتمل و نحوه ایجاد یک فایل ساده و نمایش آن در صفحه مرورگرتان آشنا خواهید شد.
اگر از ویندوز مایکروسافت استفاده میکنید، Notepad را باز کرده (Mac کارها از SimplaeText استفاده کنند. ) و متن زیر را در آن تایپ کنید:
<html> <head> <title>Title of page</title> </head> <body> This is my first html page. <b>This text is bold</b> </body> </html> |
سپس فایل را با نام مثلا test.html در درایو c: ذخیره کنید.
برای دیدن فایل اچتمل بالا در مرورگر یا Brower تان ( معمولا اینترنت اکسپلورر و یا نتسکیپ نویگیتور ) کافی است که از روی منوی File/Open file فایل بالا را از روی محل ذخیره شده بخوانید. ( به آدرس فایل در قسمت Address توجه کنید، مثلا c: est.html)
یکی از مهمترین وظایف مرورگرها نمایش صفحات اچتمل میباشد، چه این صفحات روی کامپیوتر شما ذخیره شده باشند و یا اینکه از اینترنت خوانده شوند. با کلیک روی این لینک فایلی شبیه فایل ذخیره شده توسط شما از روی وب سرور توسط مرورگرتان خوانده شده و سپس نمایش داده خواهد شد!!! ( به آدرس فایل در قسمت Address توجه کنید، مثلا http://www.khaterat.com/html/dars/test.html )
اولین تگ مثال بالا تگ <html> میباشد. از روی این تگ، مرورگر نوع متن یعنی اچتمل بودنش را یافته و از روی <html/> انتهای متن اچتمل را میبابد.
متن بین تگ <head> و تگ <head/> اطلاعات شناسنامه ای یا "Header information" متن اچتمل بوده و نمایش داده نخواهند شد. در این مثال با کمک تگهای <title> و <title/> تیتر و یا Title صفحه که در این مثال عبارت "Title of page" میباشد در بالای مرورگر نمایش داده خواهد شد.
متن بین تگ <body> و انتهای آن یعنی تگ <body/> تنها اطلاعاتی است که توسط مرورگرنمایش داده خواهند شد.
متن بین تگ <b> و انتهای آن یعنی تگ <b/> بصورت Bold و یا توپر نمایش داده خواهند شد.
اغلب مرورگرها هر دو نوع انشعاب را به خوبی میشناسند ولی ترجیحا به هنگام ذخیره فایلهای اچتمل از html استفاده کنید.( استفاده از انشعابهای سه حرفی مانند htm مربوط به قدیم و سیستم عاملهائی چون DOS بودند.)
با وجودیکه با استفاده از ادیتورهای اختصاصی اچتمل مانند FrontPage و یا Claris Home Page امکان نوشتن و طراحی صفحات اچتمل بصورت WYSIWYG یا "What You See Is What You Get" وجود دارد اما توصیه میشود که از ادیتورهای معمولی متن برای تهیه صفحات خود استفاده کرده، عملکرد تگها را شناخته و هیچگاه بدون اینکه بدانید کاربرد یک تگ چیست آنرا بکار نبرید.
فایلم را درست کردم ولی هنوز نمیتوانم آنرا در صفحه مرورگرم ببینم، مشکل کجاست؟
مطمئن شوید که فایل را با انشعاب درست (htm یا html ) ذخیره کرده اید. در ضمن مطمئن شوید که همان فایل را Open کرده اید.( نام و مسیر فایل را در قسمت Address مرورگرتان چک کنید.)
هر بار پس از تغییر و ادیت مثالها نسخه اولیه را در صفحه مرورگرم میبینم و تغییرات داده شده مشاهده نمیشود، مشکل کجاست؟
به خاطر بالا بردن سرعت، همیشه مرورگرها از نسخه های موجود در Cache یا حافظه موقت خود برای خواندن صفحات استفاده میکنند.برای وادار کردن مرورگر به خواندن اصل صفحه کافی است که در مرورگرتان Refresh/Reload کنید. در اینترنت اکسپلورر کلید F5 یا View/Refresh و در نت اسکیپ Ctrl+R یا View/Reload اینکار را انجام خواهند داد.
آیا میتوانم از هر دو مرورگر Internet Explorer و Netscape Navigator استفاده کنم؟
بله، فقط اگر از استاندارد یونیکد برای فارسی نویسی استفاده میکنید، برای دیدن درست صفحات فارسی باید از نسخه 5 Internet Explorer و به بالا و در مورد Netscape Navigator از نسخه 6.2 و به بالا استفاده کنید.
کجا میتوانم آخرین نسخه از مرورگرهای Internet Explorer و Netscape Navigator را داونلود کنم؟
Internet Explorer اینجاست و Netscape Navigator اینجا.
دستورالعمل LOOP
تا اینجا هروقت که میخواستیم یک حلقه ایجاد کنیم از دستورالعمل CMP و پرشهای
شرطی استفاده میکردیم . راه ساده تری برای اجرای مکرر دستورالملها وجود دارد و آن
استفاده از LOOP است . دستور LOOP به تعداد دفعاتی که با ثبات CX مشخص میکنیم
حلقه ای را ایجاد میکند .
برای ایجاد چنین حالتی ابتدا مقدار لازم را در ثبات CX قرار میدهیم . دستور Loop
همیشه از مقدار CX یک واحد،یک واحد کم میکند تا به 0 برسد . وقتی که مقدار CX
برابر 0 شد ، از حلقه خارج میشود . بنا براین برای ایجاد حلقه ای که 100 بار
تکرار شود، CX را برابر 100 قرار میدهیم . MOV CX/100
حلقه مورد نظر بین دستور loop و یک برچسب انجام میشود . برچسب ، در ابتدای حلقه
و دستور loop در انتهای آن قرار میگیرد.
MOV CX/100
LPCNT :
:
:
:
LOOP LPCNT
در بالا با mov cx/100 میخواهیم حلقه ای داشته باشیم که 100 بار انجام بشود. وقتی
به loop lpcnt میرسیم ، یکواحد از مقدار CX کاسته شده و مجددا به lpcnt پرش
میکنیم .
به همین سادگی ! .
تمرین : برنامه ای بنویسید که کاراکتر های با کد اسکی 32 تا 255 را نمایش دهد.
راهنمائی :
چون همیشه CX در حال کاهش است ، برای اینکه بتوانیم از 32 تا 255 برویم ، باید
عدد داخل CX را برابر 31=224-َ255 قرار بدهیم تا تعداد 254 حرف چاپ بشود. سپس
مقدار CX را از 255 کم کرده و داخل AL قرار میدهیم تا با تابع 0Eh ار وقفه 10h
چاپ شود . این وقفه را در برنامه ALLCHR.ASM توضیح دادیم .
پشته (Stack) ، ذخیره و بازیابی ثباتها
ما تعدادی ثبات برای نگهداری و انتقال اعداد و مقادیر داریم ولی کافی نیستند .
بخصوص در DEBUG که نمیتوانیم متغیرتعریف کنیم . یا در برنامه پیش می آید
بخواهیم برای یک کار خاص و بطور موقت مقدار ثبات را تغییر دهیم ،در این مواقع
مقدار ثبات را در پشته ذخیره کرده و بعدا مجددا بازیابی میکنیم .
در برنامه های EXE. پشته یا Stack یک سگمنت مستقل است و آدرس آن در ثبات SS
(Stack Segment) قرار دارد . در برنامه های COM. پشته به آنصورت وجود ندارد و
خود DOS فضای لازم را برای برنامه فراهم میکند . در هر صورت ما به اینکه پشته در
کجاست کاری نداریم و به یک شکل مقادیر را به پشته فرستاده (PUSH) یا از آن
خارج میکنیم (POP) .
خاصیت مهمی که در PUSHو POPو کردن مقادیر به پشته وجود دارد اینست که همیشه
اولین مقداری که به پشته فرستاده میشود، آخرین مقداری است که از پشته خوانده
میشود . مثلا فرض کنید که ابتدا AX و بعد CX را به پشته میفرستیم . حال برای خارج
کردن درست این مقادیر، ابتدا CX و بعد AX را خارج میکنیم .
این قانون اسمبلی است و به (FILO=First In Last Out) معروف است .
برای فرستادن مقدار یک ثبات به پشته از دستور PUSH استفاده میکنیم .
مثلا برای قرار دادن AX مینویسیم : PUSH AX . PUSH
نمیتواند مقدار یک نیم ثبات را در پشته قرار دهد و حتما باید یک ثبات
کامل دوبایتی باشد .
وقتی ثباتی را PUSH کردیم ، مقدار آن در Stack نگهداری میشود و میتوانیم مقدار آن
را تغییر دهیم .
پس از آن ، از دستور POP برای خارج کردن ثبات از پشته استفاده میکنیم مانند . POP AX
مثال :
1] MOV AX/0AH ; ax = 0Ah
2] MOV BX/0BH ; bx = 0Bh
3] PUSH AX ; push ax to stack
4] PUSH BX ; hold bx in stack
5] MOV AX/5 ; now ax=5
6] MOV BX/2AH ; and bx=2Ah
7] : ; other commands and
8] : ; statements ...
9] POP BX ; POP bx from stack
10] POP AX ; read ax from stack
در سطر 3وَ4 مقادیر axو bxو را به پشته میفرستیم . در سطر 5و 6و مقادیر جدید به ax
bx/ میدهیم و بعد از آن یکسری دستورات دیگر هستند ... . در سطر 10 مقدار BX
از داخل Stack بیرون کشیده میشود . توجه داشته باشید که bx را بعد از ax در پشته
قرار داده ایم ولی در هنگام خارج کردن به ترتیب عکس عمل میکنیم .
بعلاوه دستور PUSHF به معنی PUSH FLAGS ، ثبات پرچم را در پشته قرار میدهد . نحوه
کار با آن هم مثل PUSH معمولی است ولی آرگومان ندارد .
مثال : PUSHF
در قسمت بعد، این مطالب را تمرین میکنیم و چند برنامه نمونه میبینیم ، حتی
یک برنامه گرافیکی با 256 رنگ مینویسیم و در آن از دستورات LOOPو PUSHو
استفاده میکنیم .