• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Массив

  • Автор темы wowa
  • Дата начала
W

wowa

Подскажите, пожалуйста...
Я раньше всегда забирал список форм из базы вот таким способом
' Получаем список форм открытой БД
Forall form In db.Forms
stMsgString = stMsgString & Chr(10) & form.Name
End Forall

Но это получется строка, а мне нужно массив...
Это как -то делается (как я понимаю) Redim.. но я так и не понял как (((...
 
R

Ronchik

Подскажите, пожалуйста...
Я раньше всегда забирал список форм из базы вот таким способом
' Получаем список форм открытой БД
Forall form In db.Forms
stMsgString = stMsgString & Chr(10) & form.Name
End Forall

Но это получется строка, а мне нужно массив...
Это как -то делается (как я понимаю) Redim.. но я так и не понял как (((...
Можно вот так

Код:
Dim stMsgString() as string
Dim i as Integer
i=0
Forall form In db.Forms 
ReDim Preserve stMsgString(i)
stMsgString(i) = form.Name 
i=i+1
End Forall
 
M

morpheus

Для: wowa
RTFM + Dynamic arrays

на самом деле всё просто
используя Redim мы указываем верхнюю границу массива от 0 до N, с полным очищением всех значений в массиве
используя Redim Preserve мы указываем верхнюю границу массива от 0 до N, НО ранее введённые хначения в массиве остаються

Код:
Dim arrMyArray() as string ' мы обвиили дин. массив 
i = 0 
Forall form In db.Forms  
Redim Preserve arrMyArray(i)  
arrMyArray(i) = form.Name
i = i + 1 
End Forall



а в Вашем коде легко зделать из строки массив
Код:
dim f as variant
Forall form In db.Forms 
stMsgString = stMsgString & Chr(10) & form.Name 
End Forall
f = Evaluate( { @Explode(} & stMsgString & {; @Char(10) )} )
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
А можно сразу создать массив нужного размера:
Код:
Dim arr() As String
Redim arr(Lbound(db.Forms) To Ubound(db.Forms))
 
M

morpheus

Для: wowa
бедный, стока ответов... фиг разгребёш... :D :D :D ;)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!