私はこの問題を抱えています、この例のコードを見てください:
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 xe までのすべての最後のバージョンの delphi でも同様でした。今デルファイxe2で、私はこの出力を持っています:
iIndex byte(src[iIndex])
0 0
1 0
2 1
3 2
..................
254 253
255 254
今、私は尋ねます、異なるタイプの文字列を使用する必要がありますか? もちろん、バイト(src [iindex])をバイト(src [succ(iindex)])に更新して解決するための回避策を見つけましたが、iIndex = 255の場合、例外を発生させるバイト(src [256])がありますしたがって、バイト単位で変更する必要があります。もちろん、それが最善の解決策だとは思わないので、もっと良い解決策があればお願いします。どうもありがとう。