PDA

View Full Version : سوال: خالی کردن همه ی آرایه



mehdi50
سه شنبه 23 اسفند 1390, 18:03 عصر
چجوری میشه بدون استفاده از حلقه , کل خانه های یک آرایه رو NULL کرد مثل اولش که هیچی توش نبوده؟

M.T.P
سه شنبه 23 اسفند 1390, 18:14 عصر
برای پاک سازی آرایه می تونید از دستور Erase استفاده کنید.


Erase arrayname

mehdi50
سه شنبه 23 اسفند 1390, 18:30 عصر
حالا سئوال دیگه
من نمیدونم در زمان تعریف آرایه DIM X(G) AS STRING بجای G چه عددی بذارم چون معلوم نیست چندتا بخواد چجوری باید تعریفش کنم؟
از REDIM هم نمیخوام استفاده کنم

M.T.P
سه شنبه 23 اسفند 1390, 19:25 عصر
اصلا عدد نگذار یعنی طول آرایه رو مشخص نکن ، بعد با توجه به تعدادی که معلوم شد آرایه رو ReDim کن.



ReDim arrData(intNum) as string

بهروز عباسی
سه شنبه 23 اسفند 1390, 20:53 عصر
آرایه رو ReDim کن.
کار redim چیه و در چه مواقعی به کار میره ممنون از کمک.

Veteran
سه شنبه 23 اسفند 1390, 21:27 عصر
با آجازه جناب M.T.P
وقتی بخوایم طول یک ارایه رو افزایش بدیم از redim استفاده میکنیم
البته باید اون ارایه ای که قراره در برنامه طول اون تغییر کنه باید در ابتدای تعریف ارایه بدون طول باشه
مثلا
Dim Arr() As String
این ارایه طول نداره باید طول اون رو تغییر بدیم تا بشه ازش استفاده کرد
Redim Arr(5) As String
خب حالا طول اون افزایش پیدا کرد
دوباره میتونین تغییر بدین
Redim Arr(15) As String
فقط یک نکته ای که اینجاس اینکه هر موقعه طول ارایه رو تغییر بدین از دست میده مقدار های قبلی رو
مثلا
Dim arr() As String
ReDim arr(5) As String
arr(3) = "Barnamenevis"
MsgBox arr(3)
ReDim arr(7)
MsgBox arr(3)
ما اینجا طول رو به 5 تغییر دادیم که میشه 6 خونه چرا که از 0 هست تا 5
بعد خونه شماره 3 رو مقدار Barnamenevis دادیم بعد

اینجا اولین پیغام پیغام خونه شماره 3 که همون Barnamenevis هست به نمایش در میاد
بعد طول ارایه تغییر میکنه
دوباره پیغام خونه شماره 3 رو میده اما چون طول ارایه تغییر کرده هیچی نشون نیمده چرا که مقدار ها بعد هر تغییر طول ارایه از دست میده
اگر بخوایم از این کار جلوگیری کنیم باید از کلمه Preserve استفاده کنیم
به این شکل
Dim arr() As String
ReDim arr(5) As String
arr(3) = "Barnamenevis"
MsgBox arr(3)
ReDim Preserve arr(7)
MsgBox arr(3)
دیگه مقدار ها از دست نمیره و بعد از تغییر طول ارایه برای دومین بار مقدار ها در دسترس هست و در پیغام دوم بعد از تغییر طول برای بار دوم Barnamenamevis به نمایش در میاد

just4froum
سه شنبه 23 اسفند 1390, 21:45 عصر
البته یک نکته کلیدی :

با Preserve فقط میشه بعد آخر آرایه رو تغییر داد.