APLNEWS 2006年11月号

 

APLによる業務開発の具体例−シリーズその1:

(An example of APL application development Series 1)

 

APLを学習して、身近なデータ処理の問題をプログラムする技術を身に付けることには非常に大きなメリットがあります。先月号でお約束したこのテーマによるシリーズを始めたいと思います。稼働環境としてはAPLコンサルタンツ方式で設定された“IBM Workstation APL2 V2”ですが、次回からはAPL2学習システムを更新して、その環境でも利用できるように予定しています。(One can enjoy a lot of merits by learning APL and acquiring a skill of programming data processing requirements near at hands. As promised in the last month issue of this news, I would like to start a series of sessions to demonstrate a process of developing conventional applications. The assumed APL environment is IBM Workstation APL2 V2 set up in the APL Consultants method. APL learning system will be also supported as it will be revised next month.)

 

APL2による一般的開発業務において、一番大切なことはAPL2にふさわしい、簡潔で強力なファイル入出力、印刷出力、画面設計、プログラム編集、日本語処理などの合理的で一貫性のある周辺機能が利用できることです。Workstation APL2にはこれらについての基本的機能がサンプルプログラムやワークスペース、外部関数などの形で提供されていますが、全体として必ずしも各機能間に一貫性があるとはいいがたいです。(The most important thing in writing conventional APL2 applications, is to have an access to a set of simple and powerful and consistent peripheral functions regarding file I/O, printer output, dialog design, function editing, Japanese language processing, suitable for APL2. IBM APL products include various excellent sample programs and workspaces to demonstrate individual interfaces, but if used in combination, it may not have a consistent design.)

 

APLおよびその周辺機能を原理から理解して、さまざまな問題に応用するためには非常に多くの定義関数を利用する旧来の一般的なAPLの手法を否定するところから始めなければなりません。何故ならば定義関数はそれ自体APL言語から離れた固有の仕組みを形成しますから、その利用は言語機能そのものに対してではなく、周辺機能を中心とした最小限にとどめる必要があります。すなわち言語機能はできるだけ生で使い、周辺機能は定義関数下で使用することが理想です。(We must begin with scrapping the popular APL programming of defining too many functions. It will create a language away from APL. We must use the primitive functions as much as possible and limit the use of defined functions to cover the outside interfaces.)

 

1.操作画面を設計する−その1:

(Designing dialog windows part 1)

 

業務プログラムはすべて操作画面が中心となります。操作の指示、情報の表示などすべてこれを経由して行われるべきです。操作画面の設計には関数“DIALOG”を用います。“DIALOG”は外部関数としてネームスペース“COMMON2に存在します。APLのセッションでこの機能を利用するには次のコマンドを実行する必要があります。(Dialog windows are the central entity of any application programs. Directing operations, displaying information all go through the dialogs. The defined function DIALOG is used to design application dialogs. DIALOG resides in the namespace COMMON2 and you need to execute the following command to be able to use it.)

 

    ‘COMMON2’ 11 □NA ‘△DIALOG’

 

この関数はAPLで書かれていますが、外部関数化されていますので中身を表示したり、変更することはできません。関数DIALOGを実行すると次の左側の画面が表示されます。(This function is written in APL, but it is defined as an external function. Therefore you may not display nor modify its content. As it is executed the following window appears.)

 

 


画面左側上部で関数名を指定しますが、稼働環境に編集対象の画面設計ユーザー関数が見つからない場合は新規画面設計になり、作成される関数には“SAMPLE”という名前が自動的に振られます。

 

 

新規を指定すると設計対象画面の枠が別画面としてウインドウズ上に現れ、同時に元の画面に関連情報が表示されます。


 


(At the upper left side of the dialog, you specify the function to edit. If no candidate functions exist in the environment, a new dialog design starts automatically. And a blank dialog frame appears with default parameters as shown below.)


 


                                                                           


 

画面設計はこの枠の中にコントロールBOXと呼ばれるさまざまなタイプの機能ウインドウを追加設定するプロセスです。

 


(Designing an application dialog is a process of adding various control boxes in the blank frame.  


 


追加できる機能は操作画面の中央左上にあるタイプとスタイル欄に表示されます。これらはMicrosoftのVisual Basic.NETで指定できるコントロールBOXをすべて含みます。指定した任意のコントロールBOXは枠の左隅に小さく表示されます。

(The control boxes, which can be added in the frame are shown in the drop down menu in the upper central part of the dialog. Practiclly all the controls uses by Microsoft Visual Basic.NET can be specified. The added control box appears in the left bottom corner of the frame.)

 

 

 

 

 

 

 


 


 


     

 

これをマウス・クリックにより移動し、必要な大きさに拡大します。

(You should move this box to any desired location and enlarge it to the required size with the mouse clicks on the push buttons at the upper left side of the dialog.)


 


 

 


 

 

このようにして必要な画面の設計にしたがって、その記録と詳細な記述が自動的に作成され、操作画面の左側に表示されます。このプロセスを繰り返すことにより最終的な画面が完成します。(Thus, any specified values are recorded automatically as the description of the new application dialog. This description is shown on the left side of the operation dialog, as shown below. By repeating this process the final dialog completes.)


 

                      



 

 


最終的にその操作を終了した時点で、画面の配置図と指定された左の図のダイアログ記述に記録された詳細をコメントとして含むAPL関数が“SAMPLE”という名前で生成されます。この関数を実行すると設計した画面が再現されます。この関数に画面の動きを記述したAPL式を追加することによってAPLによる業務プログラムを完成させることができます。次回はこの生成されるプログラムについての説明をします。(When the operation is terminated, the layout of control boxes in the new dialog and APL defined function called SAMPLE describing the design are created for use as the base for further programming in APL. Next month I would elaborate the process of bringing the created function to perform the required task.)