inno setup检测安装路径是否包含中文

inno setup设个软件很好用,但是感觉关于这它的博客好少,一个检测安装路径的方法找了半天没找着,看到一篇【inno setup禁止中文安装路径】,并下载作者的dll和脚本,结果可能是inno setup版本不同,本人直接编译下载的脚本,安装却没有作者编译好的那个exe文件那样可以检测中文的效果。

后面了解到inno setup的[code]部分使用Pascal语法,然后写了一个可以检测中的Pascal方法,逻辑很简单,代码如下

 

// 检测字符串中是否存在中文

function IsChineseStr(txt: String): Boolean;

var

val: Integer;

len: Integer;

i: Integer;

begin

Result := false;

len := length(txt);

for i := 1 to len - 1 do

begin

// 将字符转成ascii值

val := ord(txt[i]);

// 根据字符的ascii码值判断字符是否为中文

if (val > 19968) and (val < 40869) then

begin

Result := true;

end;

end;

 

end;

 

// 下一步按钮触发事件,返回false则不会跳到下一步

function NextButtonClick(CurPageID:Integer):Boolean;

var

hasChinese:Boolean;

 

begin

Result := True;

hasChinese := IsChineseStr(WizardDirValue);

if (CurPageID = wpSelectDir) and (hasChinese) then

begin

Result := False;

MsgBox(ExpandConstant('{cm:ForbiddenChinese}'), mbError, MB_OK);

end;

 

end;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值