發表文章

目前顯示的是 2010的文章

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 其他的部分都可以依理延伸。

Avatar這個字

前陣子看了電影『阿凡達』,然後沒多就又出了一部電影『降世神通:最後的氣宗』 突然之間,覺得好像有什麼關聯,後來去回顧了一下『降世神通』的卡通,突然發現 AVATAR 這個字 本來阿凡達出來時,對這個單字蠻陌生的,本以為只是一個音譯的結果,但卻看到有兩部片子用了同樣的單字,很好奇。 所以就去上網查了一下,居然GOOGLE大神的翻譯器翻不出來!!(YAHOO翻譯,譯典通都有找到) 後來,查詢綜合各方資訊得到結果是: 此字元本源自於 梵文:अवतार ,在 拉丁文 的寫法就是: AVATAR 意思源自印度哲學中 神靈與人世間肉體之間的關係,也就是神靈經過深思熟慮,具有某種目的而從天界下降到人世的意義,一般也有『下降』、『轉世』的意義存在。一般俗稱『天神降臨』、『天神附體』、『降世神通』、『天神下凡』等等的意思存在。 現今最多的說法是『化身』意思。 當然以英文單字來說也有 incarnation 和 incarnate 兩種,所以很容易搞混,英文字中的incarnate用意比較廣。可以用來罵人如:She is devil incarnate (她是惡魔的化身) 等 而VATAR意思比較限制用於神祇的化身。

自製吹泡泡水

圖片
家中有小孩以後,難免要花上需多錢,尤其是小孩的娛樂... 當然我也不是鐵公雞,但是常常只要出去玩,一到旅遊景點,小孩子總是會望著吹泡泡的小販一直看,起初不以為意,想說滿個泡泡水給小孩玩也不是啥大問題的。 但是每次出門去玩就幾乎會買,久而久之就會驚覺這筆費用還真是不少啊!! 有感於此便到網路上找找有沒有人會用泡泡水的DIY,來自己做看看,也節省一點費用。順便喚起我的童年回憶。 後來找到一些親子網提供的泡泡水配方,很高興的抄起來自己去DIY.... 真的是蠻有挫折感的,因為常是很多方法,結果都不理想,後來在百般嘗試後大概得出了一些心得。所以乾脆自己記錄下來,免得以後需要用到時就忘記配方了。 首先準備主要的配方材料如下圖: 從左起依序:洗碗精、洗髮精、甘油、膠水

Coldfusion 內建變數

Coldfusion 本身系統已經內建好一些特殊用途的變數,而這些變數可以依照各種場合去存取使用,所以就先大概來了解一下這些特殊使用的變數吧。 CGI變數 當瀏覽器發出請求到服務器,Web服務器和瀏覽器創建這個環境變數,包含的資訊有IP位址、瀏覽器類型,驗證用戶名等等。要注意的是這個變數只能用來讀取不能修改。 CGI.SERVER_SOFTWARE : 請求回應的伺服器軟體的名稱與版本。 CGI.SERVER_NAME : 伺服器的主機名稱,DNS別名,IP位址。 CGI.GATEWAY_INTERFACE : CGI修訂版本。 CGI.SERVER_PROTOCOL : 伺服器的協定名稱與修訂版本。 CGI.SERVER_PORT : 伺服器的服務阜號碼。 CGI.SERVER_PORT_SECURE : 伺服器的服務阜號碼加密方式。 CGI.REQUEST_METHOD : 請求服務的方式,如在HTTP就可能是GET、POST、HEAD等等。 CGI.PATH_INFO : 延伸的存取路徑訊息(通常是虛擬路徑)。 CGI.PATH_TRANSLATED : 在虛擬路徑對應後會得到PATH_INFO的轉譯版本訊息。 CGI.SCRIPT_NAME : 虛擬路徑的執行腳本。 CGI.QUERY_STRING : 在URL中?號後面的查詢字串。 CGI.REMOTE_HOST : 請球對象的伺服器名稱。 CGI.REMOTE_ADDR : 請球對象的伺服器IP位址。 CGI.AUTH_TYPE : 如果伺服器支援用戶驗證,且執行受保護的程式碼,這裡必須指明驗證方式。 CGI.AUTH_USER : 如果伺服器支援用戶驗證,且執行受保護的程式碼,這裡必須指明驗證使用者。 CGI.REMOTE_USER : 同上。 CGI.AUTH_PASSWORD : 如果伺服器支援用戶驗證,且執行受保護的程式碼,這裡必須指明驗證密碼。 CGI.CONTENT_TYPE : 附加訊息的資訊格式,像是HTTP的POST或PUT的 x-www-form-urlencoded或multipart等。 CGI.CONTENT_LENGTH : 附加訊息的資訊長度。 CGI.CONTEXT_PATH : 附加訊息要求的執行路徑。 CGI.HTTP_

Coldfusion 系統保留單字

Coldfusion 與一般程式相同都有特定的保留字,由於這些是系統使用的單字,所以在設計Coldfusion文件時請勿使用,以免發生錯誤。 設計表單(FORM)時,底下列舉的單字請勿使用 _integer _float _range _date _time _eurodate _required

HTTP GET and POST basic

HTTP(Hypertext Transfer Protocol)是網路上最普遍的一種訊息交換協定,基本上它就是用來向服務主機發出要求的基本通訊方式,當然網路上也有其他衍生模式,如HTTPS、FTP等等。本篇僅簡述HTTP項服務主機發出的兩種方式,與實際產生的格式。 如果你需要撰寫SERVER端的服務,就必須稍微了解HTTP發出的請求訊息會長什麼樣子。 GET get是屬於比較基礎的請求方式,例如網頁連結 <a href="http://www.site.com/hello.html"></a> 產生的訊息就會如下 GET /hello.html HTTP/1.1 Host: www.site.com User-Agent: Mozilla/4.0 如果是帶有參數的請求,例如利用連結或是表單 <a href="http://www.site.com/login.html?id=john&pwd=9982"></a> <form action="http://www.site.com/login.html" method="GET">   user ID:<input name="id" type="text" /><br />   password:<input name="pwd" type="password" /><br />   <input type="submit" value="login"> </form> 產生的結果就會如下 GET /login.html?id=john&pwd=9982 HTTP/1.1 Host: www.site.com User-Agent: Mozilla/4.0 在 submit 後瀏覽器上面的URL字串就會出現 http://www.site.com/login.html?id=john&pwd=9982 GET雖然好

Powerbuilder夾帶檔案發送郵件的方法

圖片
案例版本:PowerBuilder 6.5 powerbuilder本身有呼叫exchange郵件的能力,所以發送郵件只需要使用內定物件與函數即可達成,但是有許多需要注意的地方,例如附件檔案、郵件內容等等。 先看一下畫面的設計: 收件者欄位是 sle_recipient 主旨是 sle_subject 附加檔案是 lb_1 郵件內容是 mle_notetext

郭采潔 - My'Car 與原曲Mika - Lollipop

最近真的快忙死了 手上2-3個程式專案要做,還得應付處理行銷政策,加上一個跟不上進度的工程師,很多程式都快做不出來啦... 以上僅是牢騷話..... 最近,裕隆不斷的推 my car 這個廣告,本來不太注意的,沒想到我家的女兒有一天突然哼哼的唱起來,我才發現這廣告對女孩子的吸引力很強啊!

報表使用滑鼠滾輪就會發生問題-PowerBuilder6.5

好吧,我承認我是老古董 powerbuilder 6.5的開發工具我還是在使用的..... <<題外話結束>> 如果你設計的報表在遇到滑鼠滾輪滾動時就會出現『Sybase Inc. Product File發生問題,必須關閉,僅此致歉。』的訊息 請注意兩件事: 一、DataWindow中的Detail Band 高度被設為 0。 二、PBVM60.DLL有問題 解決方式: 一、不要故意設計Detail Band高度為0的報表(我知道有時候這樣設計統計表比較方便)。 二、在datawindow視窗物件事件上禁止滑鼠滾輪動作。但如果遇到報表比較長的就很麻煩。 三、更新pbvm60.dll ,如果你要問我哪裡找,我想可能很難吧,畢竟都是骨董級軟體。 目前我還是有保留,需要的人可以留言給我向我索取,不過不確定100%可用於你的PB6版本。 如果想用盡只滑鼠滾輪的方式處理可以參考另外一篇『 如何在datawindow中禁止使用者使用滑鼠滾輪 』。

如何在datawindow中禁止使用者使用滑鼠滾輪

這不算太難,只要懂點MSDN的人大概都能明白吧 Datawindow視窗物件上的兩個事件都可以用,擇一即可 一、寫在 OTHER EVENT CONSTANT integer WM_MOUSEWHEEL = 522 if message.number = WM_MOUSEWHEEL then    message.processed = True    message.returnvalue = 1 end if 二、新增事件ue_syscommand 並繼承pbm_syscommand CONSTANT integer WM_MOUSEWHEEL = 522 if CommandType = WM_MOUSEWHEEL then    message.processed = True    message.returnvalue = 1 end if 用的原理就是利用截取WINDOWS API 的事件訊息,並由PB物件的事件規則去決定返回值,當API收到指定的值,就會發生對應動作。

真假慈悲?

現在的人都很慈悲為懷。 但是卻不是每個人都能了解慈悲的意義。 讓我說個故事吧: 從小,我就跟爺爺奶奶住一起,我們家是傳統的務農人家, 爺爺每天的工作就是耕鋤,早上5點就起床稻田裡去工作, 我們小孩則是6點起床、7點上學、下午4點半回家。

將WEB上傳的檔案轉存到FTP-ColdFusion

一般來說,使用ColdFusion指令讓使用者上傳檔案,並不是什麼大難題,你可以下個指令就可以完成了。 <cffile action="upload" filefield="upfile" destination="C:\InetPub\wwwroot\uploads" > 假如,除了WEB伺服器外你還有FTP伺服器提供給客戶使用不同方式上傳檔案的話,當客戶習慣於不同場合由不同伺服器上傳檔案,這樣你會很難將客戶的檔案統一管理,你必須頻於WEB伺服器與FTP伺服器間處理客戶上傳的檔案,這時如果又有另一部(或多部)WEB伺服器加入戰局,你可以想像要管理分散在各處的客戶上傳檔案,會是相當惱人的了。因此簡單的作法是將客戶上傳的檔案全部導向同一部伺服器上,以減少分散的管理問題。

製造點菜機、發票機、櫃員機的廠商

圖片
這家公司是 普士科技 (拍檔集團) http://www.taiwan-pos.com / 本來年初公司規劃今年更換老式發票機, 因為再不換就會面臨民國100年的問題。 本來想直接買新的發票機, 但是找了找,發現能夠處理民國100年問題的發票機也不便宜 加上需要有統一編號檢查機制的發票機, 選擇性就更少了。

JUMPCN網站漫畫下載程式

圖片
上一篇是抓 kukudm 網站的程式,由於該站常改程式碼且不穩定,所以最後停止更新該站的擷取。後來經網友推薦的網站中,大概看了一下 jumpcn 網站比較沒那麼多的"機關",因此決定以此站為抓取對象,直接修改上一次的程式" kukucatch "以便節省開發時間。 下載位置: 按這裡 軟體版本:2.2.1.5 檔案大小:5MB(RAR壓縮) 解壓密碼:無 需要安裝:免安裝 *************************************************************************************************** *2011-08-30*另外網友 Wolfar 提供了他開發的版本,可以到下面網址 http://jumptocatch.blogspot.com/ 他的版本目前有持續更新,建議各位網友可以去看看 ***************************************************************************************************