CabinetManager/CabinetItem 使用例(Delphi Script サンプル)

 CabinetManagerは、airWeb本体のキャビネットにアクセスするための、非ビジュアルコンポーネントです。airWebのキャビネットにフォルダやアイテムを登録したり、登録内容を変更するにはこのコンポーネントを使用します。CabinetManagerは、Delphi Script中からは宣言(Create)を必要とせず、いつでも利用することができます。以下に代表的な使用例を記します。
  1. CabinetManager.Find キャビネットアイテムの検索
  2. TCabinetItem.Create.Find キャビネットアイテムオブジェクトの生成
  3. CabinetManager.Free キャビネットアイテムオブジェクトの破棄
  4. CabinetManager.Add キャビネットルートへアイテムを追加
  5. CabinetManager.AddChild キャビネットへ子アイテムを追加
  6. CabinetManager.Commit キャビネットの更新内容を確定
■CabinetManager.Find(キャビネットアイテムの検索)

 キャビネットアイテム SampleItem の有無を調べる。

*  1:  if Assigned(CabinetManager.Find('SampleItem')) then
   2:    {キャビネットアイテム SampleItem が見つかった時の処理}

 キャビネットアイテム SampleItem を変数 Item に代入する。

   1:Var
   2:  Item:TCabinetItem;
   3:Begin
*  4:  Item:=CabinetManager.Find('SampleItem'));
   5:  {以降、Item.Caption 等のプロパティを経由して、SampleItem を操作可能}

■TCabinetItem.Create(キャビネットアイテムオブジェクトの生成)

 キャビネットアイテムオブジェクトを生成し、変数へ代入する。

   1:Var
   2:  Item:TCabinetItem;
   3:Begin
*  4:  Item:=TCabinetItem.Create(CabinetManager);
   5:  {以降、Item.Caption 等のプロパティを経由して、新規 CabinetItem の設定が可能}

■TCabinetItem.Free(キャビネットアイテムオブジェクトの破棄)

 キャビネットアイテムオブジェクトを破棄してメモリを解放する。

   1:Var
   2:  Item:TCabinetItem;
   3:Begin
*  4:  Item:=TCabinetItem.Create(CabinetManager);
   5:  Item.Free;

■CabinetManager.Add(キャビネットルートへアイテムを追加)

 キャビネットのルートへアイテムを追加する。

   1:Var
   2:  Item:TCabinetItem;
   3:Begin
   4:  Item:=TCabinetItem.Create(CabinetManager);
   5:  Item.ItemType:=ctFolder;
   6:  Item.Name:='testfolder';
   7:  Item.Caption:='テストフォルダ';
*  8:  CabinetManager.Add(nil,Item);
   9:  Item.Free; 

■CabinetManager.AddChild(キャビネットへ子アイテムを追加)

 キャビネット上のフォルダの下へ子アイテムを追加する。

   1:Var
   2:  Folder,Item:TCabinetItem;
   3:Begin
   4:  Folder:=CabinetManager.Find('testfolder'));
   5:  Item:=TCabinetItem.Create(CabinetManager);
   6:  Item.ItemType:=ctPlugin;
   7:  Item.Name:='testitem';
   8:  Item.Caption:='テストアイテム';
*  9:  CabinetManager.AddChild(Folder,Item);
  10:  Item.Free; 

■CabinetManager.Commit(キャビネットへの更新内容を確定)

 キャビネットへの更新内容を確定し、キャビネットを再描画する。

   1:Var
   2:  Folder,Item:TCabinetItem;
   3:Begin
   4:  Folder:=CabinetManager.Find('testfolder'));
   5:  Item:=TCabinetItem.Create(CabinetManager);
   6:  Item.ItemType:=ctPlugin;
   7:  Item.Name:='testitem';
   8:  Item.Caption:='テストアイテム';
   9:  CabinetManager.AddChild(Folder,Item);
  10:  Item.Free;
* 11:  CabinetManager.Commit;