Показать сообщение отдельно
  #4  
Старый 21.11.2013, 18:06
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от 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; // Пропускаем ненужный блок (вместо его чтения)
Ответить с цитированием