【DO!BOOK・ページリンク】
2008_migaro_techreport_001   62 / 136

BOOKをみる

10秒後にBOOKのページに移動します


60  サインオンダイアログ画面よりユー ザー/ パスワードを入力した内容で、接 続を行う。 A プログラム上で、内部的に接続情報を 設定する(暗黙のサインオン)  プログラム上で固定のユーザー/ パス ワードを設定しておくか、応用して外部 ファイル(ini ファイル等)からユーザー / パスワードを読み込んで、接続を行う。  今回は@の手法を使って開発を行う。 それでは、接続に成功した後にメニュー を表示させる部分までを含め、作ってみ よう。 プロジェクト追加  Delphi のメニューから[ファイル] [新規作成][VCL フォームアプリケー ション]を選択する。すると、画面 Unit1 を持つ新規プロジェクトProject1 が作成できる  まず、Unit1 の画面にあたるForm1 のName プロパティを「frmSignOn」 と変更し、続けてDelphi のメニューか ら[ファイル]の[名前を付けて保存]と、 [プロジェクトに名前を付けて保存]よ り、Unit1 を「SignOnFrm」、Project1 を「SampleProject」と名付け、適当な フォルダに保存する。  保存ができたら、同様に、使用するメ ニューを同じプロジェクトに追加してお こう。【図2】  なお、Form のName プロパティと Unit のファイル名には、同じ名前を指 定できないので注意が必要である。 作成の流れ  これで、接続までの流れで使用する画 面が用意できた。  というわけだが、プロジェクトに追加 されたフォームは、初期設定では起動時 に自動作成されるようになっている。起 動時に自動作成されるということは、そ の先に遷移しない可能性のある画面をも 起動時に作成してしまい、無駄が発生す るということである。  そこでDelphi のメニューから[プロ ジェクト] [オプション]を選択し、ツ リーメニューのフォーム項目から自動作 成の対象を必要最低限に設定しておくこと。  今回は、メニューを設定し、メニュー の生成時にサインオンダイアログを表示 し、入力された情報をもとにIBM i に 接続、その後メニューを表示という流れ にする。【図3】【図4】  また、メニューがサインオンダイアロ グを使用するには、参照関係を設定する 必要がある。Delphi のメニューより [ファイル][ ユニットを使う]を選択し、 サインオンダイアログを参照できるよう に設定する。【図5】 コンポーネント  これで土台となる必要な画面が用意で きた。ここからは、部品となるコンポー ネントを、ツールパレットより各フォー ムに貼り付けていく。 【使用するコンポーネント】 ● frmSignOn ・TPanel:ツールパレット(Standard)  コンテナ(土台)コンポーネント。 ・TEdit:ツールパレット(Standard)   ユーザーに入力域を提供する、標準的 なコンポーネント。 ・TBitBtn:ツールパレット(Additional)   ビットマップを表示できるボタン。よ く使用される動作がビットマップ付 きで実装されている。 ● frmMenu ・ TAS400:ツールパレット(SCD400 Data)   IBM i とクライアントとの通信を管理 するコンポーネント。コマンドを発行 することも可能。 ・TDataBase:ツールパレット(BDE)   BDE を使用したアプリケーションが、 データベースに接続する。その管理を 行うコンポーネント。 ・ TButton:ツールパレット(Standard)  標準的なプッシュボタン。  コンポーネントの貼り付けが終われ ば、それぞれのプロパティ値を設定して いく。  まず、IBM i への接続の要となる AS400 コンポーネントであるが、特に 変更するところはない。次にデータベー スコンポーネントでは、今回はサインオ ンダイアログを作成するので、Login Prompt プロパティをFalse にしておく。 【図6-1】【図6-2】  あとはビットボタンのKind プロパ ティを変更する程度で、デフォルトの値 を使う。(Kindプロパティを変更すると、 それにあった外観と応答結果が自動で変 更される点に留意してほしい。必要に応 じてプロパティを再変更することを覚え ておくといいだろう)。【図6-2】 アプリケーションの基本部分を作る 2 .IBM iとの接続 (接続処理)  以上で一通りの準備が完了できた。い よいよIBM i との接続処理をプログラ ミングしていく。  Delphi/400 を使ったIBM i への接続 は、AS400 コンポーネント、データベー スコンポーネントのユーザーID および パスワードのプロパティにそれぞれの値 をセットし、各コンポーネントをOpen するだけのシンプルなプログラミングの みで可能となる。  また、AS400 コンポーネントではコ マンドの発行ができるので、接続後には 「ADDLIBLE」コマンドからライブラ リー環境の設定を行うことも可能であ る。今回は初期値を「* LIBL」とし、 「ADDLIBLE」コマンドより、対象のラ イブラリーをセッションのライブラリー リストに追加する。  これを踏まえて図7 のように、アプリ ケーション起動時に自動生成されるメ ニューのOnCreate イベントで、サイン オンダイアログを表示させて接続を行う ようにする。ここでは、受け取った引数 をもとに接続処理を行い、ライブラリー 環境を設定する一連の処理を、関数 [OpenDatabase]としてメニューに作 成している。【図7】【ソース1】【ソース 2】  以上のプログラミングで、Delphi/400 を使ってIBM i に接続を行い、アプリ ケーション終了時までその接続状態を持 続する基本部分が完成した。接続後はも ちろん、5250 画面の「WRKACTJOB」 コマンドで確認できる。(このプログラ ムでは接続先を指定していないので、 Delphi/400 Configuration の「AS/ 400List」にある最上部のIBM i へ接続 される)。