【问题标题】:Reading directory in delphi 7 gives nothing在 delphi 7 中阅读目录什么也没有
【发布时间】:2014-10-01 20:24:10
【问题描述】:

我是一个 delphi 菜鸟,我只是尝试读取目录中的文件(我稍后会处理这些文件)。

我尝试了多种方法,但没有任何效果 - 根本没有任何输出。

   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;

这两种方法都不起作用,所以可能是操作系统问题? (windows 7 64位)编译过程中没有错误。

【问题讨论】:

    标签: file delphi directory


    【解决方案1】:

    您需要包含一个模式来搜索文件。替换

    directoryPath := exePath + 'XML_out\';
    

    directoryPath := exePath + 'XML_out\*';
    

    第一个代码块是奇数。当FindFirst 返回0 时,它似乎放弃了。但是0 返回值表示成功。所以这个条件是错误的。第二段代码看起来很合理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-05
      • 2014-09-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多