Delphi の初歩 その2

さて、Delphi における基本的な操作は、十分身に付いたと思います。この先、for 文は、こうで...、case 文はこうで...、 といった単純に文法に関する説明が続きます。こういった解説は、余り面白いと思わないかもしれません。しかし、プログラミングをする上で for、if、case などは最低限、身につけなければなりません。

そこで、まず最初は、そういった細かい文法などは気にせずに「こんなことが出来ます」というのを中心に考えて、簡単なプログラムを組んでみたいと思います。大事なのは文法ではなくて、どのような事ができるのか、という点に注目して下さい。

1 番初めに「 Hello world ! 」とメッセージを表示させることをやりました。それでは今度は、自分の名前を実際に入力して、それを表示させるようにして見ましょう。ここでは、Edit、Button を使ってやってみます。Standard ページにある Edit、Button をフォームに貼り付けて下さい。

それぞれ Standard ページにあります。

Edit と Button を張りつけます。

それでは Edit に入力された文字が、ボタンを押すと表示されるようにプログラムを書いて見ましょう。フォームに貼り付けたボタンをダブルクリックしてください。

procedure TForm1.Button1Click(Sender: TObject);
var
  s: string;
begin
  s := Edit1.Text;
  ShowMessage(s);
end;

プログラムをコンパイルして実行させて、ボタンを押してみると、見事 Edit に入力した自分の名前を表示できるようになりました。それでは今度は、その入力された文字を 3 回連続で表示させてみましょう。繰り返しになりますが、ここでは細かい文法にとらわれずに、何をしようとしているのか、という点に注目して下さい。

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  s: string;
begin
  s := Edit1.Text;

  for i := 1 to 3 do
    ShowMessage(IntToStr(i) + ' 回目 ' + s);
end;

これで、3 回表示することが出来ましたけれど、ちょっと物足りないですね。それぞれに対して、独自のメッセージを追加してみましょう。

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  s: string;
  Greeting: string;
begin
  s := Edit1.Text;

  for i := 0 to 2 do
  begin
    case i of
      0: Greeting := 'おはよう';
      1: Greeting := 'こんにちは';
      2: Greeting := 'こんばんは';
    end;

    ShowMessage(s + ' さん。' + Greeting);
  end;
end;

特定のメッセージを追加することも出来ました。せっかくですから、Edit に入力した文字が何か特別なものだったら、それに反応してフォームの色を変えるようにして見ましょう。ここでは Edit に「 Delphi 」と入力された場合にフォームの色が変わるようにしてみます。

procedure TForm1.Button1Click(Sender: TObject);
var
  s: string;
begin
  s := Edit1.Text;

  if s = 'Delphi' then
    Color := clBlue;
end;

実行しましたら、Edit に「 Delphi 」と入力してみて下さい。その後でボタンを押すと、なんとフォームの色が変わってしまいます!こんなに簡単に出来てしまいました。この勢いで、もうちょっと凝った設計にしてみます。今度は、入力された文字が「 Delphi 」ではなく「 Kylix 」だった場合には、色を赤に変更して「 Delphi 」でも「 Kylix 」でもない場合には、色を白にしてみましょう。

procedure TForm1.Button1Click(Sender: TObject);
var
  s: string;
begin
  s := Edit1.Text;

  if s = 'Delphi' then
    Color := clBlue // ; がありません!
  else if s = 'Kylix' then
    Color := clRed  // ; がありません!
  else
    Color := clWhite;
end;

駆け足ですが、プログラミングの基本的なものを一通り体験しました。


up next
Last Update 2002/6/22 by N.Kobayashi