桐井戸端BBS過去ログ2001


とりあえずフォームを作ってみる

 目に見える画面から作らないとどうもイメージがわいてこない。っていうことで、とりあえず基本となる入力用フォームから作ってみることにしました。
 対象となるTBLはまだ作ってないので、新規作成(対象表のないフォームも作成可能)でフォームを選び白紙を選んでおき、必要なテキストオブジェクトやコマンドボタン等を配置していきます。
 入力するキーワードは、とりあえず5つくらいが妥当だろう(深い根拠なし)と思い、キーワードを入力するためのテキストオブジェクトを5つ作り、ソースに&検索[1]〜&検索[5]をセットしました(Windows版桐では配列変数が使えるようになったんですね。10数年前BASICからPCを始めた私にとってヒジョーになつかしい!)。
 あとは検索プログラムを実行するための[検索開始]ボタンと入力されたキーワードを一度にクリアするための[リセット]ボタン、そしてシステムを終了するための[終了]ボタンをコマンドボタンで配置していきました。




フォームを開いたとき訂正状態にする

 過去の桐井戸端BBSのNo.367「キー入力と同じことをフォーム・ウィンドウでしたい」の中に、フォームを開いたとき、自動的に1番目のテキストオブジェクトが訂正状態になるようにする方法が書いてあります。

 テキストオブジェクト(オブジェクト名「t検索1」)に入力する変数を設定する。コマンドボタンオブジェクト(オブジェクト名「cコマンド」)を作成し「コマンドボタン」タブで

機能名1 表示
機能名2 フォーカス移動:パラメータ "t検索1"(上記のテキストオブジェ 
クト名)
機能名3 訂正      : パラメータ "t検索1"

を設定し、このコマンドボタンは非表示にする。


 次に、フォームオブジェクトの「オプション」タブで「実行コマンド」の「開始時」に上記のコマンドボタンのオブジェクト名(cコマンド)を設定する。



 コマンドボタンを非表示にして、フォームの開始時にコマンドボタンを実行コマンドにするところがポイントです。


コマンドボタンでリセットする

 [リセット]ボタンを押すとキーワード入力用の変数を一度にクリアするというのは、代入コマンドを使うプログラムを書いてもよいのですが、過去の桐井戸端BBSNo.4796「コマンドボタンで変数代入」の中にコマンドボタンのみで行う方法が書いてあります。

 リセット用のコマンドボタン(cリセット)の「コマンドボタン」タブで下記のように設定します。

機能名1 表示
機能名2 なし : パラメータ #代入(&検索[1],""), #代入(&検索
[2],""),〜,#代入(&検索[5],"")
機能名3 フォーカス移動 : パラメータ "t検索1"
機能名4 訂正 : パラメータ "t検索1"

 機能名1で「表示」を指定しているのは、訂正状態のまま実行しても、カーソル位置の変数が確定されないまま実行されてしまうので、いったん表示状態にして変数の値を確定するためです。変数に代入した後は、ヒント1と同じようにフォーカスを「t検索1」に移動して訂正状態に戻しています。


 あと、終了のコマンドボタンは機能名に「桐の終了」を設定。これは簡単ですね。

三日目へ

戻る