delphi - D2009 TStringlist ansisstring

标签 delphi string unicode delphi-2009

夏天的商业平静已经开始,所以我开始迁移到 D2009。我粗略地确定了程序的每个子系统是否应该保留 ascii,或者可以是 unicode,并开始移植。

一切都很顺利,所有组件都在 D2009 版本中(有些组件,如 VSTView,虽然稍微不兼容),但我现在遇到了一个问题,在某些部分必须保持 ansistring,我广泛使用 TStringList,主要作为基本 map 。

是否已经有一些容易替换的东西,或者我应该简单地包含一个基于旧的 Delphi 或 FPC 源代码的缩减的 ansisstring tstringlist?

我无法想象我是第一个遇到这种情况的人?

这些更改必须相对本地化,以便在我完成验证轨迹时代码仍然可以与 BDS2006 兼容。这里有几个ifdef就没有问题了。 当然, string->ansistring 和 char ->ansichar 等在我的源代码中不算作修改,因为无论如何我都必须这样做,而且它完全向后兼容。

编辑:我已经能够解决读者/作家类(class)中的一些内容。这使得梅森的解决方案比我最初想象的更容易。我会牢记加 bool 的建议作为后备。

泛型几乎是我购买 D2009 的原因。遗憾的是他们让它不兼容 FPC

最佳答案

JCL在 JclAnsiStrings 单元中实现 TAnsiStrings 和 TAnsiStringList。

关于delphi - D2009 TStringlist ansisstring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1119920/

相关文章:

delphi - 显示光标所在的过程/函数

delphi - 将 TStringList 包装在记录中

python - 如何摆脱代码中的 U+200B(Unicode 零宽度空间)?

c++ - 为什么我们从 MultiByte 转换为 WideChar?

delphi - cxDateNavigator1 将周末文本颜色设置为红色

c# - Linq:搜索所有出现的多个空格的字符串

c++ - 6 智能感知 : no suitable conversion function from "std::string" to "int" exists

java - 我想要一个 E 表示法双变量转到字符串,但是......?

c - 使用 fputc() 写入一个字节

xml - 使用带有命名空间的 ChildNodes 从 XML 中读取值