1)指定显示指定扩展名如ACCESS的MDB
利用控件的FILTER属性:在FILTER NAME:*.mdb(ACCESS 文件) FILTER:*.mdb
程序中利用代码:
opendialog1.filter:='所有文件(*.*)|*.*';
opendialog1.filter:='文本文件(*.txt)|*.txt';
opendialog1.filter:='文本文件(*.txt)|*.txt|FLASH文件(*.swf)|*.swf';
如果显示2个以上的类型,中间用|*隔开
2)取得路径和要打开的文件名
if opendialog1.Execute then
edit1.Text:=opendialog1.FileName;
3)初始化OPENDIALOG的打开路径
var
apppath,dbpath,backuppath:string;
a:string;
begin
opendialog1.InitialDir := ExtractFileDir(paramstr(0)) + '/db/dbbackup';
//当前程序目录中的db/dbbackup/目录中
dm.dm1.adocn1.Connected:=false;
if opendialog1.Execute then
a:=opendialog1.FileName
else
exit;
AppPath := ExtractFilePath(Application.ExeName);
DBPath := AppPath + 'db/db.mdb';
BackupPath :=a;
if not DirectoryExists(AppPath+'db/dbbackup/') then
showmessage('备份目录不存在!')
else
begin
CopyFile(pchar(BackupPath), pchar(dbPath), false);
showmessage('恢复成功!');
备份:
var
apppath, dbpath, backuppath: string;
a: string;
begin
a := formatdatetime('yymmddHHMM', now); //0711242203
AppPath := ExtractFilePath(Application.ExeName);
DBPath := AppPath + 'db/db.mdb';
BackupPath := AppPath + 'db/dbbackup/backup' + a + '.mdb';
if not DirectoryExists(AppPath + 'db/dbbackup/') then
showmessage('备份目录不存在!')
else
begin
CopyFile(pchar(DBPath), pchar(BackupPath), false);
showmessage('备份数据库' + backuppath + '成功!');