delphi:procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
ADOTable1.Append;
TBlobField(ADOTable1.FieldByName('FImage')).LoadFromFile(OpenPictureDialog1.FileName);
ADOTable1.Post;
end;
begin
if OpenPictureDialog1.Execute then
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
ADOTable1.Append;
TBlobField(ADOTable1.FieldByName('FImage')).LoadFromFile(OpenPictureDialog1.FileName);
ADOTable1.Post;
end;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Mask, DBCtrls, StdCtrls, DB, DBTables, ComCtrls, ExtCtrls,
Buttons;type
TMainForm = class(TForm)
TblSounds: TTable;
dsSounds: TDataSource;
edTitle: TEdit;
Label1: TLabel;
Label2: TLabel;
edFileName: TDBEdit;
OpenDialog: TOpenDialog;
SaveDialog: TSaveDialog;
Panel1: TPanel;
sbPlay: TSpeedButton;
sbAdd: TSpeedButton;
sbSave: TSpeedButton;
sbExit: TSpeedButton;
Bevel1: TBevel;
stbStatus: TStatusBar;
TblSoundsFileName: TStringField;
TblSoundsWave: TBlobField;
TblSoundsWaveTitel: TStringField;
procedure sbAddClick(Sender: TObject);
procedure sbSaveClick(Sender: TObject);
procedure sbPlayClick(Sender: TObject);
procedure sbExitClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
procedure OnAppHint(Sender:TObject);
{ Private declarations }
public
{ Public declarations }
end;var
MainForm: TMainForm;implementation{$R *.dfm}
uses MMSystem;procedure TMainForm.sbAddClick(Sender: TObject);
begin
if OpenDialog.Execute then
begin
tblSounds.Append;
tblSounds['FileName']:=ExtractFileName(OpenDialog.FileName);
tblSoundsWave.LoadFromFile(OpenDialog.FileName);
edTitle.SetFocus;
tblSounds['WaveTitel']:=edTitle.Text;
end;
end;procedure TMainForm.sbSaveClick(Sender: TObject);
begin
with SaveDialog do
begin
FileName:=tblSounds['FileName'];//初始化文件名;
if Execute then
tblSoundsWave.SaveToFile(FileName);//把BLOB数据保存到文件
end;
end;procedure TMainForm.sbPlayClick(Sender: TObject);
var
B:TBlobStream;
M:TMemoryStream;
begin
B:=TBlobStream.Create(tblSoundswave,bmRead);//创建BLOB流
Screen.Cursor:=crHourGlass;
try
M:=TMemoryStream.Create;//创建流
try
M.CopyFrom(B,B.Size);//从BLOB字段复制到流
//播放声音
win32check(PlaySound(M.Memory,0,SND_SYNC or SND_MEMORY));
finally
M.Free;
end;
finally
Screen.Cursor:=crDefault;
B.Free; //释放流对象
end;
end;procedure TMainForm.sbExitClick(Sender: TObject);
begin
Application.Terminate;
Action.Free;
close;
end;procedure TMainForm.FormCreate(Sender: TObject);
begin
Application.OnHint:=OnAppHint;
end;procedure TMainForm.OnAppHint(Sender: TObject);
begin
stbStatus.SimpleText:=Application.Hint;
end;end.