0
Inno Setupで特定のファイル拡張子を持つディレクトリのファイルをカウントしたかったのです。私は次のコードを書いた。Inno Setup指定されたファイル拡張子を持つディレクトリ内のファイル数を調べる
よろしく、
function AmountOfFilesInDir(const DirName, Extension: String): Integer;
var
FilesFound: Integer;
ShouldBeCountedUppercase, ShouldBeCountedLowercase: Boolean;
FindRec: TFindRec;
begin
FilesFound := 0;
if FindFirst(DirName, FindRec) then begin
try
repeat
if (StringChangeEx(FindRec.Name, Lowercase(Extension), Lowercase(Extension), True) = 0) then
ShouldBeCountedLowercase := False
else
ShouldBeCountedLowercase := True;
if (StringChangeEx(FindRec.Name, Uppercase(Extension), Uppercase(Extension), True) = 0) then
ShouldBeCountedUppercase := False
else
ShouldBeCountedUppercase := True;
if (FindRec.Attributes and FILE_ATTRIBUTE_DIRECTORY = 0)
and ((ShouldBeCountedUppercase = True) or (ShouldBeCountedLowercase = True)) then begin
FilesFound := FilesFound + 1;
end;
until not FindNext(FindRec);
finally
FindClose(FindRec);
end;
end;
Result := FilesFound;
end;
および使用方法の例は指定できます
Log(IntToStr(AmountOfFilesInDir(ExpandConstant('{sys}\*'), '.exe')));
私はそれが少し長く見えるよう、それはより専門的に見えるように、この関数のコードの行を削減したいです。私はこの機能に失敗することなく、どうすればいいのか知る必要があります。
ありがとうございます。
はありがとうございました........! ....あなたはそれを短縮しました......... – GTAVLover