|
Сохранение набора данных в файлах
Клиентское приложение может использовать
одну очень удобную функцию компонента 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;
|