Тема: Как узнать массив пуст или нет?

Как узнать массив пуст или нет...?

Re: Как узнать массив пуст или нет?

Откровенно говоря, не вижу другого способа, кроме как просмотреть весь массив с помощью цикла for...

Re: Как узнать массив пуст или нет?

пустой массив - это массив не содержащий ни одного элемента, т.е. имеющий размерность = 0
вы, видимо, хотите узнать содержат ли элементы массива какие-то значения - тогда, действительно, без цикла не обойтись.

Re: Как узнать массив пуст или нет?

Простите возможно я не правильно сформулировал вопрос!!!
например...
Dim Arr() as variant
............
тело процедуры
............
итог
нужно проверить был ли заполнен массив Redim Arr (....)
если нет то функция Ubound(Arr) возвращает ошибку, так как массив фактически не имеет длины...но переменная обьявленна как массив. А нужно знать есть в нем данные или нет.

Re: Как узнать массив пуст или нет?

тогда проще всего написать функцию, котоая в случае ошибки при использовании функции UBound(Arr) вернет False, а в случае нормальной отработки - True.
вот и все ... :)

Re: Как узнать массив пуст или нет?

спасибо ... я так и думал...надеялся может, как нить по другому можно, но увы

Re: Как узнать массив пуст или нет?

Есть стандартная функция, по крайней мере, для Excel VBA.
Точно не помню, посмотрю в книге, подскажу. Но она есть.

Re: Как узнать массив пуст или нет?

Sub A_Test()
     Dim Arr() As Variant
     Call ArrayTest(Arr)
End Sub
Function ArrayTest(Arr) As Boolean
     Dim L As Long
     On Error Resume Next
     L = UBound(Arr)
     If (Err.Number = 9) Then
          ArrayTest = True
          MsgBox "Array is empty!"
     End If
End Function

Re: Как узнать массив пуст или нет?

Функция IsArray(А). А-массив
Возвращает true, если переменная типа Variant содержит массив значений, и false если нет.

Re: Как узнать массив пуст или нет?

> Leonid
спасибо))

> Gorez
не совсем верно...если переменная обьявленна как массив Dim A() as variant функция IsArray всегда будет возвражать"истину"