文字列用のコンパイラ指令

提供: Appmethod Topics
移動先: 案内検索

文字列の操作 への移動


次の Object Pascal コンパイラ指令は、文字および文字列の型を操作します。

文字列用のコンパイラ指令

指令 説明

{$H+/-}

コンパイラ指令 $H は、予約語 string が短い文字列と長い文字列のどちらを表すかを制御します。 デフォルトの状態、{$H+} では、string は長い文字列を表します。 これを ShortString に変更するには、{$H-} 指令を使用します。

{$P+/-}

$P 指令は、{$H-} 状態でコンパイルされたコードにのみ意味があり、下位互換性のために提供されています。 $P は、{$H-} 状態で string キーワードを使って宣言された変数パラメータの意味を制御します。 {$P-} 状態では、string キーワードを使って宣言された変数パラメータは通常の変数パラメータですが、{$P+} 状態では、オープン文字列パラメータになります。 $P 指令の設定にかかわらず、OpenString 識別子は、オープン文字列パラメータの宣言に常に使用できます。

{$V+/-}

$V 指令は、変数パラメータとして渡された短い文字列の型チェックを制御します。 {$V+} の状態では、厳密な型チェックが行われ、仮パラメータと実パラメータが同一の文字列型であることを要求します。 {$V-} の状態では、短い文字列型の変数はすべて実パラメータとして使用できます。宣言された最大長が仮パラメータの最大長と同じでなくてもかまいません。 これにより、メモリ破壊を引き起こす可能性がある点に留意してください。 例: var S: string[3];

procedure Test(var T: string);
begin
  T := '1234';
end;
begin
  Test(S);
end.

{$X+/-}

{$X+} コンパイラ指令は、組み込み PChar 型と 0 始まりの文字配列に提供される特殊な規則を有効にして、ヌル終端文字列に対するサポートを有効にします。 (これらの規則により、0 始まりの配列および文字ポインタが、System ユニットの WriteWritelnValAssignRename で使用できるようになります)。

関連項目