發表文章

目前顯示的是 12月, 2019的文章

coldfusion component (CFC) 另一種用法

圖片
一般 CFC 的寫法大概會像上面這樣: 而呼叫方式如下: <cfinvoke component= " COM.extfunc " method= " myescape " returnvariable= " escstr " >     <cfinvokeargument name= " sdata " value= "# myForm.note #" > </cfinvoke> <!--- 返回 escstr ---> <cfoutput> #escstr# </cfoutput> 上面這種方式屬於純 TAG 寫法,寫起來超麻煩,尤其參數很多時就會寫出一堆  <cfinvokeargument>,真是快昏倒了。 其實,也可以使用創建物件方式來使用這個 Component,會方便許多。 我們把上面的 cfc 改成下面方式 <cfcomponent displayname= " extfunc " hint= " 擴充功能 " >       <cffunction name= " Init " access= " public " returntype= " QueryUtility " output= " false "            hint= " Returns an initialized QueryUtility instance. " >           <!--- Return This reference. --->            <cfreturn THIS />       </cffunction>       <cffunction name= "myescape" access= "public" returntype=

Coldfusion 隱蔽式下載

圖片
一般下載時,通常會使用 <a href="URL" /> 這種方式使用者下載,而 URL 大多的做法是指明檔案所在的位置例如  <a href="http://MySite.com/download/picture/myPicture.png">。 這種方式有幾個問題: 1、如果使用者取得此聯結位址後,可以單獨由此取得檔案或盜連,故被直接拿到的風險會很高,因為這個 URL 就是一個開放的位址。 2、由於直接指定檔案位置,很多時候檔案就會被瀏覽器直接開啟,而非下載存檔,對於大部分使用者來說,這是一個貼心的模式,但是對於很多需要下載的商業用途場合就很麻煩,使用者還必須在聯結上按『右鍵』選擇『另存檔案』的方式,操作相當不便。 3、無法設定檢查使用者取得檔案的條件。 因此,透過隱蔽式下載就是一種很好的方法。 程式碼: < cfsetting enablecfoutputonly = "yes" > <!--- 避免下載檔案遇到中文檔名無法正常下載問題而使用的功能,也可以避免使用者知道實際檔案儲存位置 ---> <!--- Arguments : file = 指定檔案名稱 ---> < cftry > <!--- 判斷使用者來源聯結是否來自本伺服器 或是直接下載,當直接下載時 REFERER 會是 空值--->     < cfif findnocase (CGI.SERVER_NAME,CGI.HTTP_REFERER) LTE 0 >     < cfthrow type = "RefererError" message = "#CGI.HTTP_REFERER#:不允許存取" >     </ cfif > <!--- 判斷參數是否存在 ---> < cfif not isdefined ( "file" )>     < cfthrow type = "Arguments" message = "

凹凸世界 - 艾比 的裝備 - 草稿圖

圖片
這是凹凸世界裡的角色 - 艾比 的相關配件,純粹幫忙畫稿 角色介紹: 看這裡 艾比的翅膀 - 出場機會太少目前只有一幕,只能放慢動畫,慢慢畫出來 QQ 艾比的武器 - 弓與箭

Coldfusion (Railo 3.3.4)使用 POI 元件 寫出 XLSX 檔案

圖片
補充前一篇  Coldfusion (Railo 3.3.4) 使用 POI 元件 讀取 xls/xlsx 修改記錄 我在 POIUtility.cfc 內加入一個 Function 用來處理寫出 XLSX 格式檔案 cfc 程式碼(增加): <!--- 自訂寫出 XLSX 的 EXCEL 檔案--->     < cffunction name= "WriteExcelX" access= "public" returntype= "void" output= "false"         hint= "Takes an array of 'Sheet' structure objects and writes each of them to a tab in the Excel file." >         <!--- Define arguments. --->         < cfargument             name= "FilePath"             type= "string"             required= "true"             hint= "This is the expanded path of the Excel file."             />         < cfargument             name= "Sheets"             type= "any"             required= "true"             hint= "This is an array of the data that is needed for each sheet of the excel OR it is a single Sheet object. Each '

Coldfusion (Railo 3.3.4) 使用 POI 元件 讀取 xls/xlsx 修改記錄

圖片
這是配合 上一篇 『 Coldfusion直接讀取/產生Excel檔案 (使用POI元件) 』進階改版 主要原因是 上一篇 的功能只能讀取 XLS檔案,但是對於XLSX卻沒有辦法處理。 如果升級 POI的版本到最新版,會造成 RAILO 內建的 Apache 無法支援該套件版本。 經過一翻苦戰,終於搞定如何處理: 首先,RAILO 3.3.4(註一) 以後因為有支援 cfspreadsheet 指令,所以內建了 POI 套件,但是這個指令僅能處理 XLS 檔案,所以可想而知這個套件是非常陽春的,更不用說要能夠讀取 XLSX 檔案了。

12V LED 電壓設計

圖片
因為有不少朋友問道: 使用電壓 12V下 LED 的電路設計如何處理,所以這裡我簡單的講解一下電路上的設計方式好了。 其實這是基本電學複習,沒有很特別,讓一些不太懂電學朋友參考。 一般我在設計車用LED電路時,對於LED的電路大概會用下面的方式,當然有的人會使用多少LED來串連是事情況而定,沒有絕對。 Figure 1: R1 = (12 V - (1.6 Vled x 2)) / 15 mA = 0.5866... ≒ 580 Ω (可以買到的電阻) Figure 2: R2 = (12 V - (1.6 Vled x 3)) / 15mA = 0.48 ≒ 470 Ω (常用電阻) Ω 也可用 Ohm 表示,唸成『歐姆』 這裡有幾個要注意的地方: 1、LED 的電壓,LED 是一顆二極體,電壓順向時有一定的偏壓存在,發光 LED 因應顏色不同,其化學材料也不同,所以每一家生產的 LED 也會有不同的偏壓,最好使用時要使用同一家且同一種型號的 LED 比較不會燒壞 LED。我使用的 LED 偏壓大約 1.6 V,所以計算時我註記成 1.6 Vled。 2、一般 LED 的電流( 這裡指 5Φ 左右的 LED ),可以承受到 25 mA,但這個電流值幾乎接近熱衰竭電流(也就是在這個電流下 長時間 工作會讓 LED 內的材料受熱損壞),所以通常我們都會設計在 15 mA ~ 20 mA 左右,以維持 LED 壽命。 3、在這電路上 Q1、Q2 作為 SWITCH (開關) 使用,CE 導通偏壓約莫 0.7 V,通常我會忽略不計。 4、電阻 瓦數可用 1/4W (0.25W) 大小, 依照 P=VI ,Figure 1 上的電阻偏壓約 8.8 V 所以 W = 8.8 V x 15 mA = 0.132 W,1/4W足夠使用了。 5、如果 LED 發光不同不建議串接使用,會發生偏壓較大的 LED 反而不太亮的問題,如果有不一樣顏色的 LED 建議單獨使用不同的電阻來偏壓。