同じプログラムを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 終了条件; |