Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Проверка на то что дин. массив удален Добавлено: 02.07.04 09:40  

Автор вопроса:  Андрей Никитин | ICQ: 325172082 
Как проверить (и можно ли), что динамическому массиву был сделан Erase? Проверка через обработчик ошибки не подходит, так как надо условие вставить в if ...

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 02.07.04 16:42
Создай функцию, к примеру:

Public Function UboundS(ByRef sArray() as String) as long
    On Error Resume Next
    UboundS = &HFFFF: UboundS = UBound(sArray)
end sub

И используй ее в своей программы заместо UBound()

Ответить

Номер ответа: 2
Автор ответа:
 Андрей Никитин



ICQ: 325172082 

Вопросов: 3
Ответов: 81
 Профиль | | #2 Добавлено: 02.07.04 18:14
Спасибо за направление.
Сделал так:
Public Function IsEmptyArray(ByRef arrSource() as Variant) as boolian
dim iUpperBound as Long
On Error goto EmptyArray
  iUpperBound = UBound(arrSource)
  IsEmptyArray = False
  Exit Function
EmptyArray:
  IsEmptyArray = True
End Function

Теперь можно использовать:
if IsEmptyArray(arrMyArray) then...

Ответить

Номер ответа: 3
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #3
Добавлено: 02.07.04 19:46
у меня короче ;)
к тому же тут с пом. этой функции можно делать удобный ReDim Preserve...

Например:

for i=0 to x
    redim preserve(UBoundS(sArr) + vbNull)
    sArr(UBound(sArr)) = ...
next

да и недолго проверить на пустоту ;)
if UBoundS(sArray) = &HFFFF then exit sub/function
:)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам