我有这个问题,看看这个例子的代码:
src := '';
for iindex := 0 to 255 do
begin
src := src + char(byte(iindex));
writeln (iindex:5, byte(src[iindex]):5);
end;
其中 src 是字符串类型, iindex 是整数类型,作为输出,我应该具有以下内容:
iIndex byte(src[iIndex])
0 0
1 1
2 2
3 3
..................
254 254
255 255
在 delphi 的所有最新版本中也是如此,直到 delphi xe;现在使用delphi xe2,我有这个输出:
iIndex byte(src[iIndex])
0 0
1 0
2 1
3 2
..................
254 253
255 254
现在我问,需要使用不同类型的字符串吗?我当然找到了解决它的解决方法,将 byte(src[iindex]) 更新为 byte(src[succ(iindex)]) 但是当 iIndex = 255 时,我有 byte(src[256]) 引发异常所以需要改变字中的字节。当然,我不认为这是最好的解决方案,所以我问你是否有更好的解决方案。非常感谢。