Нефиксированная длина
Здравствуйте, comp!
В Delphi программировать начал недавно.
У меня небольшой вопрос...
Имеется тип:
type
TDocType=(TP_TEXT, TP_BITMAP);
TAnswer=record
AnswerText: TStringList;
AnswerBitmap: TBitmap;
Queue: integer;
Name: string;
end;
TAnswers=array of TAnswer;
TQuestion=record
QueType: TDocType;
AnsType: TDocType;
QuestionText: TStringList;
QuestionBitmap: TBitmap;
Answers: TAnswers;
Queue: integer;
Name: string;
end;
TQuestions=array of TQuestion;
TDocument=record
Name,
Author,
Version: string;
Max: integer;
Comments: TStringList;
Questions: TQuestions;
end;
Как TDocument сохранить в файл?
Я знаю, что нужны типы данных с фиксированной длиной, но всё-таки...
Можно сохранить не TDocument, а несколько TQuestion, тогда не будет
информации о документе...
Я так пробовал, но вместо TStringList сохраняется, естественно,
ерунда, а не сами строки.
Возможно ли вообще сохранить тип с нефиксированной длиной?
Здравствуйте, Alexo.
Вы писали 17 апреля 2005 г., 9:11:17:
Если решать "в лоб", то нужно использовать или нетипизированные файлы,
или файловые потоки. И там, и там придется записывать все поля записей
"руками", списочные и массивные поля записывать поэлементно, а для полей
строчечного типа и типа TBitmap нужно еще и их размер в байтах
записывать в тот же самый файл - чтобы потом можно восстановить было
из файла. Неудобно все это.
А если без мороки все это делать, и если задача позволяет свободу в
выборе методов решения, то лучше написать базу данных.