M Y D E L P H I 7 . R U Самоучитель программирования  
 
  • Главная
  •  

     

    Сохранение набора данных в файлах

    Клиентское приложение может использовать одну очень удобную функцию компонента TClientDataSet. Представим, что соединение между сервером и клиентом обладает малой пропускной способностью и к тому же часто обрывается. Что в этом случае делать пользователю, который внес много изменений и не может сохранить их на сервере?

    В этом случае можно сохранить набор данных клиента в файле на локальном диске, а при удобной возможности — загрузить обратно и переслать на сервер.

    Для сохранения данных (по существу это буфер Data) в файле используется метод

    procedure SaveToFile(const FileName: string = ''; Format: TDataPacketFormat=dfBinary);

    Причем, если параметр FileName пуст, имя файла берется из свойства

    property FileName: string;

    Также можно передать данные в поток:

    procedure SaveToStream(Stream: TStream;

    Format: TDataPacketFormat=dfBinary);

    Формат, в котором данные будут сохранены, определяется параметром

    Format!

    type TDataPacketFormat = (dfBinary, dfXML, dfXMLUTFS);

    где dfBinary — бинарный вид, dfXML — формат XML, dfXMLUTFS — формат XML в кодировке UTF8.

    Обратная загрузка данных, соответственно, выполняется методами:

    procedure LoadFromFile(const FileName: string = '');

    и

    procedure LoadFromStreamfStream: TStream);

    После загрузки набор данных полностью готов к работе:

    if LoadFileDialog.Execute then 

    begin

    ClientDataSet.LoadFromFile

    (LoadFileDialog.FileName);

    ClientDataSet.Open; 

    end;