Сохранить структуру с данными в файл

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Zaharium
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 27.05.2009 (Ср) 22:43

Сохранить структуру с данными в файл

Сообщение Zaharium » 06.09.2009 (Вс) 15:08

В программе имеется структура данных, используемых при работе программы. Урощенно она выглядит так:

Type Stolby
NAME As String
Numer As Integer
Type As DataTypeEnum
End Type

Type BazaFiles
strType As String
OK() As Boolean
STOLBS() As Stolby
End Type

Type BazaProject
bFiles() As BazaFiles
NAME As String
End Type

Public myProject as BazaProject

Это очень упрощённая схема. В действительности она раза в три больше. Но суть не в этом. Надо как-то быстро сохранить данные в файл.

Напрашивается мысль делать это так:

Open "C:\Projects" For Random As #1
print #1, ,myProject
close

Получаю ошибку:
Can't Get or Put an object reference variable or a variable of user-defined type containing an object reference
То есть при наличии вложенных типов сохранить их подобным образом в файл нельзя.
Но может кто подскажет, как это сделать? Не развёртывать же всю структуру и сохранять каждый параметр по-отдельности?

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Сохранить структуру с данными в файл

Сообщение Debugger » 06.09.2009 (Вс) 15:17

Zaharium писал(а):Type Stolby
NAME As String
Numer As Integer
Type As DataTypeEnum
End Type

Нельзя сохранять энумы и Object'ы. У тебя Stolby.Type - энум. Сохраняй его как byte/integer.

Zaharium
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 27.05.2009 (Ср) 22:43

Re: Сохранить структуру с данными в файл

Сообщение Zaharium » 06.09.2009 (Вс) 23:12

Да ! Всё верно! Спасибо!!!


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 88

    TopList