Delphiをはじめて使ってみました。
聞いたことはあったのですが、実際にプログラミングをした経験はありませんでした。
Delphiとは一言で、なかなかおもしろい言語です。
でも、流行っていないですね。
GUIを使うプログラムは、Visual BasicやVisual C++が主流になっている中で、Delphiはほとんど影も形もない状態になっています。
Delphiといえば、Borland社が開発しました。
Delphi開発用のRAD Studio(Embarcadero Technologies, Inc)がありますが、2008年6月30日にEmbarcadero Technologies社がBorland社からDelphiを買収したようです。
RAD Studioは、Delphiの統合開発環境(IDE)です。
現在も開発は、Embarcadero Technologies(エンバカデロ・テクノロジーズ)社が行っています。
RAD Studioでは、DelphiやC++の開発が行えます。
おもしろそうだと思ったので、さっそくDelphiのテキストを購入し、RAD Studioの無料体験版をインストールして、プログラミングをしてみることにしました。
数本のかんたんなプログラムを作りました。
初心者にとっては、大変な驚きがありました。
Delphiの特徴を紹介します

Delphiとは、デルフィではなくデルファイと読みます。
Delphiが使用している言語は、Object Pascalです。
したがって、Delphiはオブジェクト指向型言語です。
オブジェクト指向型言語とは、プログラミングの中でデータや処理を関連付けながら、システムを構成することです。
オブジェクト指向型言語で代表的なものにJava、PHP、Python、C++、JavaScriptなどがあります。
また、何と言ってもDelphiの最大の特徴は、iOS、Android、Windows、macOSなど異なるプラットフォーム上で、同じ仕様のアプリケーションを動かせるクロスプラットフォームのプログラムであることです。
昨今のスマホ事情からも、アプリケーションソフトに関してはiOS・Android両対応であることが多く、Delphiは、このクロスプラットフォームアプリの開発にたいへん適した言語と言えます。
Delphiでかんたんなプログラミング

Delphiの統合開発環境(IDE)のRAD Studioを使用して、かんたんなプログラムを作りました。
Delphiの文法規則は他の言語と比べると、特に違いがあるのは、実行するプロシージャ(procedure)とは別にユニット(Unit)と呼ばれる宣言文があることと、命令行の最後尾にセミコロン(;)をつけることです。
ユニットはDelphi側で自動生成されます。
作成するプログラムによっては、宣言文を追記する必要があります。
また、セミコロンをつけるのところはC言語に似ていますが、少し雰囲気が違います。
実際のプログラミングでは、プロシージャと呼ばれる手続き文を記述するだけなので、プログラマーにとっては、比較的楽にプログラミングができます。
変数定義は、varからはじまる
どの言語でも変数を使用します。
変数を使用する前に、型などの宣言をしなければなりません。
定義方法は、以下のようになります。
var
I : Integer;
J : Single;
moji : Char;
基本のデータ型を紹介します。
【整数型】
データ型 | 範囲 | 書式 |
Integer | -2147483648 ~ 2147483647 | 符号付き32bit |
Cardinal | 0 ~ 4294967295 | 符号なし32bit |
Shortint | -128 ~ 127 | 符号付き8bit |
Smallint | -32768 ~ 32767 | 符号付き16bit |
Longint | -2147483648 ~ 2147483647 | 符号付き32bit |
Int64 | -2^63 ~ 2^63 – 1 | 符号付き64bit |
Byte | 0 ~ 255 | 符号なし8bit |
Word | 0 ~ 65535 | 符号なし16bit |
Longword | 0 ~ 4294967295 | 符号なし32bit |
【実数】
データ型 | 範囲 | 有効桁数 | サイズ |
Real | 5.0×10^324 ~ 1.7×10^308 | 15 ~ 16 | 8Byte |
Single | -1.5×10^45 ~ 3.4×10^38 | 7 ~ 8 | 4Byte |
Double | -5.0×10^324 ~ 1.7×10^308 | 15 ~ 16 | 8Byte |
Extended | -3.6×10^4951 ~ 1.1×10^4932 | 10 ~ 20 | 10Byte |
Comp | -2^63 ~ 2^63 – 1 | 19 ~ 20 | 8Byte |
Currency | -922337203685477.5808 ~ 22337203685477.5807 | 10 ~ 20 | 8Byte |
【文字型】
データ型 | 用途 | サイズ |
Char | AnsiCharと同様 | 1Byte |
AnsiChar | ANSI文字 | 1Byte |
WideChar | Unicode文字 | 1Word(16bit) |
【文字列型】
データ型 | 用途 | 最大長 |
ShorString | 下位互換性のため | 255文字 |
AnsiString | ANSI文字などに使用 | ~2^31 |
WideString | Unicode文字など使用 | ~2^30文字 |
処理は、begin~end;間に記述する
プログラムのプロセス(処理)を記述する部分ですが、例えばEditBoxに「Hello World」という文字列を編集し、背景色を明るいブルーにする場合、以下のようになります。
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := ‘Hello World!’;
Edit1.Color := clAqua;
end;
命令は一行ごとに記述して、末尾にセミコロン(;)を付けます。
必ずbegin~end;間に記述します。
他の言語では見かけない規則ですが、Object Pascalの必須の規則です。
まずは、慣れるところからです。
IF文の注意点
if文は、通常「if (条件文) then 実行文」もしくは「if (条件文) then 実行文1 else 実行文2」という形式で、条件文により実行されます。
セミコロン(;)までが1組の実行文です。
if a=1 then
b := 1;
2組以上ある場合は、実行文をbegin~end;の間に記述します。
if a=1 then
begin
b := 1;
c := 1;
end;
if a=1 then
begin
b := 1;
c := 1;
end
else
begin
b := 2;
c := 2;
end;
セミコロン(;)が抜けるとエラーになります。

実行文の区切りを正確に示しておかないと、実行文がコンパイラで判断できなくなりエラーになるということです。
IF文を記述するときの注意点です。
最低でも知っておきたいループ処理
Delphiのループ処理には、repeat文・while文・for文の3種類があります。
repeat文は、少なくとも1回は文を実行します。
repeat
k := i mod j;
i := j;
j := k;
ShowMessage('i=' + InttoStr(i) + ' ' + 'j=' + InttoStr(j) + ' ' +
'k=' + InttoStr(k));
until j = 0;
while文は、条件がFalseの場合、文は実行されません。
while i > 0 do
begin
j := j + i;
i := i - 1;
ShowMessage('i=' + InttoStr(i) + ' ' + 'j=' + InttoStr(j));
end;
for文は、ループの回数を指定します。
for i := ListBox1.Items.Count - 1 downto 0 do
begin
ListBox1.Items[i] := UpperCase(ListBox1.Items[i]);
ShowMessage('Item= ' + ListBox1.Items[i]);
end;
ループ処理は、プログラムの処理内容によって使い分けをします。
実行してみました
前述の3つのループ処理を実行してみました。
















ループ途中の変数の内容をShowMessage関数で表示させる簡単なプログラムで、ループ処理の動作確認をしました。
次のステップへ進むのが楽しみになります。
Delphiのまとめ

Delphiとは、Object Pascalを使用したオブジェクト指向のプログラミング言語のことで、統合開発環境(IDE)で開発します。
元々Delphiはボーランド社がTurbo Pascal / Borland Pascalの後継として開発したWindows用のRADツールでありましたが、近年ではエンバカデロ・テクノロジーズ社がDelphiを買収し、RAD StudioというIDEよりプログラム制作をしています。
これによりDelphiの未来も明るくなってきているようです。
たいへん興味を持てる言語でした!
今後、delphiで作られるアプリケーションが増えていくことを望みます!
コメント