インデックスが 0 から始まる文字列(Delphi)

提供: RAD Studio
移動先: 案内検索

Delphi コンパイラ指令のリスト:インデックス への移動


種類

スイッチ

構文

{$ZEROBASEDSTRINGS ON} または {$ZEROBASEDSTRINGS OFF}

デフォルト

Delphi モバイル コンパイラの場合は {$ZEROBASEDSTRINGS ON}
Delphi デスクトップ コンパイラの場合は {$ZEROBASEDSTRINGS OFF}

スコープ

ローカル


説明

{$ZEROBASEDSTRINGS} は、文字列型にローカルに使用されるインデックス付けを以下のように制御します。

  • {$ZEROBASEDSTRINGS OFF} は Delphi デスクトップ コンパイラ(DCC32、DCC64、DCCOSX、DCCLINUX64)の場合のデフォルトで、文字列のインデックスは 1 から始まります。
  • {$ZEROBASEDSTRINGS ON} は Delphi モバイル コンパイラ(DCCIOSARM、DCCIOS32)の場合のデフォルトで、文字列のインデックスは 0 から始まります。
注意: {$ZEROBASEDSTRINGS} を使用すると、ローカルの文字列インデックス方式を変更できます。 たとえば、モバイル プラットフォーム用 Delphi アプリケーションで {$ZEROBASEDSTRINGS OFF} を定義すると、文字列のインデックス方式を 1 から始まる方式に変更できます。
たとえば、文字列を直接編集している箇所が単独で存在し、今はその部分を修正できないという場合には、{$ZEROBASEDSTRINGS} が役に立ちます。
ただし、モバイル コンパイラと Delphi モバイルの RTL は、デフォルトではインデックスが 0 始まりの文字列を使用しているため、RTL をモバイル プラットフォームのための Delphi アプリケーションで使用する際には、0 始まりの文字列を使用する必要があります。
ごく一部ではない広い範囲のモバイル コードでは {$ZEROBASEDSTRINGS} を定義しないでください。 モバイル プラットフォームのモジュールやアプリケーション全体に適用した場合は、予測できない結果になるでしょう。

関連項目