BLOBFIELD как BITMAP

Материал из DRKB

BLOBFIELD как BITMAP[править | править код]

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

procedure SaveBitmapToTable();
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 LoadBitmapFromTable();
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?).


Source: Взято с http://delphiworld.narod.ru
ID: 02474