تبليغاتX
vbmehrnooshnet - بعد...


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

در 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 | لینک  | 
 

border="0" ALT="Google" align="absmiddle">
Choose a background color:
New Page 2

This free script provided by webloger site