..:: مغز کامپیوتر ::..
کلید رهایی از تاریکی
درباره وبلاگ



مدیر وبلاگ : علی عبدیان
مطالب اخیر
نویسندگان
نظرسنجی
شما بیشتر به چه نوع مطلبی علاقه دارید ؟








توجه داشته باشید که در ابتدای تعریف توابع و روالها می توانیم از Private یا Public نیز استفاده کنیم و تمام سطوحی که برای تعریف متغیرها گفته شد (خصوصاً سطح فرم و سطح ماژول) ، در اینجا نیز عیناً کاربرد دارند. (پیش فرض در اینجا هم Private است).

به عنوان مثال اگر بخواهیم تابعی به نام Square ایجاد نماییم که هر عددی را دریافت کرد، مربع آن را برگرداند، کافی است چنین بنویسیم (مثلاً به صورت Public در یک ماژول) :

Public Function Square (I As Integer) As Integer

           Square = I*I

End Function

ملاحظه می کنید که در اینصورت اگر هر جایی از برنامه نام تابع را به همراه یک مقدار عددی Integer به عنوان پارامتر آن ذکر کنیم، مقدار عددی مذکور به متغیر I داخل تابع منتقل شده و عمل I*I روی آن انجام می گیرد و از آنجا که گفتیم خرجی توابع نام آنها هستند، خروجی (یعنی مقدار I*I را) را به نام تابع جایگزین کردیم (یعنی Square = I*I) . حال مثلاً اگر در جایی از برنامه دستور b = Square (5) را وارد کنیم، مقدار متغیر b برابر 25 خواهد شد.

توجه داریم که اگر تابع بیش از یک پارامتر ورودی داشت، باید نام آنها با کاما (,) از هم جدا کنیم که در اینصورت در هنگام فراخوانی باید به تعداد پارامترها، آرگومان قرار دهیم که به ترتیب در متغیر مربوط جایگزین (وارد) می شود. مثلاً اگر بخواهیم تابعی به نام Multiple ایجاد کنیم که حاصلضرب دو پارامتر ورودی اول را با پارامتر ورودی سوم جمع کند و نتیجه را برگرداند، کافی است بنویسیم:

Private Function Multiple (a, b, c As Integer) As Integer

     Multiple = (a*b) +c

End Function

که در اینصورت دستورات زیر در محلی از پروژه (که البته دسترسی Private به تابع مذکور داشته باشد)، مقدار 17 را در Text Box به نام txtResult قرار می دهد:

I = 3

bs = 5

g = 2

txtResult.Text = Multiple (I, bs, g)

توجه داریم که مقادیر استفاده شده به عنوان آرگومانهای تابع باید با متغیرهای به کار رفته در پارامترهای تعریف تابع از لحاظ نوع داده، یکسان باشند.حال به عنوان مثالی برای روالها فرض کنید بخواهیم روالی به نام TF ایجاد کنیم که دو عدد را دریافت کند، بررسی کند که اگر این دو عدد برابر بودند، جواب True  و همچنین حاصلضرب آن دو را برگرداند. برای این منظور اگر مثلاً در یک ماژول تعریف کنیم:

Public Sub TF (x, y As Integer, T as Boolean, M as Integer)

     IF x = y then

          T = True

     Else

           T = False

     End IF

     M = x*y

End Sub

می توان در جایی از پروژه، روال مذکور را فراخوانی نمود، فراخوانی روالها توسط دستور Call صورت می گیرد، مثلاً اگر در جایی از پروژه، روال فوق را به صورت زیر فراخوانی نماییم:

a = InputBox (“Please Enter a Number”)

Call TF (a, 15, s, p)

در صورتی که متغیرهای a و s و p تعریف شده باشند آرگومان a به پارامتر x از روال، آرگومان 15 به پارامتر y از روال، آرگومان s به پارامتر T از روال و آرگومان p به پارامترM از روال منصوب می شود. دستور InputBox یک جعبه محاوره‌ای برای کاربر نشان می دهد که پیغامی را (در اینجا پیغام Please Enter a Number) شامل می شود و در یک جعبه متن خاص، مقداری را از کاربر مطالبه می کند که پس از وارد کردن توسط کاربر مقدار وارد شده را برمی گرداند (و در اینجا در متغیر a جایگزین می کند). حال اگر کاربر مقدار 15 را وارد کند، مقدار متغیر s (که باید Boolean تعریف شده باشد) برابر True و در غیر اینصورت مقدار False را شامل می شود و در هر صورت متغیر p نیز حاصلضرب a و 15 را در خود شامل می شود.

تأکید می کنیم که نوع داده آرگومانها و پارامترهای تعریف لزوماً باید به ترتیب متناسب باشد که در غیر اینصورت VB به ما خطا صادر می کند.







نوع مطلب : برنامه سازی، 
برچسب ها :
لینک های مرتبط :
نظرات پس از تایید نشان داده خواهند شد.


آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
 
 
 
شبکه اجتماعی فارسی کلوب | Buy Website Traffic | Buy Targeted Website Traffic