有关文件与目录操作的难题!大哥们帮帮小弟呀!

hugeman 2003-09-15 10:28:27
我现在要对一个指定目录下的若干文件进行操作?只有目录已知,文件名与个数都不知,我要循环对文件进行操作,不能让用户介入由我程序自动完成!我首先要定位到目录,然后再操作?大哥们给我一思路,最好帖上源码,小弟是个新手呀!在此谢了!
...全文
32 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
crii 2003-09-15
  • 打赏
  • 举报
回复
BCB Help ,查找关键字 "topic groups" ,结果中的大部分内容都很集中的描述了某类对象的各种操作函数。

好好看看吧~
gloom 2003-09-15
  • 打赏
  • 举报
回复
怎么这个问题每天都有人问啊
你应该看看FAQ或精华区
给你一段遍历目录的代码
遍历目录

int getDirSize(AnsiString Dir)
{
static size=0;
TSearchRec sr;
int iAttributes = 0;
iAttributes |= faAnyFile;
if ( FindFirst( Dir+"*.*", iAttributes, sr) == 0 )
{
try
{
do
{
if ( sr.Name == "." || sr.Name == ".." )
continue;
if ( sr.Attr == faDirectory )
size+=getDirSize ( Dir+sr.Name+"\\" );//找到一个目录
else
{
StatusBar1->Panels->Items[2]->Text = Dir + "\\" + sr.Name;
size+=sr.Size;
Application->ProcessMessages();
RichEdit1->Lines->Add(Dir + "\\" + sr.Name );
}
Application->ProcessMessages();
}while ( FindNext ( sr ) == 0 );
StatusBar1->Panels->Items[2]->Text = Dir;
Application->ProcessMessages();

FindClose(sr);
return size;
}
catch(Exception &e)
{
FindClose(sr);
}
}
}
ccrun.com 2003-09-15
  • 打赏
  • 举报
回复
通过递归遍历指定目录下所有文件,建议用关键词“FindFirst”搜索一下。
tccsdn 2003-09-15
  • 打赏
  • 举报
回复
procedure TForm1.GetDirectories(Tree: TTreeView; Directory: string; Item: TTreeNode; IncludeFiles: boolean);

var

SearchRec: TSearchRec;

ItemTemp: TTreeNode;

begin

TreeView1.Items.BeginUpdate;

if Directory[length(Directory)] <> '\' then Directory := Directory + '\';

if FindFirst(Directory + '*.*'

faDirectory

SearchRec) = 0 then

begin

repeat

if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name[1] <> '.') then

begin

if (SearchRec.Attr and faDirectory > 0) then

Item := Tree.Items.AddChild(Item

SearchRec.Name);

ItemTemp := Item.Parent;

GetDirectories(Tree

Directory + SearchRec.Name

Item

IncludeFiles);

Item := ItemTemp;

end

else if IncludeFiles then

if SearchRec.Name[1] <> '.' then

Tree.Items.AddChild(Item

SearchRec.Name);

until FindNext(SearchRec) <> 0;

FindClose(SearchRec);

end;

TreeView1.Items.EndUpdate;

end;


procedure TForm1.Button1Click(Sender: TObject);

var

i: integer;

begin

GetDirectories(TreeView1

'C:\'

nil

True);

end;

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧