给你贴一个我作人事管理时写的代码 //上传照片 procedure TFrm_Persons_Change.Button1Click(Sender: TObject); begin if not OpenPictureDialog1.Execute then exit; Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName); Frm_Persons.ADOTable1.FieldByName('F_Photo').AsString:=OpenPictureDialog1.FileName; end;//删除照片 procedure TFrm_Persons_Change.Button2Click(Sender: TObject); begin Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'no.bmp'); Frm_Persons.ADOTable1.FieldByName('F_Photo').AsString:=''; end;
//显示照片 procedure TFrm_Persons_Change.FormShow(Sender: TObject); begin if FileExists(ADOTable1.FieldByName('F_Photo').AsString) then Image1.Picture.LoadFromFile(ADOTable1.FieldByName('F_Photo').AsString); end;
注意相对路径和绝对路径,不要将软件写死。。下面是存: procedure TCPGL.SpeedButton2Click(Sender: TObject); var public_image: tpicture; begin if self.OpenPictureDialog1.Execute then begin fcImager1.Picture.LoadFromFile(self.OpenPictureDialog1.filename); DM.CPGL_ADOQuery.edit; DM.CPGL_ADOQuery.fieldbyname('tp').asstring := 'bmp\Product' + extractfilename(self.OpenPictureDialog1.filename); copyfile(pchar(self.OpenPictureDialog1.filename), pchar(extractfilepath(application.exename) + 'bmp\Product' + extractfilename(self.OpenPictureDialog1.filename)), true); end; end;下面是取: procedure TCPGL.BitBtn2Click(Sender: TObject); var public_image: tpicture; begin DM.CPGL_ADOQuery.Cancel; DM.CPGL_ADOQuery.Prior; if (DM.CPGL_ADOQuery.fieldbyname('tp').asstring <> '') and FileExists(extractfilepath(application.exename) + DM.CPGL_ADOQuery.fieldbyname('tp').asstring) then begin public_image := tpicture.create; public_image.LoadFromFile(extractfilepath(application.exename) + DM.CPGL_ADOQuery.fieldbyname('tp').asstring); fcImager1.Picture.Assign(public_image); fcImager2.Picture.Assign(public_image); public_image.free; end else begin fcImager1.Picture := nil; end; end;代码较乱,自己整理一下。
//上传照片
procedure TFrm_Persons_Change.Button1Click(Sender: TObject);
begin
if not OpenPictureDialog1.Execute then exit;
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
Frm_Persons.ADOTable1.FieldByName('F_Photo').AsString:=OpenPictureDialog1.FileName;
end;//删除照片
procedure TFrm_Persons_Change.Button2Click(Sender: TObject);
begin
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'no.bmp');
Frm_Persons.ADOTable1.FieldByName('F_Photo').AsString:='';
end;
procedure TFrm_Persons_Change.FormShow(Sender: TObject);
begin
if FileExists(ADOTable1.FieldByName('F_Photo').AsString) then
Image1.Picture.LoadFromFile(ADOTable1.FieldByName('F_Photo').AsString);
end;
procedure TCPGL.SpeedButton2Click(Sender: TObject);
var
public_image: tpicture;
begin
if self.OpenPictureDialog1.Execute then
begin
fcImager1.Picture.LoadFromFile(self.OpenPictureDialog1.filename);
DM.CPGL_ADOQuery.edit;
DM.CPGL_ADOQuery.fieldbyname('tp').asstring :=
'bmp\Product' + extractfilename(self.OpenPictureDialog1.filename);
copyfile(pchar(self.OpenPictureDialog1.filename),
pchar(extractfilepath(application.exename) + 'bmp\Product' + extractfilename(self.OpenPictureDialog1.filename)),
true);
end;
end;下面是取:
procedure TCPGL.BitBtn2Click(Sender: TObject);
var
public_image: tpicture;
begin
DM.CPGL_ADOQuery.Cancel;
DM.CPGL_ADOQuery.Prior;
if (DM.CPGL_ADOQuery.fieldbyname('tp').asstring <> '') and
FileExists(extractfilepath(application.exename) + DM.CPGL_ADOQuery.fieldbyname('tp').asstring) then
begin
public_image := tpicture.create;
public_image.LoadFromFile(extractfilepath(application.exename) + DM.CPGL_ADOQuery.fieldbyname('tp').asstring);
fcImager1.Picture.Assign(public_image);
fcImager2.Picture.Assign(public_image);
public_image.free;
end
else
begin
fcImager1.Picture := nil;
end;
end;代码较乱,自己整理一下。