Цитата:
Сообщение от kti
Заработало! Спасибо огромное! т.е. по такому-же принципу я могу любые данные сохранить.. ясно
У меня еще пару вопросов  если можно
1) Для загрузки данных в программе используется конструкция через TMemoryStream:
.....
Чем этот подход принципиально может отличаться от Вашего (от TFileStream), почему был выбран именно TMemoryStream?
|
TMemoryStream - работает в памяти. TFileStream - работает с файлом.
Почему в той программе сделано через TMemoryStream я не знаю.
Цитата:
Сообщение от kti
2) Мне нужно в этот-же файл дописывать данные. т.е например уже есть "Иванов", "Петров", мне нужно дописать в этот-же файл данные "Сидоров". Будет-ли работать такой вариант:
Код:
// файл уже существует, с 2 записями, мне надо добавить 3 запись
FS := TFileStream.Create('c:\temp\test.dat', fmOpenRead);
// как-то надо спозиционировать FS на конец файла ??
FS.WriteBuffer(template1Length, SizeOf(template1Length)); // Сначала записываем размер данных
FS.WriteBuffer(bufferTemplate1^, template1Length); // А потом сами данные
|
Просто пропускаем ненужные блоки:
Код:
FS.ReadBuffer(len, SizeOf(len)); // Считываем длину блока
FS.Position := FS.Position + len; // Пропускаем ненужный блок (вместо его чтения)