發表文章

SQL [Sybase] 於輸出數值前方補上0

參考來自 這篇文章 ,只是 Sybase SQL 的指令不如 Microsoft 來得多,所以改寫成自己要的方式。 很多時候,公家機關特別喜歡的EDI格式都是固定長度的欄位資料,尤其是數字前面要補零的。 在 SQL 語法上就沒那麼便利像 Powerbuilder 的 String 指令,可以直接給一個 Format, 因此就需要一點變通了, 先來看一看舊式寫法好了,這是使用長度計算後的捕入方式: DECLARE @Number INT ,@Digits INT ,@Result CHAR(8) SELECT @Number  = 123 SELECT @Digits = 8 SELECT replicate('0',@Digits - char_length(Convert(varchar , @Number)))+Convert(varchar , @Number) Convert(varchar , @Number) 將該數值先轉換成字串值,使用 varchar 可以得到與數值相同字元長度的字串。

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&q

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 lpWSAData ) library "wsock32.dll" alias for "WSAStartup;ANSI" //Clean up sockets. FUNCTION Integer WSACleanup() library "wsock32.dll" alias for "WSACleanup;ANSI" //C