Вниз
Скачать: CL | DM;

Помогите плз. ссылкой или кодом   Найти похожие ветки 

 
don-do   (2004-07-30 07:48) [0]

нужно сохранять данные DataSet`а в поток и обратно, пока разбираюсь с внутренностями, но нужно шоб работало вчера.


 
Digitman ©   (2004-07-30 09:37) [1]


> нужно шоб работало вчера


то что работало вчера, вовсе необязательно будет работать завтра


> сохранять данные DataSet


возьми за базовый класс TClientDataSet, он есть наследник TDataSet и у него есть готовые методы SaveTo/LoadFromStream


 
don-do   (2004-07-30 14:22) [2]

Спасибо я уже написал, если кому-нить интересно:

procedure TMyDataset.SaveToStream(Stream: TStream);
var
 Buffer: PChar;
 BufSize: Word;
 I: Integer;
begin
 CheckActive;
 BufSize := GetRecordSize;
 Stream.Size := RecordCount * BufSize + Stream.Size;
 Stream.Position := 0;
 For I := 0 to RecordCount - 1 do
 begin
   RecNo := I + 1;
   Buffer := GetActiveBuffer;
   Stream.WriteBuffer(Buffer^,BufSize);
 end;
end;

procedure TMyDataset.LoadFromStream(Stream: TStream);
var
 Buffer: PChar;
 BufSize: Word;
begin
 CheckActive;
 BufSize := GetRecordSize;
 While Stream.Position < Stream.Size do
 begin
   Append;
   Buffer := GetActiveBuffer;
   Stream.ReadBuffer(Buffer^,BufSize);
   Post;
 end;
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
1-1091909028
Jolik
2004-08-08 00:03
2004.08.22
VCL и многопоточность...


1-1092058473
Вопрос
2004-08-09 17:34
2004.08.22
Оптимизация кода


3-1091016335
MORA
2004-07-28 16:05
2004.08.22
ищу цивилизованный метод решения проблемы!


3-1091433008
Last
2004-08-02 11:50
2004.08.22
Проверка вводимого значения в DBGrid


14-1091453406
Экспериментатор
2004-08-02 17:30
2004.08.22
Ура, я купил ноутбук




   Наверх