MZ Platform工程管理作成チュートリアルⅡ

このチュートリアルは工程管理チュートリアル 2.mzax ファイル を基に説明しています。

4.テーブル表示部の複合コンポーネント化

1.この章での完成画面

 『工程管理アプリケーション作成チュートリアルⅠ』では[テーブル]にデータベース内のtaskテーブルの内容を全て表示して確認しましたが、ここ では projectの受注番号ごとに工程を表示できるようにします。

 新しく一行分のテーブルを作成し、受注番号の列には選択リストを設定します。
受注番号を選択すると、プロジェクトの品名と納期を表示し、工程テ―ブルに選択した受注番号のデータを表示します。

  1. プロジェクト表(projectテーブルからの検索結果)
  2.  
    1. 「データベースに接続」ボタンを押すと、受注番号列に選択リストが設定され、受注番号を選択で きるようになります。
    2. 受注番号を選択すると、その番号の品名と納期が表示されます。

  3. 工程表(taskテーブルからの検索結果)
  4. プロジェクト表で受注番号が選択されたことをきっかけに、その受注番 号を持つ工程データを検索して表示されます。

4.1.プロジェクトテーブルの表示

1.テーブル表示複合コンポーネントの作成

ここでは projectの受注番号ごとに工程を表示できるようにします。

 新しく一行分のテーブルを作成し、受注番号の列には選択リストを設定します。
受注番号を選択すると、プロジェクトの品名と納期を表示し、工程テ―ブルに選択した受注番号のデータを表示します。

 処理を機能ごとにまとめて把握しやすくするために、複合コンポーネントを使用します。
特に複合コンポーネント自身を画面構成部品として配置可能なGUI複合コンポーネントを使うと、画面構成とともに処理をまとめることがで きま す。
複合コンポーネントのみを保存することもでき、よく使う機能を他のアプリケーションに応用できます。  

コンポーネント追加

  1. GUI複合コンポーネントを追加します。
    ビルダー編集画面上で右クリック、[複合コンポーネント作成]>[GUIコンポーネント]を選択します。
    複合コンポーネントをダブルクリックして中に入り、コンポーネント名称を「テーブル表示部」に変更します。
  2. 複合コンポーネント内部に[テーブル]を2つ追加します。
  3. コンポーネント名 必要数 カテゴリー コンポーネントキー
    GUI複合コンポーネント 1 複合コンポーネント作成 テーブル表示部
    テーブル 画面構成部品>テーブル プロジェクト
    工程
    ([テーブル(工程)]は上位階層にあるテーブルをコピーしてもいいです。)

画面編集
  1. テーブルをGUI画面に配置します。
    1. GUI複合コンポーネント内部で画面編集画面に入ります。
      配置方法「縦方向整列」で領域内にプロジェクトテーブルを上部に、工程 テーブルを下部に配置します。
  2. 列を追加します。
    1. プロジェクトテーブルに「3列」、列を追加します。
      文字列型列が2列、日付型列が1列です。
    2. 工程テーブルに「5列」、列を追加します。
      (チュートリアル1の工程テーブルをコピーし使う場合は、ID列と受注番号列を削除します。)
  3. 列名を変更します。
    • プロジェクトテーブル列名:受注番号・品名・納期
    • 工程テーブル列名:工程・作業時間・開始予定日時・終了予定日時・完了
  4. 列型を変更します。(参考: テーブル>テーブルの列・列型
    • プロジェクトテーブル:納期列:日付型、 表示属性:日付のみ
    • 工程テーブル:工程列:文字列型
    • 工程テーブル:作業時間列:整数型
    • 工程テーブル:開始予定日時列:日付型、
      表示属性:その他 日付型書式 yyyy/MM/dd HH:mm
    • 工程テーブル:終了予定日時列:日付型、
      表示属性:その他 日付型書式 yyyy/MM/dd HH:mm
    • 工程テーブル:完了列:論理型
  5. 上位階層の画面編集画面でフレーム上にGUI複合コンポーネントを配置します。
  6. GUI複合コンポーネントはそれ自体が画面構成部品となります。
    1. 複合コンポーネントから上位階層に移動します。
    2.  画面編集ボタンを押して画面編集画面に入ります。
      チュートリアル1で配置していた[テーブル]と[ガントチャート]は一旦画面から削除します。
    3. [ボタン]の下に[テーブル表示部]複合コンポーネントを配置します。
テーブル表示画面例

1.projectテーブル表示機能の作成

コンポーネント追加
  1. 複合コンポーネント内に以下のコンポーネントを追加し、コンポーネントキーを変更します。
  2. コンポーネント名 必要数 カテゴリー コンポーネントキー

    テーブル格納変数

    処理部品>変数 プロジェクト検索
    プロジェクト作業用

    リスト格納変数

    処理部品>変数 受注番号リスト
接続処理設定 

  1. メソッドを公開する
  2. 複合コンポーネント内部で以下のメソッドを公開します。
    上位の階層で検索した結果を変数に設定できるようにします。
    コンポーネント メソッド 変更メソッド名
    テーブル格納変数(プロジェクト検索) テーブルを設定する(PFObjectTable) プロジェクトテーブルを設定する

  3. 上位の階層の処理を変更する
  4. チュートリアル1で作成した上位階層の接続を変更します。
    1. 【上位接続1-1】変更なし。
    2. 【上位接続1-2】データベースのprojectテーブルの検索を実行します。
      SQL文を「select label, product, delivery from project」に変更します。
    3. 【上位接続1-5】検索結果を取得し、複合コンポーネント内の変数に設定します。
    4. 【上位接続1-3】と【上位接続1-4】は不要なので削除します。

    [編集画面図1] ※右側の接続先コンポーネントをクリックすると、起動メソッド情報の画像が表示されます。

  5. project検索結果が設定されたら、テーブル表示の準備をする
  6. [GUI複合コンポーネント(テーブル表示部)]内に入ります。
    変数にデータが設定され、データ設定イベントが発生するのをきっかけに処理を設定します。
    1. 【接続1-1】変数に設定された検索結果を作業用テーブル格納変数に設定します。
      ※変数からデータを取得して、別の変数に設定した場合、一方の変数のデータを変更するともう一方の変数も変更される場合があります。
      データ取得にメソッド「テーブルの完全な複製を作成する(PFObjectTable)」を使うと、変数同士でデータの変更の影響を 受けません。
    2. 【接続1-2】[テーブル(プロジェクト)]の 全行を削除します。
      列名の部分だけ残し、新しい行を追加できるように、一旦全行削除します。
    3. 【接続1-3】[テーブル(プロジェクト)]に行を追加します。
      新規に空白行を一行追加します。

    [編集画面図2]

  7. projectテーブル受注番号選択機能の作成
    1. 【接続1-4】[テーブル格納変数(プロジェクト作業用)]から受注番号列のデータを取得します。
      取得したデータはリスト形式になります。
    2. 【接続1-5】 取得した列データを[リスト格納変数]に設定します。
      後の処理でも使用するので、一旦変数に設定します。
    3. 【接続1-6】工程テーブルの受注番号列に選択項目としてリストデータを設定します。
      リスト格納変数からソートしたデータを取得しています。
    4. 【接続1-7】行高さを調整します。
    5. 【接続1-8】工程テーブルを全行削除します。
      データベースに接続したタイミングで表示更新するよう、工程テーブルの行を削除します。
    確認 ここまでの処理で列データリストが選択できるようになり ます。
    まだプロジェクトデータは表示されません。

    [編集画面図3]

4.2.受注番号による検索機能の追加

1.列リスト選択によるデータ表示機能

選択された受注番号のデータをプロジェクトテーブルに表示するようにします。

コンポーネント追加
  1. 複合コンポーネント内に以下のコンポーネントを追加し、コンポーネントキーを変更します。
  2. コンポーネント名 必要数 カテゴリー コンポーネントキー
    文字格納変数 処理部品>変数 更新文字列
    等価演算(=) 処理部品>条件制御 列位置判定

接続処理設定
  1. テーブルの更新文字列を変数に格納する
  2. テーブルの更新イベントはセル以外の更新、行や列の削除、追加でも発生します。
    「セルの値が更新されたとき」のみ処理が行われるように「イベント番 号:0」を設定します。
    1. 【接続2-1】更新されたセルの文字列を変数に格納します。
      受注番号を記憶するために、テーブルのセルデータが変更されたら、そのデータの文字列を変数に格納します。
  3. 更新列が0列目(受注番号列)かどうか判定する。
    1. 【接続2-2】テーブルの更新列番号が0かどうか演算します。
      【接続2-1】の時点では受注番号列以外の更新データも変数に格納されています。
      受注番号列が更新されたときのみ次の処理が行われるように、[等価演算(=)]を使って列位置が「0」かどうか演算を行います。

    [編集画面図4]

  4. 更新列が0番目の場合、選択された受注番号の行データを表示する。
  5. [等価演算(=)]の処理完了のイベント番号「true:1」「false:0」により、次に行う処理を場合分けすることができます。
    演算結果が「true」(=0列目が更新された)のとき行われるよう、以下の処理にはイベント番号1を設定します 。
    [Shift]キーを押しながら、接続先を選択するとイベント番号を一度に設定できます。

    [選択された受注番号に該当するデータを取得の考え方]

    1. 【接続3-1】選択された受注番号のリスト内での位置を取得します
      メソッド「indexOf(Object)」で、引数に指定された要素の[リスト格納変数(受注番号)]内での位置番号を取得することが で きます。
    2. 【接続3-2】選択された受注番号の行データを取得します。
      【接続3-1】で取得した位置番号で行を指定して、[テーブル格納変数(プロジェクト作業用)]から該当の受注データを取得します。
      取得した行データはリスト形式になります。
    3. 【接続3-3】取得した行データをプロジェクトテーブルに設定します。
      リスト形式の行データをプロジェクトテーブルの0行目に設定します。
    確認ここまで設定すると、選択された受注番号のプロジェクトデータが表示さ れます。

    [編集画面図5]

2.検索機能の作成

[サブルーチン]を使用して、検索処理を呼び出せるようにします。
[文字列格納変数]内で作成したSQL文字列は[イベント生成]コンポーネントを使って、任意のイベントを発生させ、上位階層に伝播します。

コンポーネント追加

  1. 複合コンポーネント内に以下の必要なコンポーネントを追加し、コンポーネントキーを変更します。
  2. コンポーネント名 必要数 カテゴリー コンポーネントキー

    サブルーチン

    1 処理部品>サブルーチン 工程検索

    文字列格納変数

    処理部品>変数 工程SQL
    イベント生成 処理部品>イベント 工程検索
接続処理設定
  1. サブルーチンの処理を呼び出す
    1. 【接続3-4】[サブルーチン]に繋がるSQL文置換えの処理を呼び出します。
      接続元コンポーネントは[等価演算(=)(列位置判定)]です。
      イベント番号:1(演算結果が「true」のとき=受注番号列が更新されたとき)を設定します。
  2. 検索文字列を置き換える
    1. 【接続4-1】文字列格納変数にSQL雛形を設定する。
      SQL文の雛形「select id,process,workingTime,dateStart, dateEnd,isCompleted from task where projectLabel='RABERU' 」を変数に設定します。
    2. 【接続4-2】雛形の文字列を置き換えます。
      「RABERU」の部分を[文字列格納変数(更新文字列)]内の受注番号と置き換えます。
      例えば『select id,process,workingTime,dateStart, dateEnd,isCompleted from task where projectLabel=’A03'』といった文字列になります。
      プロジェクトテーブルで選択した受注番号のデータをtaskテーブルから検索するSQL文です。
  3. イベントを発生させる
    1. 【接続4-3】文字列格納変数内の文字列を引数として処理要求イベントを発生させます。
      SQL文を他の階層に伝えるために、イベントを発生させます。
      引数0に文字列格納変数の文字列を設定します。
      引数1(イベント番号)に「1」を設定します。
  4. イベントを伝播させる
    1. 【接続5-1】イベントを伝播させます。
      複合コンポーネントを接続先として発生させたイベントを伝播します。
      イベントに内包されるデータは【接続4-3】で設定した内容となります。
      工程検索のSQL文がイベント番号1で伝播されます。

    [編集画面図6] 【接続3-4】の接続元コンポーネントは[等価演算(=)(列位置判定)]です。

3.上位階層での検索結果をテーブルに設定する

複合コンポーネント内の工程テーブルにデータを設定できるように処理を追加します。
コ ンポーネント追加
  1. 複合コンポーネント内に以下のコンポーネントを追加し、コンポーネントキーを変更します。
  2. コンポーネント名 必要数 カテゴリー コンポーネントキー

    テーブル格納変数

    処理部品>変数 工程
    工程作業用

接続処理設定
    タスクテーブルを検索したデータをテーブルに設定します。
    先に複合コンポーネント内部の処理を作成します。

  1. テーブルにデータを設定する準備
    1. 【接続6-1】作業用テーブル格納変数にテーブルデータを設定します。
      上位階層でデータベース検索したtaskテーブルの検索結果が[テーブル格納変数(工程)]に設定されたら作業用のテーブル格納変数 にデータ設定します。
    2. 【接続6-2】0行目(id列)の列を削除します。
      データベースのtaskテーブルからid列も検索していますが、表示は不要なので、id列はテーブルデータから削除します。
    3. 【接続6-3】工程テーブルの全行を削除します。
      テーブルデータを設定する前に、一旦全行削除します。
  2. テーブルにデータを設定する
    1. 【接続6-4】テーブルにテーブルデータを追加します。
      行データとして変数内のテーブルデータを追加します。
    2. 【接続6-5】テーブルの行の高さを変更します。
      見やすいようにテーブル行高さを調整します。

    [編集画面図7]

  3. メソッドを公開する
  4. 複合コンポーネント内の以下のメソッドを公開します。
    次の4.での検索結果を複合コンポーネント内に設定できるようにします。
    コンポーネント メソッド 変更メソッド名
    テーブル格納変数(工程) テーブルを設定する(PFObjectTable) 工程テーブルを設定する
  5. 上位階層でタスクテーブルを検索し、結果を取得する
    上位の階層に移動し、データベースの検索結果をテーブルに設定します。
    検索SQLは処理要求イベントに内包データとして含まれています。
    (既に作成した処理をコピーして使うと簡単です。引数や接続先は変更が必要です。)
    1. 上位階層【接続4-1】データベースに接続します。
    2. 上位階層【接続4-2】検索SQLを実行します。
      引数はイベント内包の処理要求データです。
    3. 上位階層【検索4-3]検索結果を複合コンポ―ネントに設定します。
      取得方法:メソッド処理結果でテーブルデータを取得します。
    4. 上位階層【検索4-4】データベースから切断します。
    接続処理設定 ここまで設定すると、[テーブル(プロジェクト)]で受注 番号を選択すると[テーブル(工程)]に工程データが表示されます。

    [編集画面図8]

コンポーネント追加
  1. 複合コンポーネント内に以下の必要なコンポーネントを追加し、コンポーネントキーを変更します。
  2. コンポーネント名 必要数 カテゴリー コンポーネントキー

    サブルーチン

    1 処理部品>サブルーチン 終了処理
接続処理設定
  1. テーブル行を削除する
    1. 【接続7-1】プロジェクトテーブルの全行を削除する
    2. 【接続6-2】工程テーブルの全行を削除する

    [編集画面図9]

  2. メソッドを公開する
    以下のメソッドを公開します。
    コンポーネント メソッド 変更メソッド名
    サブルーチン(終了処理) 処理を呼び出す() 終了処理を呼び出す
  3. アプリケーション終了時に終了処理を行う
  4. 上位階層に戻り、アプリケーション終了イベントの「全行を削除する()」の代わりに、サブルーチンの終了処理を繋げ ます。
    1. 【接続3-4】終了処理を行う
    [編集画面図10] 接続元イベントはアプリケーション終了イベントです。

5.ガントチャート表示部の複合コンポーネント化

1.この章での完成画面

 『工程管理アプリケーション作成チュートリアルⅠ』では工程テーブルを[ガントチャート]に表示していましたが、[ガントチャート]の表示部分も複 合コンポーネント化 し、項目と系列を入れ替えて表示したり、表示期間を変えて見ることができるようにします。
 

  1. 項目・系列選択コンボボックス 
    「ガントチャート表示」ボタンを押すと有効になり、この[コンボボックス]が選択されたのをきっかけに、taskテーブルから工程データを検 索します。
    選択を変更すると、[ガントチャート]に表示される項目と系列が入れ変わり、「プロジェクト」を項目とするグラフと「工程」を項目とするグラ フの2通りで表示されます。
  2. 期間選択コンボボックス 
    選択することで、3日から3か月まで表示期間を変更して表示できるようにします。
  3. ガントチャート
  4.  チュートリアル1から大きく変更はありません。
     工程テーブル表示とは別個にデータを検索してtaskテーブル内のデータをグラフ表示しています。

5.1.ガントチャートの表示

1.ガントチャート表示部複合コンポーネント追加

処理をまとめて把握しやすく、また他のアプリケーションでも活用できるように、ガントチャートを複合コンポーネントにま とめます。
表示期間や項目、系列を変更して比較できるように、[コンボボックス]を使用し、選択できるようにします。
[コンボボックス]は複合コンポーネント内にタスクテーブルデータが設定された後、有効にするようにします。

コ ンポーネント追加
  1. ビルダー編集画面上位階層で、GUI複合コンポーネントを 追加しま す。
    1. GUI複合コンポーネントを追加します。
      ビルダー編集画面上で右クリック、[複合コンポーネント作成]>[GUIコンポーネント]を選択します。
      複合コンポーネントをダブルクリックして中に入り、コンポーネント名称を「ガントチャート表示部」に変更します。
    2. 複合コンポーネント内部にコンポーネントを追加し、コンポーネントキーを変更します。
      ※「チュートリアル1」で作成した処理が後で利用できるので、上位階層にある[ガントチャート(計画一覧)]、[グ ラフ データ作 成] 複合コンポーネント、[ボタン(ガントチャート表示)]を処理ごとまとめてコピー&ペーストしておくと少し便利です。
    3. 参考:基 本操作2>コンポーネントのコピー&ペースト

      コンポーネント名 必要数 カテゴリー コンポーネントキー/テキスト
      GUI複合コンポーネント 複合コンポーネント作成 ガントチャート表示部
      ガントチャート 画面構成部品>グラフ 計画一覧

      ラベル

      2 画面構成部品>テキスト 系列と項目の入替
      ガントチャート表示期間
      コンボボックス 2 画面構成部品>コンボボックス 項目選択
      表示時間
画面編集
  1. 複合コンポーネント内の画面編集画面に入ります。
    「手動配置」で画面例を参考にガントチャートやその他のコンポーネントを配置します。
  2. 「実行(設定可)」ボタンで実行し、ラベルの名前をそれぞれ「系列と項目の選択」、「ガントチャート表示期間」に変更します。
  3. [コンボボックス(項目選択)]に要素を追加します。
    [コンボボックス]の上で右クリックし、[要素]>[一括追加...]>追加する要素数「2」とします。
  4. もう一度[コンボボックス(項目選択)]を右クリックし、[要素]>[編集]で「要素の編集」画面を表示します。
    要素を右クリックし、[テキスト...]>[テキストの入力]画面から、それぞれ「項目:プロジェクト 系列:工程」、「項目: 工程  系列:プロジェクト」と変更します。
  5. 同様に[コンボボックス(表示期間)]に要素を「4」追加し、それぞれ「3日」「1週間」「1か月」「3か月」に変更しま す。
  6. 上位階層の画面編集画面でフレーム上にGUI複合コンポーネントを配置します。
ガントチャート表示画面例

2.ガントチャート表示サブルーチンの作成

コンポーネント追加
  1. GUI複合コンポーネント内に以下のコンポーネントを追加し、コンポーネントキーを変更します。
  2. コンポーネント名 必要数 カテゴリー コンポーネントキー
    テーブル格納変数 2 処理部品>変数 検索結果
    ガントチャート用データ
    イベント生成 処理部品>イベント 項目選択
    サブルーチン 処理部品>サブルーチン ガントチャートデータ設定
    グラフデータ作成複合コンポーネント 複合コンポーネント追加>グラフ
接続処理設定
  1. コンボボックスを有効にする
  2. [テーブル格納変数(検索結果)]にデータが設定されたタイミングで処理を行います。
    1. 【接続1-1】コンボボックスを有効にします。
      [コンボボックス(項目選択)]はアプリケーション終了時には無効にし、「ガントチャート表示」ボタンが押され、複合コンポ―ネント 内に 工程データが設定された後には有効にするようにします。
    2. 【接続1-2】コンボボックスの要素を選択します
      後の処理でコンボボックスのデータ選択イベントにガントチャート表示の処理を繋げます。
      まずは位置番号0の要素を選択し、データ選択イベントが発生するようにします。

    [編集画面図11]

  3. コンボボックスの選択位置により、作成するガントチャートデータを選択する
  4. [コンボボックス]の選択位置により項目と系列を替えたガントチャートデータを作成するために、[イベント生成]コンポーネントを使ってアク ショ ンイベントを発生させ、イベント番号により行う処理を選択します。
    1. 【接続2-1】コンボボックスの要素の選択位置を取得して、アクションイベントを発生させます。
      引数にコンボボックスの選択位置を設定します。
      この引数が、アクションイベントの内包するイベント番号になります。
    2. 【接続2-2】ガントチャートへデータ設定する処理を呼び出します。
      (このサブルーチンの接続先処理は【接続4】で設定します)
  5. ガントチャート用データの作成
    1. 【接続3-1】ガントチャート用のデータを作成します。
      項目(引数1)に「projectLabel」列、系列(引数2)に「process」列を指定します。
      イベント番号:0(コンボボックスの0番目の要素が選択されたとき)を設定します。
    2. 【接続3-2】タスク名データを作成します。
      タスク名に「process」列を指定します。
      イベント番号:0を設定します。
    3. 【接続3-3】ガントチャート用のデータを作成します。
      項目(引数1)に「process」列、系列(引数2)に「projectLabel」列を指定します。
      イベント番号:1(コンボボックスの1番目の要素が選択されたとき)を設定します。
    4. 【接続3-4】タスク名データを作成します。
      タスク名に「projectLabel」列を指定します。
      イベント番号:1を設定します。
    5. 【接続3-5】ガントチャート用データを格納します。
      後で使うので、変数に設定しておきます。
      イベント番号設定の必要はありません。

    [編集画面図12]

  6. ガントチャートデータ設定
  7. ガントチャートデータ、タスク名、系列色を設定します。
    また、表示項目数をデータに合わせて自動的に変更するようにします。
    1. 【接続4-1】ガントチャート用データをガントチャートに設定します。
    2. 【接続4-2】タスク名を設定します
    3. 【接続4-3】系列色リストを設定します。
    4. 【接続4-4】表示項目数を設定します。
      ガントチャート用テーブルデータの行数が項目数となります。

    [編集画面図13]

  8. メソッドを公開する
  9. 複合コンポーネント内の以下のメソッドを公開します。
    上位階層での検索結果を複合コンポーネント内に設定できるようにします。
    コンポーネント メソッド
    テーブル格納変数(検索結果) テーブルを設定する(PFObjectTable)
  10. 上位階層での検索処理の作成
  11. 上位階層【接続4】の処理がDB接続→検索→結果設定→切断と同じ流れなので、コピーして利用することにします。
    1. 上位階層に戻り、[ボタン(ガントチャート表示)]のアクションイベントの接続処理を変更します。
      アクションイベントの接続処理を全て選択して右クリック>[削除]します。
      [テーブル表示部]複合コンポーネントの処理完了イベント赤丸上で右クリック>[コピー]で、【接続4】の接続処理を全てコ ピーします。
      コピーした処理を[ボタン(ガントチャート表示)]のアクションイベントの上で右クリック>[貼り付け]で貼り付けます。
    2. 【接続5-1】データベースに接続する
    3. 【接続5-2】メソッド「検索SQLを実行する(Object)」の引数を「select id, dateStart, dateEnd, projectLabel, process from task」に変更します。
    4. 【接続5-3】接続先コンポーネントを変更します。
      接続先[テーブル表示部]GUI複合コンポーネントを右クリックし、[接続コンポーネント選択]で「ガント チャート表示部」複合コンポー ネントを選びます。
      メソッド「テーブルを設定する(Object)」と引数(取得方法:メソッド処理結果、メソッド/値:検索SQLを実行する)を設定しま す。
    5. 【接続5-4】データベースとの接続を切断する

    確認 ここまで進めると、「ガントチャート表示」ボタンを押すとガント チャートが表示されます。

    [編集画面図14]

3.期間コンボボックスの選択による表示変更

[イベント生成]を使用し、[コンボボックス]の選択位置をイベント番号としてイベントを発生させることにより、イベント番号による条件分 けが 可能になります。
期間に合わせて、大目盛間隔、小目盛間隔を調整します。

コンポーネント追加
  1. GUI複合コンポーネント内に以下のコンポーネントを追加し、コンポーネントキーを変更します。
    ※サブルーチンは後でコピーして計4つ追加になりますが、初めに1つだけ追加します。
  2. コンポーネント名 必要数 カテゴリー コンポーネントキー
    イベント生成 処理部品>イベント 期間選択
    サブルーチン 処理部品>サブルーチン 3か月
接続処理設定
  1. コンボボックスの選択位置を取得する
    1. 【接続5-1】コンボボックスの選択位置を取得し、イベント番号としてアクションイベントを発生させます。

    [編集画面図15]

  2. 表示期間設定処理を作成する
  3. サブルーチンを先頭にして、表示期間とそれに合わせた大目盛間隔、小目盛間隔を設定します。
    期間の単位は[ガントチャート]から取得できます。
    1. 【接続6-1】表示期間を3か月に設定します。
    2. 【接続6-2】大目盛間隔を2週間に設定します。
    3. 【接続6-3】小目盛間隔を1週間に設定します。
    4. 【接続6】の[サブルーチン(3か月)]コンポーネントをコピーして、接続処理ごと編集画面上に3回貼り付けます。
    5. コピーしたサブルーチンのコンポーネントキーをそれぞれ「1か月」、「1週間」、「3日」に変更します。
    6. 【接続7-1~3】[サブルーチン(1か月)]の接続先の引数を変更します。
      表示期間:1か月、大目盛間隔:1週間、小目盛間隔:1日に変更します。
    7. 【接続8-1~3】[サブルーチン(1週間)]の接続先の引数を変更します。
      表示期間:1週間、大目盛間隔:1日、小目盛間隔:6時間に変更します。
    8. 【接続9-1~3】[サブルーチン(3日)]サブルーチンの接続先の引数を変更します。
      表示期間:3日、大目盛間隔:1日、小目盛間隔:2時間に変更します。

    [編集画面図16] ]

  4. サブルーチンを呼び出す
  5. 作成した表示期間設定のサブルーチンの処理を[イベント生成]を先頭にして、呼び出します。
    設定するイベント番号は[コンボボックス(期間選 択)]の項目位置と同じですので、項目名に合わせて各接続先にイベント番号を設定します。
    1. 【接続10-1~4】サブルーチンの処理を呼び出す

    [編集画面図17]

コンポーネント追加
  1. 複合コンポーネント内に以下の必要なコンポーネントを追加し、コンポーネントキーを変更します。
  2. コンポーネント名 必要数 コンポーネントキー

    サブルーチン

    1 終了処理
接続処理設定
  1. 画面構成部品のデータをクリアする
    1. 【接続11-1】ガントチャートのデータをクリアします。
    2. 【接続8-2】[コンボボックス(項目選択)]の選択をクリアします。
    3. 【接続8-3】[コンボボックス(項目選択)]を無効にします。
      [コンボボックス(期間選択)]は有効のままでも問題ありません。
    4. 【接続8-4】グラフ作成複合コンポーネントの終了処理をします。

    [編集画面図18]

  2. メソッドを公開する
    以下のメソッドを公開します。
    コンポーネント メソッド 変更メソッド名
    サブルーチン(終了処理) 処理を呼び出す() 終了処理を呼び出す
    複合コンポーネント(グラフ作成) 初期化処理()
  3. アプリケーション開始時に初期化処理を行う
  4. 上位階層に戻り、アプリケーション開始イベントのグラフ作成複合コンポーネント「初期化処理()」の代わりに、複合コンポーネントの初期化処 理を 繋げます。
    1. 【接続0-1-3】初期化処理を行う
  5. アプリケーション終了時に終了処理を行う
  6. 上位階層に戻り、アプリケーション終了イベントの「ガントチャートをクリアする()」の代わりに、複合コンポーネントの終了処理を繋 げま す。
    1. 【接続3-5】終了処理を行う

    [編集画面図7]※他コンポーネント接続処理省略

ここまで作成すると実行画面は以下のようになります。

工程管理アプリケーション作成チュートリアルⅢへ