Как узнать длину массива?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
natcap
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 234
Зарегистрирован: 25.06.2003 (Ср) 13:15
Откуда: Москва

Как узнать длину массива?

Сообщение natcap » 28.09.2003 (Вс) 9:44

есть массив, получаемый из строки:
myArr = Split(myText, " ")
как теперь узнать его длину? т.е. по сути мне нужен цикл for по всем элементам, как это реализовать? Или же может есть другое решение: мне надо из этого массива удалить дубликаты и слова длиной меньше чем определенная и потом все перекинуть в List

Очень срочно надо, помогите плииииииииииз!
Медленно переезжаю с 6.0 на 2008 .... задавая тонны глупых вопросов :)

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 28.09.2003 (Вс) 11:13

Попробуй так:

dim fLen As Long

For Each arr in MyArray
fLen=fLen+Len(arr)
Next

fLen - это и есть длина всех элементов массива (ИМХО)...

natcap
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 234
Зарегистрирован: 25.06.2003 (Ср) 13:15
Откуда: Москва

Сообщение natcap » 28.09.2003 (Вс) 11:21

Не подскжете, зачем мне длина строки????? :((((((((( Мне нужна длина массива!!!! (число элементов масива)
Медленно переезжаю с 6.0 на 2008 .... задавая тонны глупых вопросов :)

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 28.09.2003 (Вс) 13:08

'Извниняюсь :oops:

'Можно так:

Dim MyArray
Dim arr
dim fCnt As Long

MyArray = Split("My text is very interesting", " ")

For Each arr In MyArray
fCnt=fCnt + 1
Next
MsgBox "Количество элементов в массиве: " & fCnt

'Имхо, можно и иначе, но это само простое...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.09.2003 (Вс) 14:50

Во-первых, почему никто не юзает функции определения размера массива?
Код: Выделить всё
ArraySize=Ubound(ArrayName) - Lbound(ArrayName) + 1


Во-вторых, не следует никогда юзать for each на массивах! Ибо
Код: Выделить всё
dim i as long
for i=lbound(arrayname) to ubound(arrayname)
next
гораздо быстрее!
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

natcap
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 234
Зарегистрирован: 25.06.2003 (Ср) 13:15
Откуда: Москва

Сообщение natcap » 28.09.2003 (Вс) 14:57

Спасибо 6) Именно то, что нужно :)
Медленно переезжаю с 6.0 на 2008 .... задавая тонны глупых вопросов :)

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 28.09.2003 (Вс) 16:55

2GSerg То, что надо! 8)

Забыл про эти операторы :roll:

А такой примерчик сразу пришёл в голову :(


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

    TopList