tag:blogger.com,1999:blog-40492674390224770812024-03-14T17:29:35.154+08:00生活隨身記就是一個大小瑣事想寫就寫的網誌Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.comBlogger68125tag:blogger.com,1999:blog-4049267439022477081.post-75117962431609324652011-11-29T09:52:00.002+08:002011-11-29T09:57:11.515+08:00人生再進一步了今年的11月12日<div>是一個特別的日子</div><div>一群親朋好友共同秘密籌備了一場神秘活動</div><div>就是我的"求婚大作戰"~</div><div>當天很溫馨,很感動,很開心,也很有意義!!</div><div>太多感謝已無法用言語表達</div><div>我愛大家,在這裡再次表達感恩的心~</div><div><br /></div>Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-8436024226417183192011-06-14T09:14:00.022+08:002011-06-16T18:43:33.999+08:00系統重灌後的各軟體安裝清單<div><div>辦公室的桌機在上週又起死回生,</div><div>重新安裝系統後,感覺像換了台新電腦,</div><div>但許多的軟體,驅動程式又得再來一次,</div><div>so...紀錄一下吧!!</div></div><div><br /></div><div><a href="http://db.tt/GAbPCBu">http://db.tt/GAbPCBu</a></div><div><br /></div>Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-77079358391877788552011-06-08T09:09:00.006+08:002011-06-08T09:42:47.629+08:00Note-我的口袋行程端午佳節剛過完,就接連著放公司的旅遊假,<div>閒閒在家整理一下搬到桃園後,</div><div>只要有親朋好友上來北部,我的口袋行程^^</div><div><br /></div><div><span class="Apple-style-span">Path 1. 慈溪石門賞湖趣 -- </span></div><div>先到慈湖跟蔣公致敬,再到石門水庫吃豆干,</div><div> 接著回到大溪老街走走,下午可到大溪湖畔喝咖啡發呆</div><div><br /></div><div><span class="Apple-style-span">Path 2. 三鶯陶瓷知性旅 -- </span></div><div>逛鶯歌陶瓷博物館及老街小吃,三峽金牛角麵包拜拜清水祖師爺</div><div> </div><div><br /></div><div><span class="Apple-style-span">Path 3. 綠道永安看飛機 -- </span></div><div>先到綠色隧道騎腳踏車,再到永安觀光漁港大啖海鮮,</div><div> 最後可沿著濱海公路前往大園奇蹟咖飛廠,賞機喝咖啡</div><div><br /></div><div><span class="Apple-style-span">Path 4. 菁桐十分老街行 -- </span></div><div>菁桐老街拍照,十分或平溪老街走火車道與放天燈,</div><div> 可到十分瀑布消暑</div><div><br /></div><div>希望在未來的日子裡,能持續追加更多的Path,</div><div>親朋好友們,來玩呦~~</div><div><br /></div><div><br /></div><div><br /></div>Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-36830111792794579012011-05-30T17:31:00.004+08:002011-05-30T17:36:36.094+08:00Video Demo for Create Signal by Painting in GSP<div style="text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dzMN9nagrRxmE-o7BLV4uwDK-Bs_gYdTNFcMsMfpy7d2CtxBROBi2LM_nuELg__wBOPiGb-0x9240Jh02pVeQ' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div><div style="text-align: center;"><br /></div><div style="text-align: center;">使用者自行繪製訊號</div>Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-73864981296901079302011-05-30T11:21:00.005+08:002011-05-30T11:40:41.771+08:00"讚"---GSP開放下載(Version:2011.05.27.1)<a href="http://4.bp.blogspot.com/-YPv0cCGZYdk/TeMRenZAgkI/AAAAAAAAANw/bkhvMrGmfTI/s1600/about.bmp" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 237px;" src="http://4.bp.blogspot.com/-YPv0cCGZYdk/TeMRenZAgkI/AAAAAAAAANw/bkhvMrGmfTI/s320/about.bmp" border="0" alt="" id="BLOGGER_PHOTO_ID_5612348778301391426" /></a><br />來喔~<div>不管是工作上,研究上,教育上...</div><div>會用到各種訊號處理的捧油,</div><div>您都可以下載回去玩玩看,</div><div>若有時間的話,也別忘了給小弟一些建議,</div><div>讓這個小工具更完整,更好用!!</div><div><br /></div><div>獻醜連結(Version:2011.05.27.1)<br /><div><a href="http://db.tt/RJF5Jqr">http://db.tt/RJF5Jqr</a></div></div><div><br /></div><div><feature></feature></div><div>01. 類似Mil Inspector的操作邏輯</div><div>02. 時/頻域各種訊號處理與分析(濾波/放大/縮小/相加減/FFT/小波)</div><div>03. 各種基本統計功能(最大值/最小值/平均值/標準差/越零率/質心位置)</div><div>04. 訊號儲存/載入功能</div><div>05. 支援拖曳式(Drag-Drop)功能,能單筆/多筆將您要分析的訊號載入至軟體中</div><div>06. 兩種樣板比對功能(Correlation/RootMeanSquare)</div><div>07. 弦波產生器/筆畫訊號產生器(可用滑鼠畫出想模擬的訊號)</div><div>08. 各種函式運算計時</div><div>09. 一維區塊分析(1D blob)</div><div>10. 可Undo/Redo(100-steps)</div><div><br /></div>Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-38804960470164038392011-05-30T10:34:00.010+08:002011-05-30T11:20:42.895+08:00GSP功能新增-Create Sine Wave<a href="http://2.bp.blogspot.com/-sSdN_v7pOsQ/TeMDUZ_7ZaI/AAAAAAAAANo/tDx1oVtgY48/s1600/createSine.bmp" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><br /><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 236px;" src="http://2.bp.blogspot.com/-sSdN_v7pOsQ/TeMDUZ_7ZaI/AAAAAAAAANo/tDx1oVtgY48/s320/createSine.bmp" border="0" alt="" id="BLOGGER_PHOTO_ID_5612333209745057186" /></a><div style="text-align: center;"> 圖1. Create a SineWave</div><div><br /></div><div> Sine Wave(正弦波)是一種週期性訊號,在訊號處理中也常被用來當作輸入的測試訊號/雜訊成分/機械振動模擬以及其它的應用。GSP加入了這一個訊號創建功能,讓使用者能依據各種屬性來建立SineWave。</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space:pre"> </span>TimeLength: 時間長度(sec)</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space:pre"> </span>SamplingFreq: 取樣頻率(Hz)</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space:pre"> </span>DataLength: 資料長度(點數)</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space:pre"> </span>SignalFreq: 訊號頻率(Hz)</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space:pre"> </span>Amplitude: 振幅大小</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space:pre"> </span>AmplitudeOffset: 直流準位</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space:pre"> </span>Phase: 相位(degree)</div>Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-14383160361274591992010-12-27T13:39:00.004+08:002010-12-27T13:45:02.702+08:00My first QR-Code testing<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.calm9.com/attach/qrcode/2010-12/Y0TGWPTATE.png"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 185px; height: 185px;" src="http://www.calm9.com/attach/qrcode/2010-12/Y0TGWPTATE.png" alt="" border="0" /></a><br /><a href="http://www.calm9.com/attach/qrcode/2010-12/Y0TGWPTATE.png"></a>這是使用QR Code產生器做的QR-Code<br />只要拿起能辨識QR-Code的行動裝置,對著此QR-Code拍一下,<br />就能轉成(解碼)對應的文字囉!<br /><br />QR-Code產生器網址: <a href="http://www.calm9.com/labs/qrcode"> http://www.calm9.com/labs/qrcode</a>Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-62206499954574022562010-11-18T11:10:00.007+08:002010-11-18T11:52:52.273+08:00多按鈕共用相同Click事件<span style="font-weight: bold; color: rgb(255, 255, 0);">小功能成就大系統...</span><br /><br />介面設計最常使用的元件就是按鈕,<br />在BCB底下有多種不同功用的按鈕,Button, BitBtn, SpeedButton...等。<br /><br />我們常常要撰寫當按下某個按鈕執行某個事件的功能,<br />BCB能方便地在設計者雙擊按鈕後,產生一個Click事件,<br />以便於撰寫對應的功能。<br /><br />一個按鈕對應一個Click事件是很合理且直覺的作法,<br />若今天有10個按鈕則會有10個Click事件(廢話....),<br />但如果這10個Click事件底下所執行的動作很簡短,<br />並且有一定的相關性的時,如<span style="color: rgb(255, 0, 0);">"計算機按下數字按鈕顯示於螢幕上"</span>,<br />則可以選擇更Smart且簡化程式的方式,如下說明:<br /><img src="file:///C:/DOCUME%7E1/ANDY%7E1.LIU/LOCALS%7E1/Temp/moz-screenshot.png" alt="" /><br />1. 於Form上建立5個Button及1個Edit,如下圖所示<br /><br /><a href="http://4.bp.blogspot.com/_I2mwoOGe1AM/TOSdgzfW3WI/AAAAAAAAAKY/xWYI7G9eJ6k/s1600/MultiBtn.JPG"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 199px; height: 118px;" src="http://4.bp.blogspot.com/_I2mwoOGe1AM/TOSdgzfW3WI/AAAAAAAAAKY/xWYI7G9eJ6k/s320/MultiBtn.JPG" alt="" id="BLOGGER_PHOTO_ID_5540726628475657570" border="0" /></a><br />2. 分別為5個Button的Tag屬性設立從1到5<br />3. 雙擊btn1,在事件中寫入底下程式<br /><div class="cpp"><ol><li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"><span style="color: rgb(0, 0, 255);">void</span> __fastcall TFormMain::<span style="color: rgb(0, 238, 255);">btn1Click</span><span style="color: rgb(0, 0, 0);">(</span>TObject *Sender<span style="color: rgb(0, 0, 0);">)</span></div></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"><span style="color: rgb(0, 0, 0);">{</span></div></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"> TSpeedButton *tempBtn;</div></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"> tempBtn = <span style="color: rgb(0, 0, 0);">(</span>TSpeedButton *<span style="color: rgb(0, 0, 0);">)</span>Sender;</div></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"> <span style="color: rgb(0, 0, 255);">switch</span><span style="color: rgb(0, 0, 0);">(</span>tempBtn->Tag<span style="color: rgb(0, 0, 0);">)</span></div></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"> <span style="color: rgb(0, 0, 0);">{</span></div></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"> <span style="color: rgb(0, 0, 255);">case</span> <span style="color: rgb(0, 0, 221);">1</span>:</div></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"> <span style="color: rgb(255, 0, 0);">// Tag 1 action</span></div></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"> edt_show->Text = tempBtn->Caption;</div></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"> <span style="color: rgb(0, 0, 255);">break</span>;</div></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"> </div><br /></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"> <span style="color: rgb(0, 0, 255);">case</span> <span style="color: rgb(0, 0, 221);">2</span>:</div></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"> <span style="color: rgb(255, 0, 0);">// Tag 2 action</span></div></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"> edt_show->Text = tempBtn->Caption;</div></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"> <span style="color: rgb(0, 0, 255);">break</span>;</div></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"> </div><br /></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"> <span style="color: rgb(0, 0, 255);">case</span> <span style="color: rgb(0, 0, 221);">3</span>:</div></li> <li style="font-weight: normal; font-style: normal;font-family:'Courier New',Courier,monospace;color:black;"><div style="font-weight: normal;font-family:'Courier New',Courier,monospace;"> <span style="color: rgb(255, 0, 0);">// Tag 3 action</span></div></li> <li face="'Courier New',Courier,monospace" color="black" style="font-weight: normal; font-style: normal;"><div face="'Courier New',Courier,monospace" style="font-weight: normal;"> edt_show->Text = tempBtn->Caption;</div></li> <li style="font-weight: normal; font-style: normal; font-family: 'Courier New',Courier,monospace; color: black;"><div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"> <span style="color: rgb(0, 0, 255);">break</span>;</div></li> <li style="font-weight: normal; font-style: normal; font-family: 'Courier New',Courier,monospace; color: black;"><div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"> </div><br /></li> <li style="font-weight: normal; font-style: normal; font-family: 'Courier New',Courier,monospace; color: black;"><div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"> <span style="color: rgb(0, 0, 255);">case</span> <span style="color: rgb(0, 0, 221);">4</span>:</div></li> <li style="font-weight: normal; font-style: normal; font-family: 'Courier New',Courier,monospace; color: black;"><div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"> <span style="color: rgb(255, 0, 0);">// Tag 4 action</span></div></li> <li style="font-weight: normal; font-style: normal; font-family: 'Courier New',Courier,monospace; color: black;"><div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"> edt_show->Text = tempBtn->Caption;</div></li> <li style="font-weight: normal; font-style: normal; font-family: 'Courier New',Courier,monospace; color: black;"><div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"> <span style="color: rgb(0, 0, 255);">break</span>;</div></li> <li style="font-weight: normal; font-style: normal; font-family: 'Courier New',Courier,monospace; color: black;"><div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"> </div><br /></li> <li style="font-weight: normal; font-style: normal; font-family: 'Courier New',Courier,monospace; color: black;"><div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"> <span style="color: rgb(0, 0, 255);">case</span> <span style="color: rgb(0, 0, 221);">5</span>:</div></li> <li style="font-weight: normal; font-style: normal; font-family: 'Courier New',Courier,monospace; color: black;"><div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"> <span style="color: rgb(255, 0, 0);">// Tag 5 action</span></div></li> <li face="'Courier New',Courier,monospace" color="black" style="font-weight: normal; font-style: normal;"><div face="'Courier New',Courier,monospace" style="font-weight: normal;"> edt_show->Text = tempBtn->Caption;</div></li> <li face="'Courier New',Courier,monospace" color="black" style="font-weight: normal; font-style: normal;"><div face="'Courier New',Courier,monospace" style="font-weight: normal;"> <span style="color: rgb(0, 0, 255);">break</span>;</div></li> <li face="'Courier New',Courier,monospace" color="black" style="font-weight: normal; font-style: normal;"><div face="'Courier New',Courier,monospace" style="font-weight: normal;"> </div><br /></li> <li face="'Courier New',Courier,monospace" color="black" style="font-weight: normal; font-style: normal;"><div face="'Courier New',Courier,monospace" style="font-weight: normal;"> <span style="color: rgb(0, 0, 255);">default</span>:</div></li> <li face="'Courier New',Courier,monospace" color="black" style="font-weight: normal; font-style: normal;"><div face="'Courier New',Courier,monospace" style="font-weight: normal;"> <span style="color: rgb(0, 0, 255);">break</span>;</div></li> <li face="'Courier New',Courier,monospace" color="black" style="font-weight: normal; font-style: normal;"><div face="'Courier New',Courier,monospace" style="font-weight: normal;"> <span style="color: rgb(0, 0, 0);">}</span></div></li> <li face="'Courier New',Courier,monospace" color="black" style="font-weight: normal; font-style: normal;"><div face="'Courier New',Courier,monospace" style="font-weight: normal;"><span style="color: rgb(0, 0, 0);">}</span></div></li></ol>4. 最後把剩餘的Btn Click事件全部指到<span style="color: rgb(0, 238, 255);">btn1Click<br /><span style="color: rgb(51, 51, 51);">5. 完成,下班!!</span><br /></span></div>Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-64462955527367690072010-11-05T11:46:00.005+08:002010-11-05T18:49:30.827+08:00成功運行Android模擬器<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_I2mwoOGe1AM/TNPgqGwuwqI/AAAAAAAAAKM/OA10RDujiSs/s1600/Tool.JPG"></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_I2mwoOGe1AM/TNPglEulHJI/AAAAAAAAAKE/VSENQA_ojLs/s1600/Home.JPG"></a>就在今天,就在今天....<br /><br />依照著網路資訊:<br />http://nelsonchunglife.blogspot.com/2010/06/install-android-22.html(詳盡教學)<br />http://bbs.hiapk.com/thread-504737-1-1.html(SDK更新-元件下載)<br />http://www.docin.com/p-56500569.html(SDK更新-手動更新步驟)<br />總算在我的電腦上,讓Android模擬器順利跑了起來(這可不是網路上的圖喔~)<br /><br /><div style="text-align: center;"><a href="http://3.bp.blogspot.com/_I2mwoOGe1AM/TNPdxatM2yI/AAAAAAAAAJ0/61z1dDNR8-4/s1600/HelloWord.JPG"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 227px;" src="http://3.bp.blogspot.com/_I2mwoOGe1AM/TNPdxatM2yI/AAAAAAAAAJ0/61z1dDNR8-4/s320/HelloWord.JPG" alt="" id="BLOGGER_PHOTO_ID_5536012208020708130" border="0" /></a> 圖1. 預設的HelloWorld程式在模擬器上執行<br /></div><br /><div style="text-align: center;"><a href="http://3.bp.blogspot.com/_I2mwoOGe1AM/TNPglEulHJI/AAAAAAAAAKE/VSENQA_ojLs/s1600/Home.JPG"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 227px;" src="http://3.bp.blogspot.com/_I2mwoOGe1AM/TNPglEulHJI/AAAAAAAAAKE/VSENQA_ojLs/s320/Home.JPG" alt="" id="BLOGGER_PHOTO_ID_5536015294497365138" border="0" /></a> 圖2. 進入畫面<br /></div><br /><div style="text-align: center;"><a href="http://4.bp.blogspot.com/_I2mwoOGe1AM/TNPgqGwuwqI/AAAAAAAAAKM/OA10RDujiSs/s1600/Tool.JPG"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 227px;" src="http://4.bp.blogspot.com/_I2mwoOGe1AM/TNPgqGwuwqI/AAAAAAAAAKM/OA10RDujiSs/s320/Tool.JPG" alt="" id="BLOGGER_PHOTO_ID_5536015380942602914" border="0" /></a> 圖3. 基本工具軟體<br /></div><br /><br /><span style="color: rgb(255, 255, 0);">開始了我Android的路....</span>Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com3tag:blogger.com,1999:blog-4049267439022477081.post-18835706116203704872010-11-05T10:59:00.007+08:002010-11-05T11:34:09.509+08:00工作2週年紀念日今天雖然不是工作2週年紀念日.....(10/13才是XD)<br />但難得週五就來好好整理整理!<br /><br />從年初開始,整個景氣似乎一飛沖天似的,<br />台灣及大陸訂單大量湧入,<br />尤其是大陸更是可怕,<br />訂單海一波未停一波又起,目前就在<br />接單發料->出廠前調機->大陸出差交機->回訪客服的循環中生活,<br />新產品的研發進度大幅落後,舊產品仍要繼續維持及改善...(有時候會厭滴...)<br /><br />今年也體驗了到大陸出差的感受,由於是到客戶端交機,<br />所以從找當地飯店,交通接駁,行程規劃,<br />交機驗證通通自己來(休閒娛樂也要的啦!)<br />和User驗證時是最累的過程,但其他時候就是自己的時間啦!!<br /><br />經過幾次的出差經驗,有以下幾點心得,<br /><span style="color: rgb(255, 102, 102);">1. 產品功能和客戶需求的落差</span><br /><span style="color: rgb(255, 102, 102);"> 談產品規格和報價都是買賣雙方的頭兒,他們不會Care到產品功能細節<br />和現場人員使用的</span><span style="color: rgb(255, 102, 102);">方式及需求,所以中間的落差常需要花很多時間溝通, 協調, 說服...</span><br /><span style="color: rgb(255, 255, 0);">2. 出差好比作戰,一人戰好累,多人戰還能分擔(常會有數個操作員抓著你問東問西)</span><br /><span style="color: rgb(255, 102, 102);">3. 碰到好的接洽窗口帶你上天堂,不好的窗口帶你下地獄(使用者是否能自行解決問題的能力!?)</span><br /><span style="color: rgb(255, 255, 0);">4. 人際關係和喇賽功夫全派上用場,可以避免到一些尷尬(機器是人設計的,有bug很正常滴!?)</span><br /><span style="color: rgb(255, 102, 102);">5. 要有鐵胃, 厚臉皮, 超人體力和200%挫折容忍力(上班時數比台灣短...但一分一秒都要集中精神)</span><br /><span style="color: rgb(255, 255, 0);">6. 36計走為上策(適時地告知User,還要其他行程要跑,所以請盡量配合調機時間和初步驗證)</span><br /><span style="color: rgb(255, 102, 102);">7. 陸續增加中....</span><br /><br />希望明年能更順利,新產品趕緊問世!Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-81719507234459510252010-11-04T19:27:00.012+08:002010-11-04T22:56:19.614+08:00GSP-功能新增(2010/11)1. 基本統計數據及特徵標示<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_I2mwoOGe1AM/TNKc8OtNS2I/AAAAAAAAAJU/UXp6M_RLHDs/s1600/%E7%B5%B1%E8%A8%88%E5%8A%9F%E8%83%BD.JPG"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 245px;" src="http://2.bp.blogspot.com/_I2mwoOGe1AM/TNKc8OtNS2I/AAAAAAAAAJU/UXp6M_RLHDs/s320/%E7%B5%B1%E8%A8%88%E5%8A%9F%E8%83%BD.JPG" alt="" id="BLOGGER_PHOTO_ID_5535659450545556322" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />-----------------------------------------------------<br />2. 多種Thresholding功能<br /><br /><a href="http://4.bp.blogspot.com/_I2mwoOGe1AM/TNKdR-WcsXI/AAAAAAAAAJc/Q76eXvHptHU/s1600/thresholding.JPG"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 304px;" src="http://4.bp.blogspot.com/_I2mwoOGe1AM/TNKdR-WcsXI/AAAAAAAAAJc/Q76eXvHptHU/s320/thresholding.JPG" alt="" id="BLOGGER_PHOTO_ID_5535659824112251250" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />-----------------------------------------------------<br />3. Harr小波轉換<br /><br /><a href="http://2.bp.blogspot.com/_I2mwoOGe1AM/TNKdfGjNOLI/AAAAAAAAAJk/ydtzLRQea4Q/s1600/harr.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 210px;" src="http://2.bp.blogspot.com/_I2mwoOGe1AM/TNKdfGjNOLI/AAAAAAAAAJk/ydtzLRQea4Q/s320/harr.jpg" alt="" id="BLOGGER_PHOTO_ID_5535660049651546290" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />-----------------------------------------------------<br /><br />4. Gaussion filter(包含產生濾波器係數及執行濾坡功能)<br /><br /><a href="http://3.bp.blogspot.com/_I2mwoOGe1AM/TNKeHP6-pKI/AAAAAAAAAJs/ZSSwgn81tME/s1600/gsf.JPG"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 291px;" src="http://3.bp.blogspot.com/_I2mwoOGe1AM/TNKeHP6-pKI/AAAAAAAAAJs/ZSSwgn81tME/s320/gsf.JPG" alt="" id="BLOGGER_PHOTO_ID_5535660739361940642" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />-----------------------------------------------------<br /><br />5. 濾波器係數新增及載入功能(通用的Convolution)Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-46336796179217993342010-06-29T21:28:00.003+08:002010-06-29T21:38:03.720+08:00出差大陸各站地圖紀錄<a href="http://3.bp.blogspot.com/_I2mwoOGe1AM/TCn1OmNN87I/AAAAAAAAAIY/bJAI5CWaCag/s1600/%E5%87%BA%E5%B7%AE%E5%9C%B0%E5%9C%96%E7%B4%80%E9%8C%84.png"><img id="BLOGGER_PHOTO_ID_5488187252050621362" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 248px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_I2mwoOGe1AM/TCn1OmNN87I/AAAAAAAAAIY/bJAI5CWaCag/s400/%E5%87%BA%E5%B7%AE%E5%9C%B0%E5%9C%96%E7%B4%80%E9%8C%84.png" border="0" /></a><br />第一次出差大陸,目前跑了幾個地方,把下榻的飯店紀錄一下(中途還有換幾個,就省略吧!)<br /><strong>第一站,莫泰168。</strong><br /><strong>第二站,國際大酒店。<br />第三站,揚中賓館。</strong>Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-35506532052973445012010-04-30T10:11:00.005+08:002010-04-30T10:20:53.143+08:00C++ Builder建立/使用 Lib筆記今天來整理一下,如何在C++ Builder中建立及使用libary(靜態聯結函式庫)的筆記吧!<br /><br /><span style="font-weight: bold; color: rgb(0, 0, 153);">Q. 如何將已有的 .cpp及 .h製成 .lib? </span><br />1. 開啟C++ Builder<br />2. File/New/Other 選擇Libray 按OK<br />3. 此時會自動產生一個 Project1.bpf檔<br />4. 接著將要被打包的 .cpp透過 Add File to project加入到專案中 ( .h不用)<br />5. 將此專案儲存起來 (可依照功能/目的來命名,不一定要和 .cpp/.h同名)<br />6. Build此專案<br />7. 完成後,在目錄下會產生一個和專案同名的 .lib檔<br />8. 未來可將 .lib及 .h檔發佈出去<br /><br /><span style="color: rgb(0, 0, 153); font-weight: bold;">Q. 在C++ Builder開發環境下,如何使用 .lib及 .h檔?</span><br />1. 在拿到 .lib及 .h檔後,將這兩個檔案放到專案執行的目錄下或者,<br /> .lib可放在Windows能搜尋到的目錄下即可,但 .h 一定要放在專案執行的目錄下<br />2. 透過Add File to project將 .lib加入到專案中 ( .h不用)<br />3. 在程式開頭處加入 #include "xxx.h"<br />4. 完成Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-479970370357601212010-04-29T15:23:00.003+08:002010-04-29T16:59:08.157+08:00GSP-ICON設計一個"好"的軟體應具備下列幾項優點<br /><ol><li>友善的使用者操作介面</li><li>優秀的計算效能</li></ol>再來就是商品化啦!!在將產品商品化的過程中,<br />其中我覺得ICON設計是相當重要的一個環節,<br />它可以讓使用者一眼就認出這是什麼公司的產品,<br />進而聯想到其他的相關細節。<br />底下的截圖是我為GSP設計的icon,不是很專業,再慢慢修囉~<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_I2mwoOGe1AM/S9k3Bd2xZtI/AAAAAAAAAIM/KLIeBxKrp9M/s1600/GSP_icon_select.JPG"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 246px; height: 63px;" src="http://2.bp.blogspot.com/_I2mwoOGe1AM/S9k3Bd2xZtI/AAAAAAAAAIM/KLIeBxKrp9M/s400/GSP_icon_select.JPG" alt="" id="BLOGGER_PHOTO_ID_5465460121124562642" border="0" /></a>Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-62307600429789865902010-04-28T10:03:00.003+08:002010-04-28T10:12:29.670+08:00GSP-新增功能Gerneral Signal Process 新增功能:<br /><br />1. X/Y軸訊號反轉<br />2. Offset<br />3. Amplify<br />4. Undo/Redo(可記錄100個操作)<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_I2mwoOGe1AM/S9eZIqyeC9I/AAAAAAAAAIE/ZCkN5vGiiGk/s1600/GSP_undoredo.JPG"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 284px;" src="http://2.bp.blogspot.com/_I2mwoOGe1AM/S9eZIqyeC9I/AAAAAAAAAIE/ZCkN5vGiiGk/s400/GSP_undoredo.JPG" alt="" id="BLOGGER_PHOTO_ID_5465005047041362898" border="0" /></a>Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-31446425070525341682010-02-14T17:38:00.003+08:002010-02-14T17:48:50.820+08:00虎你旺~~虎年旺旺旺!!一段時間沒來update囉~~<br />這兩三個月真是有累到 , 總算有個年假能好好休息一下.<br />但今年的過年經驗真是永生難忘喔....<br /><br />小年夜在客戶那邊調機 , 搞到凌晨三點 , 除夕早上還殺過去final tune ,<br />新版系統正式上線 , 希望能順順利利過好年 , 加油!!Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-11932422784296139592009-10-16T08:47:00.003+08:002009-10-16T09:17:55.796+08:00My Scope有通用訊號處理工具,當然也是要有"擷取訊號的工具"阿~~<br /><br />我使用研華的USB-4761多功能資料擷取模組,<br />及它所提供的SDK開發了一套"示波器軟體",<br />目前就只有訊號顯示的功能,持續開發中....<br />先來看一下實際的擷取/顯示狀況!<br /><br /><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dwSdtFkfwf83iEI57G9pK2CUPku8DE4bZmKFXmwH8v5kpW7wrLwmS76trtHj5TjNxADjBZ2zqPYs2t4yBDb6A' class='b-hbp-video b-uploaded' frameborder='0'></iframe>Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-21342699737615591822009-10-13T16:23:00.004+08:002009-10-13T16:53:38.017+08:00General Signal Process Tool從研究所到職場,都是在做影像/訊號處理相關的題目,<br />以影像處理而言,要開發一個檢測系統(軟體),<br />通常會使用現成的套裝軟體,如Matlab, NI Vision,<br />Matrox Inspector...等工具來進行前期的驗證測試,<br />等到確定初步的處理流程後,才會開始動手寫效率較高且專用的程式。<br />在此過程中,許多工程師會開始建立自己常用的影像處理/辨識函式庫,<br />達到Codes reuse的作用!!<br /><br />我利用工作空閑的時間,著手開發一套<br />"通用型訊號處理軟體(General Signal Process Tool)",<br />目的就是將一些常用的功能,如基本數學運算, 時間域濾波,<br />多項式迴歸, 統計數值計算, AOI...等功能整理成函式庫(C++),<br />並寫一個簡易的UI,希望能輔助主系統的驗證與各種訊號處理的應用。<br />目前還在開發中....工作截圖如下:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_I2mwoOGe1AM/StQ_jEcB-ZI/AAAAAAAAAD0/48TErtfd8K4/s1600-h/GSP%E5%B7%A5%E4%BD%9C%E6%88%AA%E5%9C%96.bmp"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 304px;" src="http://4.bp.blogspot.com/_I2mwoOGe1AM/StQ_jEcB-ZI/AAAAAAAAAD0/48TErtfd8K4/s400/GSP%E5%B7%A5%E4%BD%9C%E6%88%AA%E5%9C%96.bmp" alt="" id="BLOGGER_PHOTO_ID_5392004525588609426" border="0" /></a>Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com1tag:blogger.com,1999:blog-4049267439022477081.post-28981321830807754802009-10-13T15:45:00.004+08:002009-10-13T15:56:31.458+08:00工作週年紀念日今天...就是今天....工作期滿一年囉!!<br />這一年到底做了什麼,成長了多少,浪費了多少時間?<br />的確值得紀錄一下。<br /><br />工作上:<br />1. 負責的案子已拿到PO,希望能順利驗收與收款~<br />2. 新開發的案子是未接觸過的領域,要加緊腳步~<br /><br />技能上:<br />1. 利用空閒時間,開發了一個通用版的訊號處理軟體,還再陸續加入功能與函式庫建立中...<br />2. 學到了許多Team work(與不同領域的同事)和如何與廠商或客戶應對<br /><br />生活上:<br />1. 買了一棟位於桃園市的房子,希望能和琳一起奮鬥(為了兩年後的大事)!!<br />2. 沒有變瘦...<br /><br />這個部落格希望能持續維持更新阿~~!!!Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com2tag:blogger.com,1999:blog-4049267439022477081.post-87552031206806781602009-10-13T15:45:00.001+08:002009-10-13T15:45:39.208+08:00Ya~~九月也空空空~~空空九月!!Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-90258436478476116052009-09-01T08:47:00.001+08:002009-09-01T08:47:47.724+08:00XDXDXD...八月也空了!!八月真的空了,但八月份做了一件大事,先賣個關子杯....Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com207tag:blogger.com,1999:blog-4049267439022477081.post-70168699384697924802009-08-21T09:31:00.001+08:002009-08-21T09:31:58.224+08:00XD...七月空了As title..Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-61615049910395328642009-06-02T09:57:00.005+08:002009-06-02T10:38:38.178+08:00BCB的 #pragma hdrstop ? 加速編譯速度的好幫手!軟體工程師或程式設計師真的不好當! 會寫程式的人是滿山滿海, 但真正會欣賞程式是門美妙藝術的人, 我想就不多了...(我要慢慢地去欣賞它)<br /><br />這個頭好像開得太大太遠了, 先拉回這篇文章的重點. 正所謂"工欲善其事, 必先利其器", 寫程式會遇到的一個問題就是編譯(Compiler)時間, 一開始程式碼少沒甚麼感覺, 一旦越寫越大(越寫越亂...XD)時, 就會令人都蘭國小. 要如何加速編譯速度呢?參考底下的文章吧!<br /><br /><a href="http://edu.uuu.com.tw/article/010307a.htm">http://edu.uuu.com.tw/article/010307a.htm</a>Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-57135222416645011162009-05-19T19:21:00.003+08:002009-05-19T19:47:59.895+08:00Application->ProcessMessages 測試(上)台語有句話說: "有一好, 沒倆好!" , 古人亦有云: "魚與熊掌不可兼得" , 英文則是 "Trade-off"!<br />有失必有得在技術開發中是經常發生的難題, 該如何取捨總是讓工程師們抓破頭!!<br /><br />設計一個UI軟體, 有時會遇到的"執行效率"與"使用者操作"的兩難, 在沒有想到用多執行緒來解決<br />同一時間進行兩(多)件事時, 這個Application->ProcessMessage函式或許能幫上一點忙.<br /><br />UI最怕的是"軟體卡住"的窘境, 說白話點就是使用者無法操作軟體, 如按按鈕啦, 該更新的畫面沒有更新啦, 無法拖曳視窗啦...等, 最糟的情況為軟體當掉, 只有重新啟動才能解決, 不然就是UI正在等某一個運算, 那個該死的運算占用了CPU資源, 導致上述種種問題...(待續)Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com0tag:blogger.com,1999:blog-4049267439022477081.post-18244748698616464352009-04-27T19:47:00.009+08:002009-04-27T20:16:36.533+08:00Multi-Thread 心得分享<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_I2mwoOGe1AM/SfWgIXs16bI/AAAAAAAAADs/Oq3H0vrc_rI/s1600-h/combine.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 207px;" src="http://2.bp.blogspot.com/_I2mwoOGe1AM/SfWgIXs16bI/AAAAAAAAADs/Oq3H0vrc_rI/s400/combine.jpg" alt="" id="BLOGGER_PHOTO_ID_5329341799724345778" border="0" /></a><br />Multi-Thread(多執行緒)是一個相當實用的程式技巧, 尤其在多核的CPU下更顯威力!<br /><br />左圖為程式啟動時對應的CPU狀態, 中間圖為使用For迴圈進行計算之CPU狀態, 右圖為使用Multi-Thread進行計算之CPU狀態.<br /><br />我們可以明顯地看出使用Multi-Thread能充分地利用多核心(此測試為4核心)的計算能力, 並且減少計算時間!!Macodo Lauhttp://www.blogger.com/profile/08160486046424752184noreply@blogger.com1