![]() |
Top > 授業 > Delphi プログラミング >Lesson 1 Lesson 1(2004/08/03) |
![]() |
![]() |
![]() |
![]() 1.Lesson 1 では次の点を学習することを目指します。 ・プログラムが begin 〜 end に囲まれたブロックで成り立っていること。 ・変数の型(その中の主要な、整数型、実数型、文字列型) ・テキスト画面、グラフィック画面への表示の仕方 2.サンプルプログラムを眺め、練習問題を試してください。この Lesson 1 では練習問題は易しいです。 3.サンプルプログラムはダウンロードしてください(クリック)。ダウンロードしたファイル(lesson1.exe)はDelphi7/Source に置いてクリックして解凍してください。6つのサンプルプログラム P101〜P106 が出てきます。 |
![]() a.プログラム(手続きStartBtnClickだけを見よ)の構造 (1) Pascal では文(命令)の終わり(正確には文の区切り)は ; である。 (2) プログラムの中の文は上から下に順次実行される。 (3) 文の集まり(ブロック)は begin で始まり end で終わる。 練習問題:begin 〜 end; 内の文を入れ替えるとどうなるかを試せ。 b.整数型(integer)の定数と変数 ・const 行と次の1行で定数 a, b を定義している。 ・var の下の2行で、c を整数型の変数、Str30 を文字列方の変数として扱っている。 練習問題 1.定数の宣言は次のようにも書けることを確認せよ。 a :integer = 10; 2.Str30 : string[30];の 30 を 1 にしたら何が起こるかを確認せよ。 3.intger は整数型、reaL なら実数型である。それ以外の宣言が整数型、実数型にどのくらいあるかを調べて確認せよ。なお、特に考えがない場合は、デフォールトでinteger と reaLを使うとよい。 c.足し算 c := a + b;で、a と b を足し算した値が変数 c に代入される。 練習問題 1.a, b の値を変えるとどうなるかを試せ。 2.c := a - b;と書き換えて試せ。 d.メモ領域(memo1)への表示 ・memo1.lines.add(文字列);で、文字列をメモ画面の1行として表示する。 ・原則として Delphi では、数字は文字列に変換して表示することに注意。IntToStr(c)は整数cを文字列に変換する、予め用意された関数である。 練習問題 1.cが実数ならどの関数を使う必要があるかを確認せよ。 2.memo1.lines.add('End of Job');の下に同じ命令をもう1つ書くとどうなるかを確認せよ。 e.グラフィック領域(TPaint1)への表示 ・with PaintBox1.Canvas do begin 〜 end; { of with Canvas } の中で TPaint1 での操作をしている。 ・Brush.Color := clRed;は描く矩形の色(赤)をしていしている。 ・Rectangle(a, b, a+100, b+100);は座標(a,b)と(a+100,b+100)を2つの頂点とする矩形を TPaint のCanvasに描く。 練習問題 1.with PaintBox1.Canvas do begin 〜 end; { of with Canvas }を、with 文を使わずに書くとどうなるか? 2.clRed 以外に Delphi でどのような色があるかを調べ、試せ。 3.Rectangleのカッコ内の100を別の値にするとどうなるか、試せ。 |
![]() a.文字列の扱い方 IntToStr(a)は文字列である。'a = ' + IntToStr(a)とすると、両方の文字列を繋いだ文字列が Str30 に代入される。 練習問題 ・'a + b ='を 'aとbの合計は'に置き換えて試せ。 |
![]() a.Edit からの値の入力 ・a := StrToInt(Edit1.Text);で、Edit1 の枠から入力した文字列(数字)を整数に変換して、整数型の変数の a に代入している。StrToIntはIntToStrとは逆に、文字列を整数に変換する関数である。 ・a, b, c を3つとも変数(var)として定義していることに注意。 練習問題 cの値を Edit1 に表示するにはどうすればよいかを考えよ。 |
![]() a.Edit からの実数値の入力 x := StrToFloat(Edit3.Text);によってEdit3 に書かれた文字列(数字)を実数型の変数xに読み込みます。 b.実数値の文字列への変換 FloatToStrF(z,ffGeneral,4,1)により、実数値zを文字列に変換します。ffGeneral,4,1が何を意味するかは各自で調べてください。 c.整数と実数の四則演算 このプログラムはEditから入力した値の四則演算をしています。整数値の割り算(div)と実数値の割り算(/)の違いに注意してください。 練習問題 1.整数と実数につき、0で割ったら何が起きるかを確認せよ。 2.べき乗(例:xのy乗)はどのように計算するかを考えよ。 |
![]() a.文字列型の定数と変数 aとbを文字列型の定数、cとStr30を文字列型変数として定義している。 b.文字列型の演算 c := a + b;でaとbを繋いでいる。 練習問題 1.c := a + b;をc := b + a;にすると何が生じるかを確認せよ。 2.変数の定義のc : string[7];の 7 を小さくすると何が生じるかを確認せよ。 |
![]() a.メモ領域からの文字列の読み込み a := memo1.Lines[0];によって、memo1の第1行目を文字列変数aに代入しています。 b.PaintBox への文字列の書き出し With PaintBox1.Canvas do begin TextOut(10, 10, Str100); end; により、PaintBox1の座標(10,10)を左上端として文字列Str100を書き出しています。 練習問題:PaintBox1に書き出す文字列の大きさ、フォント、色を変えるにはどうすればよいか、各自で調べよ。 |
![]() この Lesson1ではまだ、プログラミングらしいことにほとんど入っていません。その準備段階として、プログラムの大まかな概念、定数・変数の型、文字や図形を表示する仕方を練習しました。 次回からだんだんと、プログラミングらしいことに入ってゆきます。 |