الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن BeRef , BeVal

مغلق
بدأه AliHamdan في 8 فبراير 2003 · 1 رد · 763 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ....

ما الفرق بين كل من BeRef و BeVal في تمرير المتغيرات وما اثر كل منهما مشكورين.

#2

الفرق انه عند تمرير متغير byVal فاننا نمرر نسخه من المتغير للعمل عليها فبالتالي المتغير نفسه لا يتأثر ..

بينما في الحاله الثانيه byRef (الحاله الطبيعية في الفيجوال) فاننا نمرر عنوان المتغير في الذاكرة (اي المتغير نفسه) فبالتالي قيمة المتغير نفسة ستتأثر بما ستقوم به الدوال مثلا..

و كمثال : ضع زرين على فورم ثم الصق الكود التالي و جرب الفرق ..

Private Sub Command1_Click()

Dim a

a = 1

test_byVal a

MsgBox a

End Sub



Private Sub Command2_Click()

Dim a

a = 1

test_byRef a

MsgBox a



End Sub



Public Sub test_byVal(ByVal a)

a = a + 1

End Sub

Public Sub test_byRef(ByRef a)

a = a + 1

End Sub

هذا الموضوع مغلق.

مواضيع مشابهة