| جلسه هفت(توابع داخلی) | ||||||||||||||||||
|
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 بین دکمه و ایکون باید علامت + بگذاریم. مقدارهایی که جعبه پیام می تواند بر گرداند به شرح زیر است:
مثال: 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 (پیام,تیتر,مقدار پیش فرض) توابع عددی: 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 برمی گر داند. توابع تبدیل نوع: این توابع برای تغییر نوع یک متغییر به نوع دیگر به کار می رود. مسئله مهمی که باید توجه کنید این است که باید حدود انواع متغییر را در نظر بگیرید تا ازاین توابع انتظار درست کار کردن داشته باشید. 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() قسمتی از یک رشته را از وسط بر می گرداند.مثال: Dim str,str1,str2,str3 as String str = “abcdefg” str1 = Right(str,2) ‘ fg str2 = Left(str,2) ‘ ab str3 = Mid(str,3,2) ‘ cd UCase() تمام حروف متن داخلش را تبدیل به حروف بزرگ می کند. LCase() تمام حروف متن داخلش را تبدیل به حروف کوچک می کند. توابع اسکی: هر کاراکتر دارای یک کد است.توابع Chr() و Asc() برای تبدیل اعداد به کاراکتر و بلعکس هستند.مثال: Str = Chr(65) ‘ A I = Asc(“A”) ‘65
| ||||||||||||||||||
| جلسه ششم(آشنایی با تابع) | ||
|
در VB دو نوع تابع وجود دارد. یکی سابروتین که هیچ مقدار بازگشتی ندارد و دیگری فانکشن که یک مقدار بازگشتی. خود VB هم یکسری تابع داخلی دارد. مثلا تابع LoadPicture( ) برای قرار دادن تصویر در ابزارهایی است که توانایی نمایش تصویر را دارند. ما هم می توانیم برای خود، تابع تعریف کنیم. فایده تابع ها این است که می توان کد برنامه را دسته بندی کرد و هر وظیفه را به تابعی واگذار کرد.اشکال زدایی از برنامه آسان می شود. چون اگر برنامه در جایی خواسته ی ما را برآورده نکرد می دانیم این وظیفه مربوط به کدام قسمت است. اگر برنامه به کرات نیاز به اجرای یکسری کد داشته باشد می توان آن را در یک تابع نوشت و بعد آن را در مواقع مورد نیاز فراخوانی کرد. مثلا می توانیم تابعی برای رسم مستطیل بنویسیم که ابعاد آن را به عنوان ورودی دریافت کرده وآن را رسم کند. VB فایل های خاصی را برای نوشتن توابع اختصاص داده است که به آن ماژول می گویند. با وجود این فایل ها می توانید تابع هایی را که کاربرد زیادی دارد در این فایل ها ذخیره کرده ودر برنامه های مختلف از آنها استفاده کرد و در وقت صرفه جویی کرد.برای ایجاد این فایل ها روی پنجره Project کلید راست را فشار دهید و از قسمت Add ، Module را انتخاب کنید.
پنجره Add Module باز می شود.
از برگه New می توانید ماژول جدید به برنامه اضافه کنید. از برگه Existing می توانید فایل هایی را قبلا نوشته اید به برنامه اضافه کنید. در این جلسه با هم برنامه ای می نویسیم تا با شیوه ایجاد تابع آشنا شوید. این برنامه ریشه معادله درجه 2 را محاسبه می کند. ابتدا کنترل ها را بصورتی که در تصویر می بینید به فرم اضافه کنید و خواص آن را مطابق جدول زیر ست کنید.
Form Name frmRoot Caption Root TextBox Name txtX2 Text Empty Name txtX1 Text Empty Name txtX0 Text Empty Label Name lblResult BorderStyle 2-FixedSingle BackColor HighLight Text Command Name cmdOK Caption OK Name cmdExit Caption Exit بقیه اشیائی که در صفحه فرم می بینید همه Label هستند. بعد از آماده کردن فرم یک ماژول به برنامه اضافه کنید و نام آن را mduRoot بگذارید. در آن کد زیر را بنویسید. Public Function Delta(X2 As Integer,X1 As Integer,X0 As Integer)As Integer Delta = (X1 ^ 2) - (4 * X2 * X0) End Function این یک فانکشن است که به صورت عمومی(Public) تعریف شده است ، سه مقدار ورودی می گیرد که از نوع Integer است. فانکشن باید یک مقدار را به برنامه اصلی برگرداند. این مقدار برگشتی از نوع Integer است. مقداری را که می خواهیم به برنامه اصلبی برگردانیم باید ان را به متغییری هم نام با نام فانکشن نسبت دهیم. این فانکشن دلتای معادله را محاسبه می کند. بعد از فانکشن کد زیر را اضافه کنید. Public Sub Root(Delta As Integer, X2 As Integer, X1 As Integer) Select Case (Delta) Case Is < 0 frmRoot.lblResult.Caption = "Dose not have Result" Case Is = 0 frmRoot.lblResult.Caption = (X1 * (-1) + Sqr(Delta)) / (2 * X2) Case Is > 0
frmRoot.lblResult.Caption=Str((X1*(-1)+Sqr(Delta))/(2* X2)) + "," _ + Str((X1 * (-1) - Sqr(Delta)) / (2 * X2)) End Sub این یک سابروتین است که مسئولیت پیدا کردن ریشه ها را بر عهده دارد.این سابروتین سه ورودی از نوع Integer می گیرد. ابتدا بررسی می کند که دلتا کوچکتر از صفر نباشد. Sqr که در این تابع استفاده شده یکی از توابع داخلی VB است که مقدار جذر عدد داخل پرانتز خود را بر می گرداند. Str هم عدد داخل پرانتز خود را به متن تبدیل می کند. در ادامه برای رویداد Click کنترل های cmdOK و cmdExit کد زیر را بنویسید. Private Sub cmdExit_Click() End End Sub Private Sub cmdOK_Click() Dim intDelta As Integer intDelta = mduRoot.Delta(txtX2.Text, txtX1.Text, txtX0.Text) Call mduRoot.Root(intDelta, txtX2.Text, txtX1.Text) End Sub متغییری تعریف کردیم تامقدار دلتای معادله را از فانکشن Delta بگیرد و در خود نگه دارد. ترتیب اجرای برنامه به این صورت است که ابتدا فانکشن اجرا می شود و مقدار برگشتی در متغییر intDelta ذخیره می شود. سپس برای بدست آوردن ریشه ها سابروتین Root به وسیله دستور Call فراخوانی می شود. برای اینکه با شرایطی از تابع خارج شویم دستور زیر را می نویسیم: Exit Sub یا Function با اینکه این برنامه معرف خوبه برای معرفی قابلیت های تابع نیست اما برای اشنا شدن با روش ساختن تابع مناسب است. | ||
| جلسه پنجم ( دستورات مهم Basic ) | ||
|
عملگرهای شرطی: = ، > ، < ، =< ، => ، < > . پاسخ این عملگر ها یا True است یا False. بوسیله کلمات زیر می توانید عبارت شرطی زیر را با هم ترکیب کنید. And: هر دو طرف باید درست باشد تا پاسخ True شود. Or: اگر یکی از طرف های شرط درست باشد پاسخ True می شود. Xor: فقط یک طرف باید درست باشد نه دو طرف تا پاسخ True شود. Not: True را تبدیل به False و False را به True تبدیل می کند. ترتیب اجرای این کلمات در موقع اجرا به این ترتیب است:1-Not 2-And 3- Or 4- Xor مثال: (3<5) And (6>2) => True (6>4) Or (4<2) => True دستور If: شکل کلی آن به صورت زیر است: If (شرایط) Then دستورات Else دستورات End If در شرایط می توان از عملگرهای ترکیبی استفاده کرد.(And ، Or،...) اگر پاسخ شرط True باشد دستورات بین Then و Else اجرا می شود واگرنه دستورات بین Else و End If اجرا می شود. چندین شرط نیز می تواند در دل همدیگر نوشته شود. دستور Select Case: یک نوع If است که یک متغییر را مورد بررسی قرار می دهد. شکل کلی آن به صورت زیر است: Select Case نام متغییر Case عبارت دستورات [Case عبارت] [دستورات] Case Else End Select مثال: Select Case strText Case “A” lblName.Caption = “Ali” Case “M” lblName.Caption = “Mohammad” Case Else lblName.Caption = “Hossein” End Select اگر مقرار متغییر StrText A باشد در برچسب Ali نوشته می شود و اگر M باشد Mohammad نوشته می شود و در غیر این صورت Hossein نوشته می شود. Select Case intGrade Case Is >= 90 lblCondition.Caption=”Very Good” Case Is >= 50 Condition.Caption=”Good” Case Else Condition.Caption=”Bad” End Select Select Case intGrade Case 90 To 100 lblCondition.Caption=”Very Good” Case 50 T0 90 Condition.Caption=”Good” Case Else Condition.Caption=”Bad” End Select Case 101,102 To 110, Is>300 در مورد خط بالا اگر مقدار متغییر 101 یا 102 تا 110 یا بزرگتر از 300 باشد دستورات زیر آن اجرا می شود. حلقه : گاهی لازم می شود که یکسری از دستورات به تعداد خاصی اجرا شود. برای مثال گرفتن یک رمز از کاربر تا زمانی که رمز درست را وارد کند. در Basic حلقه های مختلفی داریم که آن ها را بررسی می کنیم. حلقه Do: شکل کلی آن به صورت زیر است: Do While یا Until شرط دستورات یا: Do دستورات Loop While یا Until شرط فرق این دو شکل در آن است که در شکل دوم حداقل یک بار دستورات اجرا می شود. اگر قبل از شرط While باشد تا زمانی که پاسخ شرط True باشد حلقه تکرار می شود. و اگر Until باشد تا زمانی که جواب شرط False است حلقه اجرا می شود. مثل: Dim I as Integer I = 1 Do Label1.Caption = I I = I+1 Loop Until I=10 این حلقه تا زمانی که I مساوی 10 شود حلقه اجرا می شود. حلقه For: شکل کلی آن به صورت زیر است: For متغییر = حد آغاز To حد پایان Step عدد دستورات Next متغییر متغییر ذکر شده متغییر عددی است. وقتی دستورات به حلقه می رسد متغییر به حد آغاز ست می شود. بعد دستورات اجرا می شود تا به Next می رسد. در این لحظه متغییر با حد پایان مقایسه می شود. اگر از حد پایانی کوچکتر یا مساوی بود حلقه ادامه می یابد . در این لحظه یکی به متغییر افزوده می شود. این رون ادامه می یابد تا متغییر از حد پایانی بیشتر شود. اگر بخواهیم که به متغییر به تعداد دخواه افزوده شود بعد از حد پایان Step را می نویسیم . اگر Step را ننویسیم به طور پیش فرض به متغییر یکی یکی افزوده می شود. مثال: For I = 1 To 10 Step 2 Label1.Caption = I Next I این نکته مهم است که حلقه For نیز می تواند تو در تو باشد. اگر بخواهید تحت شرایطی از حلقه خارج شوید از این دستور استفاده کنید: Exit For یا Do | ||
| جلسه چهارم(انواع داده در VB) | |||||||||||
|
اگر شما با زبان های برنامه نویسی دیگری آشنایی دارید حتما با متغییرها آشنا هستید. متغییرها مکان هایی هستند در حافظه اصلی(Ram) برای نگهداری اطلاعات مثل عدد یا متن یا چیز های دیگر. متغییر ها از عنواع مختلفی تشکیل شده است. مثل عدد صحیح، اعشاری، متن وغیره. این ابزار در برنامه نویسی کاربرد زیادی دارد و در واقع از رکن های اساسی برنامه نویسی است. در زیر انواع متغییر های VB را همراه با مقدار حافظه ای که اشغال می کنند آمده است.
| |||||||||||









