📄 media.~pas
字号:
unit Media;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, MPlayer, ExtCtrls, Grids, DBGrids, DB, ADODB, Buttons;
type
TMediaForm = class(TForm)
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
ADOQuery1: TADOQuery;
OpenDialog1: TOpenDialog;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Panel1: TPanel;
MediaPlayer1: TMediaPlayer;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
ComboBox1: TComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MediaForm: TMediaForm;
FileName,MusicName,ExName:String;
implementation
{$R *.dfm}
procedure TMediaForm.BitBtn1Click(Sender: TObject);
begin
OpenDialog1.Filter:='所有文件(*.*)|*.*|';
if OpenDialog1.Execute then
begin
FileName:=OpenDialog1.FileName;
ExName:=ExtractFileExt(FileName);
BitBtn2.Enabled:=true;
end;
end;
procedure TMediaForm.RadioButton1Click(Sender: TObject);
Var
Str:String;
begin
if RadioButton1.Checked then
begin
Str:=extractfilepath(application.exename)+'DataBase\Media.mdb';
ADOQuery1.Active:=false;
ADOQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+Str+';Persist Security Info=False';
ADOQuery1.Active:=true;
end;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
Str:='select * from Media';
ADOQuery1.SQL.Add(Str);
ADOQuery1.Open;
DataSource1.DataSet:=ADOQuery1;
DBGrid1.DataSource:=DataSource1;
end;
procedure TMediaForm.BitBtn2Click(Sender: TObject);
Var
Str:String;
Ms:TMemoryStream;
begin
if ( (Edit1.Text<>'') and (ComboBox1.Text<>'') and (Edit2.Text<>'') ) then
begin
Ms:=TMemoryStream.Create;
try
Ms.LoadFromFile(FileName );
Str:='insert into Media (姓名,性别,歌名,扩展名,blobMedia) values ('''+Edit1.Text+''','''+ComboBox1.Text+''','''+Edit2.Text+''','''+ExName+''',:bBlob)';
with ADOQuery1 do
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(Str);
Parameters.ParamByName('bBlob').LoadFromStream(Ms,ftBlob);
ADOQuery1.ExecSQL;
end;
finally
if assigned(Ms) then
Ms.Free;
end;
MessageBox(Handle,'视频文件数据保存结束!',PChar('提示'),MB_OK+MB_ICONWARNING);
Edit1.Text:='';
ComboBox1.Text:='';
Edit2.Text:='';
end
else
begin
MessageBox(Handle,'请填写姓名、性别、歌名!',PChar('提示'),MB_OK+MB_ICONWARNING);
Exit;
end;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
Str:='select * from Media';
ADOQuery1.SQL.Add(Str);
ADOQuery1.Open;
DataSource1.DataSet:=ADOQuery1;
DBGrid1.DataSource:=DataSource1;
BitBtn2.Enabled:=false;
end;
procedure TMediaForm.BitBtn3Click(Sender: TObject);
begin
MediaPlayer1.Stop;
MediaPlayer1.Close;
BitBtn3.Enabled:=false;
end;
procedure TMediaForm.BitBtn4Click(Sender: TObject);
begin
MediaPlayer1.DeviceType:=dtAutoSelect;
MediaPlayer1.Display:=Panel1;
MediaPlayer1.FileName:=extractfilepath(application.exename)+MusicName+ExName;
MediaPlayer1.Open;
MediaPlayer1.Play;
BitBtn3.Enabled:=true;
end;
procedure TMediaForm.DBGrid1DblClick(Sender: TObject);
Var
Str:String;
Ms:TMemoryStream;
St:TStream;
begin
MusicName:=dbgrid1.DataSource.DataSet.fieldbyname('歌名').AsString ;
Ms:=TMemoryStream.Create;
Str:='select 扩展名, blobMedia as bBlob from Media Where (歌名='''+MusicName+''')';
try
with ADOQuery1 do
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(Str);
ADOQuery1.Open;
ExName:=ADOQuery1.FieldValues['扩展名'];
end;
St:=ADOQuery1.CreateBlobStream(ADOQuery1.FieldByName('bBlob'), bmRead );
try
Ms.CopyFrom(St,st.Size);
Ms.SaveToFile(extractfilepath(application.exename)+MusicName+ExName);
finally
if assigned(st) then
St.Free;
end;
finally
if assigned(Ms) then
Ms.Free;
end;
MessageBox(Handle,'视频文件数据读取结束!',PChar('提示'),MB_OK+MB_ICONWARNING);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
Str:='select * from Media';
ADOQuery1.SQL.Add(Str);
ADOQuery1.Open;
DataSource1.DataSet:=ADOQuery1;
DBGrid1.DataSource:=DataSource1;
DBGrid1.Enabled:=false;
BitBtn3.Enabled:=true;
BitBtn4.Enabled:=true;
MediaPlayer1.DeviceType:=dtAutoSelect;
MediaPlayer1.Display:=Panel1;
MediaPlayer1.FileName:=extractfilepath(application.exename)+MusicName+ExName;
MediaPlayer1.Open;
MediaPlayer1.Play;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -