發表文章

Using cookie in CFML

若是 Coldfusion 需要設定 Cookie 的變數,基本的用法如下: <cfcookie name="myid" value="a0001" expires="30"> name是key名稱 value是它的值 expires是它的存活期,可以是天數(如範例)、某一日期/時間、now(立即過期)、never(約30年) <cfcookie name="myid" expires="now"> <cfcookie name="myid" expires="12/20/2010"> 進階用法 domain=".mydomain2.com" 這是讓cookie指定給其他網域主機可以使用,一般cookie預設位置在你執行頁面的domain下。 path="/serverlet/login" 可以強制指定可用的網頁位置,一般的cookie是在該domain的root下所有子位置都可以使用,指定以後就只能在該位置下的頁面使用。 httponly 這個屬性是指定這個cookie只能由browser進行http傳送,不可以被其他script(如JavaScript)讀取,若要設定這個屬性必須要再設定其他的頁面屬性,可以參考  http://www.petefreitag.com/item/764.cfm 若要取得cookie設定的變數可以如下: #cookie.myid# 當然,最好取得cookie中自訂變數以前要檢查一下以免發生錯誤: <cfif StructKeyExists(cookie , "myid")>     <cfoutput>#cookie.myid#</cfoutput> </cfif>

let's play sound with powerbuilder

最近在用PB10做一些觸控裝置的UI(使用者介面,User Interface),雖然是觸控,不過使用起來的UE(user experience)跟 iPhone、iPad實在也差很多,無怪乎用過 iPhone之類的觸控裝至以後對於PC的各類觸控總覺得就是不喜歡。 題外話結束。 在設計這類的句有觸控介面的程式時除了UI要非常易懂、直覺以外,其他的輔助可能就需要那麼一點了。在設計這個CASE的UI時,尤其是數字鍵盤,如若加個語音提示或是導航,也許會減少許多輸入錯誤的機會。 目前PB10尚未支援 .NET ,所以依然使用API設計。 使用方式不困難,因為Windows就有內建一些標準函式可以用了 首先,定義函式呼叫 Function Long auxGetNumDevs() Library "Winmm.dll" Function Long auxSetVolume (Long uDeviceID , Long dwVolume) Library "Winmm.dll" alias for "auxSetVolume" Function Boolean sndPlaySound(ref String lpszSound , Long fuSound ) Library "Winmm.dll" alias for "sndPlaySoundW" 然後幾個基本常數 Constant Long SND_SYNC = 0 Constant Long SND_ASYNC = 1 Constant Long SND_NODEFAULT = 2 Constant Long SND_LOOP = 8 Constant Long SND_NOSTOP = 16 再來就是呼叫方式了,大部分常用的呼叫方式有兩種:同步 或 非同步(Synchronous / Asynchronous) 同步方式:採用同步方式的話,程序本身必須等待聲音檔撥完才能繼續執行。 ls_wav = "c:\piano.wav" sndPlaySound(ls_wav , SND_SYNC) 非同步方式:當聲音檔案播放時,

天外之音 - Cecile Corbel

圖片
Cecile Corbel被譽為是法國頂級吟唱女音歌手,原本有聽過其名,但是未曾有去特別聽過她的歌在一次偶然的機會下,得知宮崎駿2010年新作《借りぐらしのアリエッティ ノ》請她來配樂,在看過預告之後,發現風格還蠻搭的。 感覺非常的舒服,跟之前宮崎峻的搭配別有另一種味道,只是不知是不是宮崎峻是不是想要刷洗之前幾部票房毒藥的名聲,個人我倒是蠻期待這部 《借りぐらしのアリエッティ ノ》的。

將Datawindow資料存出成EDI檔案

PowerBuilder 的 DataWindow 本身可以將資料存成許多種格式,但偏偏就是缺了一種格式--EDI (Eletronic Data Interchange)-- 這種格式在台灣是早期非常普遍的格式,詳見 維基百科 、 經建會-解釋「通關作業XML電子資料交換格式」與EDI格式 ,主要多是公家機關使用,舉凡報稅、金融皆是使用此一格,久而久之就變成了早期台灣電腦最普遍的資料交換檔案格式。 這個格式的特色是每個欄位呈現在文字檔案中都有指定的長度(位元數),各欄位資料之間無分隔符號。所以每個ROW DATA呈現成一串字串,每個ROW字串的長度完全一樣。當然,這種格式的優缺點並非這篇的重點,所以這裡就不討論。 例如: 假設 CSV 格式的資料如下 黃小明,1978/3/2,台中市中山路120號,0922-222-113,15 李大海,1970/12/14台北市忠孝東路三段41號8樓-5,02-12345678,23 而轉成 EDI 格式就可能如此 黃小明19780302台中市中山路120號 0922-222-113 SIMON 15 李大海19701214台北市忠孝東路三段41號8樓-5 02-12345678 DAVID CHAU 23

替ETC車機OBU DIY一個車用電源

圖片
使用ETC已經有一段時間了,差不多在遠通當初推出時沒多久就申請, 只是當初在申請後看到OBU的設計,著實讓我感覺不太好, 主要原因有兩個,一個是紅外線收發裝置的設計(這部分我就不講了,網路上很多人在抱怨), 第二個就是使用電池當電源,這讓我很納悶,為什麼用電池? 為什麼不用車電源? 或是讓使用者可以選擇? 另一個最奇怪的問題就是,遠通電收還提醒我不可以用『金頂電池』,建議使用『勁量電池』 這就怪了,為什麼? 因為...金頂電池電流太高,會把OBU燒壞。 噗!!!!!! 我差點沒把剛吃過的飯噴出來... 詢問之下得到的答案真是哭笑不得,雖然我看回答我的人也只是照著公司發的公告來唸, 但是這個答案也太離譜了吧,學電子的人大多都可以感覺到這答案太過敷衍。 如果金鼎電池電流太高(注意喔,他並不是說電壓)會把OBU燒掉, 那告誡一下遠通電收,你們RD部門真的是可以『呷賽』去啦。 金頂電池也算是屬一屬二的電池廠牌了, RD在開發OBU的時候連個簡單的電源相容測試都沒做好, 何況電池並非『定電流』的電源供應來源, 我看負責這專案的人會考慮用紅外線,而不使用RFID真的是『頭殼壞壞去』(啊,又扯到技術這裡)。

引用:Tree's Blog: Blogger code block

來源: Tree's Blog: Blogger code block 由於部落格主要是貼程式碼的地方,因此會需要使用到CODE標籤 可是常常改版面的結果,就是CODE的CSS描述會需要重貼,這就挺麻煩的 所以,引用了 TREE 的這篇文章,每次更改版面時就要記得貼回這段程式碼。 (貼入位置在 /* posts 區段) code, .code { display: block; /* fixes a strange ie margin bug */ font-family: Courier New; font-size: 8pt; overflow:auto; background: #f0f0f0 url(http://klcintw.images.googlepages.com/Code_BG.gif) left top repeat-y; border: 1px solid #ccc; padding: 10px 10px 10px 21px; max-height:200px; line-height: 1.2em; }

使用Powerbuilder在EXCEL欄位插入圖片

這是由 calvin 提供的 主要是想把圖片插入EXCEL裡面 可以參考下列片段: string ls_filename1,ls_path1,ls_range //要插入的圖 ls_pic = "c:\sign.bmp" OleObject Loo_Excel Loo_Excel=create oleobject if Loo_Excel.ConnectToNewObject("Excel.Application") <> 0 then messagebox('提示','系統未安裝Excel,無法運行此操作!')   return end if Loo_Excel.Workbooks.Open(ls_filename) //選好要插入的儲存格 Loo_Excel.Application.Range( "M22").Select Loo_Excel.Application.ActiveSheet.Pictures.Insert(ls_pic).Select Loo_Excel.application.ActiveWorkbook.Save() Loo_Excel.Application.ScreenUpdating = True Loo_Excel.Application.workbooks.close() Loo_Excel.DisconnectObject() destroy Loo_Excel 其他的部分都可以依理延伸。