首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

文件路径有关问题

2012-06-15 
文件路径问题1,我想打开一个文件夹将里面所有文件的文件路径取出来;2,我想将鼠标选择的文件的路径取出来;

文件路径问题
1,我想打开一个文件夹将里面所有文件的文件路径取出来;
2,我想将鼠标选择的文件的路径取出来;
请问有什么好的方法吗?

[解决办法]
1.遍历文件夹找到文件,记录路径
2.用目录组件,路径就是打开的目录。
[解决办法]
1 用FindFirstFile和FindNextFile函数可以遍历文件夹
2 你用鼠标在哪里选取文件?当你把文件显示出来的时候,路径不就已经有了吗?
[解决办法]
如果文件含路径可以用ExtractFileDir来取得
extern PACKAGE AnsiString __fastcall ExtractFileDir(const AnsiString FileName);
如果不含路径,也只能用FindFirstFile和FindNextFile来搜索得到
[解决办法]
String TNotesMail::BrowDir(String path,String file)
{
if(!IsWindowVisible(MsgForm))
MsgForm->Show();

TSearchRec sr;
static String dpath; //关键是这里,必须定义为静态,否则下一次递归将丢掉所得到的值

if(Exit)
return "";

if (FindFirst(path+"*.*", faAnyFile, sr) == 0) //列举所有的目录
{
do
{
Application->ProcessMessages() ;
if((sr.Attr & faDirectory) && sr.Name!="." && sr.Name!="..") //判断是否是目录,并排除目录“.”和“..”
BrowDir(path+sr.Name+"\\",file); //调用函数本身,进入子目录
else
if( sr.Name.UpperCase()==file.UpperCase())//找到所需文件
{
MsgForm->Hide() ;
Exit=true;
return dpath=path;
}

Lb->Caption=path+sr.Name;

} while (FindNext(sr) == 0 && !Exit);
FindClose(sr);
}
return dpath;
}

热点排行