폴 더 삭제 / 삭제
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShellAPI, cxShellBrowserDialog, StdCtrls;
type
TForm1 = class(TForm)
btn1: TButton;
cxshlbrwsrdlg1: TcxShellBrowserDialog;//
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure ClearDir(AHandle: THandle; const ADirName: String); //uses ShellAPI
var
SHFileOpStruct: TSHFileOpStruct;
DirName: PChar;
BufferSize: Cardinal;
begin
BufferSize := Length(ADirName) + 1 + 1;
GetMem(DirName, BufferSize);
try
FillChar(DirName^, BufferSize, 0);
StrCopy(DirName, PChar(ADirName));
with SHFileOpStruct do
begin
Wnd := AHandle;
wFunc := FO_DELETE;
pFrom := DirName;
pTo := nil;
fFlags := FOF_SILENT or FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
fAnyOperationsAborted := False;
hNameMappings := nil;
lpszProgressTitle := nil;
end;
SHFileOperation(SHFileOpStruct);
MkDir(ADirName);//
finally
FreeMem(DirName, BufferSize);
end;
end;
procedure TForm1.btn1Click(Sender: TObject);
var
forderpath: string;
begin
cxshlbrwsrdlg1.path := 'c:\';
if not cxshlbrwsrdlg1.Execute then
begin
exit;
end;
forderpath := cxshlbrwsrdlg1.path;
ClearDir(Self.Handle, forderpath);
end;
end.
function DeleteFolder(SourceDir: string): boolean;
var
lpFileOp: TSHFileOpStruct;
begin
if DirectoryExists(SourceDir) then
begin
zeromemory(@lpFileOp, SizeOf(TSHFileOpStruct));
with lpFileOp do
begin
Wnd := Application.Handle;
wfunc := FO_DELETE;
pFrom := pchar(SourceDir + #0#0);
pTo := nil;
// fFlags := FOF_ALLOWUNDO or FOF_CONFIRMMOUSE;
fFlags := FOF_SILENT or FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
hNameMappings := nil; // 'test';//SourceDir;
lpszProgressTitle := nil;
fAnyOperationsAborted := false;
end;
Result := SHFileOperation(lpFileOp) = 0;
end;
end;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Docker를 사용한 React 및 .NET Core 6.0 샘플 프로젝트 - 1부이 기사에서는 Entity Framework Core Code First 접근 방식을 사용하는 ASP.NET Core 6.0 WEP API의 CRUD(만들기, 읽기, 업데이트 및 삭제) 작업에 대해 설명합니다. 웹 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.