![]() |
1
9
如果“map”的意思是“hash table”,则可以用通用的TDictionary替换它。尝试声明如下内容:
然后用正确对象类型的tstringmaps替换字符串列表。(更好的类型安全性是免费提供的。)另外,如果希望字典拥有对象并在完成后释放它们,请将其更改为TobjectDictionary,当调用构造函数时,请将[downsValues]传递给相应的参数。 (顺便说一句,如果要使用tdictionary,请确保下载了d2009 update 3。最初的版本在TDictionary中有一些严重的错误,使它几乎无法使用。) 编辑:如果它仍然需要在d2006下编译,那么您将不得不稍微调整一下。尝试如下操作:
如果您首先使用包装器作为一个映射,那么它不应该承担太多的工作。您将失去额外的类型安全性,以换取向后的兼容性,但您将获得一个真正的哈希表,它在O(1)时间内进行查找。 |
![]() |
3
9
tstringlist.loadfromfile/savetofile还接受一个类型为tencoding的可选参数,该参数允许您使用tstringlist存储所需的任何类型的字符串。
另外请注意,默认情况下,tstringlist使用ansi作为代码页,以便所有现有代码都能正常工作。 |
![]() |
4
3
这些子系统是否需要保持应答,或者只是它们如何与外部世界(RS232、文本文件等)通信?就像我处理C一样,我将Delphi2009中的字符串视为字符串,并且只在其他人需要时才担心转换。 这也有助于避免代码中的无意隐式转换,以及在调用Windows API方法时,提高性能。 |
![]() |
5
2
您可以修改Delphi2007(或更早版本)的tstring和tstringlist类,并将它们重命名为tansiStrings和tansiStringList。您应该发现这是一个非常简单的修改,这将为您提供所需的类。 |
![]() |
M - · 为什么两个相同的表情符号不相等? 2 年前 |
![]() |
Mohsen · 将字符串从Windows 1256转换为UTF-8 7 年前 |
![]() |
AMINA ARSHAD · 从字符转换为Unicode数字时出错 7 年前 |
![]() |
Taqwa · 在C#[已关闭]中将上标转换为Unicode 7 年前 |