読者です 読者をやめる 読者になる 読者になる

Delphi XE4での変更点を試す

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