我需要在一些Inno Setup函数中编写一个逻辑,检查一个字符串是否以另一个字符串结尾。
我可以使用StrUtils
Pascal函数(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
(