Delphi編程創(chuàng)建和刪除文件夾

字號:

首先在程序的uses段中添加對ShellApi的引用,另外還要在“創(chuàng)建”按鈕的響應過程中添加下列代碼:
    procedure TForm1.btnCreateClick(Sender: TObject);
    begin
    CreateDirectory(PChar(ExtractFilePath(ParamStr(0))+’Test’),nil);
    end;
    程序運行初期就會執(zhí)行CreateDirectory(PChar(ExtractFilePath(ParamStr(0))+’Test’),nil)語句,在程序實例所在的目錄中創(chuàng)建一個子目錄test。
    在程序運行過程中,單擊“刪除”按鈕就可以將新創(chuàng)建的test子目錄刪除,響應代碼如下:
    procedure TForm1.btnDeleteClick(Sender: TObject);
    var
    T:TSHFileOpStruct;
    P:String;
    begin
    P:=ExtractFilePath(ParamStr(0))+’Test’;
    with T do
    begin
    Wnd:=0;
    wFunc:=FO_DELETE;
    pFrom:=PChar(P);
    pTo:=nil;
    fFlags:=FOF_ALLOWUNDO+FOF_NOERRORUI;
    hNameMappings:=nil;
    lpszProgressTitle:=’正在刪除文件夾’;
    fAnyOperationsAborted:=False;
    end;
    SHFileOperation(T);
    end;
    程序通過填充TSHFileOpStruct 類型的對象T的屬性來設置本次刪除操作可以Undo,當然最終的刪除操作是通過SHFileOperation(T)來完成的。如果SHFileOperation函數(shù)返回值為0,就表示刪除成功,否則表示刪除失敗。