صفحه اول آخرین ارسال ها جستجو بایگانی راهنما تقویم تماس با ما
مـحل تبلیــغات 

 

مـحل اخبــار و اطلاعیــه ها

«درصـورت بـروز هـرگـونه مشــکلات بـراي ســايت ... جـهت اطـاعات به وبــلاگ پشــتيبـان سـايت مـراجعـه فـرماييد»

«درخــواست مـديـريـت تـوسط شـما کـاربـران عـزيز و گــرامي»

«آپـلود سـنتر پـرقدرت بـا حجم آپـلود بـالاي فـايل هـاي شـما»

مــشاهـدۀ ســایـت به زبــان دیــگر

قدیمی 12 Jan 2011   #1
SAEED
Member
 
SAEED آواتار ها
 
تاریخ عضویت: Jan 2011
نوشته ها: 79
Thanks: 0
Thanked 0 Times in 0 Posts
پیش فرض نکاتی در باره توابع ، متغيرها و نحوه استفاده آنها ( vb )

نکاتی در باره توابع ، متغيرها و نحوه استفاده آنها
ارسال متغير بصورت ByRef و ByVal
اگر موقع تعريف يک تابع قبل از نام متغير از عبارت ByRef استفاده نماييم هنگام فراخوانی تابع با قراردادن متغيری در تابع که دارای مقدارميباشد ، پس از محاسبات ، مقدار متغير نيز تغيير ميکند. در ضمن مقدار تابع با آخرين مقدار متغير محاسبه ميگردد:

Function Use_ByRef(ByRef intVar As Integer)
intVar = intVar + 1
Return intVar
End Function
Dim intMyVar As Integer
intMyVar = 1
Response.Write(intMyVar & "-----" & Use_ByRef(intMyVar))
پاسخ : 2-----3
ولی اگر در مثال فوق ازByVal استفاده کنيم ، پس از محاسبات مقدار متغير تغيير نميکند و نيز مقدار تابع با مقدار اوليه متغير محاسبه ميشود:
FunctionUse_ByVal(ByVal intVar As Integer)
intVar = intVar + 1
Return intVar
End Function
Dim intMyVar As Integer
intMyVar = 1
Response.Write(intMyVar & "-----" & Use_ByVal(intMyVar))
پاسخ : 1-----2
متغير Static
اگر درون تابعی متغيری را بصورت Static تعريف نماييم و مقدار اين متغير طي عمليات تابع تغيير نمايد در هرفراخوانی متغير ياد شده با آخرين مقدارخود در محاسبات شرکت ميکند.
اين مورد بر خلاف تعريف متغيير بوسيله دستور Dim است . چون در Dim متغيير بمحض تعريف شدن دوباره ، مقدار قبلي خود را از دست ميدهد.
FunctionUse_Static()
Static intCount As Integer
intCount = intCount+1
Return intCount
End Function

Response.Write( "
" &
Use_Static)

Response.Write( "
" &
Use_Static)

Response.Write( "
" &
Use_Static)

1 پاسخ :
2
3
تعريف توابع بصورت OverLoads
در نظر بگيريد كه در جايي از برنامه خود احتياج داشته باشيد كه يك فانكشن را فراخواني و پارامترهاي ورودي آنرا كه استرينك است به آن پاس نماييد. حال اگر شما مجبور باشيد در مواقعي خاص به اين فانكشن بجاي استرينگ ، عدد يا يك متغيير از نوع ديگري پاس كنيد ، چكار بايد كرد؟ آيا بايد دو تا فانكشن با نامهاي متفاوت و نوع عملكرد متفاوت تعريف نمود ؟ آيا راه حل ديگري وجود ندارد؟
در اينجا راه حل ديگري نيز وجود دارد كه اگر دو يا چند تابع را با يک نام ثابت ولی تعداد يا نوع متغير متفاوت در يک کلاس تعريف نماييم ميتوانيم از هر کدام برحسب نياز استفاده کنيم:
Function Use_OverLoads(ByVal strVar1 As String, ByVal strVar2 As String)As String
Return strVar1 & strVar2
EndFunction
Function Use_OverLoads (ByVal intVar As Integer) As Integer
Return intVar + intVar
EndFunction
Response.Write(Use_OverLoads (5))
Response.Write("
" & Use_OverLoads("Over", "Loads"))
10 پاسخ :
OverLoads
SAEED آنلاین نیست.   پاسخ با نقل قول

5 Lastest Threads by SAEED
Thread Forum Last Poster Replies Views Last Post
ماشینهای کم ارتفاع(خسته) اتومبيل هاي اسپرت SAEED 0 15668 24 Jan 2011 10:42
عکس نمایشگاه تیونینگ جده ۴ اتومبيل هاي اسپرت SAEED 0 4389 24 Jan 2011 10:39
تیونینگ » Sportec 580 اسب بخاری اتومبیل جنگنده و... مقايسه اتومبيل SAEED 0 5447 24 Jan 2011 10:28
مقایسه ی فنی رنو مگان و تندر ۹۰ (لوگان) مقايسه اتومبيل SAEED 0 4392 24 Jan 2011 10:23
بررسی خودرو های ۳۰ تا ۳۵ میلیون تومانی مقايسه اتومبيل SAEED 0 4183 24 Jan 2011 10:22

پاسخ


کاربران در حال دیدن موضوع: 1 نفر (0 عضو و 1 مهمان)
 
ابزارهای موضوع جستجو در موضوع
جستجو در موضوع:

جستجوی پیشرفته
نحوه نمایش

مجوز های ارسال و ویرایش
شما نمیتوانید موضوع جدیدی ارسال کنید
شما امکان ارسال پاسخ را ندارید
شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
شما نمیتوانید پست های خود را ویرایش کنید

BB code فعال است
شکلک ها فعال است
[IMG] فعال است
کد HTML غیر فعال است

انتخاب سریع یک انجمن


اکنون ساعت 14:43 برپایه ساعت جهانی (GMT - گرینویچ) +3.5 می باشد.