[FileMaker] Custom Function 導入與應用,以 NumToCText 函數為例

範例檔案下載

FileMaker 除了內建自有的 Function 函數(以下都用 Function 稱呼)之外,還可以導入外部 Function(比如別人設計好的 Function),或是甚至你可以自己把常用的步驟製作成 Function,這些預設以外的 Function,就是所謂的 Custom Function 自訂函數。

Custom Function 何處尋?

假設我們今天想要達成一個功能:把「阿拉伯數字」轉換成「中文大寫數字」,我們就可以使用 Custom Function 來達到這樣的目標。一開始我們還不熟悉怎麼去寫這樣的一個 Function。

有句話說得很好:「不需要重複打造輪子!」尤其身為一個資料庫或程式開發者,應該要懂的借力使力。

那我們應該去哪裡尋找這個「輪子」- Custom Function 呢?

一般會去幾個地方尋找 Custom Function 的資源:

  1. briandunning.com
  2. fmfunctions.com
  3. Matt Petrowsky 的 Github

第一、第二個網站是由眾人貢獻的 Custom Function,加起來應該有上千個,第三個 Github 是由 FileMaker 資深開發者 Matt 所獨自貢獻的 Custom Function 資源。以上全部都是免費的資源,感謝這些開發者無償的付出!

我們要找的數字轉換 Custom Function 位於 briandunning.com,Function 名稱叫做 NumToCText,如同 Function 功能敘述:把羅馬數字轉換成中文。

螢幕快照 2017-12-27 下午6.21.55.png

將 Custom Function 導入 FileMaker

網頁最下方就是 Function 的所有程式碼,點選 “Select All" 將框框內的文字全部複製起來。

螢幕快照 2017-12-27 下午6.25.54.png

打開 FileMaker 點選 File > Manage > Custom Functions

螢幕快照 2017-12-27 下午6.27.13.png

螢幕快照 2017-12-27 下午6.31.20.png

點選 New

螢幕快照 2017-12-27 下午6.32.10.png

將複製的一大串文字貼到最下方 New Function( ) =  空白處

螢幕快照 2017-12-27 下午6.35.34.png

將名稱 Name 跟參數 Parameter 補上:NumToCText ( number )

螢幕快照 2017-12-27 下午6.37.11.png

注意參數 Parameter 需要按綠色的「+」號才算是輸入完成喔!

螢幕快照 2017-12-27 下午6.44.44.png

OK, OK
Custom Function 完成導入,可以開始使用。

螢幕快照 2017-12-27 下午6.47.11.png

 

應用 Custom Function

新建一個 NumToCText 檔案與 Table 表單

螢幕快照 2017-12-27 下午10.15.18.png

新增兩個 Field 欄位,number 欄位用來輸入欲轉換的羅馬數字,欄位則轉換成想對應的中文大寫數字。

螢幕快照 2017-12-27 下午10.18.43.png

設定 cText 欄位,點選 Auto-Enter 部分的 Calculated value 設定計算值

螢幕快照 2017-12-27 下午10.27.07.png

輸入 Custom Function

NumToCText ( number )

螢幕快照 2017-12-27 下午10.28.37.png

OK,記得「取消勾選」 “Do not replace existing value of field (if any)"

註:取消這個選項,讓欄位遇到更動就自動重新計算

螢幕快照 2017-12-27 下午10.30.01.png

OK 設定完成!

輸入數字做嘗試,除了羅馬數字會轉換成中文大寫數字,小數點也自動換成中文字。

螢幕快照 2017-12-27 下午10.32.21.png

範例檔案下載

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s