Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запись динамического массива в файл [D6, Win95/98]


Artem K. ©   (2002-03-12 10:38:00) 

Здравствуйте, Мастера.
Имется запись, например:

type
r=record
a:array of string[30];
b:array of double;
end;
var
f:file of r;
p:r;

...
setlength(p.a,10);
setlength(p.b,20);
...
// Заполнение массивов данными
...
assignfile(f,"filename.ext");
rewrite(f);
write(f,p);
closefile(f);
...
Но при компиляции выдаётся ошибка:
Type "r" needs finalization - not allowed in file type

Подскажите как сохранить в файл запись с полями типа динамический массив.


Anatoly Podgoretsky   (2002-03-12 21:16:00) [1]

В файл недо записывать значения, а не массив указателей. Поэтому конструкция f:file of r; немного бессмысленна.


Sasha9   (2002-03-12 11:04:00) [2]

ещё можно использовать нетипизированный файл (var f:file;), только вместо read и write - blockread и blockwrite


Alx2   (2002-03-12 10:41:00) [3]

Используй бинарные файли или потоки.
Для информации о количестве элементов в массивах заведи в recordе специальные поля.


Наверх

Титульная страница Поиск, карта сайта Написать письмо