File 在Delphi7中读取目录没有任何作用

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

我是一个DelphiNoob,我只是尝试读取目录中的文件(稍后我将用这些文件做一些事情)

我尝试了两种方法,但都不起作用——根本没有输出

   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\*';