目录的问题???(50分)

  • 主题发起人 主题发起人 sy_luoping
  • 开始时间 开始时间
S

sy_luoping

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟现有一事请教,就是我的目录里的子目录是按日期创建的,怎样我能按日期删除这些子目录?如有实例,小弟万分感谢!!送上多分。。
刚才小弟按照方法调用,但是没有查找到啊。不知道为什么??DIGUA你如果在的话,请告知。
 
获取文件信息
删除文件夹
遍历
以上关键字 在GOOGLE 里面可以搜出一大堆。
 
楼主,在下对你佩服的真是五体投地了
直接原码全给你吧
自己看哪儿有问题

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, FileCtrl;

type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
ListBox1: TListBox;
Edit2: TEdit;
OpenDialog1: TOpenDialog;
FileListBox1: TFileListBox;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function IsValidDir(SearchRec:TSearchRec):Boolean;
function SearchFile(mainpath:string;filename:string;var foundresult:TStrings):Boolean;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

function TForm1.IsValidDir(SearchRec: TSearchRec): Boolean;
begin
if (SearchRec.Attr=16) and (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then
result:=true
else
result:=false;
end;

function TForm1.SearchFile(mainpath, filename: string;
var foundresult: TStrings): Boolean;
var
i:Integer;
Found:Boolean;
subdir1:TStrings;
searchRec:TSearchRec;
s:string;
begin
Found:=false;
if trim(filename)<>'' then
begin
subdir1:=TStringList.Create;
if (FindFirst(mainpath+'*.*',faDirectory,searchRec)=0) then
begin
if IsValidDir(SearchRec) then
subdir1.Add(SearchRec.Name);
while (FindNext(SearchRec)=0 ) do
begin
if IsValidDir(SearchRec) then
subdir1.Add(SearchRec.Name);
end;
end;
FindClose(SearchRec);

if (copy(mainpath,length(mainpath)-length(filename),length(filename))=filename) then
begin
Found:=true;
foundresult.Add(mainpath);
end;

for i:=0 to subdir1.Count-1 do
found:=SearchFile(mainpath+subdir1.Strings+'/',FileName,foundresult);
subdir1.Free;
end;
result:=found;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
s:TStrings;
begin
s:=TStringList.Create;
SearchFile(edit1.Text,edit2.Text,s);
ListBox1.Items.AddStrings(s);
s.Free;
end;


end.
 
楼上的大哥,小弟有一事相求,就是上面的方法已经好用了,但查找出来的只是指定的目录,能不能把根目录下的所有文件夹都遍历出来啊,我要的就是这个结果。只要文件夹名就可以了。万分感谢,如果实现,小弟将送全部积分!!!!!
 
后退
顶部