آموزش مبانی ویژوال بیسیک/مفاهیم بنیادی در ویژوال بیسیک

ویکی‎کتاب، کتابخانهٔ آزاد
معرفی بخشهای VB مفاهیم بنیادی در ویژوال بیسیک آشنایی با برنامه نویسی به‌وسیله VB
آموزش مبانی ویژوال بیسیک


در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 مربوط می‌شود) روی ندهد، این کدها اجرا نخواهند شد.