顯示變數值

運用 PC-DMIS 的報告語言,可透過 Variable() 函式在報告中顯示變數值。該函式的語法爲:

Variable(<varname>, [<可選命令 id 或 uid>])

第一個參數強制型轉爲 string 型,表示變數名稱。第二個可選參數可用於計算與另一命令相關的變數的值。

例如,假定此代碼位於測量常式中:

ASSIGN/V1=2

F1=FEAT/CIRCLE...

ASSIGN/V1=F1.X

COMMENT/OPER,「一些註解文字」

對本例而言,假定註解有唯一的 ID 或「UID」245。

現在,請看採用了以上代碼的下例:

=VARIABLE("V1") - 若報告中沒有其他陳述式將值設爲 V1,這個值可以是 0 或 2,或者與特徵 F1 的質心 X 測量值相同。它完全取決於在計算報告運算式時已執行了哪些命令,報告中又有哪些命令目前正在進行處理。

=VARIABLE("V1", "F1") - 若測量常式中祇要一個名稱爲 "F1" 的特徵,那麽該運算式的結果應爲 2,因爲 V1 已直接指派給了特徵 F1 上方的 2。

=VARIABLE("V1", 245) - 此種情況使用的是 UID;因此報告上這個運算式的值應與 F1.X 相同。

GridControlObject 的單個儲存格不能從測量常式獲取變數的值。在大部份情況中,需採用文字物件。

變數和標頭

通常情況下,不能在報告的檔案標頭中顯示變數值,因爲 PC-DMIS 會在測量常式中執行陳述式前計算檔案標頭的值。因此,如果檔案標頭試圖引用尚未建立的變數,PC-DMIS 將顯示 0 值。然而,確實有一些選項可用於從測量常式獲取標頭的資訊:

選項 1 - 使用追蹤欄位代替變數
在測量常式中不使用變數,而使用追蹤欄位擷取資訊,然後在標頭標籤範本的 GridControlObject 中的目標儲存格中,使用 =TRACEFIELD() 函式來進行引用。追蹤欄位強制範本根據新的資訊重新評估報告,從而使得追蹤欄位得以顯示。

優/缺點

程序

選項 2 - 嵌入報告範本
有時在定義 ASSIGN 陳述式後,再嵌入報告範本到測量常式中,然後將變數值作爲參數傳送給標籤範本。視需要新增另外的列或儲存格,在新增的儲存格的上方,爲要顯示的每個變數新增一個 Text 物件並調整大小。最後,透過 REPORT/TEMPLATE 命令的參數修改 Text 屬性,類似於:

ASSIGN/V1=「要傳遞的字串值」

CS1=REPORT/TEMPLATE,FILENAME=TEXTONLY.RTP,AUTOPRINT=NO,Section=-1

PARAM/TEXT1.TEXT=V1

PARAM/=

ENDREPORT/

由於標籤範本合併成爲了報告範本,因此可採用上述方式,透過引用報告範本修改標籤範本上某些特定的參數。

優/缺點

選項 3 - 將標頭資訊直接放入報告
不使用引用標頭外部標籤範本的報告範本(如 File_Header.lbl),而是直接在報告範本中從標頭的標籤範本重建 GridControlObject。視需要新增另外的列或儲存格,在新增的儲存格的上方,爲要顯示的每個變數新增一個 Text 物件並調整大小。然後對每個 Text 物件使用 =VARIABLE() 函式提取變數資訊。例如 =VARIABLE("V1")

在報告範本中作其餘修改:

    1. TextReportObject 中變更規則,不使用標頭標籤。

    2. 設定目前章節,即 Section1 的以下屬性:

Command Set = 所有命令

Maximum Number of Pages = 1

    1. 新增第二章節 Section2,同樣爲其新增 TextReportObject,再次變更規則,不使用標頭標籤。

    2. 設定 Section2 的以下屬性:

Command Set = 續上一章節

Maximum Number of Pages = 0(表示沒有最大值)

優/缺點

選項 4 - 使用泛型特徵強制報告的生成
此選項使用空的泛型特徵,強制標籤範本重新評估報告,並將需求的變數值引入最終報告。

在測量常式中,建立一個空的泛型特徵,並爲其指派說明性名稱,如:

REPORTHEADER=GENERIC/NONE,DEPENDENT,CARTESIAN,OUT,$

下一步,修改標頭標籤範本,依據需要向 GridControlObject 新增其他儲存格,然後在新增的儲存格的上方,爲要顯示的每個變數新增一個文字物件并調整該物件的大小。現在將每個 Text 物件的 Text 屬性設爲使用 =VARIABLE() 函式以提取變數資訊。但在該選項中,需在 =VARIABLE() 函式中使用額外的參數以引用泛型特徵。例如,=VARIABLE("V1","REPORTHEADER")

優/缺點