PDA

View Full Version : سوال: برنامه نویسی کلاس در vb6



f.shahabadi
شنبه 25 دی 1389, 00:48 صبح
با سلام
من یک برنامه وی بی رو باید برای پس فردا آماده کنم که در آن یک کلاس باید تعریف شود که درواقع نشان دهنده یک مجموعه است با ارایه صد عنصری پرایوت و اعمال اشتراک اجتماع و تست مساوی حذف و درج و.... بر روی اشیا از کلاس ساخته میشه صورت گیرد
برای اشتراک اگر تابع را بصورت ز یر تعریف کنیم

Public Function intersection(b As Class1) As Integer()
Dim s(0 To 100) As Integer
For i = 0 To 100
If m(i) = 1 And b.getnum(i) = 1 Then
s(i) = 1
End If
Next i
intersection = s(i)
End Function
و در برنامه اصلی بصورت زیر استفاده کنیم:

c.Myval a.intersection(b)
البته من در ابتدا بصورتی که مقدار برگشتی نیز یک آبجکت از نوع کلاس باشد نوشتم ولی خطا داد پراپرتی را نیز به این صورت تعریف کردم ناگفته نماند معنی دقیق آن را نمی دانم ولی حدس زدم شاید اشکال کار از آنجا باشد

Public Property Let Myval(ByRef k() As Integer)
For i = LBound(k) To UBound(k)
m(i) = k(i)
Next i
End Property
Public Property Get Myval() As Integer()
Dim l() As Integer
For i = 0 To 100
l(i) = m(i)
Next i
Myval = l()
End Property
ولی بازم خطا میده تورو خدا کمک کنین اگه لینک یا نمونه کد دارین بذارین لطفا
اگه وقت دارین برنامم رو بذارم تا بیشتر متوجه برنامم بشین

محسن واژدی
یک شنبه 26 دی 1389, 09:53 صبح
کد کلاستون رو بصورت زیر ویرایش کردم البته داخل نوت پد ویندوز (چون اینجایی که من نشستم وی بی نداره و نتونستم ازش تست بگیرم)
private m() As Integer

Public Property Let Myval (ByVal k() As Integer)
Redim m(ubound(k)),i as integer
For i = LBound(k) To UBound(k)-1
m(i) = k(i)
Next i
End Property

Public Property Get Myval() As Integer
Myval = m

End Property



اگه دستور MyVal=m کار نکرد یه Set قبلش بزارین

امیدوارم درست باشه
یا علی