پاسخ : نمونه برنامه های VB6 -آموزش از روی مثال این دفعه ساخت یک برنامه هست که عکسی از سمت چپ به سمت راست می آید. یک command1 و یک timer1 و یک Picture1 به فرم اضافه کنید و خاصیت Enabled مربوط به timer1 را در پنجره properties برابر False قرار دهید و خاصیت Intervalرا نیز برابر یک قرار دهید حال روی timer1دابل کلیک کنید و کد زیر را وارد کنید. (Picture1.Left = Val(Picture1.Left) + Val(10 سپس روی command1 دابل کلیک کنید و فرمان زیر را تایپ کنید Timer1.Enabled = True می توانید برنامه را اجرا کنید.
پاسخ : نمونه برنامه های VB6 -آموزش از روی مثال امروز در مورد خاصیت کنترل ها و رویدادها می نویسم. اول کار با کنترل های Visual Basic را شروع می کنم. در VB دو نوع کنترل وجود دارد. کنترل هایی که جزو استاندارد VB است و کنترل های ActiveX که پسوند OCX دارد و به Toolbar افزوده می شود. خود VB تعدادی از این ها را برای برنامه فراهم کرده است. این فایل ها را می توان از اینترنت دانلود کرد. برای اضافه کردن آن ها به جعبه ابزار کلید راست فشار دهید و Components را برگزینید. با تیک زدن بر روی هر گزینه ان به جعبه ابزار شما افزوده می شود. خاصیت های مشترک بین کنترل: گفتیم که هر کنترل خواصی برای خود دارد. یک سری از این خاصیت ها بین کنترل ها مشترک است. که تعدادی از آنها در زیر آمده است. Alignment نحوه تراز کردن متن را تعیین می کند. BackColor برای تعیین رنگ زمینه کنترل. BorderStyle تعیین می کند که آیا کنترل حاشیه داشته باشد یا خیر. Caption متنی که روی کنترل دیده می شود. Enable تعیین کننده ی فعال یا غیر فعال بودن کنترل. Font فونت متن داخل کنترل را تعیین می کند. ForeColor رنگ متن داخل کنترل را تعیین می کند. Height ارتفاع کنترل Left فاصله لبه ی چپ کنترل از فرم را مشخص می کند. MousePointer شکل کرسر موس وقتی که بر روی کنترل قرار می گیرد را مشخص می کند. Name نامی که در برنامه کاربرد دارد. ToolTipText متنی که وقتی موس را چند ثانیه روی کنترل متوقف کنیم ظاهر می شود. Top فاصله لبه ی بالای کنترل از فرم را مشخص می کند. Visible تعیین کننده مرئی یا نامرئی بودن کنترل. Width عرض کنترل کنترل دکمه فرمان: این کنترل می تواند از برنامه تقاضای کاری را بکند یا به آن فرمان دهد. Caption: عنوانی که بر روی دکمه دیده خواهد شد. Picture: می توان با این خاصیت تصویری را رو دکمه قرار داد. Style: وضعیت دکمه را نشان می دهد. اگر گزینه Graphical انتخاب نشود خاصیت Picture بی اثر است. روال رویداد: در ویندوزرویداد های(Events) زیادی رخ می دهد. ویندوز این رویداد ها را بررسی می کند که این رویداد مربوط به کدام برنامه ی در حال اجراست. در این موقع به برنامه خبر می دهد که این رویداد اتفاق افتاده است. اکثرا این رویدادها مربوط به موس یا کیبورد است. مثل کلیک وتایپ متن. ما می توانیم با نوشتن تابعی به این رویداد ها پاسخ مناسبی بدهیم. به این معنی که ما تابعی می نویسیم که اگر رویداد خاصی رویداد برنامه دستور های ما را اجرا کند. مثلا با کلیک روی دکمه فرمان از برنامه خارج شود. هر کنترل رویداد های خاصی برای خود دارد. البته بعضی از آنها نیز مشترک است. هر کنترل می تواند تابعی برای هر رویداد خود داشته باشد. مثلا یک دکمه فرمان می تواند روالی برای رویداد کلیک و روالی برای رویداد کلیک راست بنویسیم. برای هرکنترل نیز باید یک تابع نوشت. مثلا اگر برنامه سه دکمه فرمان داشته باشد برای هر یک باید یک روال نوشت. رویدادهای مهم: Active: وقتی روی می دهد که فرم فکوس را در اختیار گیرد. Click: وقتی روی می دهد که بر روی شیئی یک بار یکی از کلید های موس را بزنیم. اینکه کدام کلید زده خواهد شد قابل تشخیص است. DblClick: وقتی روی می دهد که روی شیئ دو بار کلیک شود. Deactive: وقتی روی می دهد که فرم فکوس را از دست می دهد. Initialize: وقتی روی می دهد که فرم برای بار اول به وجود می آید. Load: وقتی روی می دهد که فرم وارد حافظه فعال می شود و فرم ظاهر می شود. Paint: وقتی روی می دهد که ویندوزمجبور می شود قسمتی از فرم را مجددا ترسشیم کند. Resize: وقتی روی می دهد که کاربر اندازه فرم را تغییر دهد. Unload: وقتی روی می دهد که فرم از حافظه فعال خارج شود. Change: وقتی روی می دهد که کاربر متن جعبه متن را تغییر دهد. نوشتن روال رویداد:گفتیم که هر کنترل می تواند رویدادهای زیادی داشته باشد.VB به هر رویداد نامی اختصاص می دهد.
پاسخ : نمونه برنامه های VB6 -آموزش از روی مثال انواع عملگرها: عملگرهای شرطی: = ، > ، < ، =< ، => ، < > . پاسخ این عملگر ها یا True است یا False. بوسیله کلمات زیر می توانید عبارت شرطی زیر را با هم ترکیب کنید. And: هر دو طرف باید درست باشد تا پاسخ True شود. Or: اگر یکی از طرف های شرط درست باشد پاسخ True می شود. Xor: فقط یک طرف باید درست باشد نه دو طرف تا پاسخ True شود. Not: True را تبدیل به False و False را به True تبدیل می کند. ترتیب اجرای این کلمات در موقع اجرا به این ترتیب است:1-Not 2-And 3- Or 4- Xor آشنایی با تابع: در VB دو نوع تابع وجود دارد. یکی سابروتین که هیچ مقدار بازگشتی ندارد و دیگری فانکشن که یک مقدار بازگشتی. خود VB هم یکسری تابع داخلی دارد. مثلا تابع LoadPicture( ) برای قرار دادن تصویر در ابزارهایی است که توانایی نمایش تصویر را دارند. ما هم می توانیم برای خود، تابع تعریف کنیم. فایده تابع ها این است که می توان کد برنامه را دسته بندی کرد و هر وظیفه را به تابعی واگذار کرد.اشکال زدایی از برنامه آسان می شود. چون اگر برنامه در جایی خواسته ی ما را برآورده نکرد می دانیم این وظیفه مربوط به کدام قسمت است. اگر برنامه به کرات نیاز به اجرای یکسری کد داشته باشد می توان آن را در یک تابع نوشت و بعد آن را در مواقع مورد نیاز فراخوانی کرد. مثلا می توانیم تابعی برای رسم مستطیل بنویسیم که ابعاد آن را به عنوان ورودی دریافت کرده وآن را رسم کند. VB فایل های خاصی را برای نوشتن توابع اختصاص داده است که به آن ماژول می گویند. با وجود این فایل ها می توانید تابع هایی را که کاربرد زیادی دارد در این فایل ها ذخیره کرده ودر برنامه های مختلف از آنها استفاده کرد و در وقت صرفه جویی کرد.برای ایجاد این فایل ها روی پنجره Project کلید راست را فشار دهید و از قسمت Add ، Module را انتخاب کنید.
پاسخ : نمونه برنامه های VB6 -آموزش از روی مثال توابع داخلی: LoadPicture: این تابع یک تصویر را به برنامه اضافه می کند. در داخل پرانتز مسیر تصویر قرار می گیرد.مثل: Image1.Picture = LoadPicture(“c:\Pic1.bmp”) MsgBox: تابعی است که یک جعبه پیام را به کاربر نشان می دهد. همانطور که می بینید جعبه پیام یک آیکون، یک پیام و چند دکمه فرمان دارد. شکل کلی این دستور به صورت مقابل است. intResponse=MsgBox(strPrompt,intStyle,strTilte) آرگمان اول اجباری و بقیه ارگمان ها اختیاری است. StrPrompt پیامی است که جعبه پیام نشان می دهد. اگر آرگمان های دیگر را مشخص نکنیم تنها پیام با دکمه OK نشان داده می شود. آرگمان دوم نوع دکمه ها و آیکون ها را مشخص می کند. strTitle تیتر جعبه پیام را مشخص می کند. intResponse کد دکمه ای را که کاربر فشار داده در خود نگه می دارد که با دستور If یا Select case می توان آن را بررسی کرد. دکمه های این جعبه در لیست پایین آمده است: vbOkOnly دکمه OK vbOKCancel دکمه های OK و Cancel vbAbortRetryIgnore دکمه های Abort,Retry,Ignore vbYesNoCancel دکمه های Yes,No,Cancel vbYesNo دکمه های Yes,No vbRetryCancel دکمه های Retry,Cancel آیکون هایی که می توان استفاده کرد به شرح زیر است: vbCritical vbQuestion vbExclamation vbInformation بین دکمه و ایکون باید علامت + بگذاریم. مقدارهایی که جعبه پیام می تواند بر گرداند به شرح زیر است: نام ثابت مقدار vbOK 1 vbCancel 2 vbAbort 3 vbRetry 4 vbIgnore 5 vbYes 6 vbNo 7 مثال: Dim I As Integer I = MsgBox("Do you want to exit?", vbYesNo + vbQuestion, "Exit") Select Case (I) Case 6 MsgBox ("Yes") Case 7 MsgBox ("No") End Select InputBox: جعبه ای که سوالی می کند و کاربر باید جواب را وارد کند. شکل کلی تابع به صورت زیر است: strAnswer = InputBox (پیام,تیتر,مقدار پیش فرض)
پاسخ : نمونه برنامه های VB6 -آموزش از روی مثال توابع عددی: Int(Value) محاسبه جزء صحیح Fix(Value) اعشار را از عدد حذف می کند. Log(Value) محاسبه لگاریتم طبیعی Atn(Value) محاسبه آرک تانژانت Cos(Value) محاسبه کسینوس Sin(Value) محاسبه سینوس Tan(Value) محاسبه تانژانت Abs(Value) محاسبه قدر مطلق Sqr(Value) محاسبه جذر این توابع با عدد های داخل پرانتز سروکار دارند. توابع تشخیص نوع: IsEmpty() اگر متغییر داخل پرانتز مقدار نگرفته باشد True برمی گر داند. IsNull() اگر مقدار متغییر داخل پرانتز Null باشد True برمی گر داند. IsNumeric() اگر متغییر داخل پرانتز از نوع عددی باشد یا توانایی تبدیل به عدد را داشته باشد True برمی گر داند.
پاسخ : نمونه برنامه های VB6 -آموزش از روی مثال توابع تبدیل نوع: این توابع برای تغییر نوع یک متغییر به نوع دیگر به کار می رود. مسئله مهمی که باید توجه کنید این است که باید حدود انواع متغییر را در نظر بگیرید تا ازاین توابع انتظار درست کار کردن داشته باشید. CBool() تبدیل آرگمان به Boolean CByte() تبدیل آرگمان به Byte CCur() تبدیل آرگمان به Currency CDbl() تبدیل آرگمان به Double CDec() تبدیل آرگمان به Decimal CInt() تبدیل آرگمان به Integer CLng() تبدیل آرگمان به Long CSng() تبدیل آرگمان به Single CStr() تبدیل آرگمان به String CVar() تبدیل آرگمان به Variant توابع رشته: Len() تعداد حرف یک متغییر String را برمی گرداند. Right() قسمتی از یک رشته را از سمت راست بر می گرداند. Left() قسمتی از یک رشته را از سمت چپ بر می گرداند. Mid() قسمتی از یک رشته را از وسط بر می گرداند UCase() تمام حروف متن داخلش را تبدیل به حروف بزرگ می کند. LCase() تمام حروف متن داخلش را تبدیل به حروف کوچک می کند. توابع اسکی: هر کاراکتر دارای یک کد است.توابع Chr() و Asc() برای تبدیل اعداد به کاراکتر و بلعکس هستند. مثال: Str = Chr(65) ‘ A I = Asc(“A”) ‘65
پاسخ : نمونه برنامه های VB6 -آموزش از روی مثال این هم برنامه جست و جوی حرف یا کلمه در یک متن. امیدوارم استفاده کنید. ابتدا ما 3 تا Textbox و یک CommandButoon به برنامه اضافه می کنیم. بر روی CommandButoon1 دوبار کلیک کنید و کد زیرا بنویسید. کد: (For i=1 to len(Text1.text ( If Text2.text=mid(Text1.text,i,len(Text2.text C=C+1 End if Next Text3.text=C برنامه رو می تونید اجرا کنید. هدفم از این برنامه طرز کار با توابع رشته ای len و mid بود.
پاسخ : نمونه برنامه های VB6 -آموزش از روی مثال ساختار كنترلي ( If/Then/Else ) : يكي ازدستورات مهم برنامه نويسي به زبان VB دستور شرطي If مي باشد. شكل كلي دستور If بصورت زيراست : کد: If Condition Then Statements End if Condition يك عبارت يا متغير شرطي با مقدارTrue يا False است.در صورتي كه مقدار Condition برابر True باشد دستورات بين if وEndif اجراخواهد شد. اگرتعداد دستورات ( Statements ) شامل يك دستورالعمل باشدميتوان دستور شرطي را بصورت خلاصه تر نوشت کد: : if Condition Then Statement البته شكل كامل تر دستور If به شكل زير مي باشد: کد: If Condition Then Statements1 Else Statements2 Endif در صورت درست بودن شرط (Condition) دستورات Statement1 و در غير اين صورت (نادرست بودن شرط) دستورات Statement2 اجرا خواهند شد . همانطوري كه مي دانيد از دستور if بصورت تودرتونيز استفاده مي شود در اين دستورات هر Else و Endif به نزديكترين if متناظر تعلق دارند. مثال: مي خواهيم دستورالعملهايي بنويسيم كه اگر مقدار ذخيره شده در متغير k زوج باشد پيغام "Even" و در غير اين صورت ( فرد بودن متغير) پيغام "odd" را چاپ نمايد . کد: If k mod 2=0 then Print "Even" Else Print "odd" End if
پاسخ : نمونه برنامه های VB6 -آموزش از روی مثال ادامه ساختار هاي كنترلي رو بعدا براتون مي نويسم. استفاده از روال ها در برنامه نويسي: بهترين روش براي نوشتن برنامه هاي بزرگ و پيچيده ، تقسيم آن به قسمتهاي كوچكتر است ، بطوري كه هر قسمت وظيفة خاصي را انجام دهد. با انجام اين عمل به خوبي مي توان روي قسمتهاي مختلف برنامه مديريت كرده ، در صورت بروز خطا علت آن را راحت و سريع شناسايي و اصلاح نمود. براي اعمال چنين روشي از روالها (Routins) استفاده خواهيم كرد. استفاده از روال ويژگيهاي زير را دارد : كيفيت مديريت برنامه ها را افزايش مي دهد. كارآيي نرم افزار را بالا مي برد و مي توان روالهاي ايجاد شده را در برنامه هاي ديگر هم بكار برد و يا از روالهاي ايجاد شدة قبلي ، در برنامه ها استفاده كرد. از تكرار در كدنويسي برنامه ها جلوگيري مي كند و براحتي در هر جايي از برنامه كه نياز باشد ، مي توان با استفاده از نام روال آن را فراخواني كرد . آزمايش و خطايابي و تغيير روالها به مراتب آسانتر است . استفاده از روالها باعث افزايش خوانايي برنامه مي شود. در انتقال اطلاعات به داخل روال از آرگومانها استفاده مي شود . آرگومانها متغيرهايي هستند كه در زمان فراخواني مقدار آنها به روال ارسال مي شود .
پاسخ : نمونه برنامه های VB6 -آموزش از روی مثال بطور كلي در ويژوال بيسيك ، دو نوع روال وجود دارد : روال Sub روال Function اين دو روال تا حدود زيادي مشابهند و تنها تفاوت آنها اين است كه روال Function در زمان خاتمه مقداري را به فراخواننده برمي گرداند ، ولي روال Sub هيچ مقدار برگشتي ندارد . روال Sub : شكل كلي ايجاد يك روال Sub بصورت زير است : کد: (Sub Routine_name ( Argument Statements End Sub در اين ساختار Routine_name نام روال مي باشد . سعي كنيد اسامي انتخاب شده متناسب با عملي باشد كه روال انجام خواهد داد . بايد تمام آرگومانهاي مورد نياز روال در بين دو پرانتز تعريف شود ، حتي اگر هيچ آرگوماني مورد نياز نباشد وجود دو علامت پرانتز لازم است . نكته : نمي توان در داخل يك روال از متغيري با نام روال استفاده كرد . با هربار فراخواني روال دستورات آن از اولين دستور تا دستور End Sub و يا رسيدن به دستور Exit Sub (درصورت وجود) ، اجرا خواهد شد و پس از آن كنترل برنامه به خط بعد از فراخواني روال برخواهد گشت.