Unicode Inno Setup中的LoadStringFromFile和StringChangeEx(Ansi文件)

477

我正在尝试更新我的脚本之一,以使用Inno Setup的Unicode版本。不幸的是,我遇到了一个问题,其中StringChangeEx期望看到一个Unicode字符串而不是我需要的AnsiString(类型不匹配)。是否有替代方法可以从Unicode Inno Setup中替换匹配的AnsiStrings?

如果有人不知道为什么,我总是WizardDirValue()避免一直在输入ExpandConstant('{app}\')

var
  AnsiData: AnsiString;
begin
  LoadStringFromFile(WizardDirValue() + '\legacyansi.conf', AnsiData)
  { Type mismatch, StringChangeEx expects String which is Unicode }
  StringChangeEx(AnsiData, 'current', 'replace', True);
  SaveStringToFile(WizardDirValue() + '\legacyansi.conf', AnsiData)
end;
TLama

由于声明LoadStringFromFileStringChangeEx函数的参数以及函数的参数,因此它们希望传递确切的类型,因此与它没有太大关系。您只需要声明一个变量,即可StringChangeEx在ANSI和Unicode字符串类型之间进行函数调用和类型转换:

var
  UnicodeStr: string;
  ANSIStr: AnsiString;
begin
  if LoadStringFromFile('C:\File.txt', ANSIStr) then
  begin
    UnicodeStr := String(ANSIStr);
    if StringChangeEx(UnicodeStr, 'FromStr', 'ToStr', True) > 0 then
      SaveStringToFile('C:\File.txt', AnsiString(UnicodeStr), False);
  end;
end;

烦人的,不是吗?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Unicode Inno Setup中的LoadStringFromFile和StringChangeEx(Ansi文件)

来自分类Dev

Inno Setup以Ansi和Unicode编码读取文件

来自分类Dev

使用Inno Setup(Unicode版本)创建不带BOM的UTF8文件

来自分类Dev

Inno Setup Unicode版本的Pascal脚本中“字符集”上的“类型不匹配”错误

来自分类Dev

在 Inno Setup Unicode 中定义具有宽字符指针字段的结构

来自分类Dev

如何在Inno Setup中使用Unicode字符显示复选标记或对勾标记

来自分类Dev

Inno Setup中的TTreeView

来自分类Dev

使用Inno Setup StringChangeEx函数时出现“预期变量”错误

来自分类Dev

在Inno Setup中复制隐藏文件

来自分类Dev

在Inno Setup中创建ZIP文件

来自分类Dev

Inno Setup:从测试文件中删除空行

来自分类Dev

inno setup中的“ Not in a loop”错误

来自分类Dev

在Inno Setup中取消安装

来自分类Dev

Inno Setup中的条件DisableProgramGroupPage

来自分类Dev

在Inno Setup中记录TWindowsVersion

来自分类Dev

Inno Setup 中的动态密码

来自分类Dev

Inno Setup语法-OR,AND

来自分类Dev

WinAPI Unicode和ANSI函数

来自分类Dev

inno setup 在特定位置浏览和提取 zip 文件

来自分类Dev

如何获取包含在inno setup installer exe文件中的文件版本(exe和dll)?

来自分类Dev

Inno Setup查找子文件夹

来自分类Dev

Inno Setup –更新之前压缩本地文件

来自分类Dev

Inno Setup拒绝设置某些文件的权限

来自分类Dev

提供Inno Setup下载功能的文件大小

来自分类Dev

Inno Setup Compiler:如何修改文件内容

来自分类Dev

Inno Setup查找子文件夹

来自分类Dev

Inno Setup,检测参数文件是否存在?

来自分类Dev

Inno Setup 从输入用户解压文件

来自分类Dev

Inno setup 只删除文件夹

Related 相关文章

热门标签

归档