Pascal是Dir函数

时间:2010-12-25 13:17:45

标签: php freepascal

我想创建一个列出某个目录中包含的文件的程序。我想列出文件,只列出文件,而不是列出此目录中的文件夹。我怎样才能在Pascal中做到这一点?如果在PHP中,有一个名为“isDir”的函数,如果指定的参数是目录(文件夹),则返回true。使用此功能,我可以检查我使用的“路径”是文件还是文件夹。

现在,我正在使用FindFirst和FindNext过程来获取目录中的所有文件/文件夹。

program mine;
uses dos;

var F: SearchRec
begin
    readln(dir);
    FindFirst('dir+'\.*.',anyFile,F);
    while DosError=0 do begin
        writeln(F.Name);
        FindNext(F);
    end;
end.

2 个答案:

答案 0 :(得分:0)

尝试以下

while DosError=0 do begin
        if ((F.attr and faDirectory) <> faDirectory)
         then  writeln(F.Name);
        FindNext(F);
    end;

抱歉,我的Pascal有点生锈

基本上,FindFirst / FindNext返回的对象包含一个ATTR属性,该属性指示它的文件类型。

此外,在循环结束时,请务必添加FindClose()调用以释放内存

FindClose(F)

文件属性常量

  • faDirectory-Is directory
  • faReadOnly-Readonly file
  • faArchive-Archive bit
  • faHidden - 隐藏文件
  • faVolumeId-File是volumne ID
  • faSysFile-系统文件

答案 1 :(得分:0)

如果你使用免费的pascal,afaik Sysutils有“directoryexists”