文件枚举

jshoong 2011-08-25 04:18:37
要把指定文件夹内的 指定的txt, doc, ppt后缀文件枚举 并读出一些信息 如 修改时间 大小 然后放在一个TStringList中
BCB好像只有一个TFileStream文件类
难道要用API来枚举吗?
...全文
112 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
heyatao 2011-08-25
  • 打赏
  • 举报
回复
如果你用过boost,可以用filesystem中的迭代器来进行。
zzbinfo 2011-08-25
  • 打赏
  • 举报
回复
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char *FileName = "c:\\*.Txt";
WIN32_FIND_DATA fileinfo;
DWORD errorcode = 0;

HANDLE Find = FindFirstFile(FileName,&fileinfo);
while(Find != INVALID_HANDLE_VALUE && errorcode != ERROR_NO_MORE_FILES)
{
if( !((fileinfo.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
&& strcmp(fileinfo.cFileName, ".") && strcmp(fileinfo.cFileName, "..") ))
{
ShowMessage(fileinfo.cFileName);//从 fileinfo中读取你要的文件属性
}

FindNextFile(Find,&fileinfo);
errorcode = GetLastError();
}

CloseHandle(Find);




}
ccrun.com 2011-08-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jshoong 的回复:]
主要是枚举后 一个个打开 不能显示TFileListBox
[/Quote]

用TFileListBox只是列举文件的一个思路,其内部实现也是通过FindFirstFile来实现的。
jshoong 2011-08-25
  • 打赏
  • 举报
回复
主要是枚举后 一个个打开 不能显示TFileListBox
ccrun.com 2011-08-25
  • 打赏
  • 举报
回复
Windows API提供了相应的函数:FindFirstFile/FindNext/FindClose, 具体代码google这些函数名即可。

另外最简单的方法就是用TFileListBox组件。

13,825

社区成员

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

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