object pascal の文字列には AnsiString をよく使用しますが、他の文字列が使用されることはほとんどありません。
いくつかの種類の文字列を次に示します。
AnsiSring これは Pascal のデフォルトのタイプです。その長さに制限はありません。そして文字列は null で終わります。つまり、「/0」で終わります。
ShortSring は、Delphi の以前のバージョンとの互換性を目的としています。長さは 255 文字に制限されています。
WideSring は AnsiString に似ていますが、 WideChar 文字で構成されています。
PChar NULL で終わる文字列へのポインタ。 C の char* または lpstr に似ています。
PAnsiChar は、null で終わる AnisChar で終わる文字列ポインターを指します。
PwideChar NULL で終わる WideChar 文字列へのポインタ。
デフォルトでは、AnisSring タイプです。
変数
S:文字列;
コンパイラ スイッチ $H を使用して String 型を ShortString 型として定義することもできます。
変数
{$H-}
s1:=string;//s1 は shortstring 型です
{$H+}
s2:=string;//s2 は sring 型です
ただし、指定された文字列の長さが 255 未満の場合、{$H} は常に AnsiSring になります。
例:
変数
s:文字列[254];
以下では、これらのタイプのそれぞれの使用法について説明します。
1.アニスリングタイプ
動的に割り当てられ、自動的にリサイクルされます。この機能は生涯自己管理と呼ばれます。 C のような中間結果は必要ありません。
AnisSring 型文字列は null で終了するため、Win32Api と互換性があります。実はアニスリングは
スタック上の文字列構造体へのポインタ