• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Тип данных определяемый пользователем

  • Автор темы pbnoob
  • Дата начала
P

pbnoob

День добрый!

В (Declarations) прописан сделующий тип данных определяемый пользователем
Код:
Public Type Card
'Name As String
Brand As String
Display As String
Color As String
Price As String

Choice As String
End Type
В библиотеке прописан следующий код
Код:
	Dim MinSelect As Integer
Dim FirstChoiseCard() As Card
...
MinSelect=10
...
Redim FirstChoiseCard(MinSelect-1)
Stop
'Get1 ???
Я по сути задаю некоторый массив "карточек". Как мне правильно написать заголовок функции Get1, чтобы передать в нее весь динамический массив. Буду рад получить наиболее полную информацию можно или нельзя это делать и разумно ли так поступать. (В работе с классами не силен, поэтому просьба на них не ссылать и не пинять мне этим. Буду очень признателен)
 
A

Akupaka

В работе с классами не силен
Да дети уже должны рождаться со знаниями ООП! ))
Учиться надо :)

Как мне правильно написать заголовок функции Get1, чтобы передать в нее весь динамический массив
Код:
function Get1(AParam as Variant)...
If IsArray(AParam) Then ... ' вариант проверки параметра, если необходима
 
P

pbnoob

тогда как прописать её вызов?
Код:
	Call Get1(FirstChoiseCard)
выдает ошибку "type mismatch"
 
A

Akupaka

Сделай объявление
Код:
Dim FirstChoiseCard As Variant

Наперед, ознакомься с операциями Redim и Redim Preserve, на всякий
 
P

pbnoob

Мне не надо variant, мне нужна работа с моим типом данных. Если это не приемлемо или не возможно, то так пожалуйста и ответьте.
 
A

Akupaka

Мне не надо variant, мне нужна работа с моим типом данных
Вариант не запрещает тебе работать с его хранимым как с твоим типом, массивом твоих типов и другой инфы.

Код:
Public Type Card
'Name As String
Brand As String
Display As String
Color As String
Price As String

Choice As String
End Type

Dim MinSelect As Integer
Dim FirstChoiseCardArray As Variant ' переменная для динам массива
Dim FirstChoiseCard As Card ' переменная для удобной работы с элементами динам массива
...
MinSelect=10
...
Redim FirstChoiseCardArray (MinSelect-1)

FirstChoiseCard.Brand = BrandValue
FirstChoiseCard.Display = DisplayValue
...
FirstChoiseCardArray(LBound(FirstChoiseCardArray)) = FirstChoiseCard
...
FirstChoiseCard = FirstChoiseCardArray(LBound(FirstChoiseCardArray))
...
Forall FirstChoiseCardArrayElement In FirstChoiseCardArray
FirstChoiseCard = FirstChoiseCardArrayElement
Print FirstChoiseCard.Brand
End Forall
...
Dim i as integer
For i = LBound(FirstChoiseCardArray) To UBound(FirstChoiseCardArray)
FirstChoiseCard = FirstChoiseCardArray(i)
Print FirstChoiseCard.Brand
Next i
 
Мы в соцсетях:

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