コラム / 置換ツールを作ろう / 6



プログラム上で、何かデータを扱うとき、
変数というものを非常によく使います。
変数つっても、y=ax+bとかのyとかxとかとはちょいと毛色が違います。
いうなれば、PC上の
ひきだし
です。

hiki.PNG

引き出しは、
中身を入れ替えたり、中身を読んだりできます。
Delphiでは、使う変数は事前に全て「宣言」しなくてはいけません。
変数は var の下に列挙します。(今回はグローバル変数のみで作ります。
まぁ画像のように書き足してください。

img17.png

変数宣言は、
変数名:型;
という風に書きます。
ここでは、変数clipと、変数texを定義しています。
それぞれ、TClipboard型、TStrings型として定義しています。
型というのは、変数に入れられるデータの形式のことです。
実は、delphiの引き出しには、なんでもかんでも入れられるわけではありません。
数字を入れるなら数字用の引き出し。
文字列を入れるなら文字列用の引き出しを用意しなくてはいけません。
冷凍食品は冷凍庫に入れなければいけないし、
鉛筆は筆箱に入れなければいけないですね。
そういうことなんです。
(そうじゃない人も居るかもしれないけど

kata.png

じゃぁ、型の説明をしましょうか。
TStringsというのは、文字列リストを入れる型です。
文字列リストというのは、複数行のテキスト の事だと思ってください。
文字列 と 文字列リスト は違います。
文字列は一行ですが、文字列リストは複数行のデータです。
ややっこしいですねぇ。
(一文字だけ入れる、文字型 というのもあるんですが、
 Delphiではあまり使いません。
 C言語とかだと、文字列は、「たくさんの文字型」を駆使して扱うので、
 使いまくるのですが、delphiは、文字型とは別に、
 文字列を扱う型を準備してくれてるので、「たくさんの文字型」という使い方はあまりしません。(移植とかWinAPIとかで使うんですが
 ま ここは気にしなくても大丈夫)

moji.PNG

TClipboardというのは、クリップボードを入れる型です。
・・・というのは間違いで、
「クリップボードのように見えるけど実際にはクリップボードを仲介してくれる奴」
です。

cli.PNG

この宣言をしたことで、
このアプリの中から、この文字列リスト変数、texと、
クリップボード clip を扱えるようになりま・・・せん。
実はこいつらは、「クラス」という奴らなんです。
まぁその話はまたあとで