Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / кол-во элементов в массиве / 25 сообщений из 32, страница 1 из 2
25.08.2004, 11:23
    #32664346
raur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
Привет всем
как подсчитать кол-во элементов в массиве?
dim MyArray - массив
как узнать сколько в нем элементов?
Спасибо
...
Рейтинг: 0 / 0
25.08.2004, 11:29
    #32664361
raur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
ubound
...
Рейтинг: 0 / 0
25.08.2004, 11:30
    #32664362
Bolik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
Где-то я это уже видел :)
Код: plaintext
1.
C = Ubound(MyArray) - LBound(MyArray) +  1 
Это даст количество элемнтов. Если нужны непустые значения - только прямой перебор.
...
Рейтинг: 0 / 0
25.08.2004, 11:33
    #32664367
raur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
спасибо
я зделал через ubound
...
Рейтинг: 0 / 0
25.08.2004, 12:08
    #32664435
marvan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
Тут где-то массивы неопределённого размера бесплатно раздают? Что это все вдруг стали интересоваться?
...
Рейтинг: 0 / 0
25.08.2004, 12:31
    #32664499
raur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
Привет marvan

все это кто?
...
Рейтинг: 0 / 0
25.08.2004, 13:05
    #32664604
marvan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
31.01.2007, 09:51
    #34294962
Х-men2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
Народ, подскажите как добавит переменную в одномерный массив?
...
Рейтинг: 0 / 0
31.01.2007, 11:56
    #34295522
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
Dim a() As String

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Private Sub Form_Load()
   ReDim a( 1  To  2 ) As String
   a( 1 ) = "First"
   a( 2 ) = "Second"
   ShowArray "Org array"
   ReDim Preserve a( 1  To  3 )
   a( 3 ) = "Third"
   ShowArray "Redim preserve to 3"
   ReDim a( 1  To  4 )
   ShowArray "Redim only"
End Sub

Private Sub ShowArray(ByVal Header As String)
   Dim i As Long
   Debug.Print Header
   For i = LBound(a) To UBound(a)
      Debug.Print "a(" & i & ")="; a(i)
   Next
End Sub
...
Рейтинг: 0 / 0
01.02.2007, 08:44
    #34297976
Х-men2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
Спасибо, конечно, но у меня немного другая ситуация: считываем строковую переменную и записываем ее в одномерный массив. И я так понимаю каждый элемент массива - это символ строки. Это возможно сотворить?
...
Рейтинг: 0 / 0
01.02.2007, 08:46
    #34297981
Х-men2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
... И еще вопросик. Как передать функции(не важно какой, например mifaresessionopen2(@cert,_port), @cert - это вот должен быть адрес, но это так на Delphi написано) адрес массива?
...
Рейтинг: 0 / 0
08.02.2007, 09:41
    #34314713
X-men2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
Ну чего, никто не подскажет?
...
Рейтинг: 0 / 0
08.02.2007, 09:48
    #34314738
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
CByte но это не тривиально.
а так - делай сам Mid, Asc

аффтопитезь: объект либо именован, либо не существует
...
Рейтинг: 0 / 0
08.02.2007, 10:17
    #34314835
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
Х-men2... И еще вопросик. Как передать функции(не важно какой, например mifaresessionopen2(@cert,_port), @cert - это вот должен быть адрес, но это так на Delphi написано) адрес массива?Передавай указатель на первый элемент массива - VarPtr(r(0))
...
Рейтинг: 0 / 0
08.02.2007, 12:51
    #34315504
X-men2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
Antonariy Х-men2... И еще вопросик. Как передать функции(не важно какой, например mifaresessionopen2(@cert,_port), @cert - это вот должен быть адрес, но это так на Delphi написано) адрес массива?Передавай указатель на первый элемент массива - VarPtr(r(0))

??? Чего то не понял - первый элемент и будет являться адресом массива? Так что ли?
...
Рейтинг: 0 / 0
13.02.2007, 16:17
    #34327646
X-men2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
Ну VarPtr - это "недокументированная" функция. А вот есть ее аналог(или нет?) agGetAddressForObject(myarray(0)), но она почему то не работает... или ее объявлять надо?
...
Рейтинг: 0 / 0
14.02.2007, 09:52
    #34329147
X-men2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
WorobjoffDim a() As String

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Private Sub Form_Load()
   ReDim a( 1  To  2 ) As String
   a( 1 ) = "First"
   a( 2 ) = "Second"
   ShowArray "Org array"
   ReDim Preserve a( 1  To  3 )
   a( 3 ) = "Third"
   ShowArray "Redim preserve to 3"
   ReDim a( 1  To  4 )
   ShowArray "Redim only"
End Sub

Private Sub ShowArray(ByVal Header As String)
   Dim i As Long
   Debug.Print Header
   For i = LBound(a) To UBound(a)
      Debug.Print "a(" & i & ")="; a(i)
   Next
End Sub


Как нибудь попроще можно поместить из текстового поля (String) на форме данные в массив (String)?
...
Рейтинг: 0 / 0
15.02.2007, 09:12
    #34332093
X-men2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
А вот еще задачка - как сослаться на массив (ссылка на массив), Set(ом)?
...
Рейтинг: 0 / 0
15.02.2007, 11:12
    #34332504
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
X-men2 Как нибудь попроще можно поместить из текстового поля (String) на форме данные в массив (String)?

Может лучше скажешь что ты в итоге хочешь получить?
А то совершенно непонятен твой вопрос...
...
Рейтинг: 0 / 0
15.02.2007, 11:28
    #34332570
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
Х-men2Спасибо, конечно, но у меня немного другая ситуация: считываем строковую переменную и записываем ее в одномерный массив. И я так понимаю каждый элемент массива - это символ строки. Это возможно сотворить?

Да элементарно - туда и обратно - следи за ручками:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Public Sub Main()
    Dim s As String, m() As Byte, i As Long, ss As String
    
    s = "Проверка"
    
    Debug.Print "s  = " & s
    
    m = s
    
    For i =  0  To UBound(m) Step  2 
        Debug.Print m(i +  1 ), m(i)
    Next i
    
    ss = m
    
    Debug.Print "ss = " & ss
End Sub
...
Рейтинг: 0 / 0
15.02.2007, 13:01
    #34333009
X-men2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
AndrF X-men2 Как нибудь попроще можно поместить из текстового поля (String) на форме данные в массив (String)?

Может лучше скажешь что ты в итоге хочешь получить?
А то совершенно непонятен твой вопрос...

Ну если в общем то вот:

В текст. поле на форме есть значение 000ЕС000. Нужно записать его в массив таким образом чтоб каждый элемент был символом того значения, т.е. выводился такой массив '0','0','0','E' ... и т.д.
...
Рейтинг: 0 / 0
15.02.2007, 13:10
    #34333068
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
X-men2В текст. поле на форме есть значение 000ЕС000. Нужно записать его в массив таким образом чтоб каждый элемент был символом того значения, т.е. выводился такой массив '0','0','0','E' ... и т.д.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Public Sub test()
Dim strMy As String, sArray(), i As Long, l As Long

strMy = "Just a test!"
l = Len(strMy)
ReDim sArray(l- 1 )

For i =  1  To l
    sArray(i -  1 ) = Mid$(strMy, i,  1 )
Next i

For i =  1  To l
    Debug.Print sArray(i -  1 )
Next i

End Sub
...
Рейтинг: 0 / 0
15.02.2007, 14:25
    #34333433
X-men2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
Проходящий X-men2В текст. поле на форме есть значение 000ЕС000. Нужно записать его в массив таким образом чтоб каждый элемент был символом того значения, т.е. выводился такой массив '0','0','0','E' ... и т.д.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Public Sub test()
Dim strMy As String, sArray(), i As Long, l As Long

strMy = "Just a test!"
l = Len(strMy)
ReDim sArray(l- 1 )

For i =  1  To l
    sArray(i -  1 ) = Mid$(strMy, i,  1 )
Next i

For i =  1  To l
    Debug.Print sArray(i -  1 )
Next i

End Sub


А можно ли какой-либо переменной присвоить(поставить в соответсвие) адрес этого массива? Но только не через varptr, а как бы просто указатель, который передавал бы не адрес а сам массив. Я вот никак сам не разберусь, может при помощи Set?
...
Рейтинг: 0 / 0
15.02.2007, 14:26
    #34333437
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
X-men2В текст. поле на форме есть значение 000ЕС000. Нужно записать его в массив таким образом чтоб каждый элемент был символом того значения, т.е. выводился такой массив '0','0','0','E' ... и т.д.

Вообще-то это дело в байтовый массив просится, насколько я понимаю, если это Hex-коды.

Или вообще в Long, если это число: CLng(&H000EC000) или CLng("&H" & "000EC000").
...
Рейтинг: 0 / 0
15.02.2007, 14:34
    #34333480
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кол-во элементов в массиве
X-men2А можно ли какой-либо переменной присвоить(поставить в соответсвие) адрес этого массива? Но только не через varptr, а как бы просто указатель, который передавал бы не адрес а сам массив. Я вот никак сам не разберусь, может при помощи Set?

Да вроде все просто:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Function Test_array()
Dim ar( 1 )
ar( 1 ) = "Here you are"
Test_array = ar
End Function

Sub test()
Dim my_array
my_array = Test_array
Debug.Print my_array( 1 )
End Sub
или я не понимаю что требуется...

AndrFВообще-то это дело в байтовый массив просится, насколько я понимаю, если это Hex-коды. Или вообще в Long, если это число: CLng(&H000EC000) или CLng("&H" & "000EC000").
Согласен. Скорее всего можно простыми битовыми операциями решить задачу. но автор хочет так.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / кол-во элементов в массиве / 25 сообщений из 32, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]