Библиотека программиста

19.04.2024 - BlobField как Bitmap

Сохраняем Bitmap в поле dbase с именем Icon. Icon представляет собой двоичное Blob-поле.

Код
procedure ....
var IconStream : TMemoryStream;
..
..
begin

.
.
IconStream := TMemoryStream.Create;
Image1.picture.icon.savetostream(IconStream);
(Table1.fieldbyname('Icon') as TBlobField).LoadFromStream(IconStream);
Table1.post;
IconStream.Free;
.
.
end;


Пишем и читаем Bitmap в Timage из поля dbase с именем Icon.

Код
procedure .....
var IconStream : TMemoryStream;
..
..
begin
.
.
IconStream := TMemoryStream.Create;
(Table1.fieldbyname('Icon') as TBlobField).SaveToStream(IconStream);
{что бы что-нибудь записать, необходимо установить позицию потока в ноль!}
IconStream.Position := 0;
appointment.iconimage.picture.icon.loadfromstream(iconstream);
IconStream.Free;
end;


Надеюсь это поможет, поскольку найти информацию в справочной системе по этой теме практически невозможно. Чтобы сделать это, я перепробовал множество способов. Я пробовал использовать TBlobField и TBlobStream, но они не смогли мне помочь (может быть из-за убогой документации borland?).
Опубликовано на сайте: http://www.coders-library.ru
Прямая ссылка: http://www.coders-library.ru/index.php?name=news&op=view&id=337