PDA

View Full Version : مقدار دهی ارایه؟؟



سپهر-111
دوشنبه 26 تیر 1391, 19:14 عصر
سلام دوستان برنامه نویس:خجالت:
چطور میشه یه ارایه رو مقدار دهی کرد
چند مثال تو کتاب بود ولی چیزی که میخواستم نبود
میخوام مثل این باشه

Dim TEST(3) As Byte
TEST(0,1,2,3) = 1,4,3,15
بشه موقع تعریف راحت مقدار دهیش کرد
البه چیزی که تو کتاب نوشته بود باید تک تک مقدار دهی میکردی چیزی شبیه به این....


Dim MyArray(5) As Integer
Dim i As Integer
For i = 0 To 4
MyArray(i) = InputBox("Enter Number")
Next


ممنون میشم راهنمایی کنید
باتشکر:قلب:

محسن واژدی
دوشنبه 26 تیر 1391, 19:26 عصر
سلام علیکم
برای مقدار دهی به اینصورت میتوانیم آرایه را بصورت پویا اعلان سپس توسط تابع Array آنرا مقدار دهی کنیم، کد زیر را بررسی کنید:

Private Sub Command1_Click()
Dim TEST()
TEST = Array(1, 4, 3, 15)

'Checking our array values
Dim i
For i = LBound(TEST) To UBound(TEST)
MsgBox TEST(i)
Next
End Sub


موفق باشید

سپهر-111
دوشنبه 26 تیر 1391, 21:27 عصر
سلام علیکم
برای مقدار دهی به اینصورت میتوانیم آرایه را بصورت پویا اعلان سپس توسط تابع Array آنرا مقدار دهی کنیم، کد زیر را بررسی کنید:

Private Sub Command1_Click()
Dim TEST()
TEST = Array(1, 4, 3, 15)

'Checking our array values
Dim i
For i = LBound(TEST) To UBound(TEST)
MsgBox TEST(i)
Next
End Sub


موفق باشید



سلام دوست من ممنون از جوابت
ولی من میخوام نوع ارایه را byte تعریف کنم
ولی با این روشی که شما فرمودید فقط variant میشه تعریف کرد
ممنون میشم کسی کمک کنه
باتشکر

محسن واژدی
دوشنبه 26 تیر 1391, 21:42 عصر
سلام دوست من ممنون از جوابت
ولی من میخوام نوع ارایه را byte تعریف کنم
ولی با این روشی که شما فرمودید فقط variant میشه تعریف کرد
ممنون میشم کسی کمک کنه
باتشکر
سلام علیکم

Array(ParamArray ArgList() As Variant)

نوع برگشتی این تابع Variant هست، به عبارتی بجز Variant نوع دیگری را قبول نمی کند.
بهرحال Variant هر نوعی می تواند باشد که این Byte را هم شامل میشود و از آن در هرجایی میتوانیم استفاده کنیم، حتی اگر نوع مقصد Byte باشد

موفق باشید

the king
دوشنبه 26 تیر 1391, 22:23 عصر
سلام دوست من ممنون از جوابت
ولی من میخوام نوع ارایه را byte تعریف کنم
ولی با این روشی که شما فرمودید فقط variant میشه تعریف کرد
ممنون میشم کسی کمک کنه
باتشکر


Private Sub Form_Load()
Dim a() As Byte
a = ArrayByte(1, 2, 3, 4, 5)
End Sub

Private Function ArrayByte(ParamArray values() As Variant) As Byte()
Dim index As Long, lastIndex As Long
Dim a() As Byte
lastIndex = UBound(values)
ReDim a(0 To lastIndex)
For index = 0 To lastIndex
a(index) = values(index)
Next
ArrayByte = a
End Function