Inno setup Pascal脚本:检查dest目录是否为空,只打印yes'/如果是,则没有警告

Inno setup Pascal脚本:检查dest目录是否为空,只打印yes'/如果是,则没有警告,inno-setup,Inno Setup,我已经写了一个设置。在这个设置中,什么都没有发生,因为我只关注一个领域: wpSelectDir”,用户可以从中选择安装程序的目录 现在,我的代码片段应该检查所选目录(任何其他文件夹、文件等)中是否存在任何内容。如果是这样,如果用户仍想继续,则会收到警告,因为该目录中的所有内容都将被删除。 如果用户只创建了一个新的空文件夹,则不会收到警告,因为不会丢失任何内容 我已经完成了代码片段,除了检查目录是否为空(我将其替换为“如果1=1,则为” 请看一看: [Setup] AppName=Testpro

我已经写了一个设置。在这个设置中,什么都没有发生,因为我只关注一个领域: wpSelectDir”,用户可以从中选择安装程序的目录

现在,我的代码片段应该检查所选目录(任何其他文件夹、文件等)中是否存在任何内容。如果是这样,如果用户仍想继续,则会收到警告,因为该目录中的所有内容都将被删除。 如果用户只创建了一个新的空文件夹,则不会收到警告,因为不会丢失任何内容

我已经完成了代码片段,除了检查目录是否为空(我将其替换为“如果1=1,则为

请看一看:

[Setup]
AppName=Testprogramm
AppVerName=Example
AppPublisher=Exxample
DefaultDirName={pf}\C
DefaultGroupName=C
Compression=lzma
SolidCompression=yes

[Code]
function NextButtonClick(CurPageID: Integer): Boolean;
begin
   if CurPageID = wpSelectDir then // if user is clicked the NEXT button ON the select directory window; if1 begins here;
   begin
   if 1=1 then // if the directory is not empty; thx 4 help stackoverflow
   begin // warning with yes and no
    if MsgBox('The file contains data. This data will be removed permanently by continuing the setup?', mbConfirmation, MB_YESNO) = IDYES then //if 3 begins here
    begin
      Result := True;
    end
    else
    begin
      Result := False;
    end;
    end; // if2 ends here
  end // not CurPageID but any other begins here
  else
  begin
      Result := True;
  end; 
end;
我已经尝试过对任何文件使用诸如“if FileExists(…”,但在那里我不能说“.”之类的函数。此外,我也没有成功地使用WizardDirValue及其属性

如果有人能帮我或给我一个提示,我将不胜感激

非常感谢,
关于C.

使用
FindFirst
/
FindNext

例如:

函数isEmptyDir(dirName:String):布尔值;
变量
FindRec:TFindRec;
FileCount:整数;
开始
结果:=假;
如果FindFirst(dirName+'\*',FindRec)则开始
尝试
重复
如果(FindRec.Name'.'和(FindRec.Name'.'),则开始
文件计数:=1;
打破
结束;
直到没有FindNext(FindRec);
最后
FindClose(FindRec);
如果FileCount=0,则结果:=True;
结束;
结束;
结束;
注意:如果目录不存在,此函数还返回
False