Net.Data 提供一大組內建函數,可幫助您簡化 Web 頁面的開發。 這些函數已經過 Net.Data 的定義,所以您不需要定義它們。 您可以如同呼叫其它函數一般,來呼叫這些函數。
圖 23 顯示 Net.Data 內建函數與巨集的互動方式。
![]() |
內建函數可採三種方式傳回其結果,取決於它的字首:
有些內建函數沒有所屬類型。 若要判斷具有哪種類型的特殊內建函數, 請參閱 Net.Data 參考手冊中有關 Net.Data 內建函數的章節。
下列各節將提供 Net.Data 內建函數的高階概觀。 請使用這些函數來執行一般目的、算術、字串、字組或表格操作函數。 請參閱 Net.Data 參考手冊,以取得每一函數的說明及其語法和範例。 這些函數部份需要設定變數之後才能使用變數,或必須在特定上下文中使用它們。 並非所有作業系統均支援每一個內建函數。請參閱 Net.Data 參考手冊, 您的作業系統支援哪些函數。
此組函數可讓您改變資料或存取系統服務程式, 藉此協助您開發網頁。 您可以使用它們來傳送郵件、處理 HTTP cookie、 建立 HTML 跳出碼 (escape code),以及從系統中取得其它有用的資訊。
例如,若要設定當發生特定狀況時,Net.Data 應跳出巨集,不處理巨集的其餘部份, 請使用 DTW_EXIT 函數:
%HTML(cache_example) { <html> <head> <title>這是頁面標題</title> </head> <body> <center> <h3>這是主要標題</h3> <!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!> <!Joe Smith 看到一篇非常短的頁面 !> <!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!> %IF (customer == "Joe Smith") </body> </html> @DTW_EXIT() %ENDIF ... </body> </html> %}
另一個有用函數就是 DTW_URLESCSEQ 函數,它會以它們的跳出值來置換 URL 中不容許的字元。 例如,如果輸入變數 string1 等於 "Guys & Dolls",則 DTW_URLESCSEQ 會將輸出變數指定為值 "Guys%20%26%20Dolls"。
這些函數會執行算術運算,協助您計算或改變數字性資料。 除了標準的算數運算外,您也可以執行模數的除法, 指定結果的精確度,以及使用科學記數法。
例如,函數 DTW_POWER 會產生第一個參數的第二個參數次方並傳回結果, 如下列範例所示一般:
@DTW_POWER("2", "-3", result)
DTW_POWER 會在變數 result 中傳回 ".125"
這些函數可讓您處理字串中的字元。 您可以變更字串的大小寫, 插入或刪除字元,指定一個字串值給另一個變數, 以及其它有用的函數。
例如,您可以使用 DTW_ASSIGN 將輸入變數的值指定給輸出變數。您亦可以使用這個函數在巨集中變更變數。 在下列範例中,變數 RC 被指定為 0。
@DTW_ASSIGN(RC, "0")
其它字串函數包括連接字串的 DTW_CONCAT 及在特定位置插入字串的 DTW_INSERT, 以及許多其它字串操作函數。
這些函數可讓您處理字串中的字組。 這些函數中的絕大部份,乃與字串函數的作用類似, 只不過其是以整個字組運作。 例如,可讓您計算字串中的字組數、除去字組、從字串中找出某個字組。
例如,使用 DTW_DELWORD 從字串中刪除設定的字數:
@DTW_DELWORD("Now is the time", "2", "2", result)
DTW_DELWORD 傳回字串 "Now time"。
其它字組函數包括傳回字組中的字元數的 DTW_WORDLENGTH 及傳回字串內字組位置的 DTW_WORDPOS。
您可以使用這些函數來產生報表或套表, 以便使用 Net.Data table 變數中的資料。 您也可以使用這些函數,來建立 Net.Data 表格,以及操作及取回那些表格中的值。 表格變數含有一組值,以及相關的直欄名稱。 這些函數方便您將整群的值傳給函數。
例如,DTW_TB_APPENDROW 會附加一列到表格中。在下列範例中, Net.Data 會附加 10 列到表格 myTable 中:
@DTW_TB_APPENDROW(myTable, "10")
此外,DTW_TB_DUMPH 傳回巨集表格變數內容 (使用 <pre></pre> 標籤括住), 在不同行顯示表格的每一列。DTW_TB_CHECKBOX 則會從巨集表格變數中傳回一個或多個 HTML 核對框輸入標籤。
使用純本文檔介面 (FFI) 函數來開啟、讀取及操作純本文檔來源 (文字檔) 的資料, 以及在純本文檔中儲存資料。
例如,DTWF_APPEND 會將表格變數的內容寫到檔案的尾端,而 DTWF_DELETE 則會刪除檔案中的記錄。
此外,FFI 函數容許以 DTWF_CLOSE 與 DTWF_OPEN 鎖定的檔案。DTWF_OPEN 會鎖定檔案, 以便另一個要求無法讀取或更新檔案。當 Net.Data 完成該檔案時, DTWF_CLOSE 即會釋放它,以容許其它要求存取檔案。
使用 Web 登記函數來維護登記和其所包含之登錄。 Web 登記是一個由 Net.Data 維護通行碼的檔案, 可讓您輕易地新增、取回與刪除登錄。
例如,DTWR_ADDENTRY 可新增登錄,而 DTWR_DELENTRY 則會刪除登錄。 DTWR_LISTSUB 會傳回關於 OUT 表格參數中的登記登錄的資訊, 而 DTWR_UPDATEENTRY 則會以新值取代設定的登記登錄的舊有值。