Delphi基礎知識編     へ戻る

同じプログラムをVBとDelphiでそれぞれ実行ファイルを作ったとすると、VBで作った実行ファイルはサイズが小さくできますがVBのランタイムが必要です。Delphiで作った実行ファイルはサイズが大きいですが単独で動きます。
Delphiの基本言語はPascal言語です。
ここでPascal言語の基礎知識を覚えましょう。

コメント文
変数の宣言
データ型の種類
データ変換関数
算術演算子
代入演算子
関係演算子
制御文
繰り返し文

コメント文

{ と }で囲むかまたは // 以下の文字がコメント文になります。
他の人が見ても分かるようにまた後で自分が修正や参照したいときのためにも、
どんなに短いプログラムでもコメント文は入れたほうがいいです。

(例)
{ ここから
    コメント文です。複数行がコメント文になります。 }


//この行はコメント文です。
変数の宣言

自分名前をつけた変数を使うには前もってどのような変数か宣言しなくてはなりません。
変数宣言は
   変数名:データ型;
のかたちで宣言します。
変数名の規則は
   最初の文字は英字または_です。
   2文字目以降は英字または_または数字の組み合わせ。
   大文字小文字の区別はない。ABCとabcは同じ変数になります。
   漢字、カタカナ、空白文字は使用できない。
      (VBでは漢字も変数として使えますがDelphiでは使えません。)
   予約語(begin,end,string,verなど)を変数として使用できない。

(例)
I:Integer;
J,K:Double;
Moji:String;
データ型の種類

データ型には整数型、実数型、文字列型、論理型などがあります。
ゲームを作るときにもっともよく使うのは、整数型と論理型です。実数型はわたしの作る単純なゲームではあまり使わないです。

整数型
整数型は整数の値を持つデーター型です。小数点以下の値はもてません。
Integer   4バイト    -2,147,483,648〜2,147,483,647
Cardinal  4バイト    0〜4,294,967,295
ShortInt  1バイト    -128〜127
SmallInt  2バイト    -32,768〜32,767
他にLongInt 、Int64 、Byte 、Word などがありますが、整数型はIntegerだけ知っていれば十分です。

実数型
実数型は小数点以下の値も持つことができるデータ型です。
Real     8バイト     5.0×10-324〜1.7×10308
Single    4バイト     1.5×10-45〜3.4×1038
Double   8バイト     5.0×10-324〜1.7×10308

文字列型
ShortString 256バイト           255文字まで
AnsiString  最大2Gまで自動的に変更  2G文字まで
String     AnsiStringと同じ       AnsiStringと同じ
文字列型はStringだけ知っていれば十分です。

論理型
論理型は真(true)か偽(false)かどちらかをもてます。
Boolean   8ビット
他にByteBool 、WordBool 、LongBool などがありますが、Booleanだけ知っていれば十分です。

配列型
たとえば5つの変数を整数型を使って宣言すると
A1,A2,A3,A4,A5:Integer;
となりますが100この変数を宣言する場合とても長くて大変です。
ここで配列型を使って
A:array[1..100] of Integer;
とすると
A[1]からA[100]まで整数型として宣言されたことになります。

データ変換関数

VBでは文字の123と数字の123との足し算はできますが、Delphiではできません。
このようにDelphiでは違う型との演算や代入はできません。する場合は型を合わすためにデータ変換する必要があります。データ変換関数には文字列変換関数と数値変換関数があります。

文字列変換関数
文字を数値に変換する関数です。
StrToInt関数     StringをIntegerに変換します。
算術演算子

計算をするときの演算子です。
+    加算     足し算
-    減算     引き算
*    乗算     掛け算
/    実数除算  実数の割り算
div   整数除算  整数の割り算
mod   剰余     割り算の余り
代入演算子

値を変数に代入するときの演算子です
:=  代入
(例)
var
  i:Integer; //整数型変数iを宣言します
begin
  i:=5; //変数iに5を代入します
end:
関係演算子

2つの値を比較するときに使います。
=     左辺と右辺が等しい
<>   左辺と右辺が等しくない
<     左辺が右辺より小さい
>     左辺が右辺より大きい
<=   左辺が右辺以下(=<と書くとVBでは使えますけどDelphiではエラーになります。)
>=   左辺が右辺以上(=>と書くとVBでは使えますけどDelphiではエラーになります。)
これらはif文の中で使います。

(例)
if i=10 then j:=5;//iが10のときjに5を代入する

if i<=2 then j:=1;//iが2以下のときはjに1を代入する
制御文

条件により処理を分けたいときはif文またはcase文を使います。

if文は次のように使います。
elseの前にはセミコロンはつけません。

処理が1つだけの場合
if i=10 then j:=5;//iが10のときjに5を代入する

if i=10 then
 j:=5          //iが10のときjに5を代入(セミコロンはつけない)
else
 j:=6;         //iが10でないときjに6を代入


処理が2つ以上ある場合
if i=10 then
begin
 j:=5;
 k:=6;
end;


if i:=10 then
begin
 i:=5;
 k:=6;
end            //セミコロンはつけない
else
begin
 j:=7;
 K:=8;
end;





case文
case i of
  1:j:=5;    //iが1のときjに5を代入
  2:j:=6;    //iが2のときjに6を代入
  3..6:j:=7; //iが3から6のときjに7を代入
  else j:=8; //それ以外のときはjに8を代入
end;
繰り返し文

for文
一定回数ループを繰り返します。
for カウンタ変数:=カウンタ初期値 to カウンタ最終値 do
  文;

j:=0;
for i:=1 to 10 do
  j:=j+1;


while文
継続条件のときループを続けます。一度もループせずに抜ける場合があります。
while 継続条件 do
  文;


repeat文
終了条件のときループを抜けます。最低1回はループが実行されます。
repeat
  文;
until 終了条件;