File 在Delphi7中读取目录没有任何作用
我是一个DelphiNoob,我只是尝试读取目录中的文件(稍后我将用这些文件做一些事情) 我尝试了两种方法,但都不起作用——根本没有输出File 在Delphi7中读取目录没有任何作用,file,delphi,directory,File,Delphi,Directory,我是一个DelphiNoob,我只是尝试读取目录中的文件(稍后我将用这些文件做一些事情) 我尝试了两种方法,但都不起作用——根本没有输出 directoryPath := exePath + 'XML_out\'; //correct directory wiadomosc := wiadomosc + sLineBreak + sLineBreak + 'FILES IN DIRECTORY:' + directoryPath; //will output correct dir
directoryPath := exePath + 'XML_out\'; //correct directory
wiadomosc := wiadomosc + sLineBreak + sLineBreak + 'FILES IN DIRECTORY:' + directoryPath; //will output correct directory
//first method
directoryEOFound:= False;
if FindFirst(directoryPath, faAnyFile, directoryRes) = 0 then
wiadomosc := wiadomosc + sLineBreak + 'DIRECTORY N)T FOUND' + sLineBreak //should save info about directory not found but return nothing
// exit //exit is killing app, like directory was not found.... but directory is there
else
while not directoryEOFound do begin
wiadomosc := wiadomosc + sLineBreak + directoryRes.Name; //gives nothing
directoryEOFound:= FindNext(directoryRes) <> 0;
end;
FindClose(directoryRes) ;
//second method
if FindFirst(directoryPath, faAnyFile, directoryRes) = 0 then try
repeat
if (directoryRes.Name = '.') or (directoryRes.Name = '..') then
continue;
wiadomosc := wiadomosc + sLineBreak + 'file: ' + directoryRes.Name; //gives nothing, i dont think its initiated
until FindNext(directoryRes) <> 0;
finally
SysUtils.FindClose(directoryRes);
end;
directoryPath:=exePath+'XML_out\//正确的目录
wiadomosc:=wiadomosc+sLineBreak+sLineBreak+'目录中的文件:'+directoryPath//将输出正确的目录
//第一种方法
directoryEOFound:=False;
如果FindFirst(directoryPath、faAnyFile、directoryRes)=0,则
wiadomosc:=wiadomosc+sLineBreak+'DIRECTORY N)未找到'+sLineBreak//应保存有关未找到目录的信息,但不返回任何内容
//退出//退出正在终止应用程序,如未找到目录。。。。但目录在那里
其他的
虽然找不到目录,但请开始
wiadomosc:=wiadomosc+sLineBreak+directoryRes.Name//一无所获
directoryEOFound:=FindNext(directoryRes)0;
结束;
FindClose(董事会);
//第二种方法
如果FindFirst(directoryPath、faAnyFile、directoryRes)=0,请重试
重复
如果(directoryRes.Name='.')或(directoryRes.Name='.'),则
继续;
wiadomosc:=wiadomosc+sLineBreak+'file:'+directoryRes.Name//什么都不给,我不认为它是主动的
直到FindNext(directoryRes)0;
最后
SysUtils.FindClose(directoryRes);
结束;
这两种方法都不起作用,所以这可能是操作系统的问题?(windows 7 64位)编译过程中没有错误。您需要包含一个模式来搜索文件。替换
directoryPath := exePath + 'XML_out\';
与
第一段代码是奇数。当
FindFirst
返回0
时,它似乎会放弃。但是0
返回值表示成功。所以这种情况是错误的。第二段代码看起来很合理
directoryPath := exePath + 'XML_out\*';