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



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

我可以使用StrUtilsPascal函数(EndsWith(吗?

function NextButtonClick(CurPageID: Integer): Boolean;
var
dir_value: String; app_name: String; 
begin
if CurPageID = wpSelectDir then
begin
dir_value := "C:workABC"
app_name :=  "ABC"
{ I need to write a logic here to check if dir_value ends with app_name }
end;
end;

Inno设置中没有EndsWith

但你可以很容易地实现它:

function EndsWith(SubText, Text: string): Boolean;
var
EndStr: string;
begin
EndStr := Copy(Text, Length(Text) - Length(SubText) + 1, Length(SubText));
// Use SameStr, if you need a case-sensitive comparison
Result := SameText(SubText, EndStr);
end;

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

function EndsWithFileName(FileName, Path: string): Boolean;
begin
Result := SameText(FileName, ExtractFileName(Path));
end;

对于SameText(和SameStr(,您需要Inno Setup 6。在较旧的版本中,可以将它们替换为CompareText(和CompareStr(

相关内容

  • 没有找到相关文章

最新更新