Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: 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 вся ветка

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.06 c
14-1091345889
Protoss
2004-08-01 11:38
2004.08.22
Просто интересно


3-1090574765
}|{yk
2004-07-23 13:26
2004.08.22
Firebird и event


1-1091899829
dracula
2004-08-07 21:30
2004.08.22
Как избавиться от подвисания программы


4-1089349917
Константин
2004-07-09 09:11
2004.08.22
Как отследить нажатие на TMenuItem


14-1091463326
Cerberus
2004-08-02 20:15
2004.08.22
Linux под Win