Delphi XE4が先日発売されましたね。私はiOSアドオンなしでXE3からアップグレードしました。
XE3を購入したときのポイントが余ってたおかげで、SEshopで1,200円程度で購入できました。
iOS対応を除くと、機能追加はほとんどないのですが、リリースノートに載っているインデックスが0から始まるの文字列と、追加されたTIntegerHelperを試してみました。
Delphi XE4 および C++Builder XE4 の新機能 - RAD Studio
test_zerobased_str.dpr
ZEROBASEDSTRINGSにONを指定するとString型のインデックスは0から始まります。
program test_zerobased_str; {$APPTYPE CONSOLE} {$ZEROBASEDSTRINGS ON} var Foo: String; I: Integer; begin Foo := 'ABCDE'; for I := 0 to Length(Foo) - 1 do Writeln(Foo[I]); end.
実行結果
>dcc32 test_zerobased_str.dpr >test_zerobased_str.exe A B C D E
ちなみに、OFFの場合はこうなります。
>test_zerobased_str.exe A B C D
test_integer_helper.dpr
program test_integer_helper; {$APPTYPE CONSOLE} (* System.SysUtilsをusesに追加することでヘルパークラスが有効になる *) uses System.SysUtils; var IntValue, IntValue2: Integer; StrValue: String; begin IntValue := 12345; (* IntegerからStringへ変換 *) StrValue := IntValue.ToString; Writeln(StrValue); (* StringからIntegerへ変換 *) IntValue2 := Integer.Parse('54321'); Writeln(IntValue2); end.
実行結果
>dcc32 test_integer_helper.dpr >test_integer_helper.exe 12345 54321