Inno setup 如何在Inno设置中检查字符串是否以另一个(EndsWith)结尾

Inno setup 如何在Inno设置中检查字符串是否以另一个(EndsWith)结尾,inno-setup,pascalscript,Inno Setup,Pascalscript,我需要在一些Inno设置函数中编写一个逻辑来检查字符串是否以另一个字符串结尾 我可以使用StrUtilsPascal函数(EndsWith)执行此操作吗 函数NextButtonClick(CurPageID:Integer):布尔; 变量 dir_值:字符串;应用程序名称:字符串; 开始 如果CurPageID=wpSelectDir,则 开始 目录值:=“C:\work\ABC” 应用程序名称:=“ABC” {我需要在这里写一个逻辑来检查dir_值是否以app_name结尾} 结束; 结束;

我需要在一些Inno设置函数中编写一个逻辑来检查字符串是否以另一个字符串结尾

我可以使用
StrUtils
Pascal函数(
EndsWith
)执行此操作吗

函数NextButtonClick(CurPageID:Integer):布尔;
变量
dir_值:字符串;应用程序名称:字符串;
开始
如果CurPageID=wpSelectDir,则
开始
目录值:=“C:\work\ABC”
应用程序名称:=“ABC”
{我需要在这里写一个逻辑来检查dir_值是否以app_name结尾}
结束;
结束;

Inno设置中没有
EndsWith

但您可以轻松实现它:

函数EndsWith(子文本,文本:字符串):布尔值;
变量
EndStr:string;
开始
EndStr:=复制(文本,长度(文本)-长度(子文本)+1,长度(子文本));
{如果需要区分大小写的比较,请使用SameStr}
结果:=SameText(SubText,EndStr);
结束;

但在你的情况下,你实际上需要这样的东西:

函数EndsWithFileName(文件名,路径:字符串):布尔值;
开始
结果:=SameText(文件名,ExtractFileName(路径));
结束;


对于(和),您需要Inno Setup 6。在旧版本上,您可以将其替换为(和)。

EndsWithFileName比基于EndsWith的方法要好得多。再次感谢兄弟!