PDA

View Full Version : بررسی خطای Subscript out of range در هنگام خالی بودن یک آرایه



abolfazl-z
یک شنبه 21 خرداد 1391, 20:51 عصر
با سلام به دوستان :چشمک:
آقا چطوری میشه زمانی که آرایه تعریف نشده یعنی هیچ مقداری به آرایه نسبت نداده باشیم آن را کنترل کنیم.
یعنی:

Dim A() As String
If ..... then

یعنی به جای ....... چی بزاریم که بگه این آرایه خانه هایی برای آن تعریف نشده؟؟؟؟؟؟؟؟؟؟؟
هرچی گذاشتم اعم از Null و Empty بازم خطای Subscript out of range
:متفکر::متفکر::متفکر::متفکر:: تفکر::متفکر::متفکر::متفکر::م فکر::متفکر::متفکر::متفکر::مت کر:

arenaw
یک شنبه 21 خرداد 1391, 21:51 عصر
سلام
نمیدونم درست باشه یا نه ولی جواب میده

Private Sub Form_Load()
On Error GoTo Err
Dim A()
If UBound(A) <> vbNull Then MsgBox "Not Empty"
Err:
If Err.Number = 9 Then MsgBox "Empty"

محسن واژدی
دوشنبه 22 خرداد 1391, 01:21 صبح
سلام علیکم
میتوانید از تابع زیر هم استفاده کنید:

Public Function IsArrayEmpty(lArray()) As Boolean
IsArrayEmpty = (Not lArray) = -1
End Function

برای مثال:

Private Sub Command1_Click()
Dim arrNums()
MsgBox "IsArrayEmpty? " & IsArrayEmpty(arrNums)
ReDim arrNums(100)
MsgBox "Again IsArrayEmpty? " & IsArrayEmpty(arrNums)
End Sub

موفق باشید

abolfazl-z
دوشنبه 22 خرداد 1391, 06:27 صبح
مرسی دوستان عزیز

:تشویق::تشویق::تشویق::تشویق:: شویق::تشویق::تشویق::تشویق::ت ویق::تشویق:

alijoje
یک شنبه 21 آبان 1391, 15:23 عصر
سلام منم همچین مشکلی دارم ولی این کد هایی که دادید کجا باید بزنم؟

MohammadGh2011
یک شنبه 21 آبان 1391, 20:31 عصر
سلام منم همچین مشکلی دارم ولی این کد هایی که دادید کجا باید بزنم؟
سلام عليکم
واضحه، بايد تو کد نويسي برنامت بنويسيد؛ اولي تابعه که جناب آقاي واژدي نوشتند دومي هم ميتونيد تو يک کامند بنويسيد.

موفق باشيد