我想在程序中,直接对文件进行删除操作,请问该如何做?
最好是能够写个例程,谢谢!
最好是能够写个例程,谢谢!
解决方案 »
- 请教:FastReport 打印邮编
- Fast Report 2.51分栏打印Bug
- 菜鸟想问这个函数有什么用?
- 一个很菜的问题
- 清囊求助,我在网易的帐号的密码丢失了,谁能帮我找回?给我留言!谢谢.对我很重要
- 在线等待!!!各位大虾,谁能解决这个问题“record/key deleted“,我送200分!!!解决必给!!!
- 谁有Excel数据导入的组件或模块
- 给定一个Node的text的字符串,如何在Treeview中定位这个Node上?
- 为什么我Delphi总是遇到希奇古怪的问题?高手都来吧#_#
- 想在程序结束前执行一个操作,无论程序使用close还是Application.Terminate
- 我做的一个小软件,欢迎大家多提意见.
- ★100分求救,如何绑定计算机IP地址做socket连接???
ShowMessage('删除成功');
if MessageDlg('Do you really want to delete ' + ExtractFileName(FileName) + '?'), mtConfirmation, [mbYes, mbNo], 0, mbNo) = IDYes then
DeleteFile(FileName);
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_ALLOWUNDO; fAnyOperationsAborted := False;
hNameMappings := nil;
lpszProgressTitle := nil;
end; if SHFileOperation(SHFileOpStruct) <> 0 then
RaiseLastWin32Error;
finally
FreeMem(DirName, BufferSize);
end;
end;
ToRecycle(0, 文件路径);//删除
function DelDirectory(const Source:string): boolean;
var
fo: TSHFILEOPSTRUCT;
begin
FillChar(fo, SizeOf(fo), 0);
with fo do
begin
Wnd := 0;
wFunc := FO_DELETE;
pFrom := PChar(source+#0);
pTo := #0#0;
fFlags := FOF_NOCONFIRMATION+FOF_SILENT;
end;
Result := (SHFileOperation(fo) = 0);
end;
var
FileRec:TSearchrec;
Sour:String;
begin
Sour:=ASourceDir;
if Sour[Length(Sour)]<>'\' then Sour := Sour + '\'; if not DirectoryExists(ASourceDir) then
begin
ShowMessage('来源目录不存在!!');
exit;
end; if FindFirst(Sour+'*.*',faAnyfile,FileRec) = 0 then
repeat
//if (FileRec.Attr = faDirectory) then
if ((FileRec.Attr and faDirectory) <> 0) then
begin
if (FileRec.Name<>'.') and (FileRec.Name<>'..') then
begin
DelTree(Sour+FileRec.Name); FileSetAttr(Sour+FileRec.Name,faArchive);
RemoveDir(Sour+FileRec.Name);
end;
end
else
begin
FileSetAttr(Sour+FileRec.Name,faArchive);
deletefile(Sour+FileRec.Name);
end;
until FindNext(FileRec)<>0; FindClose(FileRec); FileSetAttr(Sour,faArchive);
RemoveDir(Sour);
end;