وب سایت نویس

وب سایت نویس

وب سایت نویس

وب سایت نویس

۱۰ مطلب در دی ۱۳۹۴ ثبت شده است


01

چگونه به مسافران وب در پیدا کردن راه مورد نظرشان کمک کنیم ؟
ممکن است سایت شما پر از اطلاعات مفید در رابطه با محصولات یا خدمات شما باشد. اما اگر بازدیدکنندگان سایت شما نتوانند راه خود را براحتی در میان صفحات شما پیدا کنند دیگر هرگز آن سایت باز نخواهند گشت! در کنار داشتن اطلاعات مفید، مهم ترین نکته در طراحی یک وب سایت طراحی صحیح پیوندهای بین صفحات آن سایت است که متاسفانه این نکته در طراحی بیشتر وب سایت ها نادیده گرفته می شود . 9 نکته ای که در ادامه خواهید خواند به شما کمک خواهد کرد تا بتوانید پیوندهای بین صفحات وب سایتتان را کاراتر و اصولی تر طراحی نمایید.

نکته 1:تا جایی که امکان دارد از لینکهای متنی استفاده کنید!
شاید استفاده از تصاویر یا اشکال گرافیکی در سایت بسیار وسوسه انگیز و اغوا کننده باشد اما بعضی مواقع یک کم هم بسیار زیاد است ! تا جایی که برایتان امکان دارد سعی کنید که پیوندهای موجود بین صفحاتتان را بصورت لینک های متنی طراحی کنید، زیرا این نوع لینکها بسیار موثر تر از لینکهای تصویری یا گرافیکی عمل می کنند . مطالعات نشان داده که اکثر بازدید کنندگان سایتها ابتدا لینکهای متنی را خوانده و سپس به سراغ لینکهای تصویری یا گرافیکی می روند.

نکته 2: یک راه حل ایدا آل برای استفاده از لینکهای گرافیکی!
اگر شما ناچارید که از لینکهای تصویری یا گرافیکی در وب سایتتان استفاده نمایید حتما از پارامتر Alt برای تصویرتان استفاده کنید . استفاده از این پارامتر در طراحی لینکهای تصویری باعث می شود که کاربرانی که از کاوشگرهای متنی مانند lynx استفاده می کنند یا کاربرانی که گرافیک و تصویر را در کاوشگرهای خود غیر فعال کرده اند نیز بتوانند راه خود را در میان صفحات وب سایت شما پیدا کنند .به علاوه سعی کنید حتما در قسمت پایین هر صفحه با استفاده از لینکهای متنی راهنمایی واضح از سایتتان ارائه دهید تا صفحات اصلی سایت شما از این طریق نیز قابل دسترسی باشند .

نکته 3: یک صفحه با عنوان نقشه سایت یا همان سایت مپ طراحی کنید .
صفحه نقشه سایت می تواند یک راهنمای بسیار خوب برای کاربران سایت شما باشد. در طراحی صفحه نقشه سایتتان سعی کنید از یک ساختار درختی استفاده کنید بگونه ای که بخشهای مهم سایت بطور واضح در آن مشخص شده باشد و صفحات مربوط به هر کدام از بخشها به صورت زیر مجموعه آن بخش نمایش داده شوند . برای مثال می توانید سایت خود را به 4 بخش اصلی شامل محصولات، خدمات، سوال های رایج و تماس تقسیم کرده و عناوین صفحات مرتبط با هر یک از این بخش ها را در زیر آن قرار دهید بصورتی که به صفحه مربوط به خود لینک شوند . برای آشنایی بیشتر با ساختار نقشه سایت پیشنهاد می کنم که به چند وب سایت بزرگ مراجعه کنید و صفحه نقشه آنها را بررسی کنید.

نکته چهارم : از بکار بردن فریم بپرهیزید.
تا جایی که امکان دارد سعی کنید از بکار بردن فریم در طراحی وب سایتتان پرهیز کنید. اکثر مرورگرهای رایج با نمایش فریم ها مشکل دارند و ممکن است کاربران هنگامی که در صفحه مقابل خود با چندین اسکرول بار مختلف روبرو می شوند به طور کامل گیج شوند ! اگر ناچارید که حتما از فریم ها در طراحی سایت خود استفاده نمایید پس خودتان را برای دوبرابر شدن کار آماده کنید زیرا لازم است که یک نسخه بدون فریم هم از سایتتان بسازید تا کاربرانی که کاوشگرهای آنها فریم ها را پشتیبانی نمی کند هم بتوانند از سایت شما استفاده نمایند.

نکته پنجم : از لینکهای پر حرکت بپرهیزید !
در طراحی صفحات خود سعی کنید از بکار بردن لینکهایی که در حال حرکت هستند یا لینکهایی که دائما تغییر رنگ می دهند یا چشمک می زنند پرهیز کنید . همچنین سعی نکنید که لینکهای بازدید شده و بازدید نشده را با تفاوت رنگ از یکدیگر متمایز کنید . تصور بر این است که اینکار بازدید کننده را در پیدا کردن راهش در میان صفحات کمک خواهد کرد اما بررسی ها نشان داده اینکار تنها باعث گیج شدن بازدید کننده ها می شود !

نکته 6 : فقط چند کلیک آنورتر!
محتویات سایت خود را همیشه در دسترس بازدید کننده نگاه دارید . هر صفحه از سایت شما باید از طریق هر صفحه دیگر قابل دسترسی باشد . سعی کنید پیوندهای میان صفحاتتان را طوری طراحی کنید که بازدید کننده در هر کجای سایت که باشد بتواند با حداکثر 4 کلیک خود را به صفحه مورد نظر برساند. شما باید به طور مرتب ساختار صفحات و ارتباط بین آنها را در سایتتان بررسی کرده و مشکلات احتمالی را بر طرف نمایید. بازدید کننده ها برای این به سایت شما می آیند که با شما و خدماتتان آشنا بشوند پس بهتراست کاری نکنید که آنها واردار شوند برای کسب اطلاعات در سایت شما حفاری کنند!

نکته 7 : چرا جستجو ؟ فقط لینک !
بعضی از سایتها سیستمی برای جستجو در میان اطلاعات خود دارند . اما سعی کنید تا جایی که امکان دارد از قرار دادن این سیستم در سایتتان بپرهیزید. حتی بهترین موتورهای جستجو هم در بعضی موارد نتایجی غیر از آنچه که شما می خواهید به شما ارائه می دهند و این باعث گیج و گم شدن شما در میان صفحات می گردد. در ضمن بیشتر کاربران هم طرز استفاده مفید از موتورجستجو را بلد نیستند. بنابراین پیشنهاد می شود که بجای استفاده از سیستم جستجو در سایتتان پیوندهای بین صفحاتتان را طوری دقیق و کارا طراحی کنید تا کاربران براحتی بتوانند از طریق لینکها به اطلاعات مورد نیاز خود دستیابی پیدا کنند و نیازی به استفاده از سیستم جستجو نباشد.

نکته 8 : مسیرهای متعددی در نظر بگیرید !
سعی کنید در طراحی پیوندهای بین صفحات سایت خود طوری عمل کنید که برای دستیابی به هر صفحه بیش از یک مسیر وجود داشته باشد و کاربران خود را به یک مسیر محدود نکنید . به عنوان راه حل در بیشتر سایتها از منوهای کرکره ای استفاده می شود که راهی موثر برای قرار دادن مسیرهای متفاوت در صفحه است بدون اینکه فضای زیادی در صفحه اشغال کند.

نکته 9 : اطلاعاتتان را متمرکز کنید !
سعی نکنید در سایتتان محل های زیادی را طراحی کنید و اطلاعاتتان را در میان آنها پراکنده کنید چون در این صورت ممکن است کاربرانتان در میان انبوه صفحات سایت شما غرق شوند ! پراکندگی اطلاعات جزو مشخصه های یک وب سایت خوب نیست.
  • مهندس میر علی میری



رنگ ها تاثیر بسزایی در ذهن افراد دارند و این امر مهم نباید از دید طراح سایت دور بماند.در طراحی وب سایت رنگها معمولا بصورت "طبیعی"، "گرم" یا "سرد" طبقه بندی شوند.


رنگهای طبیعی

سفید

سفید به معنای خلوص و شفافیت است. در برخی فرهنگها، سفید رنگ مرگ است در حالیکه در برخی دیگر از فرهنگها، سفید رنگ امید و ازدواج است.

خاکستری

خاکستری از اطمینان و محافظه کاری نشات می گیرد. سایه های خاکستری، از مرسوم ترین رنگها برای لباسهای رسمی کار هستند.

قهوه ای

قهوه ای به معنای زمین، خانه و خانواده است.

سیاه

سیاه به منزله بزرگنمایی قدرت، شکوه و پیچیدگی است. در برخی فرهنگها، سیاه به معنای مرگ است.


رنگهای گرم

قرمز

قرمز رنگی مطلوب برای جلب توجه است. و این همان دلیلی است که چرا از این رنگ برای نامه های تبلیغاتی استفاده می شود تا نکات ویژه مورد تاکید قرار گیرند. قرمز سمبولی برای خشم، تخطی، شهوت و هوس است و می تواند واقعا فشار خون افراد را بالاتر برد.

زرد

زرد به معنای ضعف یا ترس و همچنین گرما و خوشحالی است.

نارنجی

نارنجی به مرتبط با اشتهای افراد است.

صورتی

صورتی معمولا نشان دهنده معصومیت، زنانگی و عشق است.


رنگهای سرد

آبی

آبی اثر بی صدا بودن در افراد را دارد. آبی به منزله هوش و اعتماد است. جالب است بدانید که بسیاری از سازمانهای مالی و پزشکی از تم های آبی استفاده می کنند. آبی می تواند همچنین جلوگیرنده اشتها باشد.

سبز

سبز به معنای حسادت، حریص بودن و بی تجربگی است، و در عین حال همین رنگ به معنای پول و ثروت نیز می باشد.

ارغوانی

ارغوانی نشانه ای از خلاقیت است. سایه های تیره تر از این رنگ، در زمانهایی از تاریخ، مختص به دربار و پادشاهان بود و سایه های روشنتر آن معمولا با عشق مرتبط هستند.


رنگهای Web Safe

لامپهای خلا، LCD و تلویزیون پلاسما، هر کدام، رنگها را بگونه ای متفاوت از یکدیگر نشان می دهند. 216 رنگ وجود دارد که می تواند در هر نوع صفحه نمایشی و در هر نوع مرورگزی به شکلی یکسان نشان داده شوند. این 216 رنگ، رنگهای Web Safe نامیده می شوند.

چنانچه پیوستگی در رنگها مهم باشد، شما می بایست تنها از رنگهای Web Safe در سایت خود استفاده نمایید.


طرحهای رنگ

طرحهای رنگ می توانند ترکیبی از یک رنگ، رنگهای مکمل، یا رنگهای متضاد باشند.

تک رنگ

طرحهای تک رنگ از چندین سایه مختلف با شدتهای مختلف رنگ بر روی پیش زمینه ای سیاه و سفید می باشد.

بعنوان مثال، چنانچه بخواهید از یک طرح رنگ قرمز استفاده کنید، می توانید از هر چیزی بین روشنترین صورتی تا قرمز تیره مایل به مشکی، استفاده نمایید.

رنگهای مکمل

طرح رنگهای مکمل از دو یا تعداد بیشتری از رنگهایی استفاده می کنند که در کنار هم مناسب می باشند و ترکیبی مطبوع را تولید می کنند که برای سلیقه بیشتر افراد مناسب است. یکی از رنگها ممکن است غالب باشد و رنگ دیگر مکمل آن باشد.

رنگهای متضاد

طرح رنگهای متضاد از دو یا تعداد بیشتری رنگ غالب استفاده می کنند تا یک "اثر چشمگیر" تولید شود. بعنوان مثال، استفاده از صفحه ای با پیش زمینه آبی تیره و قابی با رنگ قرمز سیر اطراف یک محدوده متنی با رنگ پیش زمینه سفید و فونت سیاه، نوعی از طرح رنگ متضاد است.

طراحان سایت نیاز دارند تا در هنگام استفاده از رنگهای متضاد دقت کنند چراکه برخی از ترکیب ها، منجر به اثر ارتعاش خواهند کرد نظیر متن قرمز روی پیش زمینه آبی که می تواند به چشمان برخی افراد صدمه وارد کند. ترکیبات دیگری نیز وجود دارند که استفاده از آنها چندان مطلوب نمی باشد.


چهارچوب کلی رنگ ها

چهارچوبی که در زیر آمده است پیشنهادهایی می باشند که می بایست در ساخت و طراحی صفحات در نظر گرفته شوند تا برای همگان خوانا باشد.متن باید خوانا باشد. واضح است که سیاه روی سفید، انتخابی پیش فرض است ولی ترکیبات دیگر نیز می توانند مناسب باشند.

سفید یا زرد یا رنگهای روشن دیگر نیز روی پیش زمینه های سیاه یا تیره مناسب می باشند. ولی زرد، سبز یا خاکستری روی سفید مناسب نمی باشند.از رنگهایی استفاده کنید که برای چشم جذاب و مطلوب هستند.رنگهایی را انتخاب کنید که تصویری را که می خواهید به بازدید کنندگان تان بدهد.

برای رنگهای پیوسته در همه مرورگرها، از رنگهای Web Safe استفاده نمایید.از تصاویری با شدت رنگ معمولی برای پیش زمینه استفاده نکنید. این کار سبب خواهد شد تا خوانایی متن کاهش یابد.

چنانچه از تصویری استفاده می کنید، آن را با ویژگی watermark استفاده نمایید.رنگها می بایست در صفحات سایت شما، متحدالشکل باشند تا برندی را برای سایت تان خلق کنند و به بازدید کنندگان این حس را القا کند که آنها هنوز روی سایت شما هستند.

برای طراحی وب سایت به طراحان در این زمینه توصیه می شود از تم های رنگی استفاده کنند.انتخاب رنگ مناسب در طراحی وب سایت به همان اندازه که طرح های گرافیکی و المان ها در سایت مهم هستند از اهمیت بسیار بالایی برخوردار است و در آمار بازدید از سایت شما تاثیر مثبت و منفی می گذارد.

  • مهندس میر علی میری


28


طراحی یک مفهوم پیچیده و اساسی است که گستره بزرگی ازچاپ , صنایع و ... را در بر می گیرد.یا توجه به گستردگی و هجوم عظیمی از طراحی ها در مشاغل مختلف مفهوم های UI وUX از اهمیت خاصی برخوردار می باشد که در زیر به تفاوت آن ها اشاره می کنیم .

UX چیست ؟

ux مخفف شده کلمه User Experience می باشد که معنی تحت اللفظی آن “تجربه کاربر” می باشد. در حقیقت طراحان “تجربه کاربر” یا همان UX Designers تمام تلاش خود را میکنند تا بهترین سناریو برای آشنایی یک کاربر با یک محصول و یا خدمات را ایجاد نمایند. از آنجا که این موضوع یک فرمول خاص ندارد و متناسب با سوژه های مورد نظر ممکن است راهکارهای فراوانی داشته باشد کار زمانبر و دشواری است. یک طراح تجربه کاربر میخواهد مشکلات کاربر را در مواجهه با سوژه مورد نظر خود، چه از نظر کلامی و لغتی، و چه از نظر محل قرار گیری موارد و زیبایی شناختی و … مورد بررسی قرار دهد و در پی حل آن ها برآیند تا به بهترین تجربه کاری کاربر یا همان Best User Experience دست یابد.

محصول نهایی UX :

Wireframes صفحه , storyboards و sitemap

برنامه های کاربردی :

Photoshop, Sketch, Illustrator, Fireworks, InVisionUI

UI چیست ؟

مخفف کلمه User Interface میباشد که به صورت تحت اللفطی به “رابط کاربری” معنا میشود. بر خلاف UX که بر احساس کلی کاربر از یک محصول معطوف است، UI به چگونگی صفحه بندی محصول توجه دارد. آنها مسئول طراحی هر صفحه با ابزارها و صورتی هستند که بتواند مسیری که طراح UX طراحی نموده را پیاده سازی و جایگذاری نماید.

به عنوان مثال زمانی که یک طراح UI میخواهد یک داشبورد سیستم آمارگیری را پیاده سازی کند، ممکن است تصمیم بگیرد که مهمترین موضوع صفحه را در بالای صفحه قرار دهد، و یا آن را در نوار کناری صفحه و یا با طراحی یک دکمه آن را به گونه ای که به تجربه مشاهده ای کاربر و کلیت طرح کمک نماید نمایش بدهد.

همنچین طراحان UI معمولاً وظیفه یکپارچگی سبک طراحی در کل روند محصول را نیز بر عهده دارند، به صورتی که به صورت شهودی، نوع چینش و محتوای صفحات با یکدیگر همخوانی داشته باشد و همچنین زبان طراحی مورد استفاده سازگاری خودش را در تمامی روند ها و صفحات محصول حفظ نماید. حفظ این ثبات در نمایش المان ها، نمایش خطاها و سبک طراحی ضروری می باشد.

محصول نهایی UI :

طراحی رابط کاربری نهاییبرنامه های کاربردی :Photoshop, Sketch, Illustrator, Fireworksبه صورت کلی باید گفت که مرز بین UI و UX در بیشتر موارد مبهم است و در بسیاری از موارد شرکت ها این نقش را ادغام میکنند و به یک شخص و یا گروه کاری واگذار میکنند.

  • مهندس میر علی میری


در هنگام اجرای توابع متحرک سازی در javascript در بعضی مواقع خط قبلی برنامه بدون آنکه به طور کامل اجرا شود خط بعدی دستورالعمل شروع به کار می کند و این باعث ایجاد خطا در عملکرد صحیح برنامه می شود. در چنین مواقعی برای جلوگیری از بروز خطا می توان از تابع callback استفاده کرد.

تابع callback، بعد از اجرای کامل متحرک سازی اجرا می شود.

مثال :

:$(selector).hide(speed,callback);

مثال: در مثال زیر، پارامتر callback در متد ()hide با یک تابع تنظیم شده است، این تابع بعد از اجرای کامل افکتِ پنهان سازی، اجرا خواهد شد:

استفاده از پارامتر callback

$("button").click(function(){

$("p").hide("slow",function(){

alert("The paragraph is now hidden");

});

});

در مثال زیر، پارامتر callback استفاده نشده است، و قبل از اینکه افکتِ پنهان سازی کامل شود، پنجره alert نمایش داده خواهد شد:

بدون استفاده از پارامتر callback

$("button").click(function(){

$("p").hide(1000); alert("The paragraph is now hidden");

});

  • مهندس میر علی میری


19


مقاله سئو و بهینه سازی سایت

سئو در سال 2015


سئو همواره در حال تغییر است و به مرور زمان برخی از روش های بهینه سازی وب سایت بیهوده و بی اثر و برخی دیگر ارزش بیشتری یافته اند. برای آنکه بودجه سئو وب سایت خود را به صورت درست هزینه نمایید باید از اثرگذارترین روش های سئو و بهینه سازی وب سایت مطلع باشید. برای آنهایی که با کلمه سئو آشنا نیستند به دانش بهینه سازی وب سایت برای موتورهای جستجو جهت نمایش هر چه بیشتر در کلمات کلیدی مرتبط برای نتایج جستجو گفته می شود. سئو و بهینه سازی وب سایت امروزه یکی از اثرگذارترین روش های تبلیغات می باشد که شرکت ها با توجه به این موضوع در حال سرمایه گذاری در این مورد هستند. در این مقاله به شما مهترین نکات را برای بودن در بالاترین نتایج گوگل در سال 2015 بیان می نمایم:

  • شما باید پیوسته مقالات مفید و مورد نیاز کاربران در زمینه شغلی مورد نظر را در سایت با یک بازه زمانی مناسب بارگذاری نمایید و سعی کنید تا می توانید موضوعات، مشکلات و نیازهای مشتریان خود را با درج مقالات وب سایت خود تحت پوشش قرار دهید. در سال 2015 مهترین مسئله سئو وب سایت داشتن محتوای خوب، کافی و مناسب می باشد.

  • موتورهای جستجو نظیر گوگل امروزه بیشتر به کاربر پسند بودن وب سایت توجه می نمایند بنابراین توصیه می گردد طراحی سایت خود را بر اساس دانش روز تغییر داده و وب سایت شما حتما سازگاری کامل جهت نمایش در مرورگرهای مختلف از قبیل موبایل را داشته باشد. با توجه به میزان استفاده بالا از موبایل برای جستجو و مرور وب داشته نسخه موبایلی وب سایت به یک ضرورت تبدیل شده است. برای چک نمودن اینکه وب سایت شما نسخه موبایلی دارد و یا خیر می توانید از نرم افزار Mobile-Friendly Test گوگل استفاده نمایید.
  • سرعت وب سایت همواره یکی از مهمترین فاکتور های رنکینگ وب سایت بوده است و بنابراین توصیه می گردد حتما وب سایت خود را از نظر سرعت لود شدن برای کامپیوتر و موبایل به صورت جداگانه بررسی نموده و آن را بهینه سازی کنید. برای چک کردن سرعت وب سایت می توانید از نرم افزار Page Speed گوگل استفاده نمایید.

  • امروزه هر یک کاربر در اینترنت عضو یک شبکه اجتماعی می باشد و فعالیت در شبکه های اجتماعی با توجه به تعداد استفاده کنندگان بالا و اثر گذاری آن به امری ضروری برای رسیدن به بهترین نتیجه برای سئو سایت تبدیل شده است. بهترین شبکه های اجتماعی در زمینه شغلی خود را انتخاب و بررسی نموده و به طور روزمره در آنها فعالیت نموده و مطلب بگذارید.
  • برای آنکه مقالات خود را جذاب تر نمایید می توانید از سایر مدیاها نظیر تصاویر، فیلم و انیمیشن استفاده نمایید. استفاده از این المان ها در مقالات وب سایت باعث اثر بخشی بیشتر مقاله ها می گردد و حس بهتری در کاربران نسبت به مقالات فقط متنی ایجاد می نماید.
  • بهتر است که به جای آنکه تمام تمرکز خود را بر بهینه سازی وب سایت برای موتورهای جستجو بگذارید به بهترین روش ارائه اطلاعات به مشتریان و مخاطبان خود توجه نمایید. در صورتی که شما سایت خود را به گونه ای پیاده سازی نمایید تا کاربر متقاعد گردد مدت زمان بیشتری در وب سایت شما باقی بماند این مورد تاثیر بسیار مثبتی بر روی سایت شما خواهد داشت. مدت زمانی که کاربر بر روی وب سایت شما صرف می کند امروزه یکی از مهترین فاکتور های رنکینگ وب سایت می باشد.
  • امروزه ثابت شده طراحی فلت و دو بعدی حس بسیار بهتری در کاربر ایجاد می کند و باعث می شود تا کاربر درک بهتری از وب سایت داشته باشد. به شما توصیه می شود طراحی وب سایت خود را بر اساس سبک های جدید طراحی سایت پیاده سازی کنید.
  • دقت نمایید تمامی کارهای که برای سئو وب سایت خود انجام می دهید به صورت طبیعی باشد و بک لینک سازی را به صورت غیر طبیعی انجام ندهید و این کار را حتما زیر نظر متخصص سئو انجام دهید.

  • مهندس میر علی میری


با افزایش استفاده از اینترنت و فضای مجازی و به دنبال آن افزایش صفحات وب، ما را به این فکر وا می دارد که علت نیاز به وب سایت چیست؟ چرا باید برای خود سایتی داشته باشیم؟

در این مقاله شما را با برخی از دلایل نیازمندی به سایت آشنا خواهیم داد:

بی خوابی کشیدن وب سایت ها

اکثر مردم در وب در هنگام شب که بسیاری از کسب و کارها بسته می باشند گشت و گذار می کنند و این هم عادی است چون یک وب سایت هیچ وقت در خواب و یا استراحت نیست. یک وب سایت به کسب و کار یا سازمان شما این امکان را می دهد که به صورت شبانه روز 24 ساعت هر 7 روز هفته 356 روز سال باز باشد. داشتن یک وب سایت معادل داشتن یک کارمند مشغول به کار تمام ساعت حتی در تمام تعطیلات می باشد.

رقیب هایتان سایت دارند

اگر شما در رقابت مستقیم با کسب و کار دیگری باشید و او یک وب سایت برای کسب و کار خود داشته باشد این یک مزیت روشن برای رقیب شما به حساب می رود. خصوصا اگر او به اندازه کافی برای وب سایت خود بازاریابی کرده باشد. یک وب سایت یک راه عالی برای رقابت در کسب و کار می باشد.

فقط آن را گوگل کنید

بیش از هر زمان دیگری مردم راه های سنتی قبل را برای پیدا کردن اطلاعات مورد نیاز خود را تغییر داده اند و امروزه مردم اطلاعات خود را از طریق آنلاین بدست می آورند. کسب و کار شما هم باید از طریق آنلاین هم در اختیار مردم باشد.

اعتماد مشتری به شما

داشتن یک وب سایت اعتماد مشتری را به کسب و کار شما بهبود می بخشد و از کسب و کار شما یک شرکت محترم و معتبر خواهد ساخت. و تصویر کلی کسب و کار خود را به عموم مردم بهتر جلوه خواهد داد و به نوبه خود باعث افزایش اعتماد مشتریان خود نسبت به سازمان و یا کسب و کار شما خواهد بود.

درآمد بالا

کسب و کار کوچک آنلاین درآمد عالی دارد به گزارش (Small Business Administration ) کسب و کارهای کوچکی که دارای وب سایت باشند درآمدی به طور متوسط سالانه 1000000 دولار بیشتر از کسب و کارهای کوچکی که وب سایت نداشته باشند و در فروش آنلاین نیستند دارند. و این برابر 39% درآمد بیشتر می باشد.

همه اینترنت دارند

تقریبا 60 درصد ایرانی ها در ایران از اینترنت استفاده می کنند و در سراسر دنیا بیش از 1 میلیارد نفر از اینترنت استفاده می کنند داشتن یک وب سایت می تواند شهرت کسب و کار شما را بیش از آنکه شما تصور می کنید بیشتر کند و این خود یک امتیاز برای بدست آوردن درآمد بیشتر می باشد.

مشتری زیاد

وب سایت ایجاد مشتری برای کسب و کار خود را بیشتر می کنند طبق گزارش سازمان کسب و کار و کوچک 50% از فروش اینترنتی به مشتریان جدید می باشد. داشتن یک وب سایت به طور قابل توجه تعداد مشتریان شما را بیشتر می کند مهم نیست که چه خدمات و یا محصولاتی را شما ارائه می دهید.

وب سایت جهانیست

وب سایت فقط محلی و منطقه ای نیست بلکه جهانی می باشد اکثر کسب و کار کوچک تنها قادر به بازاریابی در شهر خود و یا محیط اطراف شهر خود می باشند با استفاده از وب سایت شما می توانید کالاهای خود را در سراسر ایران و حتی به کل دنیا عرضه کنید.

  • مهندس میر علی میری


سازگار با تلفن همراه


راهنمایی های گوگل برای SEO تلفن همراه

طراحان سایت برای طراحی وب سایت ها باید از طراحی واکنش گرا (responsive) استفاده کنند.گوگل تاکید فراوانی بر سازگاری الگوریتم جستجو با تلفن همراه دارد ، و این موضوع به طور قطع رشد خواهد داشت. داشتن یک وب سایت جداگانه برای تلفن همراه نیز گزینه ای دیگر است، اما از نقطه نظر SEO چندان مناسب نیست و همچنین شرکت مجبور خواهند شد که همزمان دو وب سایت را مدیریت کند.


ارکان طراحی ساده

با ابزار های سرعت صفحه گوگل ( Google Page Speed Insights ) سرعت وب را افزایش دهید.

از برچسب ها (tags ) منحصر به فرد استفاده کنید.


راهنمایی مبتدیان برای طراحی و توسعه SEO

برچسب (تگ) عنوان، مهم ترین بخش کد HTML در یک صفحه وب برای اهداف SEO است، چرا که تگ عنوان به خزنده (کراولر) گوگل می گوید چگونه محتوای صفحات وب سایت را تفسیر کند. هر صفحه ای باید دارای تگ عنوان منحصر به فرد و خاص باشد تا محتوای صفحه را مشخص کند و عبارت های کلیدی اولیه را در هم ادغام نماید.


توضیحات متا (META) منحصر به فرد

توضیحات متا قطعات کوچک HTML هستند که در زیر لینک Google’s SERPs ( صفحات نتایج موتور جستجو) ظاهر می شود. اگر این توضیحات به طور آموزنده و متقاعد کننده نوشته شده باشد، بیشتر مردم روی لینک کلیک خواهند کرد. توضیحات متا بسیار خوب به طور قابل ملاحظه ای ترافیک مربوطه را تقویت می کند و تبدیل ها را افزایش می دهد.

در اینجا به چند نکته مهم برای نوشتن آنها اشاره می کنیم.


محتوا با کیفیت بالا

-از پیکره و بدنه غافل نشوید!

-گوگل به دنبال محتویات با کیفیت برای وب سایت است، و همچنان در شناسایی آن رو به بهبود است.


کیفیت بالا چیست؟

برای گوگل و انسان، پاسخ محتوای معتبر، اصلی، مربوط، آموزنده، مفید، قابل اسکن و قابل اشتراک گذاری است. این یک استاندارد سطح بالا است، اما پیروی از ان به سادگی سبب تفاوت در ظاهر شدن در صفحه یک گوگل و صفحه پنج ان می شود.

-از محتوای تکراری اجتناب کنید.

مطالب تکراری در سایت مسئله بزرگ و قابل توجهی برای بسیاری از وب سایت ها نیست، اما گاهی اوقات، برای مثال، سایت های تجارت الکترونیک دارای همان محتوای محصولی است که در صفحات متعدد شاهد ان هستیم. برنامه نویسان آشنا با SEO می توانند این موضوعات را حل و فصل کنند، و گوگل را قادر سازد که دریابد کدام نسخه ای از صفحه را نمایه سازی و رتبه بندی کند.


جهت یابی و ساختار لینک های داخلی

راهنمای سواری مجانی (Hitchhikers) برای استراتژی لینک کردن داخلی عناصر جهت یابی و لینک کردن داخلی به گوگل می گوید چگونه محتوا در وب سایت سازماندهی و اولویت بندی شده است. صفحات با اولویت بالا (به عنوان مثال، صفحات مهم محصول) باید دارای بیشترین تعداد اشاره به لینک داخلی باشند. عناصر جهت یابی (به عنوان مثال، محصولات، دسته محصول، خدمات، دسته بندی خدمات) باید منطقی، حسی و بصری و در سلسله مراتب مناسب قرار گیرند.

جهت یابی و لینک کردن داخلی قوی علاوه بر دادن بینش و درک به گوگل در مورد این که چه صفحات حاوی مهم ترین مطالب هستند، به بازدید کنندگان سایت کمک می کنند اطلاعات مورد نیاز خود را به سرعت بیابند و این نکته بسیار حائز اهمیت است.


آدرس ها(URL ها) 15 شیوه برتر SEO برای ساختار URL

کلمات در URL ها باید توسط خط تیره از هم جدا شوند نه با زیرخط ( زیرا زیرخط کلمات را برای خزنده گوگل جدا و تفکیک نمی کند. همچنین خواندن آنها برای برخی از افراد دشوار است). همچنین URL ها باید شامل کلمات کلیدی مهم باشند و مطالب صفحه را با دقت توصیف کنند.

طراحان باید برای ساخت یک وب سایت سازگار با SEO و نیز بهبود تجربه کاربر این شیوه های برتر را مد نظر قرار دهند. این امر زمانی معنا می یابد که گوگل قصد دارد به کاربران موتور جستجو طبیعی خود نتایج مربوط، مفید و آسان ارایه دهد. گاهی اوقات طراحان ( همچنین کپی رایتر ها و سازندگان) SEO را "دشمن" تلقی می کنند، اما در دنیای بیرون،. واقعیت چیز دیگری است.

  • مهندس میر علی میری


24

7 عامل تعیین کننده موفقیت و شکست در طراحی یک وب سایت:

موفقیت و پر بازدیدشدن یک وب سایت هدف اصلی و مهم در طراحی هر وب سایتی است. بعضی از سایت ها برای ما بسیار جالب و مورد پسند هستند و باعث بازدید چند باره ما به آن میشوند ولی برخی دیگر از وب سایت ها را برای اولین که مشاهده میکنیم دیگر رغبتی برای بازدید دوباره آن نخواهیم داشت.

ما 7 عامل را که فکر میکنیم بیشترین نفوذ را در این تصمیم گیری دارند بیان میکنیم.


1- هدف/ مهمترین عامل موفقیت یک وب سایت

هر وب سایتی باید به صورت دقیق هدف خود را مشخص نماید. مدیران وب سایت و بلاگرها باید درک قوی از آنچه میخواهند به مخاطب خود القا کنند داشته باشند تا بتوانند برای رسیدن به آن هدف برنامه ریزی نمایند که چگونه سایت را مدیریت کنند، چه محتوایی آماده کنند، چه پیامی را به بازدید کننده ارسال نمایند و تمام آن چیزی که به عهده یک مدیر وب سایت است.

متاسفانه بسیاری از مدیران سایت ها با عجله و بدون تفکر در خصوص هدف ایجاد وب سایت خود کار را شروع میکنند و به صورت مقطعی در دسته های مختلفی شروع به فعالیت میکنند که با توجه به عدم ثبات و هدفگیری مناسب، توان وب سایت در جهت های مختلفی تقسیم میشود و این پراکندگی باعث عدم کسب موفقیت می گردد.

هدف باید نسبتا خاص باشد، به طور مثال هدفی مانند اینکه “من میخواهم به بزرگترین کسب و کار اینترنتی در کشور برسم” هدف مناسبی نیست و به صورت دقیق بیان کننده آن چیزی که شما میخواهید انجام دهید نمیباشد.

به جای این شما میتوانید بگویید ” من میخواهم از طریق وب سایتم مرجع اصلی معرفی خدمات خود و ارائه خدمات پشتیبانی به مشتریانم باشم”.این هدف گذاری حتی باید قبل از طراحی سایت باشد، طراحی سایت شما نیز باید به گونه ای باشد که بتواند هدف شما را سریعتر محقق و به مخاطب القا کند. اینکه جایگذاری عناوین، المان ها چگونه باشد، رنگ بندی سایت و نحوه نمایش چگونه تعریف شود کاملا مرتبط با این هدف میباشد.هرچه شما بتوانید سریعتر، روانتر و با بیان هنرمندانه این هدف را به مخاطب القا کنید، شانس بیشتری در کسب موفقیت و القای حس رضایت به بازدیدکننده خواهید داشت.

2- وضوح راهی برای کسب موفقیت سایت

در برخی از طراحی های وب سایت پیچیدگی ها و عوامل گرافیکی و افکت های تصویری باعث به حاشیه رفتن و سردرگمی بازدید کننده میشود به صورتی که بیشترین توان بازدیدکننده به درگیر شدن در خصوص چگونگی کارکرد وب سایت میشود و یا یک پیام که فاقد ارزش کافی برای بازدید کننده است بارها در قسمت های مختلف سایت تکرار میشود.

همواره در طول طراحی وب سایت باید در نظر گرفت که به صورت واضح هدف سایت به بازدید کننده منتقل گردد. این وضوح با توجه به دسته بندی های محتلف سایت ها میتواند متفاوت باشد،

برای یک وب سایت فروشگاهی، اطلاع رسانی دقیق در خصوص محصولات، نحوه ارسال، تمایزات فروشگاه و این موارد باید کاملا روشن و واضح برای بازدید کننده روش گردد.

برای یک سایت خبری تحلیلی نوع هدف گیری و دسته بندی اخبار یا مطالبی که در سایت قرار میگیرد باید روشن گردد تا به تصمیم مخاطب برای مشترک سایت شدن و استفاده مکرر از این سایت را تسهیل نماید.

همچنین وب سایت های خدمات دهنده هم با توجه به خدماتی که ارائه میدهند باید توضیحات کامل و واضحی از فعالیت و روند کاری خود ارائه دهند.در برخی موارد وضوح از طریق ساده کردن وب سایت محقق میگردد. ساده کردن وب سایت تمام ضوائد و شلوغی های سایت را حذف میکند و به صورت روش به سمت هدف خود میرود. یکی از دلایلی که امروزه طراحی مینیمالیسم رونق گرفته همین موضوع است.

3- قابلیت استفاده نیاز اولیه کاربران سایت

سبک طراحی و ظواهر سایت هرگز نباید جایگزین کارایی و قابلیت استفاده بودن وب سایت گردد. این قابلیت استفاده برحسب نوع وبسایت ها متفاوت است. به طور مثال، یک وب سایت تجارت الکترونیک باید به خوبی بتواند محصولات را نمایش دهد، قسمت جستجوی مناسبی داشته باشد، سبد خرید و روند فروش متناسب با خرید داشته باشد و یک وب سایت خبری باید دسته بندی مناسب، تگ بندی مطالب، تسهیل در امر خواندن مطالب با رنگ بندی و سایز بندی قلم ها و زمینه و … داشته باشد.سایت هایی که مشکل در قابلیت استفاده خود دارند همواره در تلاشند تا بازدید کننده خود را با عوامل مختلفی در سایت نگه دارند اما چیزی که مشخص است، با توجه به سهولت تعویض سرویس دهنده ها در اینترنت برای بازدید کنندگان، آنها با کمترین مشکلی در روند کاری خود اقدام به ترک سایتی مینمایند که قابلیت استفاده مناسبی نداشته باشد.

4- دسترس پذیری عاملی برای کسب موفقیت سایت

اغلب دسترس پذیری و قابلیت استفاده با هم معنا میشود ولی میتوانیم آنها را دو عامل مجزا نیز بدانیم.

اینکه یک محتوا از چه طریقی، جستجو شود و به مخاطب ارائه شود و همچنین وب سایت با چه مرورگرها، سیستم عامل ها و یا دستگاه هایی قابلیت کارکرد داشته باشد را دسترس پذیری مینامیم. ممکن است یک وب سایت به خاطر ساختار طراحی بازدید کنندگان را مجبور به استفاده از یک مرورگر خاص و یا سیستم عامل مشخصی نماید. این عوامل باعث از دست رفتن کاربر خواهد شد.معمولا وب سایت های موثر دارای سطح دسترس پذیری وسیعی میباشند و به مخاطب خود اجازه انتخاب میدهند.

5- تمرکز بر روی کاربر اولویت طراحی سایت

بازدید کننده یا کاربر هدف اصلی ما در یک سایت است پس باید هدف و تمرکز ما برای براورده کردن نیازهای کاربر باشد. در بسیاری از موارد، در پروسه های طراحی وب سایت اهداف اصلی صاحب سایت از نیازهای مورد نظر کاربران آن سایت پیشی میگیرد و بایکدیگر همخوانی ندارند. این یعنی ما برای طراحی یک وب سایت، قبل از اینکه فکر کنیم ما چه میخواهیم از وب سایتمان به دست بیاوریم، بدانیم کاربر چه چیزی را میخواهد از وب سایت ما به دست آورد، پس از اینکه این موارد را برای کاربر فرآهم کردیم، اهداف خود را نیز در آن بگنجانیم تا بیشترین بهره را از سایت برده و رضایت بازدید کننده را کسب کنیم. نیازهای کاربر همواره مقدم بر خواست های مدیر یا صاحب وب سایت است.

6- جابجایی در محتوا یا ناوبری در سایت

امکان جابجایی در محتواهای سایت یا ناوبری در وب سایت یکی از عواملی است که هم مرتبط با قابلیت استفاده و هم مرتبط با دسترس پذیری میباشد ولی یکی از مهمتری عوامل برای ایجاد رضایت کاربر میباشد. حتما ما میخواهیم که یک کاربر بیش از یک صفحه از سایت ما را بازدید کند، اینکه چگونه بتوانیم سایر محتواهای مورد نیاز کاربر را به او نشان دهیم کار طراحی ناوبری می باشد.بسیاری از وب سایت ها از روش های معمول ناوبری در سایت خود استفاده میکنند که بیشتر کاربران نیز با آن آشنا هستند.

روش هایی مثل منوی اصلی که به ارائه لینک های صفحات و مطالب پر کاربرد سایت میپردازد، نقشه سایت، امکان جستجو بر حسب تگ ها و دسته ها، صفحات راهنما و درباره ما و … نیز از جمله صفحاتی هستند که کاربران به دنبال یافتن آنها برای رسیدن به نتیجه مورد نظر خود در سایت میباشند. همچنین لینک های مختلفی در هر صفحه قرار میگیرد که به کاربر کمک میکند تا محتواهای مرتبط با موضوع مورد علاقه خود را در سایت راحتتر پیدا کند.

هر چه این موارد مرتبط تر و مورد نیاز بیشتر بازدید کنندگان باشد، در کسب موفقیت شما در وب سایت تاثیر بیشتری خواهد گذاشت. در این بین سیستم های نیمه هوشمند تشخیص سلایق کاربران کارایی بسیازی دارد.

7- ظاهر سایت

ظاهر یک وب سایت از عوامل اصلی تعیین کننده در موفقیت یک سایت است. هر وب سایتی برنده جایزه بهترین طراحی نمیشود، اما سایت های موفق میتوانند متناسب با نیازهای سایت، اهداف، دسترس پذیری و امکان کاربری آسان طراحی گردند و سپس به ظواهر و تناسبات آن با خواسته کاربر بپردازند.

یکی از عوامل موفقیت در ایجاد ظاهر کاربر پسند استفاده از روانشناسی در طراحی وب سایت است.روندهای طراحی وب سایت، بسیار سریع و متناسب با تکنولوژی های جدید در حال تغییر است و یک وب سایت زمانی میتواند به موفقیت دست یابد که درک داشته باشد در این رقابت همیشه باید به روز باشد. بسیاری از وب سایت های موفق روند بازطراحی خود را هر چند سال یکبار تکرار میکنند تا بتوانند بهترین خدمات را بر اساس تکنولوژی های روز به کاربر ارائه دهند. طراحی یک سایت باید تکمیل کننده محتوای یک سایت باشد، نه یک رغیب برای محتوای سایت!

در نظر داشته باشید که همواره سبک طراحی وب سایت با پیام و هدف سایت نیز باید تناسب داشته باشد تا بتوان بهترین بازخورد را از کاربر دریافت کرد.

  • مهندس میر علی میری

 

بیشتر طراحان وب سایت برای طراحی سایت خود برای جلوگیری از اتلاف وقت از قالب های از پیش ساخته شده و آماده استفاده می کنند سپس بر اساس کاربردی که مد نظر آنهاست شروع به سفارشی کردن آن می کنند. البته سفارشی کردن قالب ها هم چندان ساده نیست .بعضی از قالب ها با یک فایل PSD عرضه می شوند که در صورت در اختیار داشتن برنامه فتوشاپ و مهارت در استفاده از آن، مفید هستند .یک قالب دیگر ممکن است برای کمک به کاربران در پیمایش، از منوهای تجملی DHTML ، استفاده کند .این ویژگی معمولا مشکلی به وجود نمی آورد، البته در صورتی که بتوانید به آسانی و در صورت لزوم، گزینه ها و نحوه کار آن را تغییر دهید .امکان دارد ایجاد یک تغییر ساعتها طول بکشد، در حالی که طراحان با تجربه می توانند ظرف ۳۰ ثانیه این تغییرات را به وجود آورند.

بنابراین، بهتر است قالب های وب با تعداد زیادی فایل Help همراه بوده و در صورت لزوم از پشتیبانی پست الکترونیک، بهره مند باشند. در زیر به معرفی سایت هایی که این قالب ها را ارائه می دهند می پردازیم.


Template Monster (1 به آدرس (www.templatemonster.com)
این سایت برای کسانی که نظر خاصی درباره ظاهر سایت خود ندارند، مکان مناسبی است .در این سایت، صدها قالب، معرفی و لوگوی Flash و روشهای جست وجو برای رسیدن به سبک مورد نیاز کاربران ارائه شده است. اکثر قالب ها، از قالب ساده HTML استفاده کرده اند، اما تعداد زیادی سایت Flash نیز در دسترس است. طرحها رنگی، زیبا، جذاب و حرفه ای هستند، اما گاه میزان پیچیدگی تعداد تصاویر و مقدار متن آنها زیاد است .این الگوها غالبا سبک مشخصی دارند و ممکن است با سلیقه همه هماهنگ نباشند .قیمت این قالب ها بین ۳۰ تا ۶۰ دلار است. اگر گزینه Unique Price را انتخاب کرده و هزینه آن را بپردازید، الگوی منتخب شما دیگر در سایت ظاهر نخواهد شد.
البته این نظر بسیار خوبی است، اما پرداخت ۶۰۰ دلار برای قالب های اختصاصی، با بودجه بسیاری از کاربران سازگار نیست. سفارشی کردن یک قالب ممکن است برای بعضی از کاربران، دشوار باشد .ایجاد تغییر در متن یک صفحه خام HTML مشکل نیست، اما ایجاد تغییر در تصاویر، داستان دیگری است .برای مثال، نمونه ارائه شده با یک منوی پیمایش همراه است که به شش تصویر JPEGخالی، تقسیم شده است .اضافه کردن متن پیمایش مورد نیاز محصولات، خدمات، معرفی عملکرد سایت و غیره باید به وسیله خودتان انجام شود، بنابراین هر چه تعداد پیوندها کمتر باشد، کار شما ساده تر است .اسامی بخشها نیز بهتر است کوتاه باشند تا در فضای تصویر بگنجند .
اگر چه این سایت برای مبتدیان بهترین انتخاب نیست، اما برای طراحانی که قدری در طراحی صفحات وب تجربه دارند، نمونه های جالبی ارائه می کند .اگر با گرافیک و زبان HTML آشنا هستید و فقط در زمینه مهارتهای طراحی پیشرفته به کمک نیاز دارید، مراجعه به این سایت به نفع شماست.



Steves Templates (2به آدرس (www.steves-templates.com)
اگر با استفاده از کلمات کلیدی در گوگل جست وجو کنید، سایت Steves Templates درصدر فهرست ظاهر خواهد شد. البته درصدر فهرست بودن یک امتیاز است، اما آیا این سایت واقعا سزاوار این امتیاز است‚ یکی از مزایای این سایت این است که ۳۲ قالب را به طور رایگان در اختیار شما قرار می دهد، البته در صورتی که در صفحه وب خود یک پیوند به این سایت درج کنید .اکثر طرحها، قدیمی و بی|روح هستند و فقط برای صفحات شخصی ساده مناسبند .
قالب|های غیر رایگان به مراتب بهترند و طرحهای ساده و زیبایی دارند که به سرعت قابل انتقالند .بعضی از آنها به عنوان صفحات آغازین زیبا، قابل قبولند و بعضی دیگر برای وب سایتهای ساده تجاری مناسبند .همچنین این سایت دستورالعملهای online برای استفاده از قالب ها را در اختیار دارد .
این دستورالعملها شامل اطلاعات کلی درباره غیرفشرده کردن فایل های دریافت شده از شبکه، سفارشی کردن منوها و پیوندها و ارسال صفحات طراحی شده به اینترنت هستند .اگر در جست وجوی طرحهای اصیل هستید، این سایت انتظار شما را برآورده نمی کند، اما اگر به محتوا بیش از جلوه ظاهری اهمیت می دهید، این سایت به طور قطع ارزش امتحان کردن را دارد.


Pagekits (3به آدرس(www.elated.com/pagekits)
قالب های رایگان این سایت به مراتب از قالب های ارائه شده در سایتSteves ، زیباترند و در بسیاری از موارد بسیار حرفه ای به نظر می رسند. اکثر صفحات ایجاد شده با این قالب ها بزرگ، نامتعارف و رنگارنگ هستند و ممکن است برای سایتهای تجاری مناسب نباشند .به علاوه، در بعضی از صفحات، کاربران ناگزیر خواهند شد برای یافتن پیوندهای پیمایش، تمام صفحه نمایش را مرور کنند و این مسئله قدری آزاردهنده است .

  • مهندس میر علی میری


تحقیق درباره معرفی بخشهای VB

از زبانهای برنامه نویسی تحت Windows می باشد(که زین پس آن را VB خواهیم خواند) که برای کدنویسی از دستورات زبان Basic سود می برد.

VB (مانند تمام زبانهای برنامه نویسی تحت ویندوز) با استفاده از تمام امکانات زیبای ویندوز (که باعث فراگیرشدن این سیستم عامل زیبا و توانمند در میان کاربران شده است)، طراحی محیطی زیبا و قدرتمند را برای پروژه مورد نظر، بسیار ساده می نماید.

در حال حاضر، به جرأت می توان گفت که یکی از انتخاب های اصلی برنامه نویسان حرفه ای در سطح جهان برای تهیه پروژه های با قابلیت های ویژه، VB می باشد، خصوصاً از VB6 که مایکروسافت عملاً با افزودن توانایی های متنوع بسیار به VB، حتی حاضر شد از دیگر زبانهای معروف تحت ویندوز خود مانند Visual C++ و Visual Foxpro بگذرد و سعی در هدایت تمام برنامه نویسان به سوی VB داشته باشد.

در حال حاضر که به تهیه این جزوه همت گماردم، نسخه آزمایشی VB.net در بازار وجود دارد ولی عموماً برنامه نویسان ازVB6 استفاده می کنند و لذا ما نیز این نسخه ازVB را برای آموزش انتخاب می کنیم، هر چند تمام خوانندگان عزیز می دانند که عموماً با فراگیری یک نسخه از یک برنامه، فراگیری نسخه های بعدی آن کار چندان دشواری نخواهد بود.

خوانندگان عزیز توجه داشته باشند که برای فراگیریVB، آشنایی با ویندوز و Basic لازم است. همچنین بهتر است در هنگام مطالعه، VB باز باشد و مطالب را در همان لحظه کار کنند.

هنگامی که VB اجرا می شود، توسط پنجره ای (شکل1)، نوع پروژه ای که می خواهید طراحی کنید از شما خواسته می شود.

همان طور که ملاحظه می فرمایید، انواع مختلفی از پروژه ها در این پنجره وجود دارد که در ادامه به برخی از آنها خواهیم پرداخت، ولی فعلاً نوع استاندارد پروژه های VB یعنی نوع Standard EXE را انتخاب و آن را باز(Open) می کنیم. این نوع پروژه (که غالب پروژه ها را در بر می گیرد) برای تهیه برنامه های کاربردی(Applications) مورد استفاده قرار می گیرد.
پس از باز کردن پروژه
Standard Exe ، پنجره اصلیVB (شکل 2 ) برای این نوع پروژه باز می شود:
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->

این پنجره، علاوه بر آنچه عموماً در پنجره های ویندوز می بینیم (مانند Title Bar وMenu Bar)، شامل چند بخش بسیار مهم می باشد:
1- یک فرم(
Form) خالی با عنوان (Caption)برابر Form1 وجود دارد. این همان فرمی است که بلافاصله پس از اجرا (Run) شدن برنامه، روی صفحه نمایش، قرار می گیرد (این پیش فرض قابل تغییر است).
2- نوار ابزار
Standard Buttons که دکمه هایی با کاربرد معمولاً بیشتر را شامل می شود. تعدادی از این دکمه ها را در ویندوز می شناسید (مانند Copy, Paste, Undo, Redo, Open وSave) و برخی دیگر را در ادامه خواهیم دید.
3- پنجره ای سمت چپ تصویر دیده می شود. این پنجره شامل برخی از کاربردی ترین کنترلهای قابل دیدن (
VCL) می باشد. در ادامه با VCLها آشنا خواهیم شد و از آنها بسیار بهره خواهیم برد. به این پنجره Tool Bar (جعبه ابزار) گفته می شود.
4- در سمت راست تصویر سه پنجره دیگر دیده می شود. در بالا، پنجره پروژه (
Project)، سپس پنجره مشخصات(Properties) و در پایین، پنجرهForm Layout قرار دارد. پنجرهProject شامل نام تمام اجزای پروژه مانند فرمها، ماژولها(Moduls)،Activex ها و ... می باشد. مثلاً اگر در پروژه ای چند فرم وجود داشته باشد و بخواهیم به فرم دیگری برویم، کافی است نام آن را در این پنجره دابل کلیک نماییم. پنجره Properties، برخی از مشخصه(Property) های مربوط به VCL ای که انتخاب شده (Select) باشد را نمایش می دهد که می توان آنها را در هنگام طراحی(Design Time) تغییر داد (سایر مشخصه ها باید در هنگام اجرا(Run Time) تنظیم شوند.) در پنجرهForm Layout نیز می توان مکان قرار گیری Form هنگام اجرای برنامه(Run Time) بر روی صفحه نمایش را تعیین کرد (همچنین این کار را توسط کدنویسی نیز می توان انجام داد و عموماً همین روش هم توصیه می شود و لذا عموماً حتی می توان این پنجره را به کل بست).


در این بخش با شمای کلی
VB آشنا شدیم، در ادامه درباره VCL ها و نحوه کدنویسی برای آنها مطالب مفیدی خواهیم آموخت.

مفاهیم بنیادی

درVB، شئ (Object) هایبسیاری وجود دارد مانند فرمها، دکمه ها، برچسب ها، تصاویر و ... . همانطور که می دانیم هر شئ(Object) دارای یک سری مشخصات(Properties) میباشد. به عنوان مثال اگر یک اتومبیل را به عنوان یک شئ در نظر بگیریم،این اتومبیل دارای مشخصاتی چون رنگ خاص، وزن خاص، طول و عرض و ارتفاعخاص، میزان خاص مصرف بنزین و ... می باشد که در تمایز دو اتومبیل ازهم، همین مشخصات هستند که به ما کمک می کنند.
درVB نیز هر Object دارای یک تعداد مشخصه (Property) می باشد. به عنوان مثال یکدکمه(Button) دارای مشخصاتی چون عرض(Width) و ارتفاع(Height) خاص و یایک عنوان(Caption) خاص و ... می باشد.
برخی شئ(object) ها درVB، فقطدر کدنویسی قابل دسترسی هستند(مانند شئADODB که در آینده با آن آشناخواهید شد) اما برخی دیگر علاوه بر زمان کدنویسی، در زمان طراحی (Design) نیز می توان آنها را بر روی فرمها و در جای دلخواه قرار داد وآنها را تنظیم (Set) نمود. به اشیاء نوع اخیر، کنترل (Control) گفته میشود.
کنترل ها خود دو گونه اند، برخی علاوه بر زمان طراحی (Design) در زمان اجرا (Run Time) نیز دیده می شوند، به این نوع کنترل دراصطلاح(Visual Control) VCL گفته می شود که بیشترین انواع کنترلها رادر بر می گیرند (مانند دکمه ها، جدولها، برچسبها و بسیاری دیگر که درادامه خواهند آمد) اما برخی دیگر از کنترل ها فقط در هنگام طراحی (Design) دیده می شوند و در هنگام اجرا تنها عمل خاصی انجام می دهند وخود دیده نمی شوند (مانند کنترلTimer)، به این نوع کنترلها،Non-Visual Control گفته می شود. باید توجه داشته باشیدکه کنترلهایNon-Visual،ذاتاً درRun Time دیده نمی شوند ولی ممکن است بنابر نیازی و در زمانیخاص از اجرا، خودمان برای یک یا چند VCL نیز مقدار مشخصه Visual آنهارا برابرFalse قرار دهیم که مسلماً در این حالت با وجود اینکه در آنزمان، این کنترلها دیده نمی شوند ولی VCL بودن آنها تغییری نکردهاست.
کنترل ها (اعم ازVCL ها و غیر آن) معمولاً دارای تعدادی Event می باشند. Event ، رویداد یا رخدادی است که توسط کاربر و معمولاً بااستفاده از ماوس یا صفحه کلید برای یک کنترل خاص روی می دهد.مثلاً یککنترل ممکن است دارای رویداد (Event) Click باشدکه این نوع رویدادزمانی که کاربر در هنگام اجرای برنامه (Run Time) بر روی آن کنترل خاصکلیک نماید رخ می دهد.برخی Event های معمول دیگر برای کنترلها عبارتنداز: DoubleClick (زمانی که بر روی آن کنترل دابل کلیک شود) ، MouseMove (زمانی که نشانگر ماوس بر روی آن کنترل قرار دارد) ، KeyPress (زمانیکه کلیدی از صفحه کلید زده شد) ، KeyDown (زمانی که کلیدی از صفحه کلیدپایین بود) ، KeyUp (زمانی که کلید زده شده برداشته شد) ، MouseDown ، MouseUp و ... که در ادامه با آنها بیشتر آشنا خواهیم شد.
برای هر Event (رویداد) می توان یکEvent Procedure داشت. Event Procedure پاسخی است که یک کنترل زمانی که یک Event رخ می دهد، از خود نشان میدهد. در واقع Event قطعه برنامه ای است که زمانی که بر روی یک کنترل،یک Event رخ می دهد، به طور اتوماتیک اجرا می شود.
کنترلها معمولاًعلاوه بر یک سری مشخصات (Properties) و یک سری رویداد (Event) ، دارایتعدادی نیز متد (Method) می باشد. متدها عملیاتهای تعریف شده ای هستندکه توسط آنها یک عمل خاص بر روی کنترلها انجام می شود.
توجه داریمکه تفاوت متدها و Event Procedure ها در این است که متدها توسط VB ،شناخته شده اند و عملشان همیشه ثابت است، اما Event Procedure ها توسطبرنامه نویس و به دلخواه او تهیه می شود، بنابراین Method های مشابه برروی کنترلهای متفاوت، پاسخ مشابهی دارد ولی ممکن است Event های مشابهبر روی کنترلهای متفاوت با توجه به Event Procedure های مخصوص هر یک،متفاوت باشد (مثلاً رویداد Click برای یک کنترل، کاری انجام دهد و برایکنترلی دیگر، کاری دیگر).
نکته دیگری که باید به آن توجه داشت اینستکه Procedure ها به طور مستقیم اجرا نمی شوند بلکه فقط زمانی که نامشانفراخوانی شود اجرا می شوند. بنابراین مثلاً در مورد Event Procedure هاباید بدانیم که با اینکه کد مربوط به آنها نوشته شده است ولی تا وقتیکه آن Event خاص (که باعث فرا خوانی Event Procedure مربوط می شود) رویندهد، این کدها اجرا نخواهند شد.

اولین پروژه و آشنایی با برنامه نویسی بوسیلهVB

به عنوان اولین پروژه، قصد داریم فرمی داشته باشیم با دو دکمه Message و Exit که اگر در دکمه Message کلیک شد، پیغامی نمایش داده شود و اگر دکمه Exit کلیک شد از برنامه خارج شود(شکل3):

ابتدا فرمی که بر روی صفحه نمایش باز است (فعلاً به نام Form 1 ) را به اندازه دلخواه در می آوریم و در حالی که Select است، از پنجره Properties (سمت راست تصویر) ، مشخصه (Property) های زیر را چنین Set می کنیم:

1- مشخصه Name آن را به frmFirstProject تغییر می دهیم.

2- مشخصه Caption آن را به First Project تغییر می دهیم.

مشخصه Caption معمولاً عنوانها را تغییر می دهد. مثلاً در مورد فرمها، آنچه در این مشخصه Set شود در Title Bar از آن فرم دیده می شود یا در مورد دکمه ها، آنچه در این مشخصه قرار داده شود، آن چیزی است که بر روی دکمه ( به عنوان نام دکمه ای که ُکاربر می بیند) دیده می شود.

مشخصه Name یکی از مهمترین مشخصه هایی است که باید برای تمام کنترلها Set شود.آنچه در این مشخصه قرار گیرد، نامی است که VB آن کنترل را به این نام می شناسد (و خصوصاً در هنگام کدنویسی و برای دسترسی به کنترلها، بسیار مورد استفاده واقع می شود). به طور پیش فرض VB برای هر کنترل یک Name در نظر می گیرد، اما در پروژه های واقعی ، معمولاً تعداد کنترلها آنقدر زیاد می شوند که نامهای پیش فرض به سختی در ذهن می ماند. برای این منظور بهتر است به کنترلها، نامهایی را نسبت دهیم که از جهتی با او متناسب باشد. لذا بهتر است اولاً در نام آنها چیزی باشد که نشان از نوع آن کنترل باشد و عبارتی نیز باشد که بیانگر موضوع یا کار فعلی آن باشد. به عنوان مثال شما می بینید که ما در مشخصه Name از form ، گفتیم که قرار دهیم: frmFirstProject که frm به خاطر تشخیص Form بودن آن است و First Project به خاطر تشخیص اینکه این فرم برای First Project است. یا مثلاً به فرض اگر بخواهیم دکمه ای به نام Exit بر روی فرمی داشته باشیم، من ترجیح می دهم که نام آن را cmdExit بگذارم که cmd را از Command Button گرفته ام. توجه داریم که این نامی است که VB آن را می شناسد وگرنه برای زیبایی کار Caption این دکمه را همان Exit می گذاریم و این نام گذاری به زیبایی پروژه ما لطمه ای وارد نمی کند.

برای ادامه، دو دکمه (Command Button) بر روی فرم قرار می دهیم (که برای این منظور از پنجره Controlها که در سمت چپ تصویر است، کنترل Command Button به شکل <!--[if !vml]--><!--[endif]-->را دابل کلیک می کنیم و یا با یک Click و انتخاب آن، بر روی فرم، به اندازه دلخواه Drag & Drop می کنیم) و جای آنها را به مکان دلخواه مورد نظر (به وسیله Drag & Drop آنها) تغییر می دهیم. آنگاه برای یکی از آنها:

1- مشخصه Name را به cmdMessage تغییر می دهیم.

2- مشخصه Caption را به Message تغییر می دهیم.

و برای دیگری تغییر می دهیم:

1- مشخصه Name را به cmdExit .

2- مشخصه Caption را به Exit .

که پس از این، شمای ظاهری (Interface) برنامه کامل شده است و باید به کدنویسی آن پرداخت.

اگر بر روی دکمه Exit دابل کلیک کنید (البته هنوز در Design Time هستیم و نه Run TimeEvent Procedure مربوط به رویداد Click (Event) از آن را به صورت زیر باز می کند:


Private Sub cmdExit_Click ()

End Sub


که هر دستوری که در این Procedure (یعنی بین خط Private و خط End Sub) نوشته شود، در زمان اجرا، وقتی کاربر روی دکمه Exit کلیک می کند، این دستورات اجرا خواهند شد.

دستوری که باید در cmdExit_Click نوشته شود بسیار ساده است:


Private Sub cmdExit_Click ()

End

End Sub


دستور End هر جایی از برنامه که اجرا شود فوراً اجرای برنامه را متوقف و از آن خارج می شود.

حال اگر به ترتیبی که در بالا ذکر شد، Event Procedure مربوط به رویداد click از دکمه Message را نیز باز می کنیم و آن را به صورت زیر تغییر می دهیم:


Private Sub cmd, Message - Click

MsgBox “The first project was done successful” و و “Thanks”

End Sub


پروژه مورد نظر آماده شده شده است. دستور MsgBox (مخفف Message Box )باعث می شود تا یک کادر پیغام بر روی صفحه نمایش ظاهر شود و تا زمانی که دکمه OK از آن را فشار دهیم، پیغامی را نمایش دهد. در این دستور پارامتر اول، پیغام مورد نظر را به صورت string (یک داده متنی) دریافت می کند (در VB هر عبارتی که بین دو علامت " " قرار گیرد، string فرض می شود) و پارامتر سوم نیز به عنوان Message Box (که در Title Bar آن آورده خواهد شد) را به صورت متنی دریافت می کند. توجه داریم که بین هر دو پارامتر از علامت کاما (,) استفاده می کنیم و بنابراین در دستور MsgBox برنامه مان برای اینکه پس از پارامتر اول، پارامتر سوم را وارد کنیم بین آن دو پارامتر، دو بار کاما گذاشته ایم.

حال برنامه تان را اجرا کنید و نتیجه کار را ببینید (اجرای برنامه در VB توسط کلید F5 صورت می گیرد.

ذکر چند نکته:

1- اگر بخواهید فشردن ALT+X همان عمل دکمه Exit را انجام دهد(ایجاد(Hot key) ، کافی است در Caption این دکمه چنین بنویسید: E&xit که در این صورت در زمان اجرا، زیر حرف x یک underline (زیر خط) می کشد که در ویندوز این حالت نشانگرHot key داشتن آن حرف است ، همین کار را هم در مورد دکمه Message انجام دهید.

2- در هنگام کدنویسی اگر چند حرف اول یک کلمه شناخته شده VB (مانند نام کنترلها و یا Property ها، Method ها و ...) را بنویسیم و CTRL+Space را فشار دهیم، اگر تنها یک کلمه با حرف اول برابر آنچه شما نوشته اید پیدا کند، بقیه حروف را خود، کامل می کند و اگر تعدادی کلمه با این مشخصات پیدا کند، لیست آنها را نمایش می دهد که می توانید یا یکی از آنها را انتخاب کنید (بر روی کلمه از لیست بروید و کلید space را بزنید) و یا تعدادی از حروف آن را بنویسید تا محدوده کلمات مشابه کوتاهتر شود. این کار را حتماً امتحان کنید!

3- زمانی که یک فرم باز می شود، به ترتیب چهار Event بر روی آن رخ می دهد:

<!--[if !supportLists]-->· <!--[endif]--> Initialize

<!--[if !supportLists]-->· <!--[endif]-->Load

<!--[if !supportLists]-->· <!--[endif]--> Activate

<!--[if !supportLists]-->· <!--[endif]--> Got focus

که زمانی که رویداد اول رخ می دهد، هنوز object های روی فرم ایجاد نشده اند و قابل دسترسی نیستند. این object ها در load ساخته می شوند، اما هنوز فرم نمایش داده نشده است. وقتی فرم نمایش داده می شود، رویداد Activate و وقتیfocus به آن داده می شود، رویداد Got focus روی می دهد. (منظور از گرفتن focus اینست که آن کنترل خاص که در اینجا فرم است، کانون تمام پیامها شود، مثلاً اگر کلیدی زده شد به آن فرستاده شود و ...).

4- برای ذخیره کردن پروژه از منوی فایل و گزینه Save استفاده می شود که باید تمام فرمها، ماژولها، ... و اصل پروژه را جداگانه ذخیره کرد. لذا اگر شما برنامه First Project راsave کنید، یکبار نام فرم را save می کند (با پسوند.frm) و یکبار فایل پروژه را (با پسوند.VBP).

مثالی دیگر و استفاده از Label و TextBoxها

فرض کنید بخواهیم فرمی داشته باشیم که دارای دو Text Box (که در VB برای عملیات دریافت اطلاعات از کاربر (DataEntrq) معمولاً از این کنترل استفاده می شود) برای درجه سیلسیوس و درجه فارنهایت باشد و توسط یک دکمه (و در واقع با فشردن آن توسط کاربر) مقداری که در Text box مربوط به درجه سیلسیوس نوشته شده بود را به فارنهایت تبدیل کند و نتیجه را در Text Box مربوط به آن درج نماید. (توجه: اگر Cمقدار درجه برحسب سیلسیوس و F مقدار درجه برحسب فارنهایت باشد، تبدیل سیلسیوس به فارنهایت از فرمول F=9/5C+32 محاسبه می شود). شکل نهایی فرم را می توانید در شکل 4 ببینید.

برای این منظور، از جعبه ابزار (جعبه حاوی کنترلها) ، دو برچسب (Label) که در جعبه ابزار به شکل <!--[if !vml]--><!--[endif]-->دیده می شود را بر روی فرم قرار می دهیم(برچسب(Label) ها در VB معمولاً زمانی استفاده می شود که بخواهیم بر روی فرم، عبارتی را به کاربر نشان دهیم که او قابلیت تغییر آن را نداشته باشد.) آنها را بوسیله Drag & Drop به مکان دلخواه منتقل می کنیم و برای یکی از آن دو:

1- مشخصه Name را به lblCelsius

2- مشخصه Caption را به Celsius

و برای دیگری:

1- مشخصه Name را به lblFahrenheit

2- مشخصه Caption را به Fahrenheit

تغییر می دهیم. توجه داریم که در نامگذاری Label ها با سه حرف اول lbl آغاز کرده ایم. همچنین توجه داریم که در شکل 4 ، بر روی فرم، عبارات Celsius و Fahrenheit در واقع همین دو Label هستند.

نکته: برای Label هایک مشخصه (Property) دیگر به نام Auto Size وجود دارد که اگر مقدار آن را به True تغییر دهیم، اندازه (size) آن به طور اتوماتیک به اندازه متن (caption) داخل آن خواهد شد و بنابراین معمولاً بهتر است این مشخصه را نیز set کنیم.

حال دو Text Box (جعبه متن) در مقابل این Label (Text Box ها در جعبه ابزار به شکل <!--[if !vml]--><!--[endif]-->دیده می شوند، معمولاً برای نمایش و دریافت اطلاعات به طور توأم به کار می رود (بر عکس Label ها که فقط وظیفه نمایش اطلاعات را به عهده داشتند) و خصوصاً برای فرمهای DataEntrq (دریافتی اطلاعات) بسیار مناسب هستند. پروژه فعلی ما، نمونه ای کوچک از فرمهای DataEntrq است) و مناسب با هر یک از برچسب ها، برای یکی از آن دو Text Box :

1- مشخصه Name رابه txtCelsius تغییر می دهیم.

2- مشخصه Text را خالی می کنیم.

و برای دیگری:

1_ مشخصه Name را به txtFahrenheit تغییر می دهیم.

3- مشخصه Text را خالی می کنیم.

واضح است که در نامگذاری TextBox ها نیز از قرارداد سه حرف اول متناسب با نوع شئ، استفاده کردیم و سه حرف اول آنها را txt گذاشتیم.

مشخصه Text در Textbox ها آن متنی است که داخل آن متنی است که داخل آن نوشته می شود(شبیه مشخصهCaption در Label ها) و چونقرار است کاربرما آن را وارد کند، آن را خالی (NULL) کردیم.

حال یک دکمه (Command button) نیز به فرم اضافه و:

1- مشخصه Name را به cmdConvent

2- مشخصه Caption را به convent

تغییر می دهیم.

خوب، ظاهر (Interface) برنامه آماده شد. حال به کدنویسی برای آن می پردازیم. این اولین باری است که می خواهیم در زمان اجرا (Run Time) از مشخصه ای استفاده کنیم (مشخصه Text از txtCelsiusکه توسط کاربر وارد شده) و مشخصه ای را در این حال (Run Time) تغییر دهیم (مشخصه Text ازtxtFahrenheit که باید نتیجه را بنویسد)

در VB هنگام کدنویسی برای Run Time هر زمان بخواهیم از یک Object استفاده کنیم، کافی است نام (Name) آن را بنویسیم و اگر بخواهیم به یکی از مشخصه های آن دست یابیم، کافی است پس از نام آن یک نقطه (Dot) قرار دهیم و سپس نام مشخصه (Property) مورد نظر خورد را بنویسیم.

با توجه به این مطلنب، دیگر نوشتن کدهای مثال فوق کار چندان دشواری نیست. اگر بر روی دکمه Convent (البته در Design Time ) دابل کلیک نمایید، در اینصورت Procedure مربوط به رویدادِ(Event) کلیک از آن باز می شود که کافی است در آن نوشته شود:

txtFahrenheit.Text = (9/5*txtCelsius.Text) + 32

یعنی Procedure باید به شکل زیر شود:


Private Sub cmdConvent_Click ()

txtFahrenheit.Text = (9/5*txtCelsius.Text) +32

End Sub


واضح است که وقتی مشخصه Text از یک Text Box در سمت یک تساویِ جایگزینی قرار می گیرد، مقدار فعلی آن در عملیات شرکت می کند و وقتی این مشخصه در سمت چپ این جایگزین قرار می گیرد، مقادیر محاسبه شده در آن قرار می گیرد.
بنابراین،
Procedure فوق می گوید که وقتی بر روی دکمه Convent کلیک شد، هر مقداری که کاربر، داخل جعبه Celsius نوشته باشد را در 9/5 ضرب و با32 جمع کن و مقدار نهایی را داخل جعبه مربوط به Fahrenheit بنویس.
این برنامه را حتماً بنویسید، آن را اجرا منید و با نحوه استفاده از
Property ها در این کدنویسی بری Run Time آشنا شوید. در ادامه، بیشتر با این نوع استفاده از Property ها (یعنی set کردن در کدنویسی بجای set کردن در پنجره Properties از Design Time) مواجه خواهیم شد. و مهم است که این نوع استفاده را خوب درک کنیم.
نکته: مشخصه
Text برایTextBox ها و مشخصه Caption برای Label ها، مشخصه های پیش فرض آنها محسوب می شوند و اگر نام آنها را بدون هیچ مشخصه ای بنویسیمف این مشخصه ها در نظر گرفته می شود، اذا مثلاً در Procedure بالا می توانستیم بجای txtCelsius.Text از خود txtCelsius نیز استفاده کنیم.

تغییری در وضعیت مثال قبل و استفاده از رویداد Keyup

فرض کنید بخواهیم مثال قبل را طوری تغییر دهیم که با نوشتن هر رقمی در txtCelsius ، بدون نیاز به فشردن کلید، نتیجه به طور خودکار در txtFahrenheit نوشته شود.مثلاً به محض اینکه عدد8 رازدیم، تبدیل شده 8 را به فارنهایت بنویسید و به محض فشردن کلید 0 (روی هم شده است80) تبدیل شده 80 را به فارنهایت بنویسد و ...

ابتدا کدهای نوشته شده برای cmdconvert را پاک کنید و سپس خود کلید را نیز از روی فرم حذف کنید تا به سراغ کدنویسی برای خودText Box ها برویم.

Text Box ها دارای جهار رویداد (Event) مهم می باشند:

KeyDown – KeyUp – KeyPress – Change

زمانی که فوکوس(تمرکز) به یک Text Box داده شود، اگر کلیدی از صفحه کلید زده شود، ابتدا رویدادKeyPress رخ می دهد ( و این به سیستم می فهماند که یک کلیدی فشرده شد) ، سپس رویداد KeyDown رخ می دهد ( و این به سیستم می فهماند که کلید زده شده، تازه زده شده است و هنوز فشرده است) و وقتی دستمان را از روی کلید برداریم، رویداد KeyUp رخ می دهد.

رویداد Change نیز زمانی که هر تغییری در مقدار داخل Text box انجام شود، روی می دهد (و لذا مثلاً اگر کلیدی مثل Arrow Keys (کلیدهای حرکتی) که تغییری در مقدار داخل Text Box انجام نمی دهد زده شود، رویداد Change رخ نمی دهد.)

توجه داشته باشیم که KeyDownKeyUp) برای همه کلیدهای صفحه کلید رخ می دهد اما رویداد KeyPress برای برخی مثل Arrow Keys رخ نمی دهد.

Event Procedure مربوط به KeyDown و KeyUp دارای دو آرگومان (پارامتر) هستند:

1- پارامتر keycode که کد اسکی کلید فشرده شده را بر می گرداند.

2- پارامتر Shift که یکی از چهار مقدار 0 و 1 و 2 و 3 را بر می گرداند. اگر مقدار برگشتی آن یک باشد، یعنی در حال فشردن کلید زده شده، کلید Shift پایین بوده، مقدار برگشتی دو نشانگر پایین بودن کلیدAlt و مقدار برگشتی برابر سه، نشانگر پایین بودن کلید Control می باشد و صفر بودن آن، فشردن کلید بدون پایین بودن هیچ یک از این سه کلید می باشد. و Event Procedure مربوط به KeyPress تنها یک آرگومان KeyAscki دارد که کد اسکی کلید فشرده شده را برمی گرداند.

با توجه به مطالب گفته شده، کافی است برای رویدادِ (Event)KeyUp از txtCelsius چنین بنویسیم:


Private Sub txtCelsius_KeyUp (KeyCode As Integer, shift As Integer)

txtFahrenheit = (Val (txtCelsius)*9/5) + 32

End Sub


ذکر چند نکته:

1- اگر بر روی یک TextBox در Design Time دابل کلیک کنید، به طور پیش فرض، رویداد Change از آن را برای کدنویسی باز می کند. اگر می خواهیم Event Procedure رویدادهای دیگر را بیاوریم، کافی است از Combo Box منوی باز شونده عمودی کرکره ای که یک فلش رو به پایین سمت راست خود برای باز شدن منو دارد) سمت راست بالای صفحه کدنویسی، یکی از Event Procedure ها را به دلخواه انتخاب کنیم. Combo Box سمت چپ آن هم نام تمام Object های استفاده شده در آن فرم خاص را دارد که هر کدام انتخاب باشد، در Combo Box سمت راست، Procedure های آن Object خاص را لیست خواهد کرد. در شکل 5 برخی از رویدادهای مربوط به txtCelsius را می بینید.

2- همانطور که می بینیم در Procedure فوق برای Text Box ها، نام هیچ مشخصه ای را نیاوردیم که همانطور که قبلاً توضیح داده شد، در اینصورت به طور پیش فرض، مشخصه Text برای آنها در نظر گرفته می شود.

3- تابع Val (مخفف Value) مقدار عددی یک string را برمی گرداند. از آنجا که مقدار داخل txtCelsius از نوع string 0متنی) است ولی باید بر روی آن عمل ضرب و تقسیم و جمع را انجام دهیم. ابتدا آن را توسط تابع Val، عددی نمودیم. (هر چند VB تا جای ممکن سعی می کند خودش این تبدیلات را اگر ما هم نگذاریم، انجام دهد ولی بهتر است عادت شود، برای جلوگیری از خطاهای احتمالی، شرایط هر موقعیت را فراهم آوریم.)

ادامه:

آخرین کاری که باید برای پروژه Second Example انجام دهیم، جلوگیری از خطای Type Miss Mach است. این خطا زمانی روی می دهد که در یک عملیات، مقادیر مناسب نباشند. مثلاً اگر بخواهیم مقدار متنی “Ali” را در مثلاً 5 ضرب کنیم، این خطا (که در VB، خطای شماره 13 است) رخ می دهد.

در برنامه ما هم، اگر کاربر، در txtCelsius بجای یک عدد، حرفی را بنویسد، هنگام ضرب شدن در 9/5، همین خطا رخ خواهد داد.

برای جلوگیری از بروز خطا و گرفتن کنترل خطا بدست برنامه، از تابع On Error استفاده می کنیم. اگر Procedure مربوط به رویداد Key Up از txtCelsius را به صورت زیر تغییر دهیم:


Private Sub txtCelsius–KeyUp (KeyCode As Integer, shift as Integer)

On Error Goto xx

txtFahrenheit = (txtCelsius * 9/5) + 32

Exit Sub

xx:

IF Err. number = 13 then

txtFahrenheit = “can’t convert “

End IF

End Sub


در اینصورت تابع On Error می گوید که وقتی به خطایی در ادامه برخوردی به خطی از Procedure که دارای برچسب xx (یک برچسب اختیاری) است برو (Goto xx) . اگر برنامه به این خط برود (یعنی وقتی خطایی رخ داد) ، بررسی می کند اگر شماره خطای رخ داده شده (Err یک Object همیشگی در VB است که مشخصه number از آن، شماره شماره خطای رخ داده را در خود نگهداری می کند) برابر B بود، بجای convert کردن، در txtFahrenheit بنویسیدcan’t convert (امیدوارم نحوه بکارگیری دستورات شرطی (IF sentences) را بدانید). تنها نکته ای که هست اینکه اگر خطا رخ نداد و convert انجام شد، دیگر نباید به خط xx وارد شود و لذا از دستور Exit sub استفاده کردع ایم. این دستور در هر جایی از یک sub اجرا شود، بلافاصله از آن خارج می شود و دستورات دیگر را اجرا نمی کند.

مثالی برای رویداد Keypress

فرض کنید بر روی فرم، یک Text Box به نام txtUserName قرار داده ایم و بخواهیم کاربر، هر حرفی را داخل آن نوشت، با حرف بزرگ انگلیسی زده شود (یعنی اگر وارد کرد a، در Text Box درج شود A) در این صورت کافی است برای رویداد KeyPress از آن بنویسیم:


Private Sub txtUserName_KeyPress (KeyAscii As Integer)

KeyAscii = ASC (Ucase (Chr (KeyAscii)))

End Sub


دستور بکار رفته در این Procedure می گوید که کد اسکی کلید فشرده شده را (توسط آرگومانِ keyAscii) دریافت کن، کاراکتر آن را (توسط تابع Chr) پیدا کن، آن کاراکتر را به حرف بزرگ تبدیل کن (توسط تابع Ucase مخفف Upper Case) و آنگاه کد اسکی حرف تبدیل یافته را (توسط تابع ASC) پیدا کن و دوباره در آرگومان keyAscii قرار بده. به این ترتیب کاربر هر کلیدی را که فشار دهد، حرف بزرگ آن در Text Box درج می شود.

برخی مشخصه های Text Box ها:

Name -1 : نامی که VB آن را با این نام می شناسد.

Alignment -2: تراز متن داخل Text Box (راست چین، وسط چین، چپ چین)

Appearance -3: با مقدار Flat و 3D که سه بعدی بودن یا تخت بودن آن را مشخص می کند.

Back Color -4: رنگ زمینه Text Box

Border Style -5: که تعیین می کند که text Box حاشیه داشته باشد (fixed Single) و یا خیر (None)

Enable -6: این مشخصه برای هر کنترلی False باشدیعنی آن کنترل غیر فعال است (رنگ خاکستری شده کنترلها در ویندوز نمایشگر False بودن Enable آن است).

Font -7: نوع فونت متن

Fore Color -8: رنگ متن

Height -9: ارتفاع Text Box

Left -10: فاصله گوشه چپ و بالای Text Box از Container (دربرگیرنده) آن (تا به حال یک دربرگیرنده (container) را دیده ایم که فرمها می باشند. Container ها به کنترلهایی گویند که کنترلهای دیگر می توانند بر روی آن قرار گیرند مثل کنترل Frame یا کنترل Picture).

Locked -11: که اگر مقدار آن True باشد، Text Box توسط کاربر، قابل ویرایش (Edit) نخواهد بود.

Max Length -12: حداکثر تعداد کاراکتری که می تواند داخل Text Box قرار گیرد که اگر مقدار آن صفر باشد، محدودیت تعداد نخواهد داشت.

Mouse Icon -13: آیکون ماوس وقتی روی آن قرار می گیرد (به شرطی که مشخصه بعدی یعنی Mouse Pointer بابر Custom تغییر داده شود.

Mouse Pointer -14: نمایشگر ماوس وقتی روی آن است که اگر برابر Custom شود، هر چه در Mouse Icon، set شده باشد، آیکون ماوس می شود.

Multi Line -15: اگر مقدار آن برابر True شود، می توان در Text Box، چند خطی نوشت و در واقع آن را شبیه یک Editor نمود.

Password Char -16: گه اگر یک کاراکتر در آن قرار گیرد، هرچه داخل Text Box نوشته شود، با آن کاراکتر دیده می شود (شما در وارد کردن Password در هر ویندوز مسلماً با مقدار * برای Password برخورد داشته اید).

Right To Left -17: که اگر مقدار آن True باشد، پاراگراف راست به چپ می شود (مثل آنچه ما در فارسی نوشتن به آن نیازمندیم).

Scroll Bars -18: اگر مقدار Multi Line برابر True باشد، توسط مشخصه Scroll Bars می توان وجود scrollbar عمودی (vertical) ، افقی (horizontal) و یا ترکیبی از آن دو (Both) را داشت.

Tab Index -19: ترتیب پرش از کنترل به کنترل دیگر هنگام زدن کلید Tab. مثلاً اگر سه Text Box بر روی فرم داشته باشیم و مقدار Tab Index آنها به ترتیب 0 و 1 و 2 بگذاریم، در هنگام اجرا، فوکوس به Text Box با مقدار Tab Index برابر صفر داده می شود که اگر کلید Tab را بزنید، فوکوس به Text Box با مقدار Tab Index ببرابر یک داده خواهد شد و الی آخر.

Tab Stop -20: که اگر مقدار آن برای کنترلی False باشد، با زدن کلید Tab هیچگاه فوکوس به آن داده نخواهد شد (با Tab نمی توان روی آن رفت).

Tag -21: عملاً کار خاصی انجام نمی دهد و فقط می توانیم چیزی را در آن ذخیره کنیم که بعداً خودمان از آن استفاده کنیم.

Tool Tip Text -22: که مقدار آن هر چه باشد وقتی در Run Time ماوس را لحظه ای روی آن کنترل خاص نگه داریم، یک راهنمای کوتاه زرد رنگ با متن برابر مقدار تعریف شده در Tool Tip Text از آن بیرون خواهد آمد.

Top -23: فاصله گوشه راست و بالای کنترل از container (دربرگیرنده) خود.

Visible -24: که اگر مقدار آن False باشد، آن کنترل توسط کاربر (یعنی در Run Time) دیده نخواهد شد.

Width -25: عرض کنترل

توجه:

1- بسیاری از مشخصات فوق در کنترلهای دیگری غیر از Text Boxها هم با همان کاربرد، وجود دارند.

2- از مشخصاتی که در بالا آورده نشد، بزخی را در جای خود توضیح خواهیم داد.

نکته:

می توان برنامه را توسط کلید F8، خط به خط اجرا کرد. در این حال اگر ماوس را روی هر متغیری در پنجره کدنویسی نگه داریم، مقدار فعلی آن را به صورت Tool Tip می نویسد.

از این مورد، در Debug کردن و یافتن خطاهای برنامه کمک بسیاری می توان گرفت.

همچنین اگر در پنجره Immediate در هنگام Run Time دستوری را بنویسیم، این دستور بلافاصله اجرا خواهد شد. مثلاً می توانیم یک متغیر را فوراً مقدار دهی کنیم یا ...

همچنین اگر بر روی هر خطی کلید F9 را بزنیم، یک Break (شکست) روی آن خط ایجاد می کند، حال اگر کلید F5 را بزنید، برنامه اجرا می شود تا به آن خطِ Break شده برسد و در آنجا متوقف می شود. که برای ادامه برنامه می توان بسته به مورد، از F5 یا F9 استفاده کرد.

  • مهندس میر علی میری