PDA

View Full Version : سوال: ByVal و ByRef چی هستن و چه فرقی دارن؟



SeyedMoosavi
سه شنبه 28 آبان 1387, 16:10 عصر
سلام
من در این مورد خوندم نوشته هایی ولی هیچی نمی فهمم اگه یکی لطف کنه و به صورت ساده و کامل توضیح بده ممنون میشم.
با تشکر

D32.00110
سه شنبه 28 آبان 1387, 17:12 عصر
سلام
من در این مورد خوندم نوشته هایی ولی هیچی نمی فهمم اگه یکی لطف کنه و به صورت ساده و کامل توضیح بده ممنون میشم.
با تشکر

این مطالب در فراخوانی توابع بررسی میشن :
به طور پیش فرض By Reference هست، ببینید شما وقتی پارامتر رو به یه تابع میفرستید با این روش اون تابع میتونه این متغیر رو تغییر بده ... و اگه به روش By Value بفرستید نمیتونه تغییر بده ...
اینجوری



Public Sub 00110(ByRef A as byte,ByVal B as byte)
...
A=A+1
B=B+1
...
End Sub

...
00110(3,3)
...

اینجا 00110 فراخوانی میشه ولی یکی از پارامترها byref هست و یکی byval حالا ببینید چی میشه :
بعد از تابع :
A به صورت byref هست پس تابع میتونه تغییر بده میشه 4
B به صورت byval هست پس تابع نمیتونه تغییر بده میشه 3

البته یه چیزایی همینطوری نوشتم که فقط بدونید کی به کیه ... :چشمک: