メイン コンテンツをスキップする 補完的コンテンツへスキップ

フラットストラクチャーでのダイナミックエレメントサイズの設定

SetElementPropertyを使えば、フラットファイルにある別のエレメントの値に基づいてエレメントのサイズを定義できます。

始める前に

サンプルドキュメントとして使うフラットファイルがあること。下のサンプルデータから作成できます。

このタスクについて

この例では、abcという3つのエレメントが含まれているフラットファイルを使います。aエレメントは整数で、bエレメントのサイズを定義します。このサイズは変化するため、bエレメントのプロパティで固定サイズを設定することはできません。ただし、bエレメントの終了地点とcエレメントの開始地点が示されるよう、このサイズを引き続き定義する必要があります。

サンプル入力には次のデータを使用できます:
03bbbcc

手順

  1. ストラクチャーを作成します:
    1. [Hierarchical Mapper] (階層マッパー)[Structure] (ストラクチャー)を右クリックし、[New] (新規) > [Structure] (ストラクチャー)をクリックします。
    2. ウィザードが開いたら、[Create a new structure where you manually enter elements] (エレメントを手動で入力するための新しいストラクチャーを作成)を選択して[Next] (次へ)をクリックします。
    3. フォルダーを選択して新しいストラクチャーの名前を入力し、[Next] (次へ)をクリックします。
    4. [Flat Files] (フラットファイル)表記を選択して[Next] (次へ)をクリックします。
    5. [Import a file as document] (ファイルをドキュメントとしてインポート)をクリックして[Next] (次へ)をクリックします。
    6. 関連するフォルダーを参照してフラットファイルを選択し、[Finish] (終了)をクリックします。
  2. ワークスペースの左側にあるセクションを右クリックし、[New Element] (新規エレメント)をクリックしてルートエレメントを作成します。
  3. ルートエレメントを右クリックし、3つの子エレメントをabcという名前で作成します。
    ストラクチャーは次のようになります。
  4. aエレメントをクリックし、[Size Min/Max] (サイズ最小/最大)の両フィールドに2と入力して、[Data Type] (データ型)ドロップダウンリストでInteger (32)を選択します。
    これは、aエレメントが2バイトの固定サイズを持つ整数であることを示しています。ストラクチャーでこのエレメントをクリックすると、[Document] (ドキュメント)タブで03が強調表示されます。
  5. cエレメントをクリックし、[Size Min/Max] (サイズ最小/最大)の両フィールドに2と入力します。
    これらのプロパティはcエレメントの固定サイズを定義していますが、bエレメントの終了地点とcエレメントの開始地点を指定する情報がないため、[Dopcument] (ドキュメント)タブでは強調表示されません。
  6. bエレメントをクリックし、その[Util] (ユーティリティ)タブにSetElementPropertyをドラッグ&ドロップします。
  7. SetElementPropertyをダブルクリックし、[Property] (プロパティ)ドロップダウンリストで[Number of bytes] (バイト数)を選択して[OK]をクリックします。
  8. aエレメントをValue引数にドラッグ&ドロップします。
    これは、bエレメントの値がaエレメントの値に等しいことを示しています。

タスクの結果

これでストラクチャーが設定されます。bエレメントをクリックするとbbbという値が[Document] (ドキュメント)タブで強調表示され、cエレメントをクリックするとccが強調表示されます。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。