在Windows中使用TStringList和中文显示语言?

时间:2015-10-22 03:53:15

标签: delphi delphi-xe2

如何使我的程序与非英语Windows区域兼容(例如中文)?

我的程序是用Delphi XE2编译的,它加载的签名文件包含一些哈希值。

DB.txt包含Cardinal类型数据:

5654564534
8674534664

我使用TStringList和TEncoding.Default来加载文件并将哈希值存储在数组中(Cardinal)。

SL.LoadFromFile(Path, TEncoding.Default);
SetLength(myCardinalArray, SL.Count - 1);
for i := 1 to SL.Count - 1 do
begin
myCardinalArray[i - 1] := strtoint64(SL[i]);
end;

在此之前,程序正常工作,但在Windows中使用中文显示语言执行程序时,该数组包含无效的哈希值。

我已经尝试过TEncoding.Unicode和其他属性,然后我的程序无法在Windows中使用英语显示语言!我应该在使用TEncoding.Unicode之前先检测BOM吗?

使用英文和中文显示语言在Windows中运行什么类型的编码?

由于

0 个答案:

没有答案