Delphi7.0中如何删除文件夹(带子目录和文件)

合集下载

delphi目录拷贝

delphi目录拷贝

delphi目录拷贝、删除和搬移的操作━━━━━━━━━━━━━━━━━━━━━━━━━━1、拷贝目录为了能拷贝目录下带有子目录的情况,先定义一个辅助的拷贝函数,它是递归执行的,直到把目录下的所有文件和子目录都拷贝完。

1.1拷贝目录的递归辅助函数:DoCopyDirfunction DoCopyDir(sDirName:String;sToDirName:String):Boolean;varhFindFile:Cardinal;t,tfile:String;sCurDir:String[255];FindFileData:WIN32_FIND_DATA;begin//先保存当前目录sCurDir:=GetCurrentDir;ChDir(sDirName);hFindFile:=FindFirstFile(*.*,FindFileData);if hFindFile$#@60; $#@62;INVALID_HANDLE_VALUE thenbeginif not DirectoryExists(sToDirName) thenForceDirectories(sToDirName);repeattfile:=FindFileData.cFileName;if (tfile=.) or (tfile=..) thenContinue;if FindFileData.dwFileAttributes=FILE_ATTRIBUTE_DIRECTORY thenbegint:=sToDirName+\+tfile;if not DirectoryExists(t) thenForceDirectories(t);if sDirName[Length(sDirName)]$#@60; $#@62;\ thenDoCopyDir(sDirName+\+tfile,t)elseDoCopyDir(sDirName+tfile,sToDirName+tfile);endelsebegint:=sToDirName+\+tFile;CopyFile(PChar(tfile),PChar(t),True);end;until FindNextFile(hFindFile,FindFileData)=false;FindClose(hFindFile);endelsebeginChDir(sCurDir);result:=false;exit;end;//回到原来的目录下ChDir(sCurDir);result:=true;end;1.2拷贝目录的函数:CopyDirfunction CopyDir(sDirName:String;sToDirName:string):Boolean;beginif Length(sDirName)$#@60; =0 thenexit;//拷贝...Result:=DoCo ir(sDirName,sToDirName);end;2、删除目录删除目录与拷贝目录很类似,但为了能删除位于根目录下的一个空目录,需要在辅助函数中设置一个标志变量,即:如果删除的是空目录,则置bEmptyDir为True,这一句已经用深色框表示了。

使用命令删除文件的方法

使用命令删除文件的方法

在Windows系统中,可以使用命令提示符来删除文件,具体步骤如下:
1.在系统界面同时按下win+r键,在打开的运行中输入cmd进入命令提示符界面。

2.提前想好要删除的文件夹。

想要删除的文件夹下可能还有很多子文件夹和各子文件夹
下文件,下图文件夹只是做示范。

3.先删除文件夹下所有的文件(而非文件夹),输入命令"del D:\aaaaa*.*",然后会弹出
选择提示是否确定删除的界面,根据提示,请选择y,y的意思是确定删除。

4.经过第一步的操作,这里的文件夹都已经是空文件夹了。

继续输入命令"rd /s D:\aaaaa",
同样会弹出选择提示是否确定删除的界面,还是根据提示选择y,即确定删除。

DELPHI在指定目录下(包括其子目录)查找指定文件后删除

DELPHI在指定目录下(包括其子目录)查找指定文件后删除

DELPHI在指定目录下(包括其子目录)查找指定文件后删除删除过程tform 1。

在指定目录(包括其子目录)中找到指定文件后,查找文件(apath,file:string);var查找结果:整数;FSearchRec,DSearchrec:TsearchRec;函数符号:布尔值;开始结果:= ((ADirName = ‘ . ‘)或(ADirName = ‘ .. ‘);结束;从开始,如果[长度为(APath)] ‘\\ ‘,则Apath:= Apath+’ \ \ ‘;FindResult:= FindFirst(Apath+aFIle,FaanyFile+FahIdden+FasyFile+FaraAdonly,FSearchRec);//在根目录中查找指定的文件try,而find result = 0 obeginlistbox 1 . items . add(apath+fsearcrec . name );删除文件(APath + FSearchRec。

名称);查找结果:=查找下一个(偏移量)。

//查找下一个指定的文件结尾;FindResult:= FindFirst(Apath+’ *。

*、faDirectory、DSearchrec);//当find result = 0 do beginif((DSearchRec . attr和fadirectry)= fadirectry)而不是IsDirrentation(DSearchRec)时,转到当前目录的子目录继续搜索。

名称),然后查找文件(APath + DSearchRec。

姓名,传真号码);//递归调用FindFiles函数FindResult:= FindNext(DseerChrec);结束;最后是FindClose(FSEARCRec);结束;结束;程序表1。

按钮1单击(发件人:收件人);var Strings 1:TsStrings;一:整数;开始列表框1。

删除文件的操作流程

删除文件的操作流程

删除文件的操作流程文件的删除是计算机操作中常见的一个操作,它可以帮助我们清理不再需要的文件,释放磁盘空间。

下面将介绍文件删除的操作流程及相关注意事项。

一、打开文件资源管理器首先,我们需要打开文件资源管理器,这个步骤可以通过多种方式完成,比如点击桌面上的文件夹图标,或者使用快捷键Win+E,即可打开Windows平台上的文件资源管理器。

二、选择要删除的文件在文件资源管理器中,我们需要浏览到文件所在的目录,然后通过鼠标左键单击选中要删除的文件。

如果要删除多个文件,可以按住Ctrl 键同时点击多个文件进行选中,或者按住Shift键选中文件范围。

三、右键点击删除命令选中文件后,我们需要右键点击选中的文件,在弹出的上下文菜单中找到“删除”选项。

点击“删除”,系统将弹出一个确认删除的提示框。

四、确认删除在确认删除的提示框中,系统会显示要删除的文件名称和路径信息,同时询问用户是否确定执行删除操作。

如果确认删除,可以点击“是”按钮;如果不确定,可以点击“否”按钮取消删除操作。

五、清空回收站被删除的文件会被移动到计算机的回收站中,回收站是一个垃圾桶的图标,我们可以在桌面或文件资源管理器中找到它。

回收站存放了被删除文件的备份,以便用户在需要的时候进行恢复。

要彻底删除文件,我们需要清空回收站。

六、恢复已删除的文件如果在删除文件之后,我们发现误删了重要文件,可以尝试恢复已删除的文件。

在回收站中,我们可以找到被删除的文件,右键点击文件并选择“还原”选项即可将文件恢复到原先的位置。

需要注意的是,在进行文件删除操作前,我们应该仔细确认要删除的文件,避免误删重要文件。

另外,一些系统文件或者受保护的文件是无法直接删除的,需要获得系统管理员权限才能进行删除操作。

总结:文件删除操作的流程可以归纳为打开文件资源管理器,选择文件,右键点击删除,确认删除,清空回收站等几个步骤。

虽然删除文件相对简单,但我们在删除文件时应保持谨慎,避免误删和数据丢失。

TeeChart 7.0 With Source在Delphi 7.0中的安装

TeeChart 7.0 With Source在Delphi 7.0中的安装
TeeChart 7.0 With Source在Delphi 7.0中的安装
前一段时间我写过一片《TeeChart 6.01在Delphi 7.0中的安装》,昨天得到了新的TeeChart 7.0 With Source。
立刻试着安装,竟然一次成功,非常高兴!现在把我的安装方法写出来,愿大家都能一次安装成功!
del TeeShape.dcu
del teeui.dcp
del TeExport.dcu
del TeExport.dfm
del TeCanvas.dcu
del Chart.dcu
del ArrowCha.dcu
del BubbleCh.dcu
del EditChar.dcu
同时添加以下路径 $(DELPHI)\\Projects\\Bpl,否则下一步编译会有找不到“tee77.dcp”的问题!
2 Open Project打开目录中的 Tee7D7.bpg; Project-> Build All Projects 编译所有项目,
编译生成的文件在$(DELPHI)\\Projects\\Bpl目录中。
del GanttCh.dcu
del Series.dcu
二、安装TeeChart Pro v7.0 Full Sources
1 启动Delphi,将TeeChart v7.0源文件拷贝到一特定目录,如 \\Delphi7\\Source\\TeeChart7;
并在Tools-> Environment Options -> Library -> Library Path 中添加该路径;
6、安装TeeChart:

delphi文件、文件夹删除移动和拷贝

delphi文件、文件夹删除移动和拷贝

delphi 文件、文件夹删除移动和拷贝delphi文件、文件夹删除移动和拷贝2010-12-21 19:01文件删除、移动和拷贝。

function WinErasefile(Owner:Integer;WichFiles:string;SendToRecycleBin,Confirm:Boolean):Boolean;//用于将文件直接删除或移动到回收站var Struct:TSHFileOpStructA;begin FillChar(Struct,SizeOf(Struct),0);While pos(';',WichFiles)0 do WichFiles[pos(';',WichFiles)]:=#0;WichFiles:=WichFiles+#0#0;with Struct do begin wnd:=Owner;wFunc:=FO_Delete;pFrom:=PChar(WichFiles);pTo:=nil;If not Confirm then fFlags:=FOF_NOCONFIRMATION;If SendToRecycleBin then fFLags:=fFlags or FOF_ALLOWUNDO orFOF_FILESONLY else fFlags:=fFlags or 0or FOF_FILESONLY;hNameMappings:=nil;lpszProgressTitle:=nil;end;result:=(SHFileOperationA(Struct)=0)and(notStruct.fAnyOperationsAborted);end;function WinErasepath(Owner:Integer;WichFiles:string;SendToRecycleBin,Confirm:Boolean):Boolean;//用于将目录直接删除或移动到回收站var Struct:TSHFileOpStructA;begin FillChar(Struct,SizeOf(Struct),0);While pos(';',WichFiles)0 do WichFiles[pos(';',WichFiles)]:=#0;WichFiles:=WichFiles+#0#0;with Struct do begin wnd:=Owner;wFunc:=FO_Delete;pFrom:=PChar(WichFiles);pTo:=nil;If not Confirm then fFlags:=FOF_NOCONFIRMATION;If SendToRecycleBin then fFLags:=fFlags or FOF_ALLOWUNDO else fFlags:=fFlags or 0or FOF_FILESONLY;hNameMappings:=nil;lpszProgressTitle:=nil;end;result:=(SHFileOperationA(Struct)=0)and(notStruct.fAnyOperationsAborted);end;function WinMovepath(Owner:Integer;FromFile,Tofile:string;ReNameOnCollision,Confirm:Boolean):Boolean;//用于将目录进行移动var Struct:TSHFileOpStructA;MultDest:Boolean;begin FillChar(Struct,SizeOf(Struct),0);MultDest:=pos(';',ToFile)0;While pos(';',FromFile)0 do FromFile[pos(';',FromFile)]:=#0;While pos(';',ToFile)0 do ToFile[pos(';',ToFile)]:=#0;FromFile:=FromFile+#0#0;ToFile:=ToFile+#0#0;with Struct do begin wnd:=Owner;wFunc:=FO_Move;pFrom:=PChar(FromFile);pTo:=PChar(ToFile);fFlags:=FOF_ALLOWUNDO;If MultDest then fFLags:=fFlags or FOF_MULTIDESTFILES;If ReNameOnCollision then fFLags:=fFlags orFOF_RENameONCOLLISION;If Confirm then fFLags:=fFlags or FOF_NOCONFIRMATION;hNameMappings:=nil;lpszProgressTitle:=nil;end;result:=(SHFileOperationA(Struct)=0)and(notStruct.fAnyOperationsAborted);end;function WinMovefile(Owner:Integer;FromFile,Tofile:string;ReNameOnCollision,Confirm:Boolean):Boolean;//用于将文件进行移动var Struct:TSHFileOpStructA;MultDest:Boolean;begin FillChar(Struct,SizeOf(Struct),0);MultDest:=pos(';',ToFile)0;While pos(';',FromFile)0 do FromFile[pos(';',FromFile)]:=#0;While pos(';',ToFile)0 do ToFile[pos(';',ToFile)]:=#0;FromFile:=FromFile+#0#0;ToFile:=ToFile+#0#0;with Struct do begin wnd:=Owner;wFunc:=FO_Move;pFrom:=PChar(FromFile);pTo:=PChar(ToFile);fFlags:=FOF_ALLOWUNDO or FOF_FILESONLY;If MultDest then fFLags:=fFlags or FOF_MULTIDESTFILES;If ReNameOnCollision then fFLags:=fFlags orFOF_RENameONCOLLISION;If Confirm then fFLags:=fFlags or FOF_NOCONFIRMATION;hNameMappings:=nil;lpszProgressTitle:=nil;end;result:=(SHFileOperationA(Struct)=0)and(notStruct.fAnyOperationsAborted);end;function WinCopypath(Owner:Integer;FromFile,Tofile:string;ReNameOnCollision,Confirm:Boolean):Boolean;//拷贝目录var Struct:TSHFileOpStructA;MultDest:Boolean;begin FillChar(Struct,SizeOf(Struct),0);MultDest:=pos(';',ToFile)0;While pos(';',FromFile)0 do FromFile[pos(';',FromFile)]:=#0;While pos(';',ToFile)0 do ToFile[pos(';',ToFile)]:=#0;FromFile:=FromFile+#0#0;ToFile:=ToFile+#0#0;with Struct do begin wnd:=Owner;wFunc:=FO_Copy;pFrom:=PChar(FromFile);pTo:=PChar(ToFile);fFlags:=FOF_ALLOWUNDO;If MultDest then fFLags:=fFlags or FOF_MULTIDESTFILES;If ReNameOnCollision then fFLags:=fFlags orFOF_RENameONCOLLISION;If not Confirm then begin fFLags:=fFlags or FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR;end;hNameMappings:=nil;lpszProgressTitle:=nil;end;result:=(SHFileOperationA(Struct)=0)and(notStruct.fAnyOperationsAborted);end;function WinCopyfile(Owner:Integer;FromFile,Tofile:string;ReNameOnCollision,Confirm:Boolean):Boolean;//拷贝文件var Struct:TSHFileOpStructA;MultDest:Boolean;begin FillChar(Struct,SizeOf(Struct),0);MultDest:=pos(';',ToFile)0;While pos(';',FromFile)0 do FromFile[pos(';',FromFile)]:=#0;While pos(';',ToFile)0 do ToFile[pos(';',ToFile)]:=#0;FromFile:=FromFile+#0#0;ToFile:=ToFile+#0#0;with Struct do begin wnd:=Owner;wFunc:=FO_Copy;pFrom:=PChar(FromFile);pTo:=PChar(ToFile);fFlags:=FOF_ALLOWUNDO or FOF_FILESONLY;If MultDest then fFLags:=fFlags or FOF_MULTIDESTFILES;If ReNameOnCollision then fFLags:=fFlags orFOF_RENameONCOLLISION;If not Confirm then begin fFLags:=fFlags or FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR;end;hNameMappings:=nil;lpszProgressTitle:=nil;end;result:=(SHFileOperationA(Struct)=0)and(not Struct.fAnyOperationsAborted);end;。

快速删除文件夹的方法

快速删除文件夹的方法

快速删除文件夹的方法一、文件夹删除的常规问题。

1.1 很多朋友在删除文件夹的时候都遇到过麻烦事儿。

有时候那文件夹就像个顽固的小怪兽,怎么删都删不掉。

比如说,系统提示文件夹正在被使用,或者权限不足啥的。

这就跟你想赶走一个赖在你家不走的客人,可他就是不听你的一样让人头疼。

1.2 还有些时候,文件夹里文件太多,一个一个删太麻烦,就像你面前有一堆芝麻,要一颗一颗捡起来,那得捡到啥时候啊。

所以咱们得找个快速又有效的办法。

二、不同系统下的快速删除方法。

2.1 Windows系统。

2.1.1 如果是因为文件夹正在被使用而无法删除,那咱们可以先看看是哪个程序在占用它。

就像破案一样,找到“罪魁祸首”。

可以打开任务管理器,在进程里找找相关的程序,然后把它关掉。

这就好比把那个拦着你赶客人走的保镖给支开。

2.1.2 要是权限不足呢,咱们可以右键点击文件夹,选择属性,然后在安全选项卡里调整权限。

这就像是给你自己一把能把客人赶走的权力之匙。

另外,如果你想快速删除一个大文件夹,里面有很多文件的话,可以使用命令提示符。

按Win+R键,输入“cmd”打开命令提示符,然后使用“rmdir /s”命令。

不过这个命令就像一把双刃剑,用得好能快速解决问题,用不好可能会误删东西,所以得小心点儿,就像走钢丝一样。

2.2 Mac系统。

2.2.1 在Mac上,如果文件夹删不掉,可能是因为有文件正在被系统或者某个程序使用。

这时候你可以先重启一下电脑,就像让整个房子重新整顿一下,把那些赖着不走的“小鬼”都清理掉。

重启之后再删,可能就顺利多了。

2.2.2 对于大文件夹的删除,你可以直接把文件夹拖到废纸篓里。

如果文件夹很大,废纸篓可能会显示正在计算大小,这时候你可以按住“Option”键,然后点击“清空废纸篓”,这就像是给废纸篓下了个“速战速决”的命令,不用等它慢慢计算,直接就把文件夹删掉了。

不过这个操作也要谨慎,一旦清空就找不回来了,就像泼出去的水一样。

Delphi中关于文件目录的操作

Delphi中关于文件目录的操作

Delphi中关于文件、目录操作的函数来源:大富翁关于文件、目录操作Chdir('c:\abcdir'); // 转到目录Mkdir('dirname'); //建立目录Rmdir('dirname'); //删除目录GetCurrentDir; //取当前目录名,无'\'Getdir(0,s); //取工作目录名s:='c:\abcdir';Deletfile('abc.txt'); //删除文件Renamefile('old.txt','new.txt'); //文件更名ExtractFilename(filelistbox1.filename); //取文件名ExtractFileExt(filelistbox1.filename); //取文件后缀目录处理函数三则:DelTree,XCopy,Moveprivate{ Private declarations }procedure _XCopy(ASourceDir:String; ADestDir:String);procedure _Move(ASourceDir:String; ADestDir:String);procedure _DelTree(ASourceDir:String);//---------------------------------------------------------- procedure TForm1._XCopy(ASourceDir:String; ADestDir:String);varFileRec:TSearchrec;Sour:String;Dest:String;beginSour:=ASourceDir;Dest:=ADestDir;if Sour[Length(Sour)]<>'\' then Sour := Sour + '\';if Dest[Length(Dest)]<>'\' then Dest := Dest + '\';if not DirectoryExists(ASourceDir) thenbeginShowMessage('来源目录不存在!!');exit;end;if not DirectoryExists(ADestDir) thenForceDirectories(ADestDir);end;if FindFirst(Sour+'*.*',faAnyfile,FileRec) = 0 thenrepeatif ((FileRec.Attr and faDirectory) <> 0) thenbeginif (<>'.') and (<>'..') thenbegin_XCopy(Sour+,Dest+);end;endelsebeginCopyFile(PChar(Sour+),PChar(Dest+),false); end;until FindNext(FileRec)<>0;FindClose(FileRec);end;//------------------------------------------------------------------ procedure TForm1._Move(ASourceDir:String; ADestDir:String);varFileRec:TSearchrec;Sour:String;Dest:String;beginSour:=ASourceDir;Dest:=ADestDir;if Sour[Length(Sour)]<>'\' then Sour := Sour + '\';if Dest[Length(Dest)]<>'\' then Dest := Dest + '\';if not DirectoryExists(ASourceDir) thenbeginShowMessage('来源目录不存在!!');exit;end;if not DirectoryExists(ADestDir) thenbeginForceDirectories(ADestDir);if FindFirst(Sour+'*.*',faAnyfile,FileRec) = 0 thenrepeatif ((FileRec.Attr and faDirectory) <> 0) thenbeginif (<>'.') and (<>'..') thenbegin_XCopy(Sour+,Dest+);_DelTree(Sour+);FileSetAttr(Sour+,faArchive);RemoveDir(Sour+);end;endelsebeginCopyFile(PChar(Sour+),PChar(Dest+),false);FileSetAttr(Sour+,faArchive);deletefile(Sour+);end;until FindNext(FileRec)<>0;FindClose(FileRec);FileSetAttr(Sour,faArchive);RemoveDir(Sour);end;//-----------------------------------------------------------procedure TForm1._DelTree(ASourceDir:String);varFileRec:TSearchrec;Sour:String;beginSour:=ASourceDir;if Sour[Length(Sour)]<>'\' then Sour := Sour + '\';if not DirectoryExists(ASourceDir) thenbeginShowMessage('来源目录不存在!!');exit;if FindFirst(Sour+'*.*',faAnyfile,FileRec) = 0 thenrepeat//if (FileRec.Attr = faDirectory) thenif ((FileRec.Attr and faDirectory) <> 0) thenbeginif (<>'.') and (<>'..') then begin_DelTree(Sour+);FileSetAttr(Sour+,faArchive);RemoveDir(Sour+);end;endelsebeginFileSetAttr(Sour+,faArchive);deletefile(Sour+);end;until FindNext(FileRec)<>0;FindClose(FileRec);FileSetAttr(Sour,faArchive);RemoveDir(Sour);end;利用递归实现删除某一目录下所有文件var Form1: TForm1;rec_stack:array [1..30] of TSearchRec;rec_pointer:integer;Del_Flag:Boolean;--------------------------------------------------------------- procedure TForm1.DeleteTree(s:string);VAR searchRec:TSearchRec;beginif FindFirst(s+'\*.*', faAnyFile, SearchRec)=0 thenrepeatif (<>'.') and (<>'..') thenbeginif (SearchRec.Attr and faDirectory>0) thenbeginrec_stack[rec_pointer]:=SearchRec;rec_pointer:=rec_pointer-1;DeleteTree(s+'\'+);rec_pointer:=rec_pointer+1;SearchRec:=rec_stack[rec_pointer];endelsebegintryFileSetAttr(s+'\'+,faArchive);DeleteFile(s+'\'+);exceptApplication.MessageBox(PChar('Delete file:'+s+'\'++'Error!'),'Info',MB_OK);Del_Flag:=False;end;end;end;until (FindNext(SearchRec)<>0);FindClose(SearchRec);if rec_pointer<30 thenbegintryFileSetAttr(s,faArchive);RemoveDir(s);exceptApplication.MessageBox(PChar('Delete Directory:'+s+' Error!'),'Info',MB_OK); Del_Flag:=False;end;end;end;---------------------------------------------------------Del_Flag:=True;rec_pointer:=30;DeleteTree('c:\temp');if Del_Flag then Application.MessageBox(PChar('目录c:\temp的内容已成功清除!'),'信息',MB_OK);轻轻松松查找文件在平常的编程当中,经常会碰到查找某一个目录下某一类文件或者所有文件的问题,为了适应不同的需要,我们经常不得不编写大量的类似的代码,有没有可能写一个通用的查找文件的程序,找到一个文件后就进行处理的呢?这样我们只要编写处理文件的部分就可以了,不需要编写查找文件的部分!答案是肯定的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档