آموزشرسانه و شبکه‌های اجتماعیکامپیوتر و IT و اینترنتتکنولوژی

قدم‌به‌قدم تا تسلط بر محیط برنامه‌نویسی VB6

صفحه 1:
3 آشنايي ‎Ee)‏ رح ل

صفحه 2:

صفحه 3:

صفحه 4:
تا" ۲۲۲۲۲۲ " خصوصیت ۷ط07) كليه پنجره ها . غیر از پنجره فرم یک خصوصیت متعلق يه خوة ذارنك ۱ خصوصيت مى كويد كه آيا اين ينجره ‎lockable |‏ مد اک مس ‎shen ockable‏ است که خود را به نزدیکترین یال صفحه نمایش یا به نزدیکترین پنجره ‎dockable‏ اتصال مثلا اگر0010036 را به بالای صفحه نمایش ‎ido‏ أبى ع لفاس اود ی سای رآ خود را جهت جا دادن به پنجره فوق پنجره هایی که خاصیت 00168۳016 آنها فعال است باشند ‏ حتما در همه حال قابل رویت بوده و هیچ وقت در بك خحاصیت دیگر نیز دارند .این پنجره ها هميشه رو پنجره دیگر ار دادن دکمه سمت راست ماوس روي لین پنجره ها ۰ خاصیت 000168116 را مشاهده نمایید . اگر ‎«ds‏ 00016216 علامت زده شده بود ۰ اين نشان مي دهد که پنجره فوق 00616116 است . اگر پنجره خاصیت 00162116 آن علامت نخورده باشد ‏ این پنجره به عنوان يك پنجره شناور خواهد بود .

صفحه 5:
SS ‏ها‎ تنظیم خصو صیت وا00۳1) دريك مرحله مي توان خاصیت 000162116 را براي کلیه پنجره ها تنظیم نمود . روي منوي حالم كليك كنيد و ‎ULSI) pine JS‏ نمایید . هنگامي که کادر محاوره اي مربوط به مرن ظاهر شد زبانه 006162016 را انتخاب کنید ,امعم بسا ها نشان مي دهند که کدام پنجره ها 00016216 هستند و کدام نیستند .

صفحه 6:
SS ‏با‎ ارشي كردن كزينه هاي مختلفي وجود دارد كه روي ‎tot bar‏ به صورت بيش فرض يا استاندارد وجود ندارد .مثل ينجرهعه ف كه جزو آيكنهاي بيش فرض«<امم: نيست .در اينجا مي خواهيم آيكن ينجره لس را به -ممادمي» جهت دسترسي سريع به ينجره فوق » اضافه كنيم يا به اصطلاح مي خواهيم مادم را سفارشي كنيم . جهت سفارشي كردن اين بنجره به صورت زير عمل مي كنيم . دكمه ماوس را روي سوا ادم فشار دهيد و كزينسج-» موب را كه از منوي باز شوي ظاهر شده انتخاب كنيد . ينجره جد حصب نمايش مي يابد ©. زبانه لسرا انتخاب كنيد © . آيكنهاي دلخواه را روي ‎8S WS tool bar‏ =

صفحه 7:
با کی ۲ پیاده سازي يك برنامه ساده ( نمایش يك متن روي۳ ) هدف ما در اين بخش نمایش عبارت "منوا ام ما ج7محاوري” روي يك مرو مي باشد . براي این کار نیاز به يك مسب و يك(امسسس)اساها جهت نمایش متن فوق داریم . 0 تنظیم نوار ابزار چا ‎tke‏ ‏مقداري که درمقابل عبارت» مومس نوشته مي شود در نوار عنوان نمایش داده مي شود - تنظیم خصوصیت 07 هر فرم با مقداري که به خصوصیت آن داده مي شود شناخته مي شود . نكته : براي سهولت در تشخيص فرم ها ء اسامي آنها را با بيشوندمك] بكار ببريد . © - تغيير ابعاد فرم ‎6١‏ - انتقال فرم به مركز صفحه ©- تغيير رنك زمينه فرم با استفاده از خصوصيت مامت +إعا

صفحه 8:
سس ع- اضافه كردن اصاه به فرم ۵ - نوشتن عبارت داخل ابا با استفاده از خاصيت مج 0 - نامگذاري اسلا با استفاده از خاصیتت مر نکته : براي راحتي تشخيص كنترلهاياسا! » اسامي آنها را با بيشونداما به کار ببرید ‎-٩‏ سفارشی کردن رنگهای اس براي تغییر رنگ کادر از امس سس و براي تخيي رنگ عبارت از ‎polo‏ سب استفاده مي شود. 00 تغییر اندازه فونت 0 ذخیره کردن پروزه 18 اجراي برنامه

صفحه 9:

صفحه 10:
برنامه نويسي شي كرا: 5 اصول و بناي ‎2b» visual basic O‏ مفهوم ‎objert‏ استوار است .مي توانيم يك زرا به عنوان يك واحد جداكانه در برنامه در نظر بكيريم كه داراي ويزكيهاي معيني بوده وقادر است اعمال معيني را انجام دهد . سوالاتي كه در برنامه نويسي شي گرا مطرح هستند ؛ عبارتند از :هر شي جكونه ديده مي شود »هر شي چه عملي انجام مي دهد ۰ هر شي جه تاثيري به محيط خود دارد. حسن برنامه نويسي شي گرا در اين است که يك شي با طراحي خوب مي تواند قابل استفاده مجدد در برنامه هاي كاربردي دیگر نیز باشد .بارزترین مثال برلي اين فن ۰ برنامه نويسي خود ویندوز است _کلیه عناصري که شما عموما براي براي ارتباط با کامپیوتر در محیط ویندوز استفاده مي كنيد اعم از دكمه ها ء منوها و غیره » همه نمونه هايي از اشیاء هستند .شما به عنوان برنامه نويس ‎visual‏ ضمن افزودن اشياء فوق به برنامه » آنها را توسط ویژگیهایشان کنترل میکنید ,مثلا با کليك کردن روي يك دکمه كنترلي چه اتفاقي رخ بدهد یا اينكه يك ينجره تغيير اندازه بدهد يا نه. برنامه نويسي شي كرا را (ب-تم مم دجاه اتجزنات)دون نيز مي نامند.

صفحه 11:
سس خراص ۱ خواص يك شي باعث مي شود يك شي در ضمن اينکه نوعا منحصر به فرد است ؛ انعطاف پذیر باشد رخداد هاي (عصصج) : سم _ هر شي براي اينکه وجود خود را در محیط نشان دهد » باید نسبت به عوامل محيطي و دیگر اتجزنات هاي تسهیم کننده محیط واکنش نشان دهد .هر عامل محيطي بر محیط را ریم یا رخداد مي نامند .

صفحه 12:
SS ‏با‎ * همان طور كه ملاحظه فرموديد انواع از پروژه ها در اين پنجره وجود دارد که در ادامه به برخى از آنها خواهيم برداخت؛ ولی فعلا نوع لستاندارد پروژه های 0 يعنى نوع 0 ؛سلممی را انتخاب و آن را باز(ممم) می کنیم. اين نوع پروژه (که غالب پروژه ها را در بر می گیرد) برای تهیه برنامه های کاربردی(سسسسمه)) مورد استفاده قرار می گیرد. بس از باز كردن يروزه.© 9-4-1 ؛ پنجره اصلی<) برای اين نوع پروژه باز می شود جلسه سوم : پنجره م۳ برخی از مشخصه(,پمسم,0) های مربوط به را ای که انتخاب شده (سیءه0) باشد را نمایش می دهد که می توان آنها را در هنگام طراحی(م ‎(Deora‏ تغییر داد (سایر مشخصه ها باید در هنگام اجر ا(سم:مم() تنظیم شوند. در پنجر هیمورا ‎ore‏ نیز می توان مکان قرار گیری رب هنگام اجرای برنامه(»۲»۱۲)) بر روی صفحه نمایش را تعيين کرد (همچنین این کار را توسط کدنويسي نیز می تولن انجام داد و عموماً همین روش هم توصیه می شود و لذا عموماً حتی می توان این پنجره را به كل بست).

صفحه 13:
با ‎SS‏ ‏در اين جلسه به عنوان اولین پروژه» قصد داریم فرمی داشته باشیم با دو دکمه موه( و 04 که اگر در دکمه ‎cab SUIS Demme‏ پیغامی نمایش داده شود و اگر دکمه ‎SAS Bret‏ شد از برنامه خارج شود * براي فرم : مشخصه ورمی() آن را به )۳ تغییر می دهیم. مشخصه موی آن را به بسسزرم۳) بسم۳) تغییر می دهیم. براي دكمه ها: مشخصه م( را به ووه 10ح تغيير مى دهيم. مشخصه موهرین را به مس‌مووی() تخییر می دهيم. وبراي ديگري: مشخصه بروی() را به 4 . مشخصه وباو 0 را به ‎Gra‏

صفحه 14:
كه در بالا ذكر شدء عیلیس۳) پمی) مربوط به رویداد »هی از د باز مى كنيم و آن را به صورت زیر تغییر می دهیم: rite Gab cord, Deseae - Olek Dronks” ",, OseBor “Dhe Prot project war dour sucess Pl" Cod Gb پروژه مورد نظر آماده شده شده است. دستور 9و( (مخنف ‎Message Bpx‏ )باعث مى شود تا یک کادر پیغام بر روی صفحه نمایش ظاهر شود و تا زمانی که دکمه 006 از آن را فشار دهیم. پیغامی را نمایش دهد. در اين دستور پارامتر اول» بيغام مورد نظر را ‎SQ)‏ داده متنی) دریافت مي کند (در 6() هر عبارتی که بين دو علامت رده وه فرض می شود) و پارامتر سوم نیز به عنوان :9) عبمییی() (که 33 ‎Mle‏ ‎Oe‏ أدرده خواهد شد) را به صورت مقلی ریافت می کند. توجه داريم كه بين هر دو پارامتر از علامت كاما (,) استفاده مى كنيم و بنابراين در دستور 000 برنامه مان براى أينكه يس از يارامتر اول؛ بارامتر سوم را وارد كنيم بين آن دو بارامتر دو بار اما كذاشته ايم. نكته :أكر بخواهيد فشردن ‎Jac Glas OLDEN‏ دکمه ‎Brat‏ را انجام دهد(ایجاد(رو بسا) ؛ کافی است در موب() اين دکمه چنین بنویسید: 984) که در اين صورت در زمان اجراء ور حص وك حك إزير خط) مى كشد كه در ويندوز اين ‎At hep SGU Sill‏ داشتن أن حرف است » همين كار را هم در مورد دکمه مهی‌یریم(1) انجام دهید ‎ ‎ ‎ ‎ ‎

صفحه 15:
۳ ۳ 0227227777 برخى مشخصه هاى ,0 ©) 214 + <0: نامىكه 009) آنرا با ليننام می‌شناسد. م01 : تراز متن‌دلخل»,:0) 4م۳/ (رلستجين وسط جين جبجيز) 0 : با مقدار 19) و (0)© كه سه بعدويودزيا تختبودنآنرا مشخصمى Dent Bon Ase 3855 + Dark Cob 3 (Pood Orape) ‏دلشته بساشد‎ Atle text Dox AS SS ue 5 AS : Order Ore (Dow) 8 عاطامی3) لین‌مشخصه برلی‌هو کنترلیسیای۳) بساشدیعنی‌آن‌کنترل‌غر ‎sas‏ خاکستری‌شده کسنترلها در ویندوز نمایشگر عطاه۳) بسودن‌سارامن) آن‌اسب: ۷ : نوع فونتمتن ‎Ovbr‏ سم" : رنگمتن ‎Dent Box EG) : Weight ‏ورا : فياصله گوشه چپو بادلفم9) وم از و6 (دربرگیرندم) ‎De‏ به حلل ‏يكدربركير ندم ‎(coat)‏ را دیدد لیم که فرمها می‌ب‌اشند. بوور() 42 نترلهايىك ويند كه كنترلهاوديكر مىتوانند بر روىآنقرار كيرند مثلكنترل ‎(Pied 3S G Pree ‎

صفحه 16:
SS ‎bat Dent Boxe tls Prue slate S48: Locked‏ كاربرء قابل‌ویرلیش(90) نخواهد بود. ‎a Ss SSIS olan She Dax Lech *‏ می‌تولند دلخلممن9) مبم) قرار گیرد کسه لگر مقدار آن‌صفر باشد» محدودیتتعداد نخولهد دلشتِ ‏۴ دبا نف : لگر مقدار آن‌برلبر س/ شود؛ می‌توان‌در 0() ببی]» چند خطی‌نوشتو در ولقع آن‌را شبیه یسکس) نمود. ‏۴ ا) لسسررووو۳) : گه لگر ییکک ارلکتر در آن‌قرار گیرد. هرچه دلخل») » نوشته شود با آنكارلكتر ديدم مىشود (شما در وارد كردن بد1) در هر ویندوز مسلماً با مقدار * بر لئاس حه<) برخورد دلشته ليد). ‏هرا ۲0 6۲ : که لگر مقدار نس ‎atl‏ پاراگرلفواستبه چپمی‌شود (مثل‌لنچه ‏ما در فسارسی‌نوشتن‌به آن‌نیازمندیم). ‎Pree sl Dult Lice ists 81 Goro Bars"‏ بساشدء توسط مشخصه عو() اسو5) ‏می توان وجود سس عمودی (امصهبس) ۰ افقی (امسعس) و یا ترکیبی از آن دو (0۳4)) ‏را داشت.

صفحه 17:
با ‎SS‏ ‏م1 ۳0 : ترتیبپرش‌از کنترلبه کنترل‌دیگر هنگام زدن‌کلید ‎Dab‏ مثلا لگر سه ‎Dent Box‏ بسر رووفرم دلشته باشیم و مقدار ‎Tere‏ رلم۳/ آنها بسه ترتیب() و 4و 5 بگاریب در هنكام لجراء فسوکوسبه برن() ما" با مقدار ی رای برلبر صفر دادم می‌شود کسه لگر کسلید و۳ را بسزنید» فسوکوس‌به برن() مرجا[/ با مقدار ولو۳» »21 ببرلبر يكدادم خولهد شد و الوآخر. ‎Dob inp‏ : که لگر مقدار آن‌بسرلیک نترلیبتان۳) بساشده با زدنكليد يك1/ هيجكام فوكوسبه لزداده نخولهد شد (با رای" نمی‌توان‌رویآن‌رف: ._ : عملأكار خاصئإنجام نمىئدهد و فقط مئتولنيم چیزیرا در آن‌ذخیرد کسنیم کسه بسعداً خودمان‌از آن‌لستفادم کنيم. ‎Dip Dent‏ اس( : که مقدار آن‌هر چه بباشد وقتی‌در ۳:۳ ‎Assis! Abad ake Rua‏ کنترل‌خاص‌نگه داریب یک اهنماوک وتاه زرد رنگبا متنب رلبر مقدلر تعرینشده در ‎Pood Mp Dent‏ از آن‌سیرون‌خولهد آمد. مت : فاصله گوشه رلستو با- فک نترلاز هیمس (دربرگیرنده) خود. ساتاین() : که لگر مقدار آن‌بیوا۳) باشد؛ آن‌کنترل‌توسط کاربر (یعنی‌در :۲ ‎(Rua‏ ‏ديدم نخولهد شد. ‎ids‏ : عرض‌کنترل

صفحه 18:
‎Text Box‏ ها دار لئجهار رويداد ‎pes (Buen)‏ می‌ب‌اشند: ‎KeOowa — 920 - 19/۲ - 0‏ * زمانى كه فوكو س(تمركز) به يك ,8 وبج1 داده شودء اگر کلیدی از صفحه کلید زده شود» ‎Key Pressley lab)‏ رخ می دهد ( و اين به سیستم می فهماند که یک کلیدی فشرده شد) » سپس رویداد جرربج6 رخ می دهد ( و آين به سیستم می فهماند که کلید زده شده» تازه زده شده است و هنوز فشرده است) و وقتى دستمان را از روى كليد ‎Co Kopp 2s esl‏ مین ده ‏. رویداد جیار نیز زمانی که هر تغییری در مقدار داخل بمرط پرو۳» انجام شود روی می دهد (و لذا مثلا اگر کلیدی مثل ‎Keys‏ رس (کلیدهای حرکتی) که تغییری در مقدار داخل ‎Det Box‏ انجام نمی دهد زده شود رویداد جوم رخ نمی دهد.) ‏توجه داشته باشيم كه مررح)بع (وم(,)) برای همه کلیدهای صفحه کلید رخ می دهد اما رویداد عویررب6 برای برخی مثل جر رسب رخ نمی دهد. ‏* یذ مس مزبوط به موب و 0و6 دارلیدو آرگومان(پارلمتر) هستند: 8 __ پارامتر سر که کد اسکی کلید فشرده شده را بر می گرداند.

صفحه 19:
‎H‏ فرض کنید بر روی فرم یک »رم وس به نام طدى(0م وجود دارد كه براى دريافت نمره یک درس دانش آموزی از کاربر» استفاده می شود. برای نمایش اينكه با وارد نودن نمره ای به کاربر خطایی رخ داده است» رنگ متن آن را به رنگ قرمز (34)) در می آوریم و در غیر اینصورت (یعنی بدون خطا) رنگ متن را به رنگ سیاه (.!()) در خواهیم آورد. ‏توجه كنيد كه مى توانید برای زیبایی برنامه مذکور برای رویداد ب ,و6 از ری(« نیز چنین داشته باشیم. ‎Prirte Gab tetnnober_ Key Dp(KeyOrde 02 ‏بح 0۶ 62۱8 ,جح‎ ( 1۳ ‏(اسمم03‎ < 90 ۳ ‏لیان < ناسمه ‎Ober‏ ‎ttoueober.PoreOnlor = vbBlack‏ ‎Oud PF

صفحه 20:
‎Veneer Ochi Hake‏ از آن نام نب ‏مشخصه در بسیاری از ,ل6()ها نیز وجود دارد و دارای کاربرد بسیار زیبایی است که شاید اگر ‎ ‏وجود نداشت. برای شبیه سازی آن بوسیله کدنویسی» زمان زیادی را صرف خود می کرد. فرض كنيد بر روى فرم يك ,رج3) «رج21 به نام ادصى7)ين وجود دارد که برای دریافت نمره يك درس دانش آموزى از كاربرء استفاده مى شود. ترجيح مى دهيم كاربر نتواند لين فرم را عروی کند (نتواند به سراغ کلید میرب« برود) مگر اینکه نمره صحیح (که در فاصله صفر تا بیست است») را وارد نموده باشد. اما مثلاً بتواند روی دکمه اسب( برود و فرم را اسسوت() نمایدو یعنی می خواهیم اگر نمره در دامنه صحیح خود نبود روی برخی دیگر از ‏آنها نرود, ‏اگر برای رویداد))(مس)) سعلله() از جیاسی(0هج ۰ چنین داشته ب ‎

صفحه 21:
Private Gub tetwerber_Oukdaie(Coare Bs ‏ما6‎ 1۳ ‏امن‎ < CO Thea Ounce = Pre Col F Oud ab فوق مى كويد هر وقت كه 04# ؛ حامس 7[يم شدء بررسى كن كه آيا نمره كمتر از 6000 هست یا خیر که اگر نبود؛ پارامتر اسصعی را ععمر نمايد. حال اكر مشخصه مج044 سد از هر كنترلى را سس نماییم» در صورتی که 00<(ساسی»مین باشد. کاربر نمی توانده آن کنترل را فوکوس دهد. لذا اگر مشخصه مذکور را برای کلید سم ‎Gave‏ بر ابر سب و ‎redOuwel GIL‏ برابر میج تغیر دهیم» درصورت نبودن نمره در فاصله مناسب. کاربر می تواند عملیات دکمه بسممن را انجام دهد اما عمليات دكمه موه را خير مكر اينكه دوباره بو یریم مذکور را با عددی مناسب بودهن نماید.

صفحه 22:
eee ‏مثالی دیگر و استفاده از اص‌را و »ها‎ فرض کنید بخواهیم فرمی داشته باشیم که دارای دو بم9) ورب" )5248 ‎OD‏ برای عملیات دریافت اطلاعات از کاربر (ومهه(006)) معمولا از اين كنترل استفاده مي شود) برای درجه سيلسيوس و درجه فارنهايت باشد و توسط یک دکمه (و در واقع با فشردن آن ين مقداری که در «سا هبم۳/ مربوط به درجه سیلسیوس نوشته شده بود را به فارنهای و نتيجه را در »«190) »218 مربوط به آن درج نماید. (توجه: اگر (»مقدار درجه برحسب یلسیوس و *) مقدار درجه برحسب فارنهایت باشد» تبدیل سیلسیوس به فارنهایت از فرمول 000 20/0 محاسبه می شود): برای یکی از آن دو ‎Dent Box‏ 2 0 . مشخصه وربی() رابه عمولولوو تغییر می دهیم. م4 مشخصه پری۲» را خالی می کنیم. و برای دیگری: )_ مشخصه عرمی() را به وولو تغییر می دهیم. 9 مشخصه پرو را خالی می کنیم.

صفحه 23:
با ‎SS‏ ‏* حال یک دکمه (مرهما لججممممی())) نیز به فرم اضافه و: مشخصه بروی() را به ملسم مشخصه مور( را به رورم ‎(ToterPune) )) ate aad‏ برنامه آماده شد. حال به کدنویسی برای آن می پردازيم. اين اولین باری است که می خواهیم در زمان ‎Piere) Lal‏ می(0) از مشخصه ای استفاده کنیم (مشخصه ‎Pent‏ از عجعای( )که توسط کاربر وارد شده) و مشخصه ای را در اين حال (۲۳۶ ۲)) ‏تغییر دهیم (مشخصه 4 از اواج :)هن كه را بنويسد) ‏در 009) هنكام كدنويسى براى 20-7 م۲ هر زمان بخواهیم از یک /مزر() استفاده كنيم» ‏کافی است نام (772()) آن را بنویسیم و اگر بخواهیم به یکی از مشخصه های آن دست یابیم کافی است پس از نام آن یک نقطه (.0)) قرار دهیم و سپس نام مشخصه ‎(Property)‏ 24 نظر خورد را بنویسیم. ‏با توجه به این مطلنب. دیگر نوشتن کدهای مثال فوق کار چندان دشواری نیست. اگر بر روی دکمه مسرمو() (البته در سم( نوج(1) ) دابل كليك نماييد» در اینصورت ‎Procedure‏ ‏مربوط به رویداد()) کلیک از آن باز می شود که کافی است در آن نوشته شود: ‏6 + رو سص اه 616) < ‎txfPobrecket. Dex‏ ‎ ‎

صفحه 24:
SS ‏با‎ فرض کنید بخواهیم مثال قبل را طوری تغییر دهیم که با نوشتن هر رقمی در ععمطول»ه ۰ بدون انياز به فشردن كليد» نتیجه به طور خودکار در #سواد وهم نوشته شود.مثلاً به محض اینکه عدد© رازديم؛ تبدیل شده 6 را به فارنهایت بنویسید و به محض فشردن کلید 0 (روی هم شده است(00) تبدیل شده 600 را به فارنهایت بنویسد و ... با توجه به مطالب گفته شده» کافی است برای رویداد (س) 0۳ از سخطء 0م جنين بنویسیم: ‎(Odi (iOrbie)*O/8) + OC‏ = عدون

فصل اول و آشنايي با ابزارها visual basic 6شناسايي محيط خصوصيت Dockable كليه پنجره ها ،غير از پنجره فرم يك خصوصيت متعلق به خود دارند ،اين خصوصيت مي گويد كه آيا اين پنجره ها dockableهستند ؟يك پنجره ، dockableپنجره اي است كه خود را به نزديكترين يال صفحه نمايش يا به نزديكترين پنجره dockableاتصال دهد . مثال اگر toolboxرا به باالي صفحه نمايش درگ كنيد ،اين پنجره باعث مي شود كه پنجره هاي ديگر ابعاد خود را جهت جا دادن به پنجره فوق تغيير دهند . پنجره هايي كه خاصيت dockableأنها فعال است يك خاصيت ديگر نيز دارند .اين پنجره ها هميشه رو هستند .يعني اگر اين پنجره ها باز باشند ،حتما در همه حال قابل رويت بوده و هيچ وقت در پشت پنجره ديگر قرار نمي گيرد . مي توان با فشار دادن دكمه سمت راست ماوس روي ا)ين پنجره ها ،خاصيت dockableرا مشاهده نماييد ،اگر كلمه dockableعالمت زده شده بود ،اين نشان مي دهد كه پنجره فوق dockable است .اگر پنجره خاصيت dockableآن عالمت نخورده باشد ،اين پنجره به عنوان يك پنجره شناور خواهد بود . تنظيم خصوصيتDockable دريك مرحله مي توان خاصيت dockableرا براي كليه پنجره ها تنظيم نمود . روي منوي toolsكليك كنيد و گزينه optionرا انتخاب نماييد .هنگامي كه كادر محاوره اي مربوط به optionظاهر شد زبانه dockableرا انتخاب كنيد check. boxها نشان مي دهند كه كدام پنجره ها dockableهستند و كدام نيستند . سفارشي كردن گزينه هاي مختلفي وجود دارد كه روي tool barبه صورت پيش فرض يا استاندارد وجود ندارد .مثل پنجره immediateكه جزو آيكنهاي پيش فرض toolbarنيست .در اينجا مي خواهيم آيكن پنجره immediateرا به ،toolbarجهت دسترسي سريع به پنجره فوق ،اضافه كنيم يا به اصطالح مي خواهيم toolbarرا سفارشي كنيم . جهت سفارشي كردن اين پنجره به صورت زير عمل مي كنيم . 1دكمه ماوس را روي tool barفشار دهيد و گزينه customizeرا كه از منوي باز شوي ظاهر شده انتخاب كنيد .پنجره customizeنمايش مي يابد .2زبانه cammandرا انتخاب كنيد . 3آيكنهاي دلخواه را روي tool barرها كنيد . پياده سازي يك برنامه ساده ( نمايش يك متن روي) form هدف ما در اين بخش نمايش عبارت” ”welcome to visual basicروي يك formمي باشد . براي اين كار نياز به يك formو يك) label(controlجهت نمايش متن فوق داريم . –1تنظيم نوار ابزارtitle bar مقداري كه درمقابل عبارت captionنوشته مي شود در نوار عنوان نمايش داده مي شود – 2تنظيم خصوصيت name هر فرم با مقداري كه به خصوصيت nameآن داده مي شود شناخته مي شود . نكته :براي سهولت در تشخيص فرم ها ،اسامي آنها را با پيشوند frmبكار ببريد . – 3تغيير ابعاد فرم - 4انتقال فرم به مركز صفحه -5تغيير رنگ زمينه فرم با استفاده از خصوصيت back color -6اضافه كردن labelبه فرم – 7نوشتن عبارت داخل label با استفاده از خاصيتcaption – 8نامگذاري label با استفاده از خاصيتname نكته :براي راحتي تشخيص كنترلهاي ، labelاسامي آنها را با پيشوند lblبه كار ببريد . -9سفارشي كردن رنگهاي label براي تغيير رنگ كادر از back colorو براي تغيي رنگ عبارت از fore colorاستفاده مي شود. -10تغيير اندازه فونت -11ذخيره كردن پروزه -12اجراي برنامه فصل دوم visual basicمق)دمه اي بر برنامه نويسي با 6 برنامه نويسي شي گرا: اصول و بناي visual basic 6بر پايه مفهوم objectاستوار است .مي توانيم يك objectبه عنوان يك واحد جداگانه در برنامه در نظر بگيريم كه داراي ويژگيهاي معيني بوده وقادر است اعمال معيني را انجام دهد . سواالتي كه در برنامه نويسي شي گرا مطرح هستند ،عبارتند از :هر شي چگونه ديده مي شود ،هر شي چه عملي انجام مي دهد ،هر شي چه تاثيري به محيط خود دارد. حسن برنامه نويسي شي گرا در اين است كه يك شي با طراحي خوب مي تواند قابل استفاده مجدد در برنامه هاي كاربردي ديگر نيز باشد .بارزترين مثال برا)ي اين فن ،برنامه نويسي خود ويندوز است .كليه عناصري كه شما عموما براي براي ارتباط با كامپيوتر در محيط ويندوز استفاده مي كنيد اعم از دكمه ها ،منوها و غيره ،همه نمونه هايي از اشياء هستند .شما به عنوان برنامه نويس ، visualضمن افزودن اشياء فوق به برنامه ،آنها را توسط ويژگيهايشان كنترل ميكنيد .مثال با كليك كردن روي يك دكمه كنترلي چه اتفاقي رخ بدهد يا اينكه يك پنجره تغيير اندازه بدهد يا نه. برنامه نويسي شي گرا را ) oop(object oriented programmingنيز مي نامند. خواص )object : (properties خواص يك شي باعث مي شود ،يك شي در ضمن اينكه نوعا منحصر به فرد است ،انعطاف پذير باشد رخداد هاي )object : (events هر شي براي اينكه وجود خود را در محيط نشان دهد ،بايد نسبت به عوامل) محيطي و ديگر objectهاي تسهيم كننده محيط واكنش نشان دهد .هر عامل محيطي بر محيط را eventيا رخداد مي نامند . جلسه سوم : ‏ همان طور که مالحظه فرموديد ،انواع مختلفی از پروژه ها در اين پنجره وجود دارد که در ادامه به برخی از آنها خواهيم پرداخت ،ولی فعالً نوع ا)ستاندا)رد پروژه های VBيعنی نوع Standard EXEرا انتخاب و آن را باز( )Openمی کنيم .اين نوع پروژه (که غالب پروژه ها را در بر می گيرد) برای تهيه برنامه های کاربردی( )Applicationsمورد استفاده قرار می گيرد. پس از باز کردن پروژه ، Standard Exeپنجره اصلی VBبرای اين نوع پروژه باز می شود پنجره ،Propertiesبرخی از مشخصه( )Propertyهای مربوط به VCLای که انتخاب شده باشد را نمايش می دهد که می توان آنها را در هنگام طراحی( )Design Timeتغيير داد (ساير مشخصه ها بايد در هنگام اجرا( )Run Timeتنظيم شوند .در پنجره Form Layoutنيز می توا)ن مکان قرار گيری Formهنگام اجرای برنامه( )Run Timeبر روی صفحه نمايش را تعيين کرد (همچنين اين کار را توسط کدنويسي نيز می توا)ن انجام داد و عموما ً همين روش هم توصيه می شود و لذا عموما ً حتی می توان اين پنجره را به کل بست). ()Select در اين جلسه به عنوان اولين پروژه ،قصد داريم فرمی داشته باشيم با دو دکمه Messageو Exitکه اگر در دکمه Messageکليک شد ،پيغامی نمايش داده شود و اگر دکمه Exitکليک شد از برنامه خارج شود . برا ي فرم : مشخصه Nameآن را به frmFirstProjectتغيير می دهيم. مشخصه Captionآن را به First Projectتغيير می دهيم. براي دكمه ها: مشخصه Nameرا به cmdMessageتغيير می دهيم. مشخصه Captionرا به Messageتغيير می دهيم. وبراي ديگري: مشخصه Nameرا به . cmdExit مشخصه Captionرا به Exit  حال اگر به ترتيبی که در باال ذکر شد Event Procedure ،مربوط به رويداد clickاز دکمه Messageرا نيز باز می کنيم و آن را به صورت زير تغيير می دهيم: ‏Private Sub cmd, Message - Click “Thanks” ”,, MsgBox “The first project was done successful ‏End Sub ‏ ‏ پروژه مورد نظر آماده شده شده است .دستور ( MsgBoxمخفف ) Message Boxباعث می شود تا يک کادر پيغام بر روی صفحه نمايش ظاهر شود و تا زمانی که دکمه OKاز آن را فشار دهيم ،پيغامی را نمايش دهد .در اين دستور پارامتر اول ،پيغام مورد نظر را به صورت ( stringيک داده متنی) دريافت مي کند (در VBهر عبارتی که بين دو عالمت " " قرار گيرد string ،فرض می شود) و پارامتر سوم نيز به عنوان ( Message Boxکه در Title Barآن آورده خواهد شد) را به صورت متنی دريافت می کند .توجه داريم که بين هر دو پارامتر از عالمت کاما ( ),استفاده می کنيم و بنابراين در دستور MsgBoxبرنامه مان برای اينکه پس از پارامتر اول ،پارامتر سوم را وارد کنيم بين آن دو پارامتر دو بار اما گذاشته ايم. نكته :اگر بخواهيد فشردن ALT+Xهمان عمل دکمه Exitرا انجام دهد(ايجاد(، )Hot key کافی است در Captionاين دکمه چنين بنويسيد E&xit :که در اين صورت در زمان اجرا، زير حرف xيک ( underlineزير خط) می کشد که در ويندوز اين حالت نشانگرHot key داشتن آن حرف است ،همين کار را هم در مورد دکمه Messageانجام دهيد  ‏ ‏ ‏ ‏ ‏ ‏ ‏ ‏ ‏ ‏ برخی مشخصه های Text Boxها: :Nameن))امیک)))ه) VBآ)نرا ب)))ا ا)ينن))ام) میش))ناسد. : Alignmentت)))راز متندا)خل( Text Boxرا)ستچين ،وسط چين ،چپچين) : Appearanceب)))ا مقدار Flatو 3Dک)))ه) س )ه) ب)))ع)دیب)))ودني))ا ت)))ختب)))ودنآ)نرا مشخصمی ک)))ند. : Back Colorرنگزمينه) Text Box : Border Styleک)))ه) ت)))عيينمیک)))ند ک)))ه) text Boxح)اشيه) دا)شته) ب)))اشد ( )fixed Singleو ي))ا خير ()None ف)))ع)ا))ل)ست(رنگ ا Enableا)ينمشخصه) ب)))را)یهر ک)))نترلی Falseب)))اشديعنیآ)نک)))نترلغير خ)اک)ستریش))ده) ک)))نترله)ا در ويندوز ن))مايشگر Falseب)))ودن Enableآ)نا)ست). : Fontن))وع ف)))ونتمتن : Fore Colorرنگمتن : Heightارتفاع Text Box : Leftف)))اصله) گ)))وشه) چپو ب)))ا))الی Text Boxاز ( Containerدربرگ)يرنده)) آ)ن(ت)))ا ب)))ه) ح)ا))ل ي))کدربرگ)يرنده) ( )containerرا ديده) ا)يم) ک)))ه) ف)))رمه)ا میب)))اشند Container .ها ب)))ه) ک)))نترله)ايیگ)))ويند ک)))ه) ک)))نترله)ایديگر میت)))وا)نند ب)))ر رویآ)نق))رار گ)))يرند مثلک)))نترل Frameي))ا ک)))نترل.)Picture  ‏ ‏ ‏ ‏ : Lockedک)))ه) ا)گر مقدار آ)ن Trueب)))اشد Text Box ،ت)))وسط ک)))اربر ،ق))ابلويرا)يش()Edit ن))خوا)هد ب)))ود. : Max Lengthح)دا)ک)ثر ت)))ع)داد ک)))ارا)ک)تریک)))ه) میت)))وا)ند دا)خل Text Boxق))رار گ)))يرد ک)))ه) )شت ا)گر مقدار آ)نص))فر ب)))اشد ،محدوديتت)))ع)داد ن))خوا)هد دا . : Multi Lineا)گر مقدار آ)نب)))را)بر Trueش))ود ،میت)))وا)ندر ،Text Boxچند خطین))وشتو در وا)قع) آ)نرا ش))بيه) ي))ک Editorن))مود. : Password Charگ)))ه) ا)گر ي))کک)))ارا)ک)تر در آ)نق))رار گ)))يرد ،هرچه) دا)خلText Box ن))وشته) ش))ود ،ب)))ا آ)نک)))ارا)ک)تر ديده) میش))ود (ش))ما در وارد ک)))ردن Passwordدر هر ويندوز مسلماً ب)))ا مقدار * ب)))را)ی Passwordب)))رخورد دا)شته) ا)يد). : Right To Leftک)))ه) ا)گر مقدار آ)ن Trueب)))اشد ،پ)))ارا)گرا)فرا)ستب)))ه) چپمیش))ود (مثلآ)نچه) ما در ف)))ارسی ن))وشتنب)))ه) آ)نن))يازمنديم)). : Scroll Barsا)گر مقدار Multi Lineب)))را)بر Trueب)))اشد ،ت)))وسط مشخصه) Scroll Bars می توان وجود scrollbarعمودی ( ، )verticalافقی ( )horizontalو يا ترکيبی از آ)ن دو ()Both را داشت.  ‏ ‏ ‏ ‏ ‏ ‏ : Tab Indexت)))رتيبپ)))رشاز ک)))نترلب)))ه) ک)))نترلديگر هنگام) زدنک)))ليد ً .Tab مثال ا)گر س )ه) Text Boxب)))ر رویف)))رم) دا)شته) ب)))اشيم) و مقدار Tab Indexآ)نه)ا ب)))ه) ت)))رتيب 0و 1و 2 ب)))گذاريم) ،در هنگام) ا)جرا ،ف)))وکوسب)))ه) Text Boxب)))ا مقدار Tab Indexب)))را)بر ص))فر داده) میش))ود ک)))ه) ا)گر ک)))ليد Tabرا ب)))زنيد ،ف)))وکوسب)))ه) Text Boxب)))ا مقدار Tab Indexب)))برا)بر ي))کداده) خ)وا)هد ش))د و ا))لیآ)خر. : Tab Stopک)))ه) ا)گر مق)دار آ)نب)))را)یک)))نترلی Falseب)))اشد ،ب)))ا زدنک)))ليد Tabهيچگاه) ف)))وکوسب)))ه) آ)نداده) ن))خوا)هد ش))د (ب)))ا Tabن))میت)))وا)نرویآ)نرفت). ً عمال ک)))ار خ)اصیا)نجام) ن))میدهد و ف)))قط میت)))وا)نيم) چيزیرا در آ)نذخيره) ک)))نيم) ک)))ه) : Tag ب)))ع)داً خ)ودماناز آ)نا)ستفاده) ک)))نيم). : Tool Tip Textک)))ه) مقدار آ)نهر چه) ب)))اشد وقتیدر Run Timeماوسرا) ل))حظه) ا)یرویآ)ن ک)))نترلخ)اصن))گه) داريم) ،ي))کرا)هنمایک)))وتاه) زرد رنگب)))ا متنب)))را)بر مقدا)ر ت)))ع)ريفش))ده) در Tool Tip Textاز آ)نب)))يرونخ)وا)هد آ)مد. : Topف)))اصله) گ)))وشه) را)ستو ب)))ا))الیک)))نترلاز ( containerدربرگ)يرنده)) خ)ود. : Visibleک)))ه) ا)گر مقدار آ)ن Falseب)))اشد ،آ)نک)))نترلت)))وسط ک)))اربر (ي))عنیدر )Run Time ديده) ن))خوا)هد ش))د. : Widthع)رضک)))نترل Text Boxها دارا)یچه)ار رويداد ( )Eventمهم) میب)))اشند: ‏KeyDown – KeyUp – KeyPress – Change زمانی که فوکوس(تمرکز) به يک Text Boxداده شود ،اگر کليدی از صفحه کل)يد زده شود، ابتدا رويداد KeyPressرخ می دهد ( و اين به سيستم می فهماند که يک کليدی فشرده شد) ، سپس رويداد KeyDownرخ می دهد ( و اين به سيستم می فهماند که کليد زده شده ،تازه زده شده است و هنوز فشرده است) و وقتی دستمان را از روی کليد برداريم ،رويداد KeyUpرخ ‏ می دهد. رويداد Changeنيز زمانی که هر تغييری در مقدار داخل Text boxانجام شود ،روی می دهد (و لذا مثالً اگر کليدی مثل ( Arrow Keysکليدهای حرکتی) که تغييری در مقدار داخل Text Boxانجام نمی دهد زده شود ،رويداد Changeرخ نمی دهد). ‏ توجه داشته باشيم که ( KeyDownو )KeyUpبرای همه کليدهای صفحه کليد رخ می دهد اما رويداد KeyPressبرای برخی مثل Arrow Keysرخ نمی دهد. ‏ Event Procedureمربوط ب)))ه) KeyDownو KeyUpدارا)یدو آرگومان(پ)))ارا)متر) هستند: پارامتر keycodeکه کد اسکی کليد فشرده شده را بر می گرداند. ‏  فرض کنيد بر روی فرم يک Text Boxبه نام txtNumberوجود دارد که برای دريافت نمره يک درس دانش آموزی از کاربر ،استفاده می شود .برای نمايش اينکه با وارد نودن نمره ای به کاربر خطايی رخ داده است ،رنگ متن آن را به رنگ قرمز ( )Redدر می آوريم و در غير اينصورت (يعنی بدون خطا) رنگ متن را به رنگ سياه ( )Blackدر خواهيم آورد. توجه کنيد که می توانيد برای زيبايی برنامه مذکور برای رويداد Key upاز txtNumberنيز چنين داشته باشيم. )Private Sub txtnumber_KeyUp(KeyCode As Integer, Shift As Integer ‏If Val(txtnumber) > 20 Then ‏txtnumber.ForeColor = vbRed ‏Else ‏txtnumber.ForeColor = vbBlack ‏End If  مشخصه causes Validationرا نيز ديده باشيد که ما در بخش قبل از آن نام نبرديم .اين مشخصه در بسياری از VCLها نيز وجود دارد و دارای کاربرد بسيار زيبايی است که شايد اگر وجود نداشت ،برای شبيه سازی آن بوسيله کدنويسی ،زمان زيادی را صرف خود می کرد. فرض کنيد بر روی فرم يک Text Boxبه نام txtNumberوجود دارد که برای دريافت نمره يک درس دانش آموزی از کاربر ،استفاده می شود .ترجيح می دهيم کاربر نتواند ا)ين فرم را saveکند (نتواند به سراغ کليد cmdSaveبرود) مگر اينکه نمره صحيح (که در فاصله صفر تا بيست است )،را وارد نموده باشد .اما مثالً بتواند روی دکمه cmdCancelبرود و فرم را Cancelنمايدو يعنی می خواهيم اگر نمره در دامنه صحيح خود نبود روی برخی ديگر از آنها نرود. اگر برای رويداد))ِ( Validate )Eventاز ، txtNumberچنين داشته باشيم: Private Sub txtnumber_Validate(Cancel As Boolean ‏If Val(txtnumber) > 20 Then ‏Cancel = True ‏End If ‏End sub فوق می گويد هر وقت که txtNumber ، Validateشد ،بررسی کن که آيا نمره کمتر از 20هست يا خير که اگر نبود ،پارامتر Cancelرا Trueنمايد .حال اگر مشخصه Causes Validation از هر کنترلی را Trueنماييم ،در صورتی که Val(txtNumber)>20باشد ،کاربر نمی تواند ،آن کنترل را فوکوس دهد .لذا اگر مشخصه مذکور را برای کليد Saveبرابر Trueو برای cmdCancelبرابر Falseتغير دهيم ،درصورت نبودن نمره در فاصله مناسب ،کاربر می تواند عمليات دکمه Cancelرا انجام دهد اما عمليات دکمه Saveرا خير مگر اينکه دوباره Text Boxمذکور را با عددی ‏cmd مناسب Validateنمايد. مثالی ديگر و استفاده از Labelو TextBoxها ‏ فرض کنيد بخواهيم فرمی داشته باشيم که دارای دو ( Text Boxکه در VBبرای عمليات دريافت اطالعات از کاربر ( )DataEntrqمعموالً از اين کنترل استفاده می شود) برای درجه سيلسيوس و درجه فارنهايت باشد و توسط يک دکمه (و در واقع با فشردن آن توسط کاربر) مقداری که در Text boxمربوط به درجه سيلسيوس نوشته شده بود را به فارنهايت تبديل کند و نتيجه را در Text Boxمربوط به آن درج نمايد( .توجه :اگر Cمقدار درجه برحسب سيلسيوس و Fمقدار درجه برحسب فارنهايت باشد ،تبديل سيلسيوس به فارنهايت از فرمول F=9/5 C+32محاسبه می شود). برای يکی از آن دو : Text Box -1مشخصه Nameرابه txtCelsiusتغيير می دهيم. -2مشخصه Textرا خالی می کنيم. و برای ديگری: _1مشخصه Nameرا به txtFahrenheitتغيير می دهيم. -3مشخصه Textرا خالی می کنيم.  حال يک دکمه ( )))Command buttonنيز به فرم اضافه و: مشخصه Nameرا به cmdConvent مشخصه 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 فرض کنيد بخواهيم مثال قبل را طوری تغيير دهيم که با نوشتن هر رقمی در ، txtCelsiusبدون نياز به فشردن کليد ،نتيجه به طور خودکار در txtFahrenheitنوشته شود.مثالً به محض اينکه عدد 8رازديم ،تبديل شده 8را به فارنهايت بنويسيد و به محض فشردن کليد ( 0روی هم شده است )80تبديل شده 80را به فارنهايت بنويسد و ... با توجه به مطالب گفته شده ،کافی است برای رويدا ِد ( KeyUp )Eventاز txtCelsiusچنين بنويسيم: ‏txtFahrenheit = (Val (txtCelsius)*9/5) + 32

41,900 تومان