發表文章

CFSCRIPT是什麼?

來聊一下什麼是 CFSCRIPT 吧: ColdFusion 使用的基礎語言是 CFML ,原文:ColdFusion Markup Language。 意思是 Coldfusion 標記語言,就跟 HTML 一樣屬於標記式 ( tag ) 的程式語法。 相關的資訊可以在 維基網站 查得到,這裡不再多述。 那麼有了 CFML 後為什麼又需要 CFSCRIPT 了呢?

Coldfusion如何使用編/解碼

以下程式碼可能需要 CF9 以上的版本,目前測試 Railo 3.3 可以正常運作。 傳遞資料的時候有時候須要將資料進行編碼或是解碼, 雖然 javascript 可以完成這樣的工作, 但有時候因為隱匿的關係不希望使用者端解譯其運作原理,所以最好是在 Server 端完成。 Coldfusion 可以處理基本的編解碼有三種形式: Hex: use the characters 0-9 and A-F to represent the hexadecimal value of each byte; for example, 3A. UU: use the UNIX UUencode algorithm to convert the data. Base64: use the Base64 algorithm to convert the data, as specified by IETF RFC 2045, at www.ietf.org/rfc/rfc2045.txt . 比較常見的大多是 Base64吧。 以下是完整的測試網頁:

在CFSCRIPT下使用Cookie

Coldfusion繼續來玩Cookie吧, 注意下面的操作可能需要 CF9 以上的版本, Railo 3.3 以上的版本執行上沒有問題。 繼上一篇 Using cookie in CFML 之後,如果想在 Cfscript 中使用cookie的操作要怎麼辦? 目前尋遍 adobe 官方文件 得到的結果是: Direct assignment of Cookie scope memory-only variables. You cannot use direct assignment to set persistent cookies that are stored on the user's system. 真是沒輒!! 但是還是有辦法操作的,就是利用 cf-tag 與 cfscript 混用: 首先,寫一段處理 cookie 的 Function : <cffunction name="setCookie" access="public" returnType="void" output="false">  <cfargument name="name" type="string" required="true">  <cfargument name="value" type="string" required="false">  <cfargument name="expires" type="any" required="false">  <cfargument name="domain" type="string" required="false">  <cfargument name="httpOnly" type="boolean" required="false...

CFSCRIPT 基本陳述式

這段是給我自己常常忘記如何使用的註記: ColdFusion 的標準 tag 語法法以外,還有 script 語法, 下面是基本的 script 語法使用方式: script語法是包在一個 <cfscript> ... </cfscript> 之間的 每一行指令要用semicolon ; (分號)結尾,但備註與{大括號}結尾不用加 註解方式 //這是單一行的註解 mojo = 1; //這是放在指令後面的註解 /*     這是多行的     註解 */ 設定變數 foo = "foo bar";

耳機擴大器DIY

圖片
由於公司客服部門並不是獨立的隔離單位,接電話時常常受到其他部門的聲音影響。 雖然是客服人員帶著客服耳機聽電話,但由於客服耳機既不是全罩式,也不是雙耳式, 所以客服人員老是抱怨客戶來電聲音聽不清楚, 然而,電話機音量已經調整到最高了,效果依然不理想。 後來想到利用耳機擴大器來增加話筒音量, 可是網路查了又查,即便是網路拍賣的最便宜的也要近千元, 況且又不能直接使用,因為客服專用耳機的接頭就不太一樣,所以一定要改裝, 這樣下來,十幾部的客服電話的花費就會增加許多, 天啊,我只要簡單的把耳機音量擴大啊!!? 所以找上了一個國外專門自己DIY耳機的網站 http://gilmore2.chem.northwestern.edu/projects/index.htm  的 A Pocket Headphone Amplifier 章節 這個網站的幾乎都是愛好者的聚落,文件資源豐富,解說也很清楚。 所以我就參考了其中一組大家常用的耳機擴大器來自製,首先把基本結構電路先建立起來: 圖1:OP2134基本耳機擴大電路(單路)

在Powerbuilder下使用API執行Ping指令

利用 Windows 現成的 API 來實現這個功能 1.定義需要使用的結構變數 str_wsadata unsignedinteger   version unsignedinteger   highversion character   description[257] character   systemstatus[129] unsignedinteger   maxsockets unsignedinteger   maxupddg string   vendorinfo str_inaddr unsignedlong   s_addr str_ip_option_information character   ttl character   tos character   flags character   optionssize unsignedlong   optionsdata str_icmp_echo_reply unsignedlong   address unsignedlong   status unsignedlong   roundtriptime unsignedlong   datasize unsignedinteger   reserved unsignedlong   ptrdata str_ip_option_information  options character   data[256] 2.定義 External Functions //Open the socket connection. FUNCTION Integer WSAStartup( uint UIVersionRequested, ref str_WSAData...

sizeof in powerbuilder

PowerBuder 開發資料庫應用程式是相當的方便, 但是對於比較低階的資料處理,常常顯得捉襟見肘, 像是有使用到外部 API 時,需要傳遞變數,更多時候都需要一並傳遞該變數的長度, 此時,如果變數是很單純的,例如:char、integer、long 等, 而這些變數長度大致上都可由 help 來查得, 但是對於比較複雜的變數例如 structure 那就真的麻煩了,尤其是 structure 裡面又包 structure, 若是學過 C/C++ 的人都知道裡面有個 sizeof(var) 的函數, 但唯獨在 PowerBuilder 裡面就是沒有, 這也讓開發者真的挫折不少,每次都要自己算。 網路上我找了很久,終於找到可以實用的方法。 所以底下實做一個物件 nvo_sizeof (PB10) 來完成這個 PowerBuilder 所缺少的部份: 1.建立使用者物件 nvo_sizeof 2.將 AutoInstantiate 勾選 3.建立 Instance Variables Private: CONSTANT integer SIZE_BOOLEAN  = 1   // Boolean CONSTANT integer SIZE_CHAR  = 1   // Char CONSTANT integer SIZE_INT  = 2   // Signed integer CONSTANT integer SIZE_UINT  = 2   // Unsigned integer CONSTANT integer SIZE_LONG  = 4   // Signed Long CONSTANT integer SIZE_ULONG  = 4   // Unsigned Long CONSTANT integer SIZE_STRING  = 4   // As...