如何用image控件将jpeg图片格式放进paradox数据库中!急(200分)

  • 主题发起人 主题发起人 gavien_1
  • 开始时间 开始时间
G

gavien_1

Unregistered / Unconfirmed
GUEST, unregistred user!
我是刚刚用delphi编程的新手。请教各位大虾一个问题:
如何用image控件将jpeg图片格式放进paradox数据库中。最好有具体的源程序,送自己所有积分!
我建的数据库是:
相册数据库:
相册名称
创建时间
简短说明
图片数据库:
编号 A 16
名称 A 16
更新时间 D
作者 A 16
图片 G
说明 A 128
存入图片的模块叫:修改信息
我使用了DBLookupComboBoxxiangce //用来选择相册(我的程序可以建立多个相册实例)
OpenDialog1
Imageyulan
table1 /关于相册的
table2 /关于图片数据库的
DataSource1 /关于相册
DataSource2 /关于图片
Query1
Query1
程序运行时通过DBLookupComboBoxxiangce 已经将:
procedure TForm2.DBLookupComboBoxxiangceClick(Sender: TObject);
begin
Table2.TableName := DBLookupComboBoxxiangce.Text + '.db';
Table2.Active := true;
DBgridshuju.Datasource := Datasource2;
TableName := DBLookupComboBoxxiangce.Text;
end;
var
TableName: String;
picture:TPicture;
filename:String;
systemtime:Tsystemtime;

procedure TForm2.Button_OpenClick(Sender: TObject); //打开图片按钮
begin
if
opendialog1.Execute
then
begin
filename:=opendialog1.FileName;
picture := TPicture.Create;
imageyulan.Picture.LoadFromFile(filename)
end;
end;
procedure TForm2.Button_AddClick(Sender: TObject); //添加图片按钮
var
flag: boolean;
extname:String;
jpg:TJpegImage;
bmp:TBitmap;
begin
extname:=UpperCase(ExtractFileExt(filename));
Table2.TableName := DBLookupComboBoxxiangce.Text + '.db';
Table2.Active := true;
DBgridshuju.Datasource := Datasource2;
TableName := DBLookupComboBoxxiangce.Text;
flag := true;
if Edit_Add1.Text = '' then flag := false;
if Edit_Add2.Text = '' then flag := false;
if Edit_Add3.Text = '' then flag := false;
if Edit_Add4.Text = '' then flag := false;
if flag = true then
begin
try
try
with table2 do
begin
//因为不会存储jpeg,我只好转化成bmp格式。但数据库变得好大了
if (extname='.JPG') or (extname='.JPEG') then begin
jpg:=TJpegImage.Create;
bmp:=TBitmap.Create;
jpg.LoadFromFile(filename);
bmp:=jpg2bmp(jpg);
bmp.SaveToFile('c:/test.bmp');
jpg.Free;
bmp.Free;
picture.LoadFromFile('c:/test.bmp');
end
else
picture.LoadFromFile(filename);

if findkey([extractfilename(filename)]) = false then
begin
Append;
FieldByName('编号').AsString := Edit_Add1.Text;
FieldByName('名称').AsString := Edit_Add2.Text;
FieldByName('图片').Assign(picture);
FieldByName('说明').AsString := Edit_Add3.Text;
FieldByName('作者').AsString := Edit_Add4.Text;
FieldByName('更新时间').AsString := datetostr(date);
Post;
Refresh;
showmessage('保存成功');
end
else
showmessage('已经存在');
end;
finally
picture.Free;
end;
except
showmessage('保存失败');
end;
end;
Edit_Add1.Text := '';
Edit_Add2.Text := '';
Edit_Add3.Text := '';
Edit_Add4.Text := '';
end;
 
http://www.delphibbs.com/keylife/iblog_show.asp?xid=7478
 
可是,可不可以在我的程序的基础上改动呢,或告诉我我改怎么修改我的程序?
不好意思,我刚学delphi没几天.好多都看不懂,
 
To :jianguobu
DM 是什么?好象没定义
 
DM是我的数据模块,你不能照搬呀,毕竟上面的代码不是专门为你写的呀

你可以把DM去掉.
 
接受答案了.
 
后退
顶部