تبليغاتX
vbmehrnooshnet

نوشته شده توسط mehrnoosh در ساعت 21:52 | لینک  | 

جلسه هفت(توابع داخلی)

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 (پیام,تیتر,مقدار پیش فرض)

توابع عددی:

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

 

 

نوشته شده توسط mehrnoosh در ساعت 14:5 | لینک  | 


جلسه ششم(آشنایی با تابع)

در 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 Select

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

با اینکه این برنامه معرف خوبه برای معرفی قابلیت های تابع نیست اما برای اشنا شدن با روش ساختن تابع مناسب است.   

نوشته شده توسط mehrnoosh در ساعت 14:4 | لینک  | 

جلسه پنجم ( دستورات مهم 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 شرط

          دستورات

Loop

یا:

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

نوشته شده توسط mehrnoosh در ساعت 14:3 | لینک  | 

جلسه چهارم(انواع داده در VB)

اگر شما با زبان های برنامه نویسی دیگری آشنایی دارید حتما با متغییرها آشنا هستید. متغییرها مکان هایی هستند در حافظه اصلی(Ram)  برای نگهداری اطلاعات مثل عدد یا متن یا چیز های دیگر. متغییر ها از عنواع مختلفی تشکیل شده است. مثل عدد صحیح، اعشاری، متن وغیره. این ابزار در برنامه نویسی کاربرد زیادی دارد و در واقع از رکن های اساسی برنامه نویسی است.

در زیر انواع  متغییر های VB را همراه با  مقدار حافظه ای که اشغال می کنند آمده است.

Byte

1 بایت

0 تا 255

Integer

2 بایت

32768- تا 32768

Long

4 بایت