我想创建一个列出某个目录中包含的文件的程序。我想列出文件,只列出文件,而不是列出此目录中的文件夹。我怎样才能在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.
答案 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)
文件属性常量
答案 1 :(得分:0)
如果你使用免费的pascal,afaik Sysutils有“directoryexists”