как определить количество элементов в массиве

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

Сообщение vrodo » 26.11.2003 (Ср) 12:39

Lbound(array) - нижняя граница
Ubound(array) - верхняя граница

Пример
Код: Выделить всё
Dim Lower
Dim MyArray(1 To 10, 5 To 15, 10 To 20)    ' Declare array variables.
Dim AnyArray(10)
Lower = Lbound(MyArray, 1)    ' Returns 1.
Lower = Lbound(MyArray, 3)   ' Returns 10.
Lower = Lbound(AnyArray)   ' Returns 0 or 1, depending on
   ' setting of Option Base.


То же для Ubound
Удачи
Чтобы понять свои ошибки их достаточно написать (c)
Интернет большой, ему видней
С наилучшими Пожеланиями и Всех Благ :D

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 26.11.2003 (Ср) 12:56

zooy писал(а):дико извиняюсь, но я недописал одну важную вещь, это не просто VB но VBA (будь он неладен) - там нет UBound - собственно поэтому вопрос и встал

не надо извинений. и с VBA все впорядке есть в нем функция UBound. как же без нее
Код: Выделить всё
Sub Макрос1()
    Dim i(10) As Integer
    Dim s As Integer
   
    s = UBound(i)
    MsgBox s
End Sub

писано в Word VBA-редакторе.
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 26.11.2003 (Ср) 13:10

zooy писал(а):ха, забавно
об этих то функциях я знал, только незнал как они точно пишутся, набираю UB и пихаю кнопку дописывания функций, там их нет, я и решил что все, конец, кина не будет :)

еще как забавно. доходит до того, что функция автозавершения на одной машине для определенной функции (встроенной) работает нормально, зато на соседней - не дает никакого эффекта (причем, для той же самой функции). такой глюк наблюдается и в VBA- и VB-IDE.
так что, иногда надо, все-таки, обращатся к справочной информации, или ObjectBrowser'у
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 26.11.2003 (Ср) 13:18

На UBound(), LBound(), Open, Put, Get, Input и ещё на некоторые функции и команды языка функция автозавершения почему-то не распространяется. И не только в VBA.

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 26.11.2003 (Ср) 13:27

Это к парням из Редмонда, но в .NET таких багов уже нет, там все, что можно, закрывается само :(.
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

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

Сообщение GSerg » 27.11.2003 (Чт) 10:55

skiperski писал(а):На UBound(), LBound(), Open, Put, Get, Input и ещё на некоторые функции и команды языка функция автозавершения почему-то не распространяется. И не только в VBA.

Всё правильно. В списке автозавершения появляется только то, что есть в Object Browser. По умолчанию последний не покаазывает скрытые элементы. Если заставить их показать, то в числе прочих появится _HiddenModule, содержащий Array, Input, Width и получение указателей. После этого Input появится в списке автозавершения.
А Open, Get - это вообще не функции, это конструкции языка, их там и не должно быть. К примеру, никого ведь не удивляет, что нельзя автозавершить слово Then?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 27.11.2003 (Чт) 12:56

Вах! Маладэц! Харашо сказал!


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

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

Сейчас этот форум просматривают: AhrefsBot, PetalBot и гости: 7

    TopList