[もくじへトップページへ前ページへ次ページへ]

                                       


 ●プログラムの改良

  実行してみていかがでしたか?

  答えはちゃんと出ましたか?もし、間違った答えだったら、計算式をチェックし、

 プログラムを修正してください。

  これからは、プログラムがとりあえず動いたものとして進めます。

  このプログラムを、もっと使いやすいものにするために、次のように改良しまし

 ょう。



 

   改良点

  (1)クリアボタンを追加する。

  (2)終了ボタンを追加する。

  (3)マウスではなく、エンターキーを押すことにより次のステップへすす

    めるようにする。

  (4)テキストボックスのフォントを変える。

  (5)スタート時のフォームを中央に配置する。

  (6)実行形式(exe)のプログラムにする。



   では、順に改良していきましょう。


  (1)クリアボタンを追加する。

図1.8

図1.8

     ツールボックスのコマンドボタンをクリックして、計算ボタンの下に配置

    します。プロパティのCaptionを「クリア」にします。

     次に、クリアボタンをダブルクリックして、コードを記述します。



 0200   Private Sub Command2_Click()
 
0210     Text1.Text = ""
 
0220     Text2.Text = ""
 
0230     Text3.Text = ""
 
0240   End Sub



 
0200 コマンドボタン2をクリックすると、End Subまでのプログラムを実行しま

    す。

 0210 テキストボックス1(Text1)のテキストに、""(ヌル)を代入します。""を

    代入すると、何も表示されません。

   ※コード入力画面からフォーム画面に移るには、プロジェクトエクスプローラ

    ーの「Form1(frmEx1.frm)」をダブルクリックします。



 (2)終了ボタンを追加する。

図1.9

図1.9

     ツールボックスのコマンドボタンをクリックして、クリアボタンの下に配

    置します。プロパティのCaptionを「終了」にします。

     次に、終了ボタンをダブルクリックして、コードを記述します。



 0300   
Private Sub Command3_Click()
 0310     
End
 0320   
End Sub



 0310 Endでプログラムが終了します。



  (3)マウスではなく、エンターキーを押すことにより次のステップへすす

    めるようにする。

    テキストボックス1をダブルクリックして、コードを記述します。

図1.10

図1.10イベント選択ボックス

    初期状態では、イベント名が「Change」になっていますので、これを

   図1.10の中から「KeyPress」に変えます。



 0400   
Private Sub Text1_KeyPress(KeyAscii As Integer)
 0410     
If KeyAscii = 13 Then
 0420       
Text2.SetFocus
 0430     
End If
 0440   
End Sub



 
0400 テキスト1で、何かキーが押されたとき実行されます。

 0410 もし、KeyAscii = 13 ならば次の行を実行せよという文です。If文といいま

    す。KeyAscii = 13 は、エンターキーを表す番号です。

 0420 テキスト2にフォーカスを移しなさいという文です。フォーカスを移すとは、

    カーソルを移動することです。

 0430 ここで、If文が終わります。

    したがって、0410〜0430は、もしEnterキーが押されたらテキスト2にフォ

    ーカスを移しなさい。そうでなければ0440に行きこのプロシージャを終了し

    なさいということになります。

    テキスト2でも、同じようなコードを記述します。



図1.11

図1.11コントロール選択ボックス



    まず、コントロール選択ボックスよりText2を選択し、イベント選択ボックス

   よりKeyPressを選択します。もちろんフォームを表示させてからテキストボッ

   クス2をダブルクリックし、イベント選択ボックスよりKeyPressを選択しても

   いいです。



 0500   
Private Sub Text2_KeyPress(KeyAscii As Integer)
 0510     
If KeyAscii = 13 Then
 0520       
Command1.SetFocus
 0530     
End If
 0540   
End Sub



 0520 エンターキーを押したとき、コマンドボタン1にフォーカスを移す。



  (4)テキストボックスのフォントを変える。

    これは簡単です。

    フォーム上の各テキストボックスをクリックし、Fontプロパティを適当なフ

   ォントに変えればいいのです。

図1.12

図1.12



    ここでは、図1.12のボタンをクリックしてから、

         フォント名:MS Pゴシック

         スタイル:Bold

         サイズ:14

    に設定しました。



  (5)スタート時のフォームを中央に配置する。

    フォームレイアウトウインドウのディスプレイを、適当な位置までドラッグ

   します。

    コードを記述してフォームの位置を決める方法もありますが、これは後のプ

   ログラム例で説明します。



  (6)実行形式(exe)のプログラムにする。(コンパイルする。)

    これまでの手順で作られたプログラムは、コンパイル(機械語に翻訳するこ

   と)されていないので、スピードも遅く(実際はあまり感じませんが)、VB

   を立ち上げていないと実行できません。そこで、このプログラムをコンパイル

   します。

図1.13

図1.13



    ファイル→Ex1.exe の作成 をクリックすればコンパイルされます。

    ここで「Ex1.exe」が作られ、このファイルをダブルクリックすると

   簡単に(VB5を立ち上げることなく)実行できるようになります。



 以上でこのプログラムの改良を終わります。

   


  次回は、ちょっと実用的なプログラムを作りたいと思います。

  ここまでのソースプログラムは、次をクリックすればダウンロードできます。

ソースプログラムのダウンロード 

圧縮されていますので、解凍してから使ってください。


質問や感想をお聞かせ下さい。

■お名前(未記入可)

■メールアドレス(未記入可)

■質問


■このページの印象はいかがでしたか?


        

 次回は、ちょっと実用的なプログラムの作成です。

 これでおわります。              


[もくじへトップページへ前ページへ次ページへ]