• Imagix 4D ユーザガイド
  • 目次

コマンドファイルの記述例

以下に、注釈を記述したコマンドファイルの例を示します。このファイルには、実際の cmmdXXX コマンド、その前後に変数の設定を指定する "set" コマンドならびに "source" コマンドが記されています。コマンドファイル内の "#" で始まる行は、コメントとして処理されます。サンプルファイル内のパスは Windows 用のものですが、パス名が適切に処理されるようにバックスラッシュ "\" ではなく、フォワードスラッシュ "/" が使用されていることに注意してください。

# 最初のプロジェクトを開き、現在のソースコードの状態を反映するため
# プロジェクトを再生成します。次に、コマンドファイルのレポート設定を
# 2つ使用して(他の設定は最新の GUI の設定を使用)
# レポートをいくつか作成します。

cmmdOpenProject c:/test/projects/project_33.4D
cmmdRegenerateProjectData

set dfgRpt(Variables_Set_in_Multiple_Tasks.protected) 1
cmmdReport Task_Flow_Checks..Variables_Set_in_Multiple_Tasks c:/test/reports/msv.txt
set dfgRpt(Variable_Flow_Between_Tasks.ss_sr) 0
cmmdReport Task_Flow_Checks..Variable_Flow_Between_Tasks     c:/test/reports/vfbt.txt
set dfgRpt(Out_of_Step_Variables.global) 1
cmmdReport Task_Flow_Checks..Out_of_Step_(Z)_Variables       c:/test/reports/zvars.txt

# 2番目のプロジェクトを開きます。1つのコマンドファイルで複数のプロジェクトを
# 開くことが可能です。新しいプロジェクトを開くと、現在、開いているプロジェクトは
# 閉じられます。プロジェクトを開く際、プロジェクトのパスにスペースが含まれている
# 場合は、引用符を使用する必要があります。

cmmdOpenProject "c:/test/projects/space dir/project_600.4D"

# すべてのレポートを生成します。rpt_settings ファイルを読み取ります(source コマンドを使用)。
# これにより、現在のコマンドファイルを拡張します。これは C / C++ の
# "#include" 文に相当します。rpt_settings ファイルには、一連の "set" コマンドを
# 記述することもでき、複数のコマンドファイルに共有するレポート設定を一式
# 指定します。スプレッドシートへのインポートを簡単に行えるよう
# レポートを .csv 形式で出力します。出力先のパスにはスペースが
# 入力されるため、引用符の使用が必須です。

source c:/test/reports/rpt_settings
set vtgPrint(Format) csv
cmmdReportMultiple "c:/test/space dir/reports"

# デバッグ用に fprintf 形式の文を作成します。

cmmdDebug Essentials 1 c:/test/trace.log
dbgf About to start report export - format is $vtgPrint(Format)
cmmdDebug Off

# のちに、インポートすることで Imagix 4Dに戻し([レポート] > [インポート])、また、
# GUI で使用する遷移機能に対応させるためタグ付けした全シンボルと一緒に
# 表示するよう、特定のレポートを .4dr レポートとして生成します。
# 簡単に読み取れるようレポートの出力に ASCIIフォーマットを使用します。

set vtgPrint(Format) ASCII
cmmdReportExport Source_Checks..Potential_Static_Function "c:/t/space dir/static.4dr"
cmmdReportExport Function_Flow_Checks..Unused_Code        "c:/t/space dir/unused.4dr"

# HTML ドキュメントを作成します。/imagix/user/doc_gen ディレクトリにある
# my_style.dgn というスタイルシートを適用し、ドキュメントの
# フォーマットおよびコンテンツを調整します。このコマンドファイルで事前に
# 再解析されたものとしてソースコードの現在の状態を表示するために、
# 既存のアーキテクチャを削除の上、新しいものを定義します。出力先のパスに
# スペースが含まれる場合は、必ず引用符で囲ってください。

set dcgOptions(Style)   ApplyDocGenSheet
set dcgOptions(DocGenSheet)  my_style
cmmdDeleteArchitecture my_curr_dirs_with_vars
cmmdDefineArchitecture Directory FuncVar my_curr_dirs_with_vars
cmmdDocument "c:/test/space dir/demo.4DD"
2番目のコマンドファイルの記述例は、通常、夜間に処理するコードビルドの一部として実行されることを想定しています。翌日にユーザが操作する際、Imagix 4D データベースが最新の状態であり、きわめて迅速にロードされることが見て取れます。

# ビルド対象のコードを表すプロジェクトを開きます。

cmmdOpenProject c:/test/projects/project_dev.4D

# ソースコードの現バージョンを解析します。この結果、
# 次回プロジェクトを開く際、Imagix 4D データベースは
# 最新のソースコードを示し、かつ速やかにロードされます。

cmmdRegenerateProjectData

# メトリクスのデータを計算します。Imagix 4D のプロジェクト・サイズが
# Very Large に設定されている限り、計算済みのメトリクスが
# ディスクのデータベースに格納されるため、次回プロジェクトを開いたときに
# 再計算する必要がありません。

cmmdCalcMetrics
[フローチェック] レポートの一部を定期的に使用する場合には、以下に示す夜間ビルド用のコマンドファイルを利用して、レポートファイルを生成する方法があります。このレポートファイルは、今後のセッションの間に迅速にインポートすることが可能となるため、ユーザは解析処理中の待ち時間を省くことが可能です。

# ビルド対象のコードを表すプロジェクトを開きます。

cmmdOpenProject c:/test/projects/project_dev.4D

# ソースコードの現バージョンを解析します。この結果、
# 次回プロジェクトを開く際、Imagix 4D データベースは
# 最新のソースコードを示し、かつ速やかにロードされます。

cmmdRegenerateProjectData

# グローバルデータフローデータベースは、プロジェクトデータベースが
# 変更されるたびに再計算する必要があります。バッチコマンドファイルを
# 使用してデータベースを生成および保存することで、次に GUI で 
# [データフロー] を呼び出したときに、グローバルデータフローデータベース
# が準備されます。

cmmdCalcDataFlow