Заранее неизвестное количество переменных

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Yuri_S
Обычный пользователь
Обычный пользователь
 
Сообщения: 97
Зарегистрирован: 17.07.2003 (Чт) 20:12
Откуда: Kiev,Ukraine

Заранее неизвестное количество переменных

Сообщение Yuri_S » 04.11.2003 (Вт) 12:34

Я делаю программу учета CD.Но есть одна проблемма-я знаю единственный способ ее выполнения(показан в примере), но тогда надо вводить определенное максимальное значение дисков, как записей-в моем случае 2(var1/var2). А как сделать, чтоб например при создании новой записи в файл записывалось имя диска но с N-переменной, ведь мы не знаем зараннее сколько у меня дисков, 2 или 200.... Вобщем мне надо каким-нить образом не прописывать эти 200 или больше переменных, а выкрутиться по другому.Как?


'в модуль
Public Type MyType
var1 As Variant
End Type

'на форму
Private Sub Save_Click()
Dim MyVar As MyType
MyVar.var1 = Text1.Text
MyVar.var2 = Text2.Text
Dim ff As Long
ff = FreeFile
Open (App.Path & "\file.txt") For Binary As #ff
Put #ff, , MyVar
Close #ff
End Sub

Private Sub Form_load()
Dim MyVar As MyType
Dim ff As Long
ff = FreeFile
Open (App.Path & "\file.txt") For Binary As #ff
Get #ff, , MyVar
Close #ff
Text3.Text = MyVar.var1
Text4.Text = MyVar.var2
End Sub

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 04.11.2003 (Вт) 12:48

Коллекции для этого существуют.

И тогда будешь в нее добавлять переменные методом Add и доставать их оттуда методом Item и ноу проблем.

Yuri_S
Обычный пользователь
Обычный пользователь
 
Сообщения: 97
Зарегистрирован: 17.07.2003 (Чт) 20:12
Откуда: Kiev,Ukraine

Сообщение Yuri_S » 04.11.2003 (Вт) 19:54

а....ну попробоую.А какой синтаксис создания коллекции? :lol:

sanches
El compañero
El compañero
 
Сообщения: 823
Зарегистрирован: 09.01.2003 (Чт) 3:58
Откуда: Р_О_С_С_И_Я ! (Питер)

Сообщение sanches » 05.11.2003 (Ср) 8:07

Да в ClassBuilder'е меньше чем за секунду создашь :wink:
Изображение

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 05.11.2003 (Ср) 20:02

Код: Выделить всё
Sub Form_Load()
Dim Col As Collection
Set Col = New Collection
End Sub
Нет меня больше

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 10.11.2003 (Пн) 8:20

А не легче-ли использовать динамический массив?

Public Type MyType
var1 As Variant
var1 As Variant
End Type

Redim Preserve MyVar (сколько нужно) As MyType
Redim Preserve MyVar (сколько нужно+1) As MeType
......


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 8

    TopList