LoginSignup
5
0

More than 5 years have passed since last update.

Object Pascal の文字・文字列の小ネタ

Last updated at Posted at 2017-10-30

文字と文字列について

ここでは文字と文字列の記述についてを記載します。
小ネタなので、それ以外の文字列の内部データ形式などについてはこちらをどうぞ。

文字列の内部データ形式

Object Pascal で文字を表す方法

  1. '' シングルクォートを使う
  2. # を使う
  3. ^ を使う
var
  Ch: Char;
begin
  Ch := 'A'; // (1) の方法
  Ch := #65; // (2) の方法(16進数で Ch := #$41 とも書けます)
  Ch := ^M;  // (3) の方法(^A = #1 で始まり全ての文字が使えます。主に制御文字を書くのに使います) 
end.

Object Pascal の文字・文字列の連結

  1. 足し算
const
  Str1 = 'ABC' + 'DEF';    // (1) の方法。足し算で連結します
  Str2 = 'ABC'#13#10'DEF'; // (2) の方法。文字列と上記2,3で表現される文字の間に
  Str3 = 'ABC'^!'DEF';     // 空白など何も書かないと連結されます

Object Pascal でシングルクォートを記述する方法

  1. 文字コードを使う
  2. '' を使う
  3. '''' を使う
const
  SQ1 = #39;    // (1) の方法。コードで指定します
  SQ2 = 'It''s' // (2) の方法。文字列中(文頭・文尾はNG)の場合は '' でシングルクォートを表します
  SQ3 = '''';   // (3) の方法。一個だけ指定するときなど。上記の文字が無い版

ちなみに

改行については System.pas に sLineBreak として宣言されています。
中身は Platform 依存です(Windows: #13#10, POSIX: #10)。

他にもパスの区切り文字ファイル名に使えない文字の集合などは TPath から取れたりします。

他にも色々定義済みのモノがあるので、ライブラリのソースを読むといいと思います。

まとめ

古の Pascal の書き方でもちゃんとコンパイル通るのすごい。

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0