مقدمه
visual Basic (که زین پس آن را VB خواهیم خواند) از زبانهای برنامه نویسی تحت Windows می باشد که برای کدنویسی از دستورات زبان Basic سود می برد.
VB (مانند تمام زبانهای برنامه نویسی تحت ویندوز) با استفاده از تمام امکانات زیبای ویندوز (که باعث فراگیرشدن این سیستم عامل زیبا و توانمند در میان کاربران شده است)، طراحی محیطی زیبا و قدرتمند را برای پروژه مورد نظر، بسیار ساده می نماید.
در حال حاضر، به جرأت می توان گفت که یکی از انتخاب های اصلی برنامه نویسان حرفه ای در سطح جهان برای تهیه پروژه های با قابلیت های ویژه، VB می باشد، خصوصاً از VB6 که مایکروسافت عملاً با افزودن توانایی های متنوع بسیار به VB، حتی حاضر شد از دیگر زبانهای معروف تحت ویندوز خود مانند Visual C++ و Visual Foxpro بگذرد و سعی در هدایت تمام برنامه نویسان به سوی VB داشته باشد.
در حال حاضر که به تهیه این جزوه همت گماردم، نسخه آزمایشی VB.net در بازار وجود دارد ولی عموماً برنامه نویسان ازVB6 استفاده می کنند و لذا ما نیز این نسخه ازVB را برای آموزش انتخاب می کنیم، هر چند تمام خوانندگان عزیز می دانند که عموماً با فراگیری یک نسخه از یک برنامه، فراگیری نسخه های بعدی آن کار چندان دشواری نخواهد بود.
هنگامی که VB اجرا می شود، توسط پنجره ای (شکل1)، نوع پروژه ای که می خواهید طراحی کنید از شما خواسته می شود.
همان طور که ملاحظه می فرمایید، انواع مختلفی از پروژه ها در این پنجره وجود دارد که در ادامه به برخی از آنها خواهیم پرداخت، ولی فعلاً نوع استاندارد پروژه های VB یعنی نوع Standard EXE را انتخاب و آن را باز(Open) می کنیم. این نوع پروژه (که غالب پروژه ها را در بر می گیرد) برای تهیه برنامه های کاربردی(Applications) مورد استفاده قرار می گیرد.
پس از باز کردن پروژهStandard Exe ، پنجره اصلیVB (شکل 2 ) برای این نوع پروژه باز می شود:
این پنجره، علاوه بر آنچه عموماً در پنجره های ویندوز می بینیم (مانند 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، شئ (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 به شکل را دابل کلیک می کنیم و یا با یک Click و انتخاب آن، بر روی فرم، به اندازه دلخواه Drag & Drop می کنیم) و جای آنها را به مکان دلخواه مورد نظر (به وسیله Drag & Drop آنها) تغییر می دهیم. آنگاه برای یکی از آنها:
1- مشخصه Name را به cmdMessage تغییر می دهیم.
2- مشخصه Caption را به Message تغییر می دهیم.
و برای دیگری تغییر می دهیم:
1- مشخصه Name را به cmdExit .
2- مشخصه Caption را به Exit .
که پس از این، شمای ظاهری (Interface) برنامه کامل شده است و باید به کدنویسی آن پرداخت.
اگر بر روی دکمه Exit دابل کلیک کنید (البته هنوز در Design Time هستیم و نه Run Time)، Event 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 بر روی آن رخ می دهد:
Initialize
Load
Activate
Got focus
که زمانی که رویداد اول رخ می دهد، هنوز object های روی فرم ایجاد نشده اند و قابل دسترسی نیستند. این object ها در load ساخته می شوند، اما هنوز فرم نمایش داده نشده است. وقتی فرم نمایش داده می شود، رویداد Activate و وقتیfocus به آن داده می شود، رویداد Got focus روی می دهد. (منظور از گرفتن focus اینست که آن کنترل خاص که در اینجا فرم است، کانون تمام پیامها شود، مثلاً اگر کلیدی زده شد به آن فرستاده شود و ...).
4- برای ذخیره کردن پروژه از منوی فایل و گزینه Save استفاده می شود که باید تمام فرمها، ماژولها، ... و اصل پروژه را جداگانه ذخیره کرد. لذا اگر شما برنامه First Project راsave کنید، یکبار نام فرم را save می کند (با پسوند.frm) و یکبار فایل پروژه را (با پسوند.VBP).
فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد
تعداد صفحات این مقاله 16 صفحه
پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید
دانلود مقاله برنامه ریزی ویژوال بیسیک