![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите плз. ссылкой или кодом [D5]
don-do © (2004-07-30 07:48:00)нужно сохранять данные DataSet`а в поток и обратно, пока разбираюсь с внутренностями, но нужно шоб работало вчера.
don-do (2004-07-30 14:22:00) [1]Спасибо я уже написал, если кому-нить интересно:
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;
Digitman (2004-07-30 09:37:00) [2]
> нужно шоб работало вчера
то что работало вчера, вовсе необязательно будет работать завтра
> сохранять данные DataSet
возьми за базовый класс TClientDataSet, он есть наследник TDataSet и у него есть готовые методы SaveTo/LoadFromStream