procedure
TForm1
.
SpeedButton1Click(Sender: TObject);
var
fEdit:
boolean
;
begin
if
OpenPictureDialog
.
Execute
then
begin
if
Table
.
State=dsBrowse
then
begin
Table
.
Edit; fEdit:=
true
;
end
else
fEdit:=
false
;
Image
.
Picture
.
LoadFromFile(OpenPictureDialog
.
FileName);
if
fEdit
then
Table
.
Post;
end
;
end
;
procedure
TForm1
.
TableBeforePost(DataSet: TDataSet);
var
BLOB:TBlobStream;
begin
BLOB:=TBlobStream
.
Create(TableImage,bmWrite);
try
Image
.
Picture
.
Graphic
.
SaveToStream(BLOB);
finally
BLOB
.
Free;
end
;
end
;
procedure
TForm1
.
DataSourceDataChange(Sender: TObject; Field: TField);
var
BLOB:TBlobStream;
Code:
word
;
begin
if
DataSource
.
State=dsBrowse
then
begin
BLOB:=TBlobStream
.
Create(TableImage,bmRead);
try
BLOB
.
Read(Code,SizeOf(Code)); BLOB
.
Seek(
0
,
0
);
case
Code
of
$4D42
:
begin
Image
.
Picture
.
Graphic:=TBitmap
.
Create;
Image
.
Picture
.
Graphic
.
LoadFromStream(BLOB);
end
;
$D8FF
:
begin
Image
.
Picture
.
Graphic:=TJPEGImage
.
Create;
Image
.
Picture
.
Graphic
.
LoadFromStream(BLOB);
end
;
end
;
finally
BLOB
.
Free;
end
;
end
;
end
;