摘要:Delphi 備份小工具
單純個人工作上此使用
在程式更新之前把舊的dll先備份到本機D碟上
緊急情況可以使用。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls,ShellApi;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure WMDropFiles(var Msg: TWMDropFiles); message WM_DROPFILES;
//宣告攔截檔案拖曳的 windows Mseeage
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var path, dir :string;
begin
dir:= FormatDateTime('yyyymmdd',NOW);
if ((CheckBox1.Checked=true) and (edit1.Text <>'')) then
begin
if not DirectoryExists('D:\NEW_DLL') then
CreateDir('D:\NEW_DLL');
path := 'D:\NEW_DLL\';
if not DirectoryExists(path +dir ) then
CreateDir(path + dir);
//ExtractFileName(FileName); //去除檔案的路徑
//FileName := ChangeFileExt(ExtractFileName(FileName),''); // 檔名
CopyFile(PChar(edit1.Text), PChar(path + dir+ '\'+ExtractFileName(edit1.Text) ), True)
//False為覆蓋參數﹐當有同名檔案存在時﹐False參數為覆蓋處理﹐True參數為中止處理﹐即不做复制
end;
if ((CheckBox2.Checked=true) and (edit2.Text <>'')) then
begin
if not DirectoryExists('D:\OLD_DLL') then
CreateDir('D:\OLD_DLL');
path := 'D:\OLD_DLL\';
if not DirectoryExists(path +dir ) then
CreateDir(path + dir);
CopyFile(PChar(edit2.Text), PChar(path + dir+ '\'+ExtractFileName(edit2.Text) ), False)
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle, True); // 設定 Form 可以接受拖曳
end;
procedure TForm1.WMDropFiles(var Msg: TWMDropFiles);
Var
i,FileCount:integer;
FileName:array[0..255] of char;
FileNameList:TStringList;
begin
FileNameList:=TStringList.Create;
FileCount := DragQueryFile(Msg.Drop,$FFFFFFFF,nil,0); //檔案的總數
for i := 0 to (FileCount - 1) do
begin
DragQueryFile(Msg.Drop,i,@FileName,sizeof(FileName)); //取得檔案名稱
FileNameList.Add(FileName); //存入 FileNameList
if(edit1.text ='') then
edit1.Text :=FileName
else
edit2.Text :=FileName;
end;
{你想怎麼處理}
FileNameList.Free;
end;
end.
參考
http://delphi.ktop.com.tw/board.php?cid=30&fid=71&tid=21922
http://blog.xuite.net/dian.hk1211/jvc/6936785
大家一起加入blogads 賺零用錢!!
