<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5327300061709627780</id><updated>2012-01-02T01:12:46.816-08:00</updated><category term='生活雜記'/><category term='Vista'/><category term='程式開發'/><category term='自製軟體分享'/><category term='MacOSX'/><category term='開發筆記'/><category term='iPhone/iPad'/><category term='Friendly.Flickr'/><category term='閒扯蛋'/><category term='鐵道時刻表'/><category term='Friendly.Flickr 使用技巧'/><category term='Flickr'/><category term='網路資源'/><category term='遊戲天地'/><category term='LearningEnglish'/><category term='軟體資訊'/><category term='硬體資訊'/><category term='.NET Framework'/><category term='Blogger'/><category term='XNA'/><category term='MAC'/><category term='PPC'/><category term='FireFox'/><title type='text'>搖擺天秤的程式開發日誌</title><subtitle type='html'>攝影是興趣 寫軟體是工作 不論是攝影或是寫軟體 我都樂在其中
&lt;br&gt;
&lt;a href="http://richielin-photo.blogspot.com/"&gt;搖擺天秤的觀景窗&lt;/a&gt;
   
&lt;a href="http://richielin-mac.blogspot.com/"&gt;搖擺天秤的蘋果派&lt;/a&gt;
   
&lt;a href="http://www.flickr.com/photos/46448900@N02/"&gt;搖擺天秤的網路相簿&lt;/a&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default?start-index=101&amp;max-results=100'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>153</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-7298041124017017909</id><published>2011-11-06T06:19:00.000-08:00</published><updated>2011-12-06T22:04:33.871-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='生活雜記'/><title type='text'>2011 Macbook Air 11吋入手感想 – 好輕好快</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;img class="imageStyle" alt="img_6177-1" src="http://www.richiestyle.org/new_site/page9/files/img_6177-1.jpg" width="640" height="427" /&gt;&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;天秤原本使用&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; 2008 early 15&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;吋&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; MBP&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;，在使用三年半的時間內，一般使用上還是很棒，雖然已將&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; RAM &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;加大到&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; 6g&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;，且更換&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; 7200 &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;轉&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; HDD&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;，但用於軟體開發上，卻愈來愈顯得力不行心。尤其是開啟&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; XCode &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;和&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; VM &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;跑&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; Win7 &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;時，更到頓到自己都受不了。原本以為自己是軟體工程師，效能至上，不太可能使用&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; MBA &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;這種小電腦，不過在&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; MBP &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;主機板固障送修需要二周時間維修後，決定先買台肖想許久的&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; 11 &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;吋&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; MBA &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;來頂著先。&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;沒想到這幾天用下來，發現竟然可以完全取代原先&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; 15 &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;吋的&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; MBP&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;，更是意想不到的事。&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;h1&gt;CPU 速度&lt;/h1&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;首先是速度的疑慮，從之前看到的數據，都顯示 MBA i5 1.6G 比我的 MBP C2D 2.4G 來得快。但 MBA 印象中只是台輕薄的小筆電，真的可以取代舊的 MBP 嗎？我想這是沒問題的，雖然 2011 MBP CPU 的速度當然還是比較快，但和 2010 年舊款 MBP 的速度相比，竟然差異不大！實際上用起來也是如此，只能說一整個順啊。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;h1&gt;記憶體 2G/4G&lt;/h1&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;再來就是不能升級的 RAM 的問題。原本天秤的 MBP 已經升級到 6G 了，但開發時還是卡卡的，只有 4G 的 Air 會不會陷入相同的問題？結果答案是否定的。雖然 RAM 只有 4G，但是一般來說 MAC 遇到 RAM 不足的時候，像是開啟大型軟體的時候，並不會告訴你記憶體不足而無法開啟，原因就是作業系統會自動開啟硬碟上的 swap 來做緩衝，搬移記憶體上暫時用不到的 data 到硬碟上，藉由快速搬移來讓你的軟體能正常動作。但因為是存取在硬碟上，所以當硬碟速度不快時，使用上還是會頓頓的。而 Air 的 SSD 的優勢就在此呈現，雖然記憶體不足還是得以 swap 來緩衝，但是 SSD 讀寫速度很快，整體的效能並不會降低太多。所以雖然硬體上只能有 2G/4G 的記憶體，但由於 SSD 的關係，讓 Air 遇到記憶體不足的狀況下，還是可以運作的非常流暢，所以 2G/4G 的記憶體太少的問題也相對沒那麼嚴重了。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;h1&gt;SSD 速度和容量&lt;/h1&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;這裡完全是 Air 的優勢了，從一開始的 15 秒開機，到最後的 2 秒關機，以及中間過程中任何軟體毫無延遲的運作，完全是由卡車換到法拉利的感覺，用行雲流水還不足以形容它。加上 CPU 速度也夠快，整個體驗一整個超棒。雖然如此，SSD 也有無法解決的缺點，就是容量太少了啦。天秤只買 128G 的 Macbook Air，所以有些的資料就不得不搬出 Air 外了。像是 Aperture 的資料庫，雖然天秤幾萬張照片早已丟到網路磁碟上了，但資料庫還是存在電腦中，共佔用了 30G 以上，所以 Air 就容不下它了，只能把資料庫也搬到網路磁碟上。再由 Aperture 直接開啟網路磁碟上的資料庫，當然速度是會慢了一些，但完全都是在可以接受的範圍內，沒有想像中的慢。而 VM 裝 Win7/XP 更是吃硬碟的怪獸，所以也只能把 image 搬到外接磁碟上，還有開發的時候真正讀寫硬碟的時候也沒那麼多，大多是耗掉 CPU 來做編譯的處理，所以也還好。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;h1&gt;螢幕大小&lt;/h1&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;螢幕大小就真的是看個人習慣了。雖然天秤上一台是 15 吋 MBP，但再之前也是用 12吋筆電一段時間，所以螢幕大小幾天後也就習慣了。更何況工作時候，都是外接 24吋螢幕來看程式碼，問題也沒那麼大就是了。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;h1&gt;整體感想&lt;/h1&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;很難想像天秤竟然會用一台小筆電來取代工作機，而且使用上竟然也沒有太大的問題，工作也能順利的轉移到新機上。所以除非你真的是影像編輯等極需效能和 RAM 的電腦的用戶，所以單純寫 code 的工程師，Air 真的可以滿足你 80% 以上的工作，而一般用途的消費者來說更是沒有問題。只能說這次 2011 年的 Macbook Air 真的是一台難得的好機。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt;&lt;!-- The following piece of code has been generated by symNivo (c) 2010 (http://symfonip.com) --&gt;&lt;br /&gt;&lt;link rel="stylesheet" type="text/css" href="http://www.richiestyle.org/new_site/page9/files/nivo-slider.css" /&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://www.richiestyle.org/new_site/page9/files/jquery.nivo.slider.pack.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;div#symNivopage10 .nivo-directionNav a{background-image:url(files/arrows.png);background-repeat:no-repeat;}&lt;br /&gt;div#symNivopage10 .nivo-controlNav{position:absolute;left:261px;bottom:-20px;}&lt;br /&gt;div#symNivopage10 .nivo-caption{background-color: #1f1f1f; color: #ffd571; text-align:left;}&lt;br /&gt;div#symNivopage10 { -moz-box-shadow:2px 2px 10px #7f7f7f; -webkit-box-shadow:2px 2px 10px #7f7f7f; box-shadow:2px 2px 10px #7f7f7f;}&lt;br /&gt;div#symNivopage10 { position: relative; background: url(files/loader.gif) no-repeat 50% 50% #e9e9e5; width:640px; height:427px;  }&lt;br /&gt;div#symNivopage10 img { position: absolute; top: 0px; left: 0px; display: none;}&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;jQuery.noConflict();&lt;br /&gt;jQuery(window).load(function() {&lt;br /&gt;jQuery("#symNivopage10").nivoSlider({ effect: 'random', slices: 15, boxCols:8, boxRows:4, animSpeed: 500, pauseTime: 3000, directionNav: true, directionNavHide: true, controlNav: true, pauseOnHover: true, keyboardNav: true, captionOpacity: 0.80});&lt;br /&gt;});&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;div class="symnivoheader"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div id="symNivopage10"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.richiestyle.org/new_site/page9/files/symNivopage10_0.jpg" /&gt;&lt;br /&gt;&lt;img alt="" src="http://www.richiestyle.org/new_site/page9/files/symNivopage10_1.jpg" /&gt;&lt;br /&gt;&lt;img alt="" src="http://www.richiestyle.org/new_site/page9/files/symNivopage10_2.jpg" /&gt;&lt;br /&gt;&lt;img alt="" src="http://www.richiestyle.org/new_site/page9/files/symNivopage10_3.jpg" /&gt;&lt;br /&gt;&lt;img alt="" src="http://www.richiestyle.org/new_site/page9/files/symNivopage10_4.jpg" /&gt;&lt;br /&gt;&lt;img alt="" src="http://www.richiestyle.org/new_site/page9/files/symNivopage10_5.jpg" /&gt;&lt;br /&gt;&lt;img alt="" src="http://www.richiestyle.org/new_site/page9/files/symNivopage10_6.jpg" /&gt;&lt;br /&gt;&lt;img alt="" src="http://www.richiestyle.org/new_site/page9/files/symNivopage10_7.jpg" /&gt;&lt;br /&gt;&lt;img alt="" src="http://www.richiestyle.org/new_site/page9/files/symNivopage10_8.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="symnivofooter"&gt;&lt;/div&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-7298041124017017909?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/7298041124017017909/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=7298041124017017909' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7298041124017017909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7298041124017017909'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2011/11/2011-macbook-air-11.html' title='2011 Macbook Air 11吋入手感想 – 好輕好快'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-8206629552007672820</id><published>2011-10-16T20:59:00.000-07:00</published><updated>2011-12-06T22:04:31.829-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPad'/><title type='text'>分享多台 iOS 裝置的 iCloud 設定應用</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font-size:13px; color:#262626;"&gt;iCloud 是 Apple 為 iOS 及 PC/MAC 提供的新的雲端同步/備份功能，它的功能很強大，讓 iOS 免除以往必須與 PC/MAC 以 USB 接線才能同步的問題。不只如此，連行事曆、工作清單、Email、連絡人、書籤、備忘錄、照片等都提供解決方案了。 &lt;br /&gt;&lt;br /&gt;當然一如往常，天秤的文章不會也不想做功能面的介紹，這些各大網站都已詳細介紹過，只是想從應用分享這一面著手。iPhone/iPad 裝置裡存在並使用著三個主要的 Apple ID 帳號，最常見的就是 iCloud 及 AppSrore 帳號了，還有一個是常被忽略的 GameCenter 帳號。這次的例子就是如果你有一台 iPhone, iPad 且家人有台 iPhone 時，如果設定 iCloud 讓每個人保有自己的資料，並且讓只購買過一次的 App 還能每台機器共用，並且三個機器都可以同時透過 GameCenter 來連線對戰。&lt;br /&gt;&lt;br /&gt;以天秤的例子來說，首先來看一下天秤和家人的持有狀況，下列為希望達到的方式：&lt;br /&gt;&lt;/span&gt;&lt;ul class="disc"&gt;&lt;li&gt;&lt;span style="font-size:13px; color:#262626;"&gt;天秤手上有一台 iPhone 及一台 iPad，兩台的行事曆等資料必須同步以方便工作 。&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:13px; color:#262626;"&gt;家人有台 iPhone, 行事曆等資料必須與天秤分開，避免混雜在一起 。&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:13px; color:#262626;"&gt;所有裝置都要使用同一個 AppStore 帳號，以便 app 可以共享使用，不需重複購買 。&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:13px; color:#262626;"&gt;每個裝置都要使用不同的 GameCenter，以便三台機器都可以連線對戰。&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;以下是希望的架構圖：&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Pasted Graphic 1" src="http://www.richiestyle.org/new_site/page9/files/pasted-graphic-1.jpg" width="533" height="425" /&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;h1&gt;申請 iCloud 帳號&lt;/h1&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;&lt;br /&gt;已經使用過 iPhone/iPad 且下載過 app 的你，當然一定有一個 Apple ID 來當 AppStore 的帳號，當你要申請 iCloud 時，就得考慮好是要以原本 AppStore 帳號的 Email 來申請，還是再申請新的 iCloud 帳號？這裡的關鍵就是，如果用原本的 AppStore 帳號來申請你的 iCloud 帳號之後，你的 AppStore 的密碼就是等於你的 iCloud 密碼，要讓家人使用 AppStore 下載 app 時，就必須知道你的 iCloud 密碼。當然也可以用這個密碼登入你的 iCloud 帳號，等於你的資料全被家人看光光了，如果你無所謂的話當然就 ok 了。&lt;br /&gt;&lt;br /&gt;但如果你介意的話，最好還是重新申請一個來當你的 iCloud 帳號，不要用原本的 AppStore 的帳號。在這個例子中，我是重新申請一個 iCloud 帳號，這個 iCloud 帳號當然也是我擁有的 iPhone/iPad 使用的 iCloud 帳號，這樣我的 iPhone 和 iPad 才會因為使用同一個帳號而使行事曆等資料同步及備份。而你的家人，則是另外再申請一個 iCloud 帳號，讓他的行事曆資料備份到自己的 iCloud 裡。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;h1&gt;登入 AppSote 帳號&lt;/h1&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;&lt;br /&gt;目前使用的三台 iOS 裝置，因為想要買一次 app 即可大家共用，就必須使用同一個 AppStore 帳號，自然就可以繼續的使用原本就使用者的帳號即可。也因為這個 AppStore 帳號沒有被拿來申請當成 iCloud 的帳號使用，兩個帳號沒有綁在一起，所以自然它的密碼就與會我使用的 iCloud 的密碼不同，就可以放心的告訴家人去使用，而不用擔心我的 iCloud 裡的資料也會被家人看到了。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;h1&gt;GameCenter 帳號&lt;/h1&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;&lt;br /&gt;另一個常被忽略的就是 GameCenter 帳號了，通常這個 GameCenter 平常時候很少用到，最常碰到的頂多就是玩遊戲時上方出現登入的畫面而已。但這個被忽略的功能，相信日後應該是遊戲殺手級應用的關鍵，愈來愈多的遊戲，可以直接透過 GameCenter 帳號來邀請朋友來對戰，如 Fruit Ninja 及 Street Figter IV 都是。更甚者如 Gun Brother 這個免費的動作遊戲，不只是與朋友連線玩遊戲而已，連聲音都可以傳送過去，你可以一邊玩遊戲一邊用語音來溝通下戰術，或是打屁聊天等。&lt;br /&gt;&lt;br /&gt;而在例子中，我所擁有的 iPhone 及 iPad，遇到朋友來訪想即興來個對戰時，如果是使用同一個 GameCenter 帳號時，將會遇到無法邀請的問題。原因就是因為是同一個帳號，你怎麼去邀請自己的呢？所以設為不同的 GameCenter 帳號是比較好的方式。加上家人的 iPhone 也是不同的帳號，等於兩台 iPhone，一台 iPad 都可以拿來同時連線對戰了&lt;br /&gt;當然你也不用為了它再去申請一個帳號。&lt;br /&gt;&lt;br /&gt;還記得我們把 AppStore 帳號保留著，再去申請兩個 iCloud 來用了嗎，所以直接拿 AppStore 帳號加兩組 iCloud 帳號就可以為三台機器登入 GameCenter 了。當然如果你不需要連線對戰，用相同的帳號也是可以。也許不久之後就會有同一個 GameCenter 的遊戲進度可以同步到不同機器上的功能了，或是你有超過三台機器都想連線對戰，就得再去申請幾個 Apple ID 來登入了。&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-8206629552007672820?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/8206629552007672820/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=8206629552007672820' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8206629552007672820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8206629552007672820'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2011/10/ios-icloud.html' title='分享多台 iOS 裝置的 iCloud 設定應用'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-7889867569641123501</id><published>2011-10-15T23:46:00.000-07:00</published><updated>2011-12-06T22:04:30.803-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='鐵道時刻表'/><title type='text'>鐵道時刻表 Universal 版本已送審</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;img class="imageStyle" alt="IMG_0005" src="http://www.richiestyle.org/new_site/page9/files/img_0005.png" width="640" height="480" /&gt;&lt;br /&gt;&lt;br /&gt;呼&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt;~ &lt;/span&gt;經過一連串密集的&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; Coding &lt;/span&gt;之後，鐵道時刻表&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; Universal &lt;/span&gt;版本總算送審了，如果順利的話最遲一周內就可以更新了，希望不要再有&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; Bug &lt;/span&gt;出現。&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-7889867569641123501?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/7889867569641123501/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=7889867569641123501' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7889867569641123501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7889867569641123501'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2011/10/universal.html' title='鐵道時刻表 Universal 版本已送審'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-3929346826347416388</id><published>2011-10-11T05:48:00.000-07:00</published><updated>2011-12-06T22:04:29.639-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='開發筆記'/><title type='text'>Facebook for iOS 用法</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;img class="imageStyle" alt="facebook-logo-1" src="http://www.richiestyle.org/new_site/page9/files/facebook-logo-1.jpg" width="640" height="212" /&gt;&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt;&lt;br /&gt;Facebook &lt;/span&gt;是目前最紅的社交網站，流量已超過&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; Google &lt;/span&gt;了，它不只有&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; Flash &lt;/span&gt;遊戲，連&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; app &lt;/span&gt;的應用分享也愈來愈普及。曾經有傳言&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; Facebook &lt;/span&gt;會像&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; Twitter &lt;/span&gt;一樣內建在&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; iOS 5 SDK &lt;/span&gt;裡，直到&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; iOS5 GM &lt;/span&gt;出來，卻還是未見&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; Facebook &lt;/span&gt;內建在其中。但沒有關係，因為&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; Facebook &lt;/span&gt;官方有提供&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; Facebook for iOS sdk &lt;/span&gt;可運用，用法雖然沒有&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; Twitter api &lt;/span&gt;來的簡易，但功能卻是更全面。這裡我們示範簡單的&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; Facebook sdk &lt;/span&gt;用法，包含將文字貼到塗鴉牆上，及貼上一張圖片到照片集的範例。&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;h1&gt;事前準備工作&lt;/h1&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;首先請到 http://www.facebook.com/developers/createapp.php 申請一個 Facebook app，選擇 &amp;ldquo;建立應用程式&amp;rdquo;，再依指示輸入名稱等&lt;br /&gt;最後會產生一組 AppId，把這組 id 記錄下來備用。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Pasted Graphic" src="http://www.richiestyle.org/new_site/page9/files/pasted-graphic.jpg" width="501" height="95" /&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;因為 Facebook sdk 使用時，在登入時會跳至 Safari 或是 Facebook app 輸入帳號密碼，輸入完畢後必須跳回原本的 app。所以必須在你的 app 設定 URL Schemes 讓登入後可以正確的跳回來，在 URL Schemes 填入 fbxxxxxxxxxx (xxxxxxxxxx 為取得的 facebook appid)。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="螢幕快照-2011-10-11-下午5.31.08" src="http://www.richiestyle.org/new_site/page9/files/87a25e555feb7167-2011-10-11-4e0b53485.31.08.png" width="640" height="160" /&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;接下來就直接在 XCode 中撰寫相關的 Code 了。因為必須取得 Facebook 的事件，所以在 AppDelegate.h 中宣告 FBSessionDelegate, FBRequestDelegate, FBDialogDelegate，並 import 以下兩個宣告檔及 Facebook 物件&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;pre class="brush: objc; gutter: true; highlight:[0]"&gt;&lt;br /&gt;#import "Facebook.h"&lt;br /&gt;#import "FBConnect.h"&lt;br /&gt;&lt;br /&gt;Facebook *facebook;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;並在 didFinishLaunchingWithOptions 函式中加入初始化 Facebook 及其對應函式&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: objc; gutter: true; highlight:[4,12,20]"&gt;&lt;br /&gt;- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions&lt;br /&gt;{&lt;br /&gt;    // Facebook&lt;br /&gt;    facebook = [[Facebook alloc] initWithAppId:@"250701411638931" andDelegate:self];&lt;br /&gt; &lt;br /&gt;    [self.window addSubview:viewController.view];&lt;br /&gt;    [self.window makeKeyAndVisible];&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;- (void)dealloc&lt;br /&gt;{&lt;br /&gt;    [facebook release];&lt;br /&gt;    [viewController release];&lt;br /&gt;    [window release];&lt;br /&gt;    [super dealloc];&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url&lt;br /&gt;{&lt;br /&gt;    return [facebook handleOpenURL:url];&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;h1&gt;開始撰寫使用 Facebook，將文字貼到塗鴉牆上&lt;/h1&gt;&lt;span style="font-size:13px; color:#262626;"&gt;這裡我為&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; Facebook &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;使用寫了幾個專屬的函式，一個是&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; Login, Logout &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;及一個&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; post &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;的函式，使用時只要依自己需求修改&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; sendToWall &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;函式內的資訊。&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;pre class="brush: objc; gutter: true; highlight:[0]"&gt;&lt;br /&gt;- (void)login&lt;br /&gt;{&lt;br /&gt;    NSArray *permissions = [NSArray arrayWithObjects:@"read_stream", @"publish_stream", @"offline_access", nil];&lt;br /&gt;    [facebook authorize:permissions];&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;- (void)logout&lt;br /&gt;{&lt;br /&gt;    [facebook logout:self];&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;- (void)sendToWall&lt;br /&gt;{&lt;br /&gt;    SBJSON *jsonWriter = [[SBJSON new] autorelease];&lt;br /&gt;    NSDictionary* attachment = [NSDictionary dictionaryWithObjectsAndKeys:&lt;br /&gt;                                @"name", @"name",&lt;br /&gt;                                @"caption", @"caption",&lt;br /&gt;                                @"description", @"description",&lt;br /&gt;                                @"http://xxx.xxx.xxx.xxx", @"href", nil];&lt;br /&gt; &lt;br /&gt;    NSMutableDictionary* params1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:&lt;br /&gt;                                    @"xxxxxxxxxxxx", @"api_key",&lt;br /&gt;                                    [jsonWriter stringWithObject:attachment], @"attachment",&lt;br /&gt;                                    nil];&lt;br /&gt; &lt;br /&gt;    [facebook dialog:@"stream.publish" andParams:params1 andDelegate:self disableTextArea:TRUE];&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;接下來還必須處理 Facebook 的事件，這些事件如果沒有特殊的用法，其實可以照範例來寫即可。&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: objc; gutter: true; highlight:[0]"&gt;&lt;br /&gt;#pragma mark - FBRequestDelegate&lt;br /&gt; &lt;br /&gt;- (void)requestLoading:(FBRequest *)request&lt;br /&gt;{&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;- (void)request:(FBRequest *)request didReceiveResponse:(NSURLResponse *)response&lt;br /&gt;{&lt;br /&gt;    NSLog(@"received response");&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;- (void)request:(FBRequest *)request didFailWithError:(NSError *)error&lt;br /&gt;{&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;- (void)request:(FBRequest *)request didLoad:(id)result&lt;br /&gt;{&lt;br /&gt;    NSLog(@"result = %@", result);&lt;br /&gt; &lt;br /&gt;    if ([result isKindOfClass:[NSArray class]])&lt;br /&gt;    {&lt;br /&gt;        // Facebook 視窗&lt;br /&gt;        FacebookViewController *detailViewController = [[FacebookViewController alloc] initWithNibName:@"FacebookViewController" bundle:nil];&lt;br /&gt;        detailViewController.image = [viewController getImage:FALSE];&lt;br /&gt;        [viewController presentModalViewController:detailViewController animated:YES];&lt;br /&gt;        [detailViewController release];&lt;br /&gt;    }&lt;br /&gt;    else if ([result objectForKey:@"id"])&lt;br /&gt;        NSLog(@"Photo upload Success");&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;- (void)request:(FBRequest *)request didLoadRawResponse:(NSData *)data&lt;br /&gt;{&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;寫好以上的 code，真正使用時只要呼叫 login 及 sendToWall 函式即可，一般簡單的貼文用途應該也夠用了。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;h1&gt;貼上圖片和文字到塗鴉牆上&lt;/h1&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;接下來的函式，是示範怎麼把圖片貼到塗鴉牆上，方法其實和上述的例子相同。&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: objc; gutter: true; highlight:[0]"&gt;&lt;br /&gt;- (void)postFacebookImage:(NSNotification*)notification&lt;br /&gt;{&lt;br /&gt;    UIImage *image = [UIImage imageNamed:@"test.png"];&lt;br /&gt;    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:&lt;br /&gt;                                   image, @"picture",&lt;br /&gt;                                   @"message", @"message",&lt;br /&gt;                                   nil];&lt;br /&gt;    [facebook requestWithGraphPath:@"me/photos"&lt;br /&gt;                         andParams:params&lt;br /&gt;                     andHttpMethod:@"POST"&lt;br /&gt;                       andDelegate:self];&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-3929346826347416388?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/3929346826347416388/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=3929346826347416388' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3929346826347416388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3929346826347416388'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2011/10/facebook-for-ios.html' title='Facebook for iOS 用法'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-5171471636637458693</id><published>2011-10-10T23:52:00.000-07:00</published><updated>2011-12-06T22:04:28.497-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='鐵道時刻表'/><title type='text'>鐵道時刻表 for iPad 開發中</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;img class="imageStyle" alt="螢幕快照-2011-10-11-下午10.06.58" src="http://www.richiestyle.org/new_site/page9/files/87a25e555feb7167-2011-10-11-4e0b534810.06.58.png" width="512" height="384" /&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;眼尖的網友還真是不少，上封文章天秤寫到 鐵道時刻表 for iPhone，馬上就有朋友寫信來關心，詢問是否會出 for iPad 版本的。&lt;br /&gt;&lt;br /&gt;沒錯，天秤正著手處理 iPad 版本的鐵道時刻表，目前進度大約 75%，還在處理一些細節畫面。基本上底層是和鐵道時刻表相同的機制，畫面也盡量相同共用，不過其實是懶隋啦，而且也還沒有 iPad 版畫面的 idea，所以就讓它比較快的速度可以上架，日後有想到畫面的 idea 再來美化它了。&lt;br /&gt;&lt;br /&gt;對了，iPad 版本並不會另外收費，而是做成 Universal 版本，原有的 iPhone 使用者可以免費升級至 iPhone/iPad 共用版本。我想一套已經上架二年半的軟體，還可以每天更新時刻表，且還經過界面大改版且可免費升級至 Universal 版本，應該是很夠意思了，那些在 AppStore 上只願給一顆星的朋友，就饒了天秤吧。&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-5171471636637458693?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/5171471636637458693/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=5171471636637458693' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5171471636637458693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5171471636637458693'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2011/10/for-ipad.html' title='鐵道時刻表 for iPad 開發中'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-5636297414632005637</id><published>2011-10-06T19:42:00.000-07:00</published><updated>2011-12-06T22:04:27.396-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='生活雜記'/><title type='text'>R.I.P Steve Jobs</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;img class="imageStyle" alt="ming-apps-steve-jobs-profile-image1" src="http://www.richiestyle.org/new_site/page9/files/ming-apps-steve-jobs-profile-image1.jpg" width="300" height="376" /&gt;&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt;&lt;br /&gt;Steve Jobs 1955-2011&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-5636297414632005637?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/5636297414632005637/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=5636297414632005637' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5636297414632005637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5636297414632005637'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2011/10/rip-steve-jobs.html' title='R.I.P Steve Jobs'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-1955737126329255247</id><published>2011-09-28T19:53:00.000-07:00</published><updated>2011-12-06T22:04:26.352-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MacOSX'/><title type='text'>輕量化免費的文書編輯軟體 Kod</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;img class="imageStyle" alt="icon-256" src="http://www.richiestyle.org/new_site/page9/files/icon-256.png" width="256" height="256" /&gt;&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt;&lt;br /&gt;&lt;/span&gt;自從用功能強大的&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; BBEdit &lt;/span&gt;一段時間之後，漸漸對這類全功能的文書處理軟體感到不耐，不是它不好用，相對來說是因為它太好用且功能太強了。或許也就是因為如此，它開啟文件速度一直未達到我的要求。我只要求可以快速開啟文字檔，讓我簡單編輯後存檔離開。&lt;br /&gt;&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt;&lt;br /&gt;&lt;/span&gt;原本在&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; BBEdit &lt;/span&gt;之前是以&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; Smultron &lt;/span&gt;為主力，但是它很久沒有更新，且跳到&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; Mac AppStore &lt;/span&gt;上之後變成收費軟體&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; 4.99 &lt;/span&gt;美金了，所以天秤就開始尋找輕量化的文書處理軟體，直到找到這套&lt;span style="font:12px Helvetica, Arial, Verdana, sans-serif; "&gt; Kmod &lt;/span&gt;軟體，似乎還不錯用。&lt;br /&gt;&lt;br /&gt;官方網站: &lt;a href="http://kodapp.com/" rel="self"&gt;http://kodapp.com/&lt;/a&gt;&lt;br /&gt;下載連結: &lt;a href="http://kodapp.com/download/" rel="self"&gt;http://kodapp.com/download/&lt;/a&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:13px; color:#262626;"&gt;以下幾項特點，值得留下它做為主力輕量化文字編輯工具&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt;&lt;br /&gt;1. &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;軟體啟動快速&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt;&lt;br /&gt;2. &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;界面簡潔，沒有太多花俏的東西&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt;&lt;br /&gt;3. &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;中文支援度佳，顯示、複製、貼上及圈選時都可以正常支援中文&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt;&lt;br /&gt;4. &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;有文件目錄&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; Tree &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;的顯示功能&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt;&lt;br /&gt;5. &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;支援程式語言語法高亮顯示&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt;&lt;br /&gt;6. &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;同時開啟多文件時，有&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; Tab &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;標籤可供切換&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;雖然如此，也不是沒有缺點的，或許是&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt; Kod 0.0.3 beta &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;的關係，相信日後應該會漸漸補上修正的&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt;&lt;br /&gt;1. &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;找不到設定顯示文字大小顏色及底色的地方&lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt;&lt;br /&gt;2. Open Recent &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;沒有作用&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-1955737126329255247?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/1955737126329255247/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=1955737126329255247' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1955737126329255247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1955737126329255247'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2011/09/kod.html' title='輕量化免費的文書編輯軟體 Kod'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-2185139069328252303</id><published>2011-06-15T06:39:00.001-07:00</published><updated>2011-06-15T07:55:07.391-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><title type='text'>年久失修的 Friendly.Flickr 連結重新開放</title><content type='html'>年久失修的 Friendly.Flickr 連結&lt;br /&gt;不知道在什麼時候就已無法下載了&lt;br /&gt;最近重新整理部落格才發現&lt;br /&gt;所以再重新開放下載&lt;br /&gt;不過這版本只有 Friendly.Flickr 執行檔&lt;br /&gt;WLW 的 plugin 就無法提供了&lt;br /&gt;還請見諒&lt;br /&gt;&lt;br /&gt;請至我新的網站下載，謝謝 (順便打一下廣告)&lt;br /&gt;永久網站: &lt;a href="http://www.richiestyle.org"&gt;http://www.richiestyle.org&lt;/a&gt;&lt;br /&gt;Friendly.Flickr:&lt;a href="http://www.richiestyle.org/archives/157"&gt;http://www.richiestyle.org/archives/157&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;也請逛到天秤網站的朋友，留個言吧&lt;br /&gt;留言版： &lt;a href="http://www.richiestyle.org/message"&gt;http://www.richiestyle.org/message&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-2185139069328252303?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/2185139069328252303/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=2185139069328252303' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2185139069328252303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2185139069328252303'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2011/06/friendlyflickr.html' title='年久失修的 Friendly.Flickr 連結重新開放'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-8432643952041021376</id><published>2011-06-13T22:14:00.001-07:00</published><updated>2011-06-13T22:14:02.819-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>部落格要搬家了</title><content type='html'>天秤最近很懶，懶到連落部格都沒寫了&lt;br /&gt;最近剛好一連串的案子結束&lt;br /&gt;想好好振作一下了&lt;br /&gt;把原本就在使用的網路空間整理一下&lt;br /&gt;架設了自己的官方網站 www.richiestyle.org&lt;br /&gt;並考慮以後文章都只貼到新的空間裡&lt;br /&gt;把天秤的作品、部落格文章及開發教學文章都放在一起&lt;br /&gt;並把之前作品重新整理一下&lt;br /&gt;還請舊雨新知繼續支持&lt;br /&gt;&lt;br /&gt;官網: &lt;a href="http://www.richiestyle.org"&gt;www.richiestyle.org&lt;/a&gt;&lt;br /&gt;部落格: &lt;a href="http://www.richiestyle.org/archives/category/blog"&gt;http://www.richiestyle.org/archives/category/blog&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-8432643952041021376?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/8432643952041021376/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=8432643952041021376' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8432643952041021376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8432643952041021376'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2011/06/blog-post_13.html' title='部落格要搬家了'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-3685682594085053591</id><published>2010-12-30T21:57:00.001-08:00</published><updated>2010-12-30T21:57:26.932-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='鐵道時刻表'/><title type='text'>關於 12/22 台鐵改版後時刻表錯誤的說明</title><content type='html'>首先請大家記得去更新，已更新至新的時刻表資料了&lt;br /&gt;&lt;br /&gt;12/22 台鐵時刻表大改版&lt;br /&gt;又因資料格式的變動，造成鐵道時刻表更新後無法寫入資料庫&lt;br /&gt;以致於重新啟動後，又回到舊的資料庫了&lt;br /&gt;這種事其實很難從改版前就先做好準備，因為不知道改版後會變成什麼樣子的格式&lt;br /&gt;只能在發現錯誤後，儘量快速的修正，然後上傳新版至 iTunes 來解決&lt;br /&gt;然後在 Apple 審核通過上架前被罵到狗血淋頭&lt;br /&gt;幸好是每次版本都可以從中間學習&lt;br /&gt;修正一下 iPhone 上的資料庫以最大彈性來應付不同的格式改變&lt;br /&gt;期望資料庫彈性夠大到能應付下次的版本&lt;br /&gt;&lt;br /&gt;而這次其實在 12/22 當天就發現問題了&lt;br /&gt;但是卡在 iTunes 的審核速度及 Apple 審核人員耶誕假期的休假&lt;br /&gt;很多人不知道軟體送審核必須要至少一周的時間&lt;br /&gt;也不知道 Apple 審核人員在今年耶誕假期有休假不處理軟體的審核&lt;br /&gt;而台鐵又剛好在這段時間改版，以致於問題其實早就已修正了&lt;br /&gt;但面臨無法最快時間讓使用者更新的狀況&lt;br /&gt;也許這是 iPhone 軟體開發者都會碰到的麻煩吧&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-3685682594085053591?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/3685682594085053591/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=3685682594085053591' title='6 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3685682594085053591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3685682594085053591'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2010/12/1222.html' title='關於 12/22 台鐵改版後時刻表錯誤的說明'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-985952170287748880</id><published>2010-10-03T19:49:00.001-07:00</published><updated>2010-10-03T19:49:00.129-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='鐵道時刻表'/><title type='text'>很遺憾的，台鐵又改版了</title><content type='html'>真是遺憾&lt;br /&gt;台鐵又大改版了，原本的自動更新的資料庫又出問題了&lt;br /&gt;目前只能儘快的跟上正確的時刻表&lt;br /&gt;不排除還是有些時刻表是有錯誤的&lt;br /&gt;&lt;br /&gt;天秤是用軟體自動捉取最新的時刻表&lt;br /&gt;但也許是台鐵本身提供的資料有誤&lt;br /&gt;或是有修改一些東西，造成鐵道時刻表更新後的資訊還是有錯誤&lt;br /&gt;這點就必須人工去找出來&lt;br /&gt;&lt;br /&gt;10/4 檢查又是一堆修正，唉~&lt;br /&gt;當然天秤無法對 1000 筆班次做一一的比對&lt;br /&gt;(每班次又是一堆停靠站的時間)&lt;br /&gt;所以需要使用者幫忙除錯&lt;br /&gt;如果你有發現錯誤，請麻煩回報一下&lt;br /&gt;mail: richielin996@gmail.com&lt;br /&gt;或是直接在 blog 留言告訴天秤&lt;br /&gt;請記得留下班次的號碼，否則只說有錯誤&lt;br /&gt;天秤還是無法從 1000 多筆的資料發現到底是哪裡有錯&lt;br /&gt;麻煩大家了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-985952170287748880?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/985952170287748880/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=985952170287748880' title='12 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/985952170287748880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/985952170287748880'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2010/10/blog-post.html' title='很遺憾的，台鐵又改版了'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-5133531979108989088</id><published>2010-06-24T20:29:00.001-07:00</published><updated>2010-06-27T22:55:13.393-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='鐵道時刻表'/><title type='text'>鐵道時刻表暫時下架的原因</title><content type='html'>&lt;font color='FF0000'&gt;如果你查詢不到資料，請先將 iPhone 上的軟體移除後再重新安裝一次即可&lt;/font&gt;&lt;font color='FF0000'&gt;&lt;br /&gt;PS. 如果你還有其它問題或建議，請直接 mail 給我&lt;br /&gt;天秤可以直接回覆給你&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;簡單的說，就是因為 V3.6 版出現了小 bug&lt;br /&gt;使用者更新後，還是顯示 2008/01/01 的日期&lt;br /&gt;雖然如此，已經更新 V3.6 的使用者也不用擔心&lt;br /&gt;因為雖然顯示的日期錯誤&lt;br /&gt;&lt;font color='FF0000'&gt;但其實資料庫是有正確更新的&lt;br /&gt;也就是說你查詢到的時刻表會是正確的&lt;/font&gt;&lt;br /&gt;只是為了避免使用者的困擾，先行下架&lt;br /&gt;等修正錯誤的新版審核過後再上架了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-5133531979108989088?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/5133531979108989088/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=5133531979108989088' title='5 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5133531979108989088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5133531979108989088'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2010/06/blog-post_24.html' title='鐵道時刻表暫時下架的原因'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-6562507540938874602</id><published>2010-06-20T18:54:00.001-07:00</published><updated>2010-06-20T18:54:25.833-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='鐵道時刻表'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>關於鐵道時刻表的改版</title><content type='html'>&lt;p&gt;最近很多朋友寫信問天秤，希望天秤改版 鐵道時刻表&lt;br /&gt;大致上的需求都是界面的美化及快速訂票系統的改進&lt;br /&gt;沒錯，AppStore 上至今已經累積了數款 高鐵 的時刻表查詢訂票軟體&lt;br /&gt;我想大部份的人都是以別款軟體的功能來希望天秤加入&lt;br /&gt;既然如此，那天秤就說明一下好了&lt;br /&gt;雖然看似和 鐵道時刻表 裡面的高鐵時刻表 查詢軟體類似&lt;br /&gt;但其實設計理念還是有點差異&lt;/p&gt;&lt;p&gt;市面上的高鐵時刻表，都是以查詢單一列車為主&lt;br /&gt;也就是說是查詢某個時間點附近，某車站到某車站的列車而已&lt;br /&gt;至於再深入下去的查詢就沒有辦法了&lt;br /&gt;但 鐵道時刻表 的系統概念比較不同&lt;br /&gt;不管是 台鐵時刻表 或是 高鐵時刻表&lt;br /&gt;都是以三個元素組成，查詢列表、車號、車站，而且是三個元素可以互相連結 &lt;br /&gt;簡單來說&lt;br /&gt;&lt;span style="color: #ff0000;"&gt;就是你可以查詢某個時間區域內，某車站到某車站的列車 &lt;br /&gt;然後再由查詢到的列車車號，查詢該列車的所有停靠站 &lt;br /&gt;或再進一步由停靠站來查詢所有會停靠該車站的列車&lt;/span&gt;&lt;br /&gt;這樣的組合有什麼好處&lt;br /&gt;假設你在台北上車，朋友在新竹上車，你們想搭乘同一列車到台中&lt;br /&gt;你可以簡單查詢到你想搭乘的列車，然後查詢該列車有沒有停靠新竹 (或是幾點停靠新竹)&lt;br /&gt;才能和朋友決定要搭乘哪一班車&lt;br /&gt;甚至決定搭乘某班列車後，不用重新查詢就可以直接檢視台中站開回新竹、台北的列車&lt;br /&gt;決定回程的時間及停留台中的時間&lt;br /&gt;所有動作一次搞定，這是 AppStore 上其它單純只做查詢的軟體做不到的功能&lt;/p&gt;&lt;p&gt;再來是價格的問題&lt;br /&gt;從 2009 年 1 月至現在，鐵道時刻 表的前身 火車時刻表 開始&lt;br /&gt;軟體的售價就是 1.99 美金&lt;br /&gt;甚至在 2010 年 1 月還加入了 高鐵時刻表 而改名為 鐵道時刻表&lt;br /&gt;售價還是保持在 1.99 美金&lt;br /&gt;這款軟體在 AppStore 上架至今已經一年半了，還是保持在排行榜上&lt;br /&gt;天秤沒有因為它是台灣最早期的 iPhone 本土軟體而開高售價&lt;br /&gt;﻿也不會因為它的人氣而想要提高售價來大賺一筆&lt;br /&gt;但是最近 AppStore 上一堆台灣寫軟體，寫了個軟體上架受到注目&lt;br /&gt;就開始持續拉高價格，或是直接開高價來賺一筆&lt;br /&gt;什麼心經軟體的就是一例，實在是有損會身為寫軟體的人的格調&lt;br /&gt;至於時刻表的價格應該賣多少&lt;br /&gt;別人天秤管不著&lt;br /&gt;但是 &lt;span style="color: #3200ff;"&gt;鐵道時刻表就是台鐵、高鐵時刻表查詢二合一堅持 1.99 美金不會調漲&lt;/span&gt; (調降就看心情啦~)&lt;br /&gt;對於高於或等於 鐵道時刻表 的售價，功能卻只有 高鐵查詢訂票 的功能的軟體&lt;br /&gt;相較之下 鐵道時刻表 更是划算&lt;/p&gt;&lt;p&gt;再來就是界面和快速訂票的問題&lt;br /&gt;天秤只是一人工作室，白天還有正職的工作&lt;br /&gt;寫軟體真的只是晚上、假日的興趣&lt;br /&gt;不像其它工作室都是幾個人合作組成的專職工作室&lt;br /&gt;開發速度上就是比不上別的工作室了，但是也有個好處 &lt;br /&gt;天秤的軟體不需要開高價位來養活整個的工作室 (養活好幾個家庭)&lt;br /&gt;接的案子也是如此，開的價格也可以比別人實在&lt;br /&gt;(廣告一下，有人需要 iPhone 軟體開發的可以找天秤，價格可議，品質絕對滿意)&lt;br /&gt;但是雖然如此，天秤的軟體品質不會讓人失望 &lt;br /&gt;界面方面天秤已經在著手改進中，或許更新幾版後就會讓人耳目一新了&lt;br /&gt;快速訂票的部份當然程式的部份也是沒有問題 &lt;br /&gt;時間上會儘快找空閒的時間動手&lt;/p&gt;&lt;p&gt;至於其它的建議，或是有想法但懶得寄信給天秤的&lt;br /&gt;都可以利用提供一下你們的意見 &lt;br /&gt;讓 鐵道時刻表 這個軟體變的更好用~&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-6562507540938874602?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/6562507540938874602/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=6562507540938874602' title='5 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6562507540938874602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6562507540938874602'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2010/06/blog-post.html' title='關於鐵道時刻表的改版'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-1175788708894522345</id><published>2010-06-15T02:11:00.001-07:00</published><updated>2010-06-15T02:11:54.672-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>如何撰寫 iPhone 及 iPad 共用的 Universal 版本的 App</title><content type='html'>&lt;p&gt;首先先了解一件事&lt;br /&gt;iPhone 和 iPad 目前的版本分別為 3.1.3 及 3.2 (天秤寫這篇文章的當下)&lt;br /&gt;而兩者的解析度分為 768*1024 和 320*480&lt;br /&gt;因為解析度的大小的差異&lt;br /&gt;讓一款 App 要在不同平台運行，似乎是重新撰寫符合的解析度比較好&lt;br /&gt;或是直接讓同一款 App 可以同時支援兩個不同平台也是不錯的選擇&lt;br /&gt;雖然 App 可以編譯成 Universal 的版本&lt;br /&gt;不過不代表程式碼就可以寫一次同時通吃兩邊&lt;br /&gt;大部份的情況下，還是得依 iPhone 或是 iPad 的解析度來做修改&lt;br /&gt;甚至是重新撰寫程式碼&lt;/p&gt;&lt;h2&gt;1. 修改成支援 Universal 版本&lt;/h2&gt;&lt;p&gt;在選單的 &lt;span style="font-family: Arial; line-height: 20px;"&gt;&lt;strong&gt;Project﻿ &lt;/strong&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Arial; line-height: 20px;"&gt;&lt;strong&gt;Edit Project Settings&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family: Arial; line-height: 20px;"&gt; 設定為 iPhone/iPad&lt;br /&gt;iPhone OS 版本 Base SDK 可以設為 3.0 或 3.1 &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img title="螢幕快照 2010-06-15 下午4.55.00.png" src="http://lh6.ggpht.com/_ZZKHdIPn-ic/TBdDzFlij8I/AAAAAAAABGw/sq-ecPWAp8g/%3F%3F%3F%3F%202010-06-15%20%3F%3F4.55.00.png?imgmax=800" border="0" alt="螢幕快照 2010-06-15 下午4.55.00.png" width="501" height="91" /&gt;&lt;/p&gt;&lt;h2&gt;2. 判斷不同的平台，載入不同的 xib&lt;/h2&gt;&lt;p&gt;因為 iPhone 和 iPad 的解析度不同&lt;br /&gt;所以如果用 Interface Builder 建立的 xib 也必須依不同平台來製作&lt;br /&gt;例如&lt;/p&gt;&lt;p&gt;MainViewController.xib (for iPhone)&lt;br /&gt;MainViewControllerHD.xib (for iPad)&lt;/p&gt;&lt;p&gt;然後程式判斷目前運行的平台，載入不同的 xib&lt;br /&gt;&lt;span style="font-family: Menlo; font-size: 11px;"&gt;UI_USER_INTERFACE_IDIOM() 這個巨集，可以用來判斷目前是哪個平台&lt;/span&gt;&lt;br /&gt;但是有個問題，這個巨集是 v3.2 以上台有定義&lt;br /&gt;所以我們可以另外再做個函式來讓 V3.0 以上的版本都可以正確判斷&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"&gt;-(&lt;span style="color: #804528;"&gt;bool&lt;/span&gt;) isIpad&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"&gt;{&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"&gt;&lt;span style="white-space: pre;"&gt;&lt;/span&gt;&lt;span style="color: #ce00a4;"&gt;BOOL&lt;/span&gt; iPad = &lt;span style="color: #ce00a4;"&gt;NO&lt;/span&gt;;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #804528;"&gt;#ifdef UI_USER_INTERFACE_IDIOM&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"&gt;&lt;span style="white-space: pre;"&gt;&lt;/span&gt;iPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #804528;"&gt;#endif&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"&gt;&lt;span style="white-space: pre;"&gt;&lt;/span&gt;&lt;span style="color: #ce00a4;"&gt;return&lt;/span&gt; iPad;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"&gt;}&lt;/p&gt;&lt;p&gt;﻿ 最後在載入 xib 的程式碼中，加入判斷式&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"&gt;- (&lt;span style="color: #ce00a4;"&gt;BOOL&lt;/span&gt;)application:(&lt;span style="color: #7d1bac;"&gt;UIApplication&lt;/span&gt; *)application didFinishLaunchingWithOptions:(&lt;span style="color: #7d1bac;"&gt;NSDictionary&lt;/span&gt; *)launchOptions&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"&gt;{&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008d00;"&gt;&lt;span style="color: #000000;"&gt;&lt;/span&gt;// Override point for customization after app launch&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"&gt;&lt;span style="color: #ce00a4;"&gt;&lt;/span&gt;&lt;span style="color: #ce00a4;"&gt;if&lt;/span&gt; ([&lt;span style="color: #ce00a4;"&gt;self&lt;/span&gt;&lt;span style="color: #215b5e;"&gt;isIpad&lt;/span&gt;] == &lt;span style="color: #ce00a4;"&gt;TRUE&lt;/span&gt;)&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3c8388;"&gt;&lt;span style="color: #000000;"&gt; [&lt;/span&gt;window&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #470084;"&gt;addSubview&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;mainViewControllerHD&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #470084;"&gt;view&lt;/span&gt;&lt;span style="color: #000000;"&gt;];&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ce00a4;"&gt;&lt;span style="color: #000000;"&gt;&lt;/span&gt;else&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3c8388;"&gt;&lt;span style="color: #000000;"&gt; [&lt;/span&gt;window&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #470084;"&gt;addSubview&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;mainViewController&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #470084;"&gt;view&lt;/span&gt;&lt;span style="color: #000000;"&gt;];&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #470084;"&gt;&lt;span style="color: #000000;"&gt; [&lt;/span&gt;&lt;span style="color: #3c8388;"&gt;window&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;/span&gt;makeKeyAndVisible&lt;span style="color: #000000;"&gt;];&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;"&gt;&lt;span style="white-space: pre;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ce00a4;"&gt;&lt;span style="color: #000000;"&gt;&lt;/span&gt;return&lt;span style="color: #000000;"&gt;&lt;/span&gt;YES&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"&gt;}&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"&gt; &lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"&gt;iPhone 執行結果&lt;/p&gt;&lt;p&gt;&lt;img title="螢幕快照 2010-06-15 下午5.08.18.png" src="http://lh6.ggpht.com/_ZZKHdIPn-ic/TBdD0knsyuI/AAAAAAAABG0/y_vAW1zEgzo/%3F%3F%3F%3F%202010-06-15%20%3F%3F5.08.18.png?imgmax=800" border="0" alt="螢幕快照 2010-06-15 下午5.08.18.png" width="414" height="770" /&gt;&lt;/p&gt;&lt;p&gt;iPad 執行結果&lt;/p&gt;&lt;p&gt;&lt;img title="螢幕快照 2010-06-15 下午5.08.34.png" src="http://lh4.ggpht.com/_ZZKHdIPn-ic/TBdD11fBUaI/AAAAAAAABG4/n7MU6BwNc7Q/%3F%3F%3F%3F%202010-06-15%20%3F%3F5.08.34.png?imgmax=800" border="0" alt="螢幕快照 2010-06-15 下午5.08.34.png" width="500" height="637" /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-1175788708894522345?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/1175788708894522345/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=1175788708894522345' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1175788708894522345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1175788708894522345'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2010/06/iphone-ipad-universal-app.html' title='如何撰寫 iPhone 及 iPad 共用的 Universal 版本的 App'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_ZZKHdIPn-ic/TBdDzFlij8I/AAAAAAAABGw/sq-ecPWAp8g/s72-c/%3F%3F%3F%3F%202010-06-15%20%3F%3F4.55.00.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-7938451920354492680</id><published>2010-01-24T19:26:00.001-08:00</published><updated>2010-01-24T19:53:54.857-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='鐵道時刻表'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>[iApp] 火車時刻表正式改名為 鐵道時刻表 並降價 (包含一天免費下載)</title><content type='html'>&lt;a href="http://itunes.apple.com/tw/app/id304990376?mt=8"&gt;&lt;br /&gt;&lt;img src="http://lh6.ggpht.com/_ZZKHdIPn-ic/S10VJmbaDDI/AAAAAAAABGE/Bf9wefi3N7w/%3F%3F%3F%3F%202010-01-25%20%3F%3F11.50.38.png?imgmax=800" alt="螢幕快照 2010-01-25 上午11.50.38.png" border="0" width="191" height="193" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;原本只是台鐵的火車時刻表查詢軟體&lt;br /&gt;現在新版加入高鐵時刻表查詢功能&lt;br /&gt;因此火車時刻表正式改名為 鐵道時刻表&lt;br /&gt;已經購買過火車時刻表的使用者當然也是免費更新&lt;br /&gt;&lt;br /&gt;至於高鐵時刻表軟體就先暫時下架了&lt;br /&gt;當然還是有保留原本購買過高鐵時刻表的使用者權益&lt;br /&gt;軟體線上更新資料庫的功能都還在，也都可以正常使用&lt;br /&gt;有任何 bug 還是會持續修正並免費更新&lt;br /&gt;因為其高鐵時刻表查詢的功能，在新版鐵道時刻表都包含了&lt;br /&gt;避免不知情的使用者不小心購買了兩套而使得功能重複&lt;br /&gt;所以就暫時先不在架上販賣&lt;br /&gt;&lt;br /&gt;當然會有使用者會說&lt;br /&gt;火車時刻表和高鐵時刻表兩套都已購買了，現在變成一套感覺很不好&lt;br /&gt;這點就很抱歉了&lt;br /&gt;為了提供台鐵、高鐵交互查詢及整合的功能&lt;br /&gt;但因為 apple 的 sdk 限制，不同的兩套軟體是沒辦法做到的&lt;br /&gt;所以天秤只好讓一套下架，而把它的功能加入另一套裡&lt;br /&gt;讓使用者免費升級&lt;br /&gt;而哪一套下架，哪一套免費升級呢?&lt;br /&gt;當然是得讓價格高的火車時刻表那套升級&lt;br /&gt;才不會損害到花比較多錢購買的使用者的權益吧&lt;br /&gt;&lt;br /&gt;也就是說有原火車時刻表的使用者，得到的是新的軟體 "鐵道時刻表"&lt;br /&gt;台鐵、高鐵查詢及兩者整合查詢的功能&lt;br /&gt;而原高鐵時刻表的使用者，還是一樣可以正常使用，包含更新高鐵資料庫&lt;br /&gt;功能一樣沒有打折&lt;br /&gt;而都沒有購買過的新使用者，以原本買一套的價格&lt;br /&gt;就可以包含有兩套的功能&lt;br /&gt;我想這是比較好的處理方法吧&lt;br /&gt;&lt;br /&gt;最後就是&lt;br /&gt;鐵道時刻表台鐵、高鐵線上訂票的功能已完成，目前審核中&lt;br /&gt;近期將會上架，也接近過年大家放假出遊的日子&lt;br /&gt;為了回饋大家，但因為購送 Redeem Code 會有數量限制&lt;br /&gt;這次就不贈送 Redeem Code 了&lt;br /&gt;而是直接在新版上架那天讓它降價至免費軟體一天，讓有緣人可以免費下載&lt;br /&gt;大家過年出遊方便使用&lt;br /&gt;而免費那天之後就降價至 0.99 美元直到過新年吧&lt;br /&gt;至於哪一天會是上架日而降價免費的，天秤事先也不知道&lt;br /&gt;完全得看 apple 的作業了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-7938451920354492680?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/7938451920354492680/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=7938451920354492680' title='14 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7938451920354492680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7938451920354492680'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2010/01/iapp.html' title='[iApp] 火車時刻表正式改名為 鐵道時刻表 並降價 (包含一天免費下載)'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_ZZKHdIPn-ic/S10VJmbaDDI/AAAAAAAABGE/Bf9wefi3N7w/s72-c/%3F%3F%3F%3F%202010-01-25%20%3F%3F11.50.38.png?imgmax=800' height='72' width='72'/><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-7186460730478871330</id><published>2010-01-14T18:03:00.001-08:00</published><updated>2010-01-24T22:39:46.657-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr 2.8.1 released</title><content type='html'>針對 WLW 無法使用的問題&lt;br /&gt;因為不確定是否 WLW 的 Library 版本及 Friendly.Flickr 搭配的問題&lt;br /&gt;且 Win7 64bit 與 XP 32bit 的問題，情況太複雜&lt;br /&gt;所以如果可以使用就繼續使用&lt;br /&gt;無法使用的天秤是建議改用 Friendly.Flickr.exe 來替代&lt;br /&gt;只是多個步驟是手動由剪貼簿將語法貼上 WLW 而已&lt;br /&gt;並不會造成多大的麻煩的&lt;br /&gt;而且重複查詢照片、貼圖不用像 WLW 版本必須開開關關軟體&lt;br /&gt;整體而且貼圖速度也會比 WLW 版本較快速&lt;br /&gt;請各位試試看吧~&lt;br /&gt;&lt;br /&gt;其實早一點習慣用 Friendly.Flickr.exe 也好&lt;br /&gt;或許某一天天秤會取消釋出 WLW 版本的&lt;br /&gt;因為 Friendly.Flickr.exe 的功能是可以 "完全" 取代 WLW 版本的&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;再更新一版&lt;br /&gt;修正上一版的 Friendly.Flickr.exe 照片集數量顯示為 0 的問題&lt;br /&gt;及 WLW 無法登入 Flickr 的問題&lt;br /&gt;&lt;br /&gt;注意: WLW 的使用者如果還是無法使用&lt;br /&gt;也許是 WLW 的版本太舊的原因&lt;br /&gt;因為這版是用最新版 WLW 的 Library 編譯的&lt;br /&gt;請先換成最新版本的 WLW 再試試&lt;br /&gt;天秤是安裝 WLW 14.0.8089.726 zh-tw 版本&lt;br /&gt;&lt;br /&gt;PS. Windows 32bit 及 64bit 的使用者都可以下載這一版的來使用&lt;br /&gt;已測試過可以正常執行&lt;br /&gt;&lt;br /&gt;&lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.8.1.zip"&gt;Friendly.Flickr 2.8.1 下載處&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://richielin.summerhost.info/Friendly.Flickr.2.8.1.zip"&gt;Friendly.Flickr 2.8.1 下載處 2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-7186460730478871330?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/7186460730478871330/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=7186460730478871330' title='89 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7186460730478871330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7186460730478871330'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2010/01/friendlyflickr-281-released.html' title='Friendly.Flickr 2.8.1 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>89</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-160375879037658437</id><published>2010-01-14T05:52:00.001-08:00</published><updated>2010-01-14T07:49:40.408-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr 2.8 released</title><content type='html'>注意: 2.7.2.2 版可以正常使用的人&lt;br /&gt;請不要更新&lt;br /&gt;如果想上傳超過 10mb 的照片，等新版一些問題先解決之後再更新&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;目前已知的問題，剩下的就請其它朋友回報了&lt;br /&gt;&lt;br /&gt;1. XP 下 WLW 會有問題&lt;br /&gt;ans: 我會再找台 XP 來編譯 32bit 的版本，到時再請 XP 使用者再試試&lt;br /&gt;&lt;br /&gt;2. 執行上傳照片時會出現錯誤&lt;br /&gt;ans: 似乎是 XP 使用者才會出現，和上一題一樣&lt;br /&gt;這也是得等我釋出 32bit 的版本再試試了&lt;br /&gt;&lt;br /&gt;3. 照片集的數量顯示為 0&lt;br /&gt;ans: 請重新下載 2.8 版試試，已修正 (一樣是 2.8 版，懶得加版本編號了)&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;很高興原來還有那麼多人使用著 Friendly.Flickr&lt;br /&gt;所以今天先將 Friendly.Flickr 更新了&lt;br /&gt;沒有做太大的更動，主要是修正上版無法登入的問題&lt;br /&gt;及可以上傳超過 10mb 的照片這兩項&lt;br /&gt;&lt;br /&gt;還有一點說明一下&lt;br /&gt;現在上傳後的照片，在 Flickr 中都會加上 Friendly.Flickr 的 tag&lt;br /&gt;希望對大家沒有太大的影響&lt;br /&gt;但是可以幫忙推廣一下 Friendly.Flickr&lt;br /&gt;也可以讓天秤了解還有多少人使用它&lt;br /&gt;還有一點，軟體還是一樣是免費的&lt;br /&gt;如果喜歡的它話，就幫忙點一下部落格中的 google 廣告吧&lt;br /&gt;天秤部落格廣告點擊率少的可憐啊&lt;br /&gt;謝謝~&lt;br /&gt;&lt;br /&gt;&lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.8.zip"&gt;Friendly.Flickr 2.8 下載處&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;天秤目前手上只找得到 Windows 7 作業系統&lt;br /&gt;所以這版以 Windows 7 64bit 所編譯&lt;br /&gt;不知道在 XP 或是 32bit 的平台下是不是可以正常執行&lt;br /&gt;還請有使用的人回報一下&lt;br /&gt;不行的話，天秤只好再找台 XP 電腦來作業，再釋出 32bit 的版本&lt;br /&gt;&lt;br /&gt;對了!&lt;br /&gt;為了感謝大家的支持&lt;br /&gt;這版加入了不一定有用的隱藏的秘密武器，大家自己去找找看了&lt;br /&gt;天秤很明顯的提示一下 - 圖 右鍵 變身&lt;br /&gt;希望大家會喜歡~&lt;br /&gt;找到的人請來天秤部落格留言一下，幫忙衝個人氣也好&lt;br /&gt;&lt;br /&gt;請注意: 隱藏的變身功能只是測試，還不一定穩定，不過也沒什麼壞處就是了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-160375879037658437?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/160375879037658437/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=160375879037658437' title='30 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/160375879037658437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/160375879037658437'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2010/01/friendlyflickr-28-released.html' title='Friendly.Flickr 2.8 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>30</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-9066170937004425041</id><published>2010-01-12T21:27:00.001-08:00</published><updated>2010-01-13T17:07:49.305-08:00</updated><title type='text'>Friendly.Flickr 這幾天失效的問題回應</title><content type='html'>了解了，各位&lt;br /&gt;天秤這幾天會進行檢查&lt;br /&gt;順利的話，預計這禮拜結束前會釋出新版本的&lt;br /&gt;感謝大家~&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;這幾天有許多使用者反應&lt;br /&gt;Friendly.Flickr 無法連上 Flickr 的問題&lt;br /&gt;&lt;br /&gt;我想也許是 Flickr 更動了 API 的部份&lt;br /&gt;造成 Friendly.Flickr 失效了&lt;br /&gt;或是 Flickr 的伺服器問題&lt;br /&gt;這一部份我會再找時間檢查&lt;br /&gt;這段時間就請使用官方的上傳軟體來使用吧&lt;br /&gt;&lt;br /&gt;其實有點懶得更新了，畢竟主要平台都轉移到 MAC 上了&lt;br /&gt;要更新的話還得重新回到 Windows 底下作業&lt;br /&gt;所以更新順便統計一下&lt;br /&gt;還有多少人在使用 Friendly.Flickr ?&lt;br /&gt;這會影體到天秤更新的意願的&lt;br /&gt;謝謝~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-9066170937004425041?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/9066170937004425041/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=9066170937004425041' title='157 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/9066170937004425041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/9066170937004425041'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2010/01/friendlyflickr.html' title='Friendly.Flickr 這幾天失效的問題回應'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>157</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-8672697471863630335</id><published>2010-01-11T08:22:00.001-08:00</published><updated>2010-01-11T08:22:34.552-08:00</updated><title type='text'>火車時刻表改版中</title><content type='html'>預計加入高鐵時刻表及轉乘資訊到同一套軟體內，免費 &lt;br&gt;更新&lt;br&gt;還有一些新功能也會陸續加入&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-8672697471863630335?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/8672697471863630335/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=8672697471863630335' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8672697471863630335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8672697471863630335'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2010/01/blog-post.html' title='火車時刻表改版中'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-2271491341020373332</id><published>2009-12-14T01:15:00.001-08:00</published><updated>2009-12-14T01:15:31.134-08:00</updated><title type='text'>iPhone 軟體、遊戲合作提案</title><content type='html'>如果有 iPhone 軟體、遊戲開發上的需求或合作提案&lt;br&gt;可與天秤連絡&lt;br&gt;Email: &lt;a href="mailto:richielin996@gmail.com"&gt;richielin996@gmail.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;專長: &lt;br&gt;iPhone 上資訊類軟體&lt;br&gt;網頁及網路應用相關軟體&lt;br&gt;電子書或教育類軟體&lt;br&gt;2D 遊戲開發&lt;br&gt;廣告相關軟體&lt;br&gt;&lt;br&gt;天秤只負責程式開發部份&lt;br&gt;如果是遊戲軟體有另外的美工需求&lt;br&gt;記得請提供相關的美工圖檔哦&lt;br&gt;價格方面再細談&lt;br&gt;但基本上還是以提案者的預算為主&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-2271491341020373332?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/2271491341020373332/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=2271491341020373332' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2271491341020373332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2271491341020373332'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2009/12/iphone_14.html' title='iPhone 軟體、遊戲合作提案'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-3772804394905978399</id><published>2009-10-07T23:07:00.001-07:00</published><updated>2009-10-07T23:07:38.980-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>關於 LearningEnglish 無法發音的問題</title><content type='html'>說真的&lt;br /&gt;這套軟體是天秤幾年前的小作品了&lt;br /&gt;當初也只是自己寫來玩玩，順便練習一下英文&lt;br /&gt;沒想到過了那麼久，直到今年才那麼多人注意&lt;br /&gt;&lt;br /&gt;不過時過境遷&lt;br /&gt;現在天秤的電腦環境也大都從 Windows 轉移到 MAC 平台上了&lt;br /&gt;當初學習 .NET Framework 的興趣也都轉移到 Objective-C 上&lt;br /&gt;所以很多之前天秤寫的 Windows 平台的軟體都很久沒更新了&lt;br /&gt;也是這個原因&lt;br /&gt;&lt;br /&gt;不過懶得更新，不代表永遠不會更新&lt;br /&gt;只是什麼時候天秤也說不得準的&lt;br /&gt;因為手上的事實在太多&lt;br /&gt;況且還有許多現實面的東西需要天秤去處理，也不是一朝一夕可以搞定的&lt;br /&gt;所以許多事就先按下來了&lt;br /&gt;說聲抱歉了，大家&lt;br /&gt;等天秤事情處理完，再來一次把所有問題解決&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-3772804394905978399?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/3772804394905978399/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=3772804394905978399' title='13 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3772804394905978399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3772804394905978399'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2009/10/learningenglish.html' title='關於 LearningEnglish 無法發音的問題'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-4315143781819403062</id><published>2009-09-17T18:23:00.001-07:00</published><updated>2009-09-17T18:23:37.841-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>火車、高鐵時刻表已更新</title><content type='html'>天秤最近真的是很懶，懶得寫落部格也懶得寫程式&lt;br /&gt;兩個時刻表已知的問題竟然拖到現在才修正&lt;br /&gt;直到最近才陸陸續續順利上架完成&lt;br /&gt;請舊雨新知到 iTunes 上更新了&lt;br /&gt;&lt;br /&gt;&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=304990376&amp;mt=8"&gt;&lt;img src="http://lh6.ggpht.com/_ZZKHdIPn-ic/SrLf3nVNvYI/AAAAAAAABC4/xMDXRsX_bjE/%3F%3F%3F%3F%3F%202.2.1.png?imgmax=800" alt="火車時刻表 2.2.1.png" border="0" width="57" height="57" /&gt;&lt;h3&gt;火車時刻表&lt;/h3&gt;&lt;/a&gt;&lt;br /&gt;V2.3&lt;br /&gt;- 線上訂票系統已修正&lt;br /&gt;- 解決站別時刻表查詢新竹等幾站對號列車只顯示一站的問題&lt;br /&gt;- 選單顯示方式改變&lt;br /&gt;- 修正已知 memory leak 的問題&lt;br /&gt;- 修正由書籤選擇後，按起程站、到達站互換按鈕會 crash 的問題&lt;br /&gt;- 修正按下圖示說明會當機的問題&lt;br /&gt;&lt;br /&gt;&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=306735918&amp;mt=8"&gt;&lt;img src="http://lh6.ggpht.com/_ZZKHdIPn-ic/SrLf6sX90OI/AAAAAAAABC8/DrCa6FwWktc/%3F%3F%3F%3F%3F%202.2.png?imgmax=800" alt="高鐵時刻表 2.2.png" border="0" width="57" height="57" /&gt;&lt;h3&gt;高鐵時刻表&lt;/h3&gt;&lt;/a&gt;&lt;br /&gt;V2.2&lt;br /&gt;- 加入線上訂票功能&lt;br /&gt;- 修正已知 memory leak 的問題&lt;br /&gt;- 修正資料庫取得的方式，以達資料的最正確性&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-4315143781819403062?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/4315143781819403062/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=4315143781819403062' title='4 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4315143781819403062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4315143781819403062'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2009/09/blog-post.html' title='火車、高鐵時刻表已更新'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_ZZKHdIPn-ic/SrLf3nVNvYI/AAAAAAAABC4/xMDXRsX_bjE/s72-c/%3F%3F%3F%3F%3F%202.2.1.png?imgmax=800' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-7774351106077981309</id><published>2009-09-15T18:53:00.001-07:00</published><updated>2009-09-15T18:53:56.291-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>Sorry! 留言的朋友們</title><content type='html'>很抱歉，最近留言的朋友們&lt;br /&gt;因為天秤最近有點忙，所以通常都直接到部落格看邊邊的 "最新回應"&lt;br /&gt;看是不是有朋友留言給天秤&lt;br /&gt;結果最近一直沒有看到新留言，以為是天秤懶得更新文章&lt;br /&gt;所以沒有朋友來留言了&lt;br /&gt;&lt;br /&gt;直到今天才發現，原來是天秤設定錯誤了&lt;br /&gt;因為之前討厭有人到天秤部落格來發一堆廣告留言&lt;br /&gt;一氣之下把部落格留言設定為 "留言管理"&lt;br /&gt;但卻忘了設定 "留言回應信箱"&lt;br /&gt;結果一堆留言全積在管理留言裡面，待天秤去管理，而沒有直接發佈出來&lt;br /&gt;但天秤卻一直到落部格上看是不是有新留言&lt;br /&gt;陰錯陽差之後，導致留言積了 100+ 沒有看到&lt;br /&gt;&lt;br /&gt;而有些留言是有時效性的，這就非常的抱歉了&lt;br /&gt;天秤不是不理人，而是設定錯誤了&lt;br /&gt;不過現在發現之後，留言部份已設定好了，應該是正常了&lt;br /&gt;還請之前有留言過，但天秤沒有理會的朋友見諒了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-7774351106077981309?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/7774351106077981309/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=7774351106077981309' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7774351106077981309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7774351106077981309'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2009/09/sorry.html' title='Sorry! 留言的朋友們'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-6466569933102236734</id><published>2009-07-14T02:21:00.001-07:00</published><updated>2009-07-14T02:21:17.301-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><title type='text'>[iPhone App] 桃園三匪 - 一個對方塊風格執著青年的三國漫畫軟體</title><content type='html'>最近天秤沒什麼作品，不是不想寫軟體了&lt;br /&gt;事實上手中想寫的軟體還好幾個，但一直沒有完成&lt;br /&gt;只有一個字 - 懶&lt;br /&gt;其中有好幾個都是寫到一半，就缺乏動力繼續了&lt;br /&gt;唯一一個努力完成的作品，就是現在天秤要介紹的電子漫畫軟體&lt;br /&gt;&lt;br /&gt;&lt;a href="http://appshopper.com/link/桃園三匪"&gt;&lt;img src="http://lh6.ggpht.com/_ZZKHdIPn-ic/SlxNcFfBOLI/AAAAAAAABCA/fiOyMFu8ziY/973929.png?imgmax=800" alt="973929.png" border="0" width="60" height="60" /&gt;&lt;/a&gt;  桃園三匪&lt;br /&gt;&lt;br /&gt;這是第一個天秤幫朋友完成的電子漫畫作品&lt;br /&gt;作者是經營自己部落格的學生 &lt;br /&gt;部落格 &lt;a href="http://sohomeinpixel.blogspot.com/"&gt;《桃園三匪》很正經的三國四格漫畫&lt;/a&gt;&lt;br /&gt;(順便幫他打一下廣告)&lt;br /&gt;&lt;br /&gt;所繪的漫畫風格是少見方塊風格 (Pixel Art)&lt;br /&gt;有經歷過以前電玩 (任天堂) 的玩家們，應該會覺到一種熟悉的味道&lt;br /&gt;就是這種懷舊的感覺&lt;br /&gt;主線當然是以三國歷史為主，但內容卻是盡情的 Kuso&lt;br /&gt;這種正經又搞笑的漫畫&lt;br /&gt;現在要以 App 型態出現在你我的手機上了&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sohomeinpixel.blogspot.com/"&gt;&lt;img src="http://lh3.ggpht.com/_ZZKHdIPn-ic/Slw_JZdZb_I/AAAAAAAABB8/LIBVZoPQHBQ/%3F%3F%201.png?imgmax=800" alt="圖片 1.png" border="0" width="450" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;目前收錄了作者 1~50 回漫畫及番外篇&lt;br /&gt;而 50 回後的漫畫也在準備中&lt;br /&gt;另外預計改版後也會放上 MSN 大頭貼或其它功能&lt;br /&gt;甚至是互動小遊戲&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh6.ggpht.com/_ZZKHdIPn-ic/Slw-tUhITHI/AAAAAAAABB4/qeItlqSJtqU/%3F%3F%202.png?imgmax=800" alt="圖片 2.png" border="0" width="220" height="187" /&gt;&lt;br /&gt;&lt;br /&gt;軟體將以免費的型態推出&lt;br /&gt;然而作者也花了許多心力在繪製這些漫畫&lt;br /&gt;也持續的執著在方塊風格漫畫的路上&lt;br /&gt;以免費軟體型態推出，是希望有更多人能接觸到作者的創意&lt;br /&gt;日後如果章節愈來愈多時，當然希望喜歡的人能花點小點贊助一下辛苦的作者&lt;br /&gt;可能會小小調整一下價格，但至少目前絕對是免費的&lt;br /&gt;而且現在下載的軟體，日後當然也是可以免費更新新的章節&lt;br /&gt;喜歡三國搞笑漫畫的朋友動作可要快了&lt;br /&gt;&lt;br /&gt;放上幾張電子書的圖，供大家欣賞&lt;br /&gt;其餘的漫畫，就好好坐在沙發，直接在你的 iPhone 上欣賞吧&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh5.ggpht.com/_ZZKHdIPn-ic/Slwmq4LJ3VI/AAAAAAAABBk/b7DD_WJXmyY/mzl.xnsrlixu.png?imgmax=800" alt="mzl.xnsrlixu.png" border="0" width="320" height="480" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh4.ggpht.com/_ZZKHdIPn-ic/SlwmwzMUVPI/AAAAAAAABBo/V9R1N3Z3r4Y/mzl.vzxnabty.png?imgmax=800" alt="mzl.vzxnabty.png" border="0" width="320" height="480" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh4.ggpht.com/_ZZKHdIPn-ic/Slwm25skrbI/AAAAAAAABBs/zpBIjcY0Tjw/mzl.ybausaet.png?imgmax=800" alt="mzl.ybausaet.png" border="0" width="320" height="480" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh5.ggpht.com/_ZZKHdIPn-ic/Slwm7qvWnzI/AAAAAAAABBw/QJYo_34FTbg/mzl.rsstggjk.png?imgmax=800" alt="mzl.rsstggjk.png" border="0" width="320" height="480" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh6.ggpht.com/_ZZKHdIPn-ic/SlwnA7waElI/AAAAAAAABB0/NHR1Lsm5Oms/mzl.wqfoiipu.png?imgmax=800" alt="mzl.wqfoiipu.png" border="0" width="320" height="480" /&gt;&lt;br /&gt;&lt;br /&gt;轉貼一下軟體的特色&lt;br /&gt;* 限時特價免費，目前收錄 1 ~ 50 回四格漫畫&lt;br /&gt;* 不定時更版時將持續新增漫畫內容，日後視情況適當調整售價&lt;br /&gt;* 喜歡 Kuso 及三國的朋友，趁免費期間，請把握機會&lt;br /&gt;&lt;br /&gt;歷史上總記載「有勇無謀」的將領，&lt;br /&gt;但有勇無謀如何能名留史書？&lt;br /&gt;以三國(三爺?)故事為主題的四格漫無料下載!&lt;br /&gt;有別於傳統圖文漫畫，&lt;br /&gt;用特別的 pixel 風格來繪製的四格搞笑漫畫。&lt;br /&gt;故事圍繞在劉、關、張三人身上，又稱《桃園三匪》。&lt;br /&gt;&lt;br /&gt;工作常業忙碌，對生活充滿無趣嗎&lt;br /&gt;Kuso 可愛的三國人物，搞笑的三國歷史陪你歡笑一下&lt;br /&gt;活生生的人物特色，無厘頭搞笑的對話&lt;br /&gt;讓你完全溶入不一樣的三國世界&lt;br /&gt;&lt;br /&gt;軟體特色&lt;br /&gt;- 完全顛覆你的思考的三國歷史漫畫題材&lt;br /&gt;- 純 Kuso 搞笑，保証讓你開懷&lt;br /&gt;- 特殊 pixel 風格及 3D 視角的人物，耳目一新&lt;br /&gt;- 漫畫內容會持續更新增加，最有料&lt;br /&gt;- 記錄上一次欣賞的章節，下次啟動會回到上一次看的位置&lt;br /&gt;&lt;br /&gt;&lt;a href="http://richielin-programer.blogspot.com/"&gt;搖擺天秤的程式開發日誌&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-6466569933102236734?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/6466569933102236734/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=6466569933102236734' title='6 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6466569933102236734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6466569933102236734'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2009/07/iphone-app.html' title='[iPhone App] 桃園三匪 - 一個對方塊風格執著青年的三國漫畫軟體'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_ZZKHdIPn-ic/SlxNcFfBOLI/AAAAAAAABCA/fiOyMFu8ziY/s72-c/973929.png?imgmax=800' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-5686725634733614384</id><published>2009-03-29T18:43:00.001-07:00</published><updated>2009-03-29T18:49:52.475-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><title type='text'>高鐵時刻表 V1.3 被 Apple 退了</title><content type='html'>很抱歉，高鐵時刻表 V1.3 沒有通過 Apple 的審核&lt;br /&gt;因為原本我是用寫上 "查詢" 的自訂按鈕來做查詢的動作&lt;br /&gt;這版換上系統預設的 Search 按鈕，結果被 Apple 退件了&lt;br /&gt;以下是 Apple 的說明，認為我的 Search 按鈕不是用在它定義的用途上&lt;br /&gt;我覺得這個按鈕放在這裡很直覺啊&lt;br /&gt;OK, 既然 Apple 認為不行就改掉好了&lt;br /&gt;那就請大家在等一個禮拜吧&lt;br /&gt;&lt;br /&gt;PS. 有點厭惡 Apple 緩慢的審核動作，動不動就以一個禮拜為單位&lt;br /&gt;一點效率都沒有&lt;br /&gt;&lt;br /&gt;Your application, 高鐵時刻表, cannot be submitted to the App Store because it uses a standard "Search" button for an action which is not its intended purpose.  Applications must adhere to the iPhone Human Interface Guidelines as outlined in iPhone SDK Agreement section 3.3.5.&lt;br /&gt;&lt;br /&gt;The standard "Search" button is to be used to display a search field.  Implementing standard buttons to perform other tasks will lead to user confusion.  We recommend using a custom button. Please refer to the attached screenshot. &lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh3.ggpht.com/_ZZKHdIPn-ic/SdAftr6ECFI/AAAAAAAAA1k/DWuPbCXCNmY/iPhone%20%3F%3F%3F.jpg?imgmax=800" alt="iPhone 模拟器.jpg" border="0" width="320" height="477" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-5686725634733614384?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/5686725634733614384/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=5686725634733614384' title='8 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5686725634733614384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5686725634733614384'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2009/03/v13-apple_29.html' title='高鐵時刻表 V1.3 被 Apple 退了'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_ZZKHdIPn-ic/SdAftr6ECFI/AAAAAAAAA1k/DWuPbCXCNmY/s72-c/iPhone%20%3F%3F%3F.jpg?imgmax=800' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-8375710990068155627</id><published>2009-03-26T03:25:00.001-07:00</published><updated>2009-03-26T03:25:52.724-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>iPhone OS 與 WM</title><content type='html'>不是想做深入的研究&lt;br /&gt;只是就天秤兩者開發過的經驗，寫一下心得罷了&lt;br /&gt;&lt;br /&gt;在程式語言方面，不可否認的&lt;br /&gt;C# + .NET Framework 確實是比 Objective-C + Cocoa 來得平易近人&lt;br /&gt;C# 在事件處理 (Delegate) 等的語法，真的是很漂亮&lt;br /&gt;加上 Visual Studio 的易用的環境，及整合的 RAD 的界面&lt;br /&gt;寫 WM 的程式真的是很輕鬆&lt;br /&gt;而 XCode 難用的開發環境，讓 iPhone 的開發難度高了一點&lt;br /&gt;和界面開發的 Interface Builder 的整合也不高&lt;br /&gt;很多時候，得在一大堆視窗中尋找自己要的東西&lt;br /&gt;&lt;br /&gt;而 iPhone SDK Class reference 也實在是比不上 MSDN 的完整&lt;br /&gt;常常有些功能，根本找不到相關函式或 Delegate&lt;br /&gt;只能透過 Google 大神的幫助才得到解決&lt;br /&gt;而 Visual Studio 只要在物件後鍵入 . 時，自動列出的函式也很完整&lt;br /&gt;(XCode 列出來的常常是錯誤的，或根本沒這個函式)&lt;br /&gt;&lt;br /&gt;不過除了開發環境之外，iPhone 的 Framework 及視覺元件就是 WM 比不上的了&lt;br /&gt;這也是 Apple 一直以來的強項&lt;br /&gt;在手機系統上，因為螢幕小，很多時候得靠多個 View 互相切換來顯示資訊&lt;br /&gt;WM 上則必須自己 Handle 每個 View 的關係，常常得塞入一些按鈕來換頁&lt;br /&gt;而 iPhone 的 NavController 等視覺元件則幫大家處理好這些事了&lt;br /&gt;只要建好 View，然後要切換時一層一層 push 進 Controller&lt;br /&gt;回上層時只要 pop 就可，十分方便&lt;br /&gt;這簡單的概念，但對開發手機軟體，十分的受用&lt;br /&gt;而許多視覺元件也都支援動態顯示，以來處理淡入、淡出，視窗切換等效果&lt;br /&gt;&lt;br /&gt;再來就是 Image 的處理了&lt;br /&gt;不知道在新的 WM 上開發是否有新的方式&lt;br /&gt;但天秤接觸時的 WM 開發，在處理 Image 時，對 PNG 透空(遮罩) 的處理實在是不行&lt;br /&gt;例如說兩層的 Image 相疊，加上 View 的底色為紅色&lt;br /&gt;照理說最上層 Image 在透明的顏色應該要看到下面一層的 Image 顏色&lt;br /&gt;第二層如果是透明的，應該看到 View 上的底色&lt;br /&gt;但是在 WM 上完全不是這麼回事，不是第一層透明就直接看到底色了&lt;br /&gt;就是遇到透明時，看到的是 Image 元件的預設顏色 (就是視窗灰色的底色)&lt;br /&gt;這就讓想 Image 很難處理各種應用，不知道這點是否有改善了&lt;br /&gt;在 iPhone 上，該是透明就是透明，不會有奇奇怪怪的顏色跑出來&lt;br /&gt;而且最重要的一點，UIImageView 的處理速度還真是快&lt;br /&gt;用來寫小遊戲已經十分夠用了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-8375710990068155627?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/8375710990068155627/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=8375710990068155627' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8375710990068155627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8375710990068155627'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2009/03/iphone-os-wm.html' title='iPhone OS 與 WM'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-1538923360675066392</id><published>2009-03-23T03:00:00.001-07:00</published><updated>2009-03-23T03:10:42.899-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><title type='text'>台鐵、高鐵時刻表 V1.3 已送交 Apple 審核中</title><content type='html'>台鐵火車時刻表 V1.3 預計加入以下功能&lt;br /&gt;* 加入書籤功能，包含新增、刪除、移動書籤順序&lt;br /&gt;* 補足線上更新資料庫的功能&lt;br /&gt;* 加快軟體啟動時間及運作流暢度&lt;br /&gt;* 更新資料庫至 2009/03/17&lt;br /&gt;&lt;br /&gt;高鐵時刻表 V1.3 預計加入以下功能&lt;br /&gt;* 加入英文版本顯示 (English Version)&lt;br /&gt;* 加入書籤功能，包含新增、刪除、移動書籤順序&lt;br /&gt;* 補足線上更新資料庫的功能&lt;br /&gt;* 加快軟體啟動時間及運作流暢度&lt;br /&gt;&lt;br /&gt;PS. 更新至 3.0 beta 版本的朋友，按 "站別時刻表" 會使軟體掛掉&lt;br /&gt;初步判斷是 3.0 Bug 的問題 (未升級的 iPhone 不會掛掉)&lt;br /&gt;就看未來正式版本或是有找到解決的辦法再說了&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh6.ggpht.com/_ZZKHdIPn-ic/ScdcqRBR7nI/AAAAAAAAA1Q/s2-rCnTbxG0/IMG_0021.jpg?imgmax=800" alt="IMG_0021.jpg" border="0" width="450" /&gt;&lt;br /&gt;&lt;br /&gt;按左下的圖示，可以把目前搜尋條件加入書籤內&lt;br /&gt;&lt;img src="http://lh6.ggpht.com/_ZZKHdIPn-ic/Scdc43XzgZI/AAAAAAAAA1U/5lFJV54Lc18/IMG_0022.PNG?imgmax=800" alt="IMG_0022.PNG" border="0" width="320" height="480" /&gt;&lt;br /&gt;&lt;br /&gt;書籤顯示功能&lt;br /&gt;1. 點書籤可以把書籤記錄的條件帶回主畫面&lt;br /&gt;2. 按右邊箭頭，可以直接以此書籤條件來搜尋車次&lt;br /&gt;&lt;img src="http://lh3.ggpht.com/_ZZKHdIPn-ic/Scdc7WLiIeI/AAAAAAAAA1Y/3aaYN4FRxIw/IMG_0023.PNG?imgmax=800" alt="IMG_0023.PNG" border="0" width="320" height="480" /&gt;&lt;br /&gt;&lt;br /&gt;點右上的編輯按鈕，可以跳至編輯畫面&lt;br /&gt;點左邊可以刪除書籤&lt;br /&gt;&lt;img src="http://lh3.ggpht.com/_ZZKHdIPn-ic/Scdc9HGvFSI/AAAAAAAAA1c/J3LMEedbRDo/IMG_0024.PNG?imgmax=800" alt="IMG_0024.PNG" border="0" width="320" height="480" /&gt;&lt;br /&gt;&lt;br /&gt;拖曳右邊的圖示，也可以移動書籤&lt;br /&gt;&lt;img src="http://lh3.ggpht.com/_ZZKHdIPn-ic/Scdc_sddBfI/AAAAAAAAA1g/Q77dLI9dUpM/IMG_0025.PNG?imgmax=800" alt="IMG_0025.PNG" border="0" width="320" height="480" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-1538923360675066392?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/1538923360675066392/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=1538923360675066392' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1538923360675066392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1538923360675066392'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2009/03/v13-apple.html' title='台鐵、高鐵時刻表 V1.3 已送交 Apple 審核中'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_ZZKHdIPn-ic/ScdcqRBR7nI/AAAAAAAAA1Q/s2-rCnTbxG0/s72-c/IMG_0021.jpg?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-5689966527114624169</id><published>2009-03-18T18:10:00.001-07:00</published><updated>2009-03-22T23:35:30.112-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><title type='text'>3/16 高鐵新時刻表會隨著 V1.2 版更新</title><content type='html'>* V1.2 版已經上架了，需要 3/16 時刻表的朋友可以更新了&lt;br /&gt;&lt;br /&gt;因為原本線上更新資料庫的引擎不符使用了&lt;br /&gt;所以此次 3/16 的新時刻表無法由線上更新，必須軟體更新才行&lt;br /&gt;故 3/16 高鐵新時刻表會隨著 V1.2 版更新&lt;br /&gt;已送 Apple 審核一段時間了，順利的話預計應該這個禮拜 3/21 前會上架了才對&lt;br /&gt;不過 Apple 審核時間不定，實在無法正確預估上架時間&lt;br /&gt;這點請多多包含~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-5689966527114624169?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/5689966527114624169/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=5689966527114624169' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5689966527114624169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5689966527114624169'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2009/03/316-v12.html' title='3/16 高鐵新時刻表會隨著 V1.2 版更新'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-8031810832645145800</id><published>2009-03-05T17:38:00.001-08:00</published><updated>2009-03-05T17:38:39.411-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><title type='text'>[iPhone App] 高鐵時刻表</title><content type='html'>天秤第二個 iPhone 軟體也上架了 - 高鐵時刻表&lt;br /&gt;基本上操作方式和火車時刻表相同，但這次加上了藍橘標及票價顯示的功能&lt;br /&gt;線上更新資料的版本也送至 Apple 審核了&lt;br /&gt;預計一個禮拜左右就可以更新成線上更新版了&lt;br /&gt;&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=306735918&amp;mt=8"&gt;&lt;img src="http://lh3.ggpht.com/_ZZKHdIPn-ic/SaPAuBSzJaI/AAAAAAAAA0s/p16fpUufjF8/avail_on_app_store.png?imgmax=800" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh4.ggpht.com/_ZZKHdIPn-ic/SbB9aQNOGYI/AAAAAAAAA1E/JHmkj8_jqEw/IMG_0004.jpg?imgmax=800" alt="IMG_0004.jpg" border="0" width="320" height="480" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh6.ggpht.com/_ZZKHdIPn-ic/SbB9qcukbKI/AAAAAAAAA1I/zs-G3OdcmME/IMG_0006.jpg?imgmax=800" alt="IMG_0006.jpg" border="0" width="320" height="480" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh3.ggpht.com/_ZZKHdIPn-ic/SbB9u8FD7eI/AAAAAAAAA1M/LsFYOlqr63k/IMG_0007.jpg?imgmax=800" alt="IMG_0007.jpg" border="0" width="320" height="480" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;另外一點&lt;br /&gt;也提供了免費版本，除了藍橘標及票價之外，其除相同&lt;br /&gt;預計下個禮拜也有線上更新資料的版本供更新&lt;br /&gt;&lt;br /&gt;&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=306738229&amp;mt=8"&gt;&lt;img src="http://lh3.ggpht.com/_ZZKHdIPn-ic/SaPAuBSzJaI/AAAAAAAAA0s/p16fpUufjF8/avail_on_app_store.png?imgmax=800" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-8031810832645145800?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/8031810832645145800/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=8031810832645145800' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8031810832645145800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8031810832645145800'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2009/03/iphone-app.html' title='[iPhone App] 高鐵時刻表'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_ZZKHdIPn-ic/SaPAuBSzJaI/AAAAAAAAA0s/p16fpUufjF8/s72-c/avail_on_app_store.png?imgmax=800' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-6913700643200185425</id><published>2009-02-27T22:07:00.001-08:00</published><updated>2009-03-01T22:12:28.343-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><title type='text'>[iPhone App] 火車時刻表 V1.1 更新版</title><content type='html'>感謝 Hank 的回報&lt;br /&gt;* 已針對查詢班次時間錯誤的問題做出修正了&lt;br /&gt;* 並將站別時刻表由 早上、中午、下午的 查詢方式，改成 對號、區間、所有車次 的方式&lt;br /&gt;比較符合一般人的查詢習慣&lt;br /&gt;* 補上站別時刻表的列表顯示，以更簡潔的方式快速查詢需要的班次&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh6.ggpht.com/_ZZKHdIPn-ic/Sat4l7p_hKI/AAAAAAAAA04/wQcnumECjSc/IMG_0001.PNG.jpg?imgmax=800" alt="IMG_0001.PNG.jpg" border="0" width="318" height="150" /&gt;&lt;br /&gt;&lt;br /&gt;顯示結果如下&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh5.ggpht.com/_ZZKHdIPn-ic/Sat3DdjsmnI/AAAAAAAAA00/Lm4HpPhetdk/IMG_0002.PNG?imgmax=800" alt="IMG_0002.PNG" border="0" width="320" height="480" /&gt;&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;火車時刻表 V1.0 發現了一個比較明顯的小 Bug&lt;br /&gt;就是跨 12:00 查詢的車次，會造成通車時間為負值的狀況&lt;br /&gt;雖然不影響軟體的執行，但出現個負值的車次總是很討厭的&lt;br /&gt;所以天秤就先修正這個錯誤，和一些些小 Bug&lt;br /&gt;釋出 V1.1 版&lt;br /&gt;&lt;br /&gt;已提交給 Apple 兩天了&lt;br /&gt;根據以前的經驗，應該要一個禮拜左右的時間來驗証&lt;br /&gt;之後才會上架&lt;br /&gt;先向有發現這個問題的使用者說一聲，也請靜待 Apple 的驗証完畢&lt;br /&gt;謝謝&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-6913700643200185425?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/6913700643200185425/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=6913700643200185425' title='6 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6913700643200185425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6913700643200185425'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2009/02/iphone-app-v11.html' title='[iPhone App] 火車時刻表 V1.1 更新版'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_ZZKHdIPn-ic/Sat4l7p_hKI/AAAAAAAAA04/wQcnumECjSc/s72-c/IMG_0001.PNG.jpg?imgmax=800' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-4679774461455455921</id><published>2009-02-24T01:47:00.001-08:00</published><updated>2009-02-24T19:30:59.034-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='軟體資訊'/><title type='text'>iPhone 軟體 - 火車時刻表 (離線版) 上架了</title><content type='html'>天秤的第一個 iPhone 軟體已經上架了 - 火車時刻表&lt;br /&gt;&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=304990376&amp;amp;mt=8"&gt;&lt;img src="http://lh3.ggpht.com/_ZZKHdIPn-ic/SaPAuBSzJaI/AAAAAAAAA0s/p16fpUufjF8/avail_on_app_store.png?imgmax=800" alt="avail_on_app_store.png" border="0" width="144" height="64" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh4.ggpht.com/_ZZKHdIPn-ic/SaPBCqpKPfI/AAAAAAAAA0w/oxDaBG9o4vE/iTunes.jpg?imgmax=800" alt="iTunes.jpg" border="0" width="317" height="478" /&gt;&lt;br /&gt;&lt;br /&gt;軟體特色&lt;div&gt;- 內建資料庫，不需要網路也可以查詢，適用於 iPod Touch&lt;br /&gt;- "到站時間查詢" 可依 起程站、到達站、車種、時間 條件來查詢&lt;br /&gt;- 查詢範單可指定一小時至七小時&lt;br /&gt;- 加入起程站及到達站互換按鈕，可快速查詢來回程的時間&lt;br /&gt;- 加入現在時間按鈕，可快速查詢目前即將到站的列車&lt;br /&gt;- 查詢時會檢查是否每日發車，並依照查詢日來過濾當日不發車的班次&lt;br /&gt;- 查詢結果均顯示出發、到站時間及乘坐時間，可有效找到最適合的班次&lt;br /&gt;- "站別時刻表" 可依車站來查詢該車站所有出發及到站的列車&lt;br /&gt;- 依車站查詢時，可指定 上行、下行、早上、中午、晚下 條件分類查詢，避免資料量太多造成尋找的困難&lt;br /&gt;- "車號查詢" 可輸入車號，快速找到該班次到達的車站及時間&lt;br /&gt;- 所有查詢均可再做交叉查詢，例如 到站時間查詢 &gt; 車號查詢 &gt; 站別時刻表 &gt; 車號 等，可做進階的查詢，例如查詢某到站時間前後的班次或做轉車等查詢&lt;br /&gt;- 查詢的條件會自動儲存，方便下次開啟軟體時可立即再次查詢&lt;br /&gt;&lt;br /&gt;其實 Apple 對軟體上架的過程還滿嚴謹的&lt;br /&gt;2/10 天秤把軟體上傳至 iTunes Connect 要求上架&lt;br /&gt;2/19 Apple 回覆 Email，因為他們找到一個小 Bug&lt;br /&gt;因為天秤關於頁寫說明的 TextView 忘了改成唯讀，造成說明也可以編輯&lt;br /&gt;修改後再次上傳&lt;br /&gt;這種小 Bug 他們也可以找到，看來檢查還滿仔細的&lt;br /&gt;2/24 下午二點，收到 Apple 回覆已經完成檢查，準備上架中&lt;br /&gt;2/24 下午五點時，已經就可以在 AppStore 買到天秤寫的軟體了&lt;br /&gt;&lt;br /&gt;很高興軟體可以成功上架，也讓天秤更有興趣了&lt;br /&gt;比起之前寫的軟體，沒有統一平台來推廣，必須自己在各網站自吹自擂&lt;br /&gt;AppStore 實在是不錯的銷售平台啊&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-4679774461455455921?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/4679774461455455921/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=4679774461455455921' title='11 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4679774461455455921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4679774461455455921'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2009/02/iphone.html' title='iPhone 軟體 - 火車時刻表 (離線版) 上架了'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_ZZKHdIPn-ic/SaPAuBSzJaI/AAAAAAAAA0s/p16fpUufjF8/s72-c/avail_on_app_store.png?imgmax=800' height='72' width='72'/><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-5113226609659400112</id><published>2008-09-04T03:10:00.000-07:00</published><updated>2008-09-04T03:29:07.057-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體資訊'/><title type='text'>Google Chrome</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_ZZKHdIPn-ic/SL-2bZUlpgI/AAAAAAAAAko/0wzV0rrEExE/s1600-h/%E5%9C%96%E7%89%87+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_ZZKHdIPn-ic/SL-2bZUlpgI/AAAAAAAAAko/A1ZDowwpd4A/s400-R/%E5%9C%96%E7%89%87+1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;天秤來湊熱鬧了&lt;br /&gt;&lt;a href="http://www.google.com/chrome/index.html?hl=zh_TW&amp;amp;brand=CHMG&amp;amp;utm_source=zh_TW-hpp&amp;amp;utm_medium=hpp&amp;amp;utm_campaign=zh_TW"&gt;Google Chrome&lt;/a&gt; 瀏覽器愈演愈烈，本著 Google 服務一向受歡迎的程度&lt;br /&gt;才剛推出就受到大家的矚目&lt;br /&gt;先不論它本身能力如何 (Javascript 真的很快)&lt;br /&gt;光看現在各部落格討論、介紹的程度就知道它已經成功了&lt;br /&gt;很少有軟體剛推出第一版就受到如此大的矚目&lt;br /&gt;Google 算你狠~&lt;br /&gt;&lt;br /&gt;各項介紹、評比及測試，已經很多人做了&lt;br /&gt;所以天秤也不用多作介紹了&lt;br /&gt;反正寫這篇也沒什麼營養就是了，就是單純湊熱鬧而已&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-5113226609659400112?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/5113226609659400112/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=5113226609659400112' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5113226609659400112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5113226609659400112'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/09/google-chrome.html' title='Google Chrome'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZZKHdIPn-ic/SL-2bZUlpgI/AAAAAAAAAko/A1ZDowwpd4A/s72-Rc/%E5%9C%96%E7%89%87+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-7718308413595813716</id><published>2008-07-25T06:58:00.000-07:00</published><updated>2008-07-25T14:13:35.602-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FireFox'/><title type='text'>夠誇張的 FireFox 附加元件 - 紅白機模擬器</title><content type='html'>從 &lt;a href="http://www.goston.net/2008/07/21/1475/"&gt;Goston's Blog&lt;/a&gt; 那裡得知原來還有這種附加元件 - &lt;a href="http://www.firenes.com.ar/"&gt;FireNes&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;應該是天秤看過最誇張的附加元件&lt;br /&gt;&lt;br /&gt;用 FireFox 就可以玩遍紅白機的遊戲了&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;經典的瑪琍兄弟&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="text-align: left; clear: both;"&gt;&lt;a href="http://4.bp.blogspot.com/_ZZKHdIPn-ic/SInyeV7n0UI/AAAAAAAAAdg/MW63jSunqXc/s1600-h/%E5%9C%96%E7%89%87+1.png" imageanchor="1" style="border: 0pt none ; background-color: transparent; margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/_ZZKHdIPn-ic/SInyeV7n0UI/AAAAAAAAAdg/xgunikUHZzc/s320-R/%E5%9C%96%E7%89%87+1.png" style="border: 0pt none ;" /&gt;&lt;/a&gt;&lt;/div&gt;只要至該元件的網站 &lt;a href="http://www.firenes.com.ar/"&gt;FireNes&lt;/a&gt;，選擇 Instalar FireNes 安裝元件即可&lt;br /&gt;&lt;br /&gt;因為該元件是用 Java 寫的，如果沒有安裝 Java 套件&lt;br /&gt;&lt;br /&gt;請先選擇 Instalar el Plug-In Java&lt;br /&gt;&lt;br /&gt;(不是天秤英文拼錯，是它網頁上寫的真的不是英文)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="text-align: left; clear: both;"&gt;&lt;a href="http://1.bp.blogspot.com/_ZZKHdIPn-ic/SIo9ePVwPwI/AAAAAAAAAdw/iuSYMSYICdw/s1600-h/%E5%9C%96%E7%89%87+2.jpg" imageanchor="1" style="border: 0pt none ; background-color: transparent; margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://1.bp.blogspot.com/_ZZKHdIPn-ic/SIo9ePVwPwI/AAAAAAAAAdw/1Qnus9XS3MU/s320-R/%E5%9C%96%E7%89%87+2.jpg" style="border: 0pt none ;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;下載安裝完成後，在 FireFox 的工具列&lt;br /&gt;&lt;br /&gt;會出現 FireNes，選擇它 (以下用 MacOSX 示範，在 Windows 上一樣)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_ZZKHdIPn-ic/SIo-RYc1JOI/AAAAAAAAAd4/sGSUz5Dm5z4/s1600-h/%E5%9C%96%E7%89%87+3.jpg" imageanchor="1" style="border: 0pt none ; background-color: transparent; margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://3.bp.blogspot.com/_ZZKHdIPn-ic/SIo-RYc1JOI/AAAAAAAAAd4/pzfOIqakkkI/s320-R/%E5%9C%96%E7%89%87+3.jpg" style="border: 0pt none ;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;在 FireFox 左側會出現選擇遊戲的清單&lt;br /&gt;&lt;br /&gt;這個清單會自動連上網路，下載可以執行的遊戲 List&lt;br /&gt;&lt;br /&gt;數量之多，讓人眼花撩亂&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_ZZKHdIPn-ic/SIo_DWT8KzI/AAAAAAAAAeA/pj95D2sPgrk/s1600-h/%E5%9C%96%E7%89%87+4.jpg" imageanchor="1" style="border: 0pt none ; background-color: transparent; margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://2.bp.blogspot.com/_ZZKHdIPn-ic/SIo_DWT8KzI/AAAAAAAAAeA/aG89JCtl3qU/s320-R/%E5%9C%96%E7%89%87+4.jpg" style="border: 0pt none ;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;點選想要玩的遊戲之後，會自動上網下載該遊戲 ROM&lt;br /&gt;&lt;br /&gt;下載速度很快，不用花太多等待的時間&lt;br /&gt;&lt;br /&gt;就可以進去遊戲了&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_ZZKHdIPn-ic/SInyeV7n0UI/AAAAAAAAAdg/MW63jSunqXc/s1600-h/%E5%9C%96%E7%89%87+1.png" imageanchor="1" style="border: 0pt none ; background-color: transparent; margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/_ZZKHdIPn-ic/SInyeV7n0UI/AAAAAAAAAdg/xgunikUHZzc/s320-R/%E5%9C%96%E7%89%87+1.png" style="border: 0pt none ;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;/div&gt;在遊戲清單的名稱上按右鍵，還可以設定一些東西&lt;br /&gt;&lt;br /&gt;例如是否啟用聲音，是否顯示 FPS&lt;br /&gt;&lt;br /&gt;還有顯示遊戲的控制方式&lt;br /&gt;&lt;br /&gt;不過很可惜的是，遊戲控制方式還無法設定&lt;br /&gt;&lt;br /&gt;也就是 [上下左右, ENTER, CTRL, X, Z] 這幾個鍵前控制&lt;br /&gt;&lt;br /&gt;不過如果用搖捍模擬鍵盤來玩，應該也是很棒才是&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_ZZKHdIPn-ic/SIpAeJne_qI/AAAAAAAAAeI/s3gcdiAjyPk/s1600-h/%E5%9C%96%E7%89%87+5.png" imageanchor="1" style="border: 0pt none ; background-color: transparent; margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://3.bp.blogspot.com/_ZZKHdIPn-ic/SIpAeJne_qI/AAAAAAAAAeI/-cWvMnLioic/s320-R/%E5%9C%96%E7%89%87+5.png" style="border: 0pt none ;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;有個問題，如果遇到一些需要記憶的 RPG，不知道會怎麼處理?&lt;br /&gt;&lt;br /&gt;還好印象中大部份的紅白機遊戲，都是用密碼來控制的&lt;br /&gt;&lt;br /&gt;記憶中小時候小朋友們會用紙筆，記錄下根本看不懂的日文字&lt;br /&gt;&lt;br /&gt;還是有辦法玩到最後，真是佩服&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;現在要重溫小時候的時光，不用去下載紅白機模擬器&lt;br /&gt;&lt;br /&gt;也不用到處去尋找遊戲的 ROM 了&lt;br /&gt;&lt;br /&gt;直接下載 FireNes 即可， 想玩的遊戲全自動下載，太棒了&lt;br /&gt;&lt;br /&gt;真希望還能有 FireSnes, FireGeneric, FireGBA, FirePS 等等模擬器&lt;br /&gt;&lt;br /&gt;造服大眾啊&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-7718308413595813716?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/7718308413595813716/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=7718308413595813716' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7718308413595813716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7718308413595813716'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/07/firefox.html' title='夠誇張的 FireFox 附加元件 - 紅白機模擬器'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZZKHdIPn-ic/SInyeV7n0UI/AAAAAAAAAdg/xgunikUHZzc/s72-Rc/%E5%9C%96%E7%89%87+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-2956591120865563605</id><published>2008-06-25T20:53:00.001-07:00</published><updated>2008-07-02T21:48:00.770-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='遊戲天地'/><title type='text'>Wii 在台正式銷售了! 疑~ 怎麼完全沒有興奮的感覺~</title><content type='html'>&lt;p&gt;&lt;img title="image" height="335" alt="image" src="http://lh4.ggpht.com/richielin996/SGMSu9gZJcI/AAAAAAAAAck/iKpNjfL3dIc/image%5B8%5D.png?imgmax=800" width="518" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;經過一年半的時間，曾經造成轟動又已快過氣的遊戲主家 Wii 終於要在台灣上市了    &lt;br /&gt;我想這則新聞應該只有優博最高興了吧     &lt;br /&gt;因為再不上市，也就不用上市了，直接代理 Wii II 還比較快     &lt;br /&gt;不然台灣市場就這麼大，早就被水貨商給吃飽了，優博還玩個屁啊!&lt;/p&gt;  &lt;p&gt;不過應該還有一堆人堅持等待台灣機的上市，忍了一年多不買水貨    &lt;br /&gt;很佩服這些人的堅持，但是當優博把台灣機的規格開出來時     &lt;br /&gt;相信這些人已經笑不出來了，罵出來比較快     &lt;br /&gt;第一，台灣機連個中文界面都沒有，這跟一年前買水貨的 Wii 有什麼二樣     &lt;br /&gt;第二，台灣的伺服器呢? 沒有是吧? 那就表示 Wii 上的一堆 Channel 廢了~     &lt;br /&gt;第三，價格 8500 (主機 + Wii Sport) 看起來是 ok，不過這沒有考慮等待的時間成本啊~     &lt;br /&gt;第四，總算有個遊戲是繁體中文版了，不過不是薩爾達傳說，是 Wii Sport     &lt;br /&gt;老實說，Wii Sport &lt;strike&gt;中&lt;/strike&gt;日文版大家一樣玩翻啦，有中文沒中文實在差別不大     &lt;br /&gt;不要只是個小遊戲中文化就算給糖吃了，怎麼不一起把薩爾達傳說給中文化呢?     &lt;br /&gt;優博要不要去查一下韓國幾個遊戲韓文化~     &lt;br /&gt;連個最基本，大家等正式代理最大理由 - 界面中文化 都做不到了~&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;優博阿媽去年不是說正式上市時要讓水貨商好看    &lt;br /&gt;現在呢? 怎麼覺得水貨商都賺飽飽的，果然都可以打扮的很好看     &lt;br /&gt;反倒是優博這個正式代理商難看了     &lt;br /&gt;還好天秤都沒買，去年向玩膩的朋友借來玩，也玩到膩了後再還他     &lt;br /&gt;又過了大半年的才聽到優博要正式代理，不然天秤早就忘了台灣還沒上市呢~&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-2956591120865563605?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/2956591120865563605/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=2956591120865563605' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2956591120865563605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2956591120865563605'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/06/wii.html' title='Wii 在台正式銷售了! 疑~ 怎麼完全沒有興奮的感覺~'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/richielin996/SGMSu9gZJcI/AAAAAAAAAck/iKpNjfL3dIc/s72-c/image%5B8%5D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-3411594513317887180</id><published>2008-06-18T09:34:00.001-07:00</published><updated>2008-06-18T09:43:08.066-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體資訊'/><title type='text'>用 EeePC 玩 Crysis ? 不是開玩笑吧~</title><content type='html'>&lt;p&gt;&lt;img title="image" height="272" alt="image" src="http://lh5.ggpht.com/richielin996/SFk5B8JgYyI/AAAAAAAAAb4/FXxHtfYfpJg/image%5B14%5D.png?imgmax=800" width="516" border="0" /&gt;     &lt;br /&gt;資訊來源: &lt;a href="http://taiwan.cnet.com/crave/0,2000088746,20130123,00.htm"&gt;Crave 科技瘋&lt;/a&gt;    &lt;br /&gt;官方網站: &lt;a href="http://streammygame.com/"&gt;StreamMyGame&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;這應該不是騙人的吧?   &lt;br /&gt;在一台桌上型電腦及一台 NB 上執行該軟體    &lt;br /&gt;讓需要大量運算的遊戲 (如 Crysis) 在桌上型電腦上執行    &lt;br /&gt;透過網路，將影像、聲音即時傳到小型 NB 上，而 NB 輸入傳至桌上型電腦    &lt;br /&gt;讓小型 NB (如 EeePC) 上也能玩到耗費資源的遊戲~    &lt;br /&gt;上面那張官網圖片說明的很清楚了    &lt;br /&gt;原來現在網路速度已經可以影音即時運算傳送到已經可以遠端玩遊戲的程度了    &lt;br /&gt;不相信的人看以下示範影片&lt;/p&gt;  &lt;p&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Y4cUl9WFv7g&amp;amp;color1=0x006699&amp;amp;color2=0x54abd6&amp;amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Y4cUl9WFv7g&amp;amp;color1=0x006699&amp;amp;color2=0x54abd6&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;  &lt;p&gt;看到這則消息，心裡第一個感覺是中央大型主機時代又快回來了?   &lt;br /&gt;年記大一點的朋友應該會記得 PC 當道前的過去中央大型主機時代    &lt;br /&gt;其他人以終端機登入至大型主機上，所有運算都是主機處理    &lt;br /&gt;本地端只負責輸入輸出 (顯示)，是不是與 StreamMyGame 概念很像?&lt;/p&gt;  &lt;p&gt;其實這樣子也是不錯啦   &lt;br /&gt;當網路愈來愈快，理論上總有一天會比機械動作的硬碟快    &lt;br /&gt;而個人電腦再怎麼快，也不會比大型電腦快    &lt;br /&gt;&lt;a href="http://www.google.com.tw"&gt;Google&lt;/a&gt; 的網雲運算也是相同概念，困難的就讓專業的來    &lt;br /&gt;到時候個人電腦就只要處理輸出輸入動作就好了    &lt;br /&gt;其它的就透過網路讓大型電腦來處理了    &lt;br /&gt;也許到時候只要一台簡單的個人電腦 (終端機)    &lt;br /&gt;以付月租費方式向大型電腦承租中央主機使用權，處理速度要多快就租多快    &lt;br /&gt;儲存及運算都在遠端執行，隨處電腦接上網就是熟悉的工作環境了    &lt;br /&gt;也是不錯的 Idea 啦    &lt;br /&gt;或是推出線上遊戲出租服務，遊戲由 Server 大型電腦來執行    &lt;br /&gt;只要把畫面傳回給用戶端即可，理論上只要頻寬夠大就 OK 啦    &lt;br /&gt;因為遊戲是 Server 執行的，也不用怕外掛    &lt;br /&gt;也不用為了玩遊戲而一味的追求硬體，就像線上影音服務一樣    &lt;br /&gt;幾年後技術愈進步頻寬愈大，應該是很大的市場吧&lt;/p&gt;  &lt;p&gt;&lt;img title="image" height="318" alt="image" src="http://lh6.ggpht.com/richielin996/SFk5IhxuvxI/AAAAAAAAAb8/KXrs4HTXdCU/image%5B17%5D.png?imgmax=800" width="516" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;扯遠了，上圖是 StreamMyGame 提供的會員等級及提供的解析度   &lt;br /&gt;一般免費會員可以提供 640x480 的解析度    &lt;br /&gt;已經適合 EeePC 筆電上透過桌上型電腦來玩玩小遊戲了    &lt;br /&gt;也許有朋友可以試試到底像不像官網所述的那麼神奇~&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-3411594513317887180?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/3411594513317887180/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=3411594513317887180' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3411594513317887180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3411594513317887180'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/06/eeepc-crysis.html' title='用 EeePC 玩 Crysis ? 不是開玩笑吧~'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/richielin996/SFk5B8JgYyI/AAAAAAAAAb4/FXxHtfYfpJg/s72-c/image%5B14%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-5058052087595081741</id><published>2008-06-10T19:06:00.001-07:00</published><updated>2008-06-10T22:09:01.085-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>iPod 合購計劃</title><content type='html'>&lt;p&gt;OK 事情是這樣的，天秤打算於月底購入 MacBook Pro 了    &lt;br /&gt;尤其現在 &lt;a href="http://www.apple.com.tw"&gt;Apple&lt;/a&gt; 正舉辦 Back to School 優惠活動     &lt;br /&gt;可以優惠的價格合購 MBP + iPod Touch 8G (或 iPod Nano 8G)     &lt;br /&gt;天秤對 iPod 其實沒什麼興趣，所以想找人一起合購     &lt;br /&gt;&lt;font color="#ff0000"&gt;而原本想購買 iPod 的你，也可以比網拍更便宜的價格買到未使用過的全新品&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="image" height="166" alt="image" src="http://lh4.ggpht.com/richielin996/SE8zPIPQzkI/AAAAAAAAAbQ/I3LfMWQJAY0/image%5B17%5D.png?imgmax=800" width="250" border="0" /&gt; &lt;img title="image" height="160" alt="image" src="http://lh4.ggpht.com/richielin996/SE8zQFPU4OI/AAAAAAAAAbU/gHtqPG4k2aE/image%5B14%5D.png?imgmax=800" width="250" border="0" /&gt;     &lt;br /&gt;圖片來源: &lt;a href="http://www.apple.com.tw"&gt;Apple 官方網站&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;合購對象: 中部人，最好是台中或彰化可以約面交 (其它地區就得郵寄了)    &lt;br /&gt;想購買物品: iPod Touch 8G or iPod Nano 8G (任何顏色都行) &lt;/p&gt;  &lt;p&gt;條件就這樣，很簡單    &lt;br /&gt;基本上天秤打算以 iPod 原價 75 折左右的價格賣出     &lt;br /&gt;iPod Touch 8G 官網原價 NT$10900，以 &lt;font color="#ff0000"&gt;NT$8000 合購價&lt;/font&gt; (Y拍全新品最低大約 8xxx)     &lt;br /&gt;iPod Nano 8G 官網原價 NT$7000 ，以 &lt;font color="#ff0000"&gt;NT$5500 合購價&lt;/font&gt; (Y拍全新品最低大約 6xxx)     &lt;br /&gt;像 iPod nano 8G 顏色很多，花 5500 元買台送給女朋友討她歡心也不錯&lt;/p&gt;  &lt;p&gt;有興趣的請 mail 給天秤 &lt;a href="mailto:richielin996@gamil.com"&gt;richielin996@gamil.com&lt;/a&gt;     &lt;br /&gt;留下你想購買的型號 (iPod Nano 8G 也請留下顏色)     &lt;br /&gt;基本上以 iPod Touch 8G 為優先，如果有兩人以上者先來信先保留     &lt;br /&gt;不然後來的人想競標天秤也 OK 啦     &lt;br /&gt;或有其它意見的也請留言~&lt;/p&gt;  &lt;p&gt;尤其是官網上購買，故不知道什麼時候出貨及產品寄達日期    &lt;br /&gt;所以天秤沒辦法保証交貨日期，這點請見諒     &lt;br /&gt;而&lt;font color="#ff0000"&gt;交易方式以台中彰化面交為主&lt;/font&gt;     &lt;br /&gt;如果其它地區則必須郵寄時，必須先匯款認証後天秤再郵寄     &lt;br /&gt;這點也請見諒&lt;/p&gt;  &lt;p&gt;PS. 因為 Back to School 優惠活動必須將 iPod 盒子上條碼寄回    &lt;br /&gt;所以合購者必須接受天秤在 iPod 盒上剪下條碼 (會留下條碼的洞)     &lt;br /&gt;但天秤不會拆開 iPod 使用，或取出其它配件     &lt;br /&gt;保証全新未使用，請放心&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-5058052087595081741?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/5058052087595081741/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=5058052087595081741' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5058052087595081741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5058052087595081741'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/06/ipod.html' title='iPod 合購計劃'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/richielin996/SE8zPIPQzkI/AAAAAAAAAbQ/I3LfMWQJAY0/s72-c/image%5B17%5D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-5640917000396666479</id><published>2008-06-04T23:40:00.001-07:00</published><updated>2008-06-04T23:40:18.076-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>Windows 7 畫面釋出</title><content type='html'>&lt;p&gt;&lt;img src="http://gizmodo.com/assets/resources/2008/05/win7concept.jpg" /&gt;&amp;#160; &lt;br /&gt;圖片來源: &lt;a href="http://gizmodo.com/393536/windows-7-ui-to-debut-at-all-things-d-tonight"&gt;Windows 7 UI To Debut At All Things D Tonight&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;這該怎麼說呢?    &lt;br /&gt;&lt;a href="http://www.microsoft.com.tw"&gt;Microsoft&lt;/a&gt; 在 &lt;a href="http://gizmodo.com/393263/a-highlight-of-my-year-all-things-d-conference-this-week"&gt;All Things D&lt;/a&gt; 會議中釋出了 Windowos 7 的圖片    &lt;br /&gt;其中還有應該是 Windows Live 整合軟體 (界面很類似 MSN)    &lt;br /&gt;軟體可以看到 MSN + Mail + Contacts 整合功能&lt;/p&gt;  &lt;p&gt;其實整體界面還不錯看，運用透明和陰影特效   &lt;br /&gt;只是不知道什麼時候推出了&lt;/p&gt;  &lt;p&gt;相關網址: &lt;a href="http://gizmodo.com/393536/windows-7-ui-to-debut-at-all-things-d-tonight"&gt;Windows 7 UI To Debut At All Things D Tonight&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-5640917000396666479?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/5640917000396666479/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=5640917000396666479' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5640917000396666479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5640917000396666479'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/06/windows-7.html' title='Windows 7 畫面釋出'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-4738839732105937810</id><published>2008-06-03T20:08:00.001-07:00</published><updated>2008-06-03T20:08:47.805-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體資訊'/><title type='text'>Windows Live Writer 新版報到</title><content type='html'>&lt;p&gt;&lt;img title="image" height="390" alt="image" src="http://lh5.ggpht.com/richielin996/SEYHPA2-CQI/AAAAAAAAAbA/oqxL0Xw-4oQ/image%5B8%5D.png?imgmax=800" width="500" /&gt;&lt;/p&gt;  &lt;p&gt;很多人都喜歡用 Windows Live Writer 來撰寫部落格    &lt;br /&gt;這個 &lt;a href="http://www.microsoft.com.tw"&gt;Microsoft&lt;/a&gt; 推出的撰寫部落格的軟體，還真是好用的不可思議     &lt;br /&gt;現在已推出新版 Technical Preview 供下載了&lt;/p&gt;  &lt;p&gt;官方網站: &lt;a href="http://windowslivewriter.spaces.live.com/"&gt;http://windowslivewriter.spaces.live.com/&lt;/a&gt;     &lt;br /&gt;下載網址: &lt;a title="http://download.microsoft.com/download/8/0/9/809604cd-bd08-42c8-b590-49c332059e64/writer.msi" href="http://download.microsoft.com/download/8/0/9/809604cd-bd08-42c8-b590-49c332059e64/writer.msi"&gt;http://download.microsoft.com/download/8/0/9/809604cd-bd08-42c8-b590-49c332059e64/writer.msi&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-4738839732105937810?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/4738839732105937810/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=4738839732105937810' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4738839732105937810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4738839732105937810'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/06/windows-live-writer.html' title='Windows Live Writer 新版報到'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/richielin996/SEYHPA2-CQI/AAAAAAAAAbA/oqxL0Xw-4oQ/s72-c/image%5B8%5D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-3555907021822686577</id><published>2008-05-20T18:13:00.001-07:00</published><updated>2008-05-20T18:13:30.622-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體資訊'/><title type='text'>TeamViewer - 簡單好用的免費遠端控制軟體</title><content type='html'>&lt;p&gt;VNC 大家應該都有聽過吧，這套由劍橋大學 ATT 實驗室發展出來的開放原始碼軟體   &lt;br /&gt;之後一堆由它為基礎發展的遠端控制程式一直是大家常用的軟體    &lt;br /&gt;其目的就是讓使用者經由網路連線到遠端電腦上，進而操作遠端的電腦    &lt;br /&gt;就算跨平台也可以運作    &lt;br /&gt;只是連線需要知道對方 IP 才行，有時在防火牆內是不容易得知對外 IP 的    &lt;br /&gt;更何況如果是不懂電腦的家人呢? 如何教導他們查詢電腦 IP?&lt;/p&gt;  &lt;p&gt;而 TeamViewer 就是很好解決方案   &lt;br /&gt;只要對方電腦安裝 TeamViewer 軟體 (也有 Portable 版本連安裝都不用)    &lt;br /&gt;執行後會給一組 ID 及密碼，讓對方把 ID 和密碼告訴你    &lt;br /&gt;就可以在我方電腦上輸入該 ID 及密碼來達端控制對方的電腦    &lt;br /&gt;而不用管什麼是 IP 了，很方便吧~    &lt;br /&gt;對了，它不只有 Windows 版，也有 MaxOSX 版本哦&lt;/p&gt;  &lt;p&gt;TeamViewer 官方網站: &lt;a title="http://www.teamviewer.com/index.aspx" href="http://www.teamviewer.com/index.aspx"&gt;http://www.teamviewer.com/index.aspx&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;遠端連線&lt;/h4&gt;  &lt;p&gt;&lt;img height="360" alt="image" src="http://lh3.ggpht.com/richielin996/SDN3KG0TumI/AAAAAAAAAYo/YHmW2GNRilI/image%5B5%5D.png" width="499" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;執行畫面很簡單易懂，左側會出現自己電腦的 ID 及隨機產生一組密碼   &lt;br /&gt;(也可以設定成為固定密碼)    &lt;br /&gt;如果要讓對方連線進來，只要通知對方這組 ID 及密碼即可    &lt;br /&gt;而要連線到對方電腦，只要把對方 ID 填入右側欄位    &lt;br /&gt;選擇 [Remote support] 再按 [Connect to partner] 即可&lt;/p&gt;  &lt;p&gt;&lt;img height="236" alt="image" src="http://lh3.ggpht.com/richielin996/SDN3LG0TunI/AAAAAAAAAYw/iw2Q5PKTYPs/image%5B8%5D.png" width="425" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;過程中會出現輸入密碼的對話框，這時輸入對方通知的密碼   &lt;br /&gt;再按 Log On 即可連線了    &lt;br /&gt;而主視窗下選擇 [Presentation] 則是要求對方連線來控制我方電腦    &lt;br /&gt;這點功能還滿特別的    &lt;br /&gt;連線的效果很棒，且經過測試，在內網 (防火牆) 下也可以正確連線無誤    &lt;br /&gt;這點對一般家裡 ADSL 浮動 IP 的用戶很方便    &lt;br /&gt;不用再每次都得查詢 IP，或是搞 DDNS 這種東西了&lt;/p&gt;  &lt;h4&gt;檔案傳送&lt;/h4&gt;  &lt;p&gt;[File transfer] 則是兩台電腦間檔案傳送   &lt;br /&gt;值得注意的是，檔案傳送視窗是把兩台電腦的磁碟機檔案全列了出來    &lt;br /&gt;讓你選擇檔案要從哪一台電腦 Copy 到哪一台    &lt;br /&gt;小心電腦上檔案被看光光了    &lt;br /&gt;天秤沒有深入研究是否有權限設定，不過都讓對方連進來了操作電腦了    &lt;br /&gt;還怕檔案被看光光?&lt;/p&gt;  &lt;p&gt;&lt;img height="360" alt="image" src="http://lh6.ggpht.com/richielin996/SDN3L20TuoI/AAAAAAAAAY4/DHh7ww-5rDE/image%5B11%5D.png" width="474" border="0" /&gt; &lt;/p&gt;  &lt;h4&gt;VPN 虛擬私有網路&lt;/h4&gt;  &lt;p&gt;TeamViewer 也提供 VPN 功能，讓遠端兩台電腦如同內網一樣   &lt;br /&gt;可以透過網路芳鄰來做一些事情    &lt;br /&gt;不過要使用前，必須雙方都有事先讓 TeamViewer 建立 VPN 網路後才能正常動作    &lt;br /&gt;初次選 VPN 連線時會詢問是否建立 VPN 連線    &lt;br /&gt;建立成功後在 [控制台] 的 [網路連線] 會多出個網路&lt;/p&gt;  &lt;p&gt;&lt;img height="100" alt="image" src="http://lh5.ggpht.com/richielin996/SDN3Mm0TupI/AAAAAAAAAZA/XN9m-n_26po/image%5B14%5D.png" width="250" border="0" /&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;當選擇 [VPN] 連線，一樣輸入 ID 及密碼之後開始連線   &lt;br /&gt;成功後會出現以下視窗來顯示雙方的 IP 及連線速度    &lt;br /&gt;之後就把遠端電腦當成網路上芳鄰來使用就好了&lt;/p&gt;  &lt;p&gt;&lt;img height="500" alt="image" src="http://lh5.ggpht.com/richielin996/SDN3Nm0TuqI/AAAAAAAAAZI/Z8Q3Wg0BvhQ/image%5B24%5D.png" width="453" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;很棒的遠端控制軟體，最重要的是它是免費的    &lt;br /&gt;配合建置在外網的 Server 當橋接，讓兩台電腦可以成功的突破防火牆    &lt;br /&gt;也因為如此可以絕對 ID 來找到浮動 IP (類似 STUN 或 DDNS 觀念)    &lt;br /&gt;進而提供了一種最原始也最簡單的方式 - ID 及密碼    &lt;br /&gt;讓不懂網路概念的人也可以輕鬆的邀請別人連線來處理電腦的問題    &lt;br /&gt;加上雙向連線(快速切換)、檔案傳送，VPN 等實用功能    &lt;br /&gt;絕對足夠讓它成為最棒的遠端控制軟體之一&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-3555907021822686577?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/3555907021822686577/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=3555907021822686577' title='11 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3555907021822686577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3555907021822686577'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/05/teamviewer.html' title='TeamViewer - 簡單好用的免費遠端控制軟體'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/richielin996/SDN3KG0TumI/AAAAAAAAAYo/YHmW2GNRilI/s72-c/image%5B5%5D.png' height='72' width='72'/><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-5848304790600348199</id><published>2008-05-20T01:52:00.001-07:00</published><updated>2008-05-20T02:31:36.955-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET Framework'/><title type='text'>C# 善用 StringBuilder 類別</title><content type='html'>&lt;p&gt;通常許多人處理字串串連時，都會用 + 這個運算子來處理    &lt;br /&gt;但是這雖然也是可以正常處理字串相加，不過對系統效能上卻造成極大的負擔     &lt;br /&gt;這是因為使用 string 這個類別時會配置一段記憶體來儲存字串     &lt;br /&gt;而當以 + 運算子處理字串相加時或字串資料變更時     &lt;br /&gt;系統必須配置一段新的記憶體來儲存新字串的動作 (如兩字串相加後的新字串)     &lt;br /&gt;再反配置舊的記憶體     &lt;br /&gt;每次配置記憶體和反配置都會造成 CLR 的工作     &lt;br /&gt;當然這些動作都是在幕後處理完成，每次處理的時間非常的短     &lt;br /&gt;但是如果大量處理這些字串運算或大塊記憶體時，累加起來的時間就不只是如此了     &lt;br /&gt;尤其是在 Web 伺服器上執行的 ASP.Net 應用程式來說更是會造成嚴重的影響&lt;/p&gt;  &lt;p&gt;而 StringBuilder 物件則不同，它會保留自己的字串緩衝區    &lt;br /&gt;所有的動作都在同一塊記憶體工作，減少記憶體配置的動作     &lt;br /&gt;除非緩衝區大小不夠處理時，才會作記憶體重新配置     &lt;br /&gt;自然能有效提升效能     &lt;br /&gt;就像以下處理相同字串的例子，兩者差距足足 28 秒多&lt;/p&gt;  &lt;textarea class="csharp" name="code"&gt;System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();&lt;BR&gt; string str = string.Empty;&lt;BR&gt; sw.Start();&lt;BR&gt; for (int i = 0; i &amp;lt; 50000; i++)&lt;BR&gt; 	str += i.ToString();&lt;BR&gt; sw.Stop();&lt;BR&gt; System.Diagnostics.Debug.WriteLine(sw.ElapsedMilliseconds);&lt;BR&gt; // string 類別字串處理 28,916 ms&lt;BR&gt; &lt;BR&gt; StringBuilder sb = new StringBuilder();&lt;BR&gt; sw.Reset();&lt;BR&gt; sw.Start();&lt;BR&gt; for (int i = 0; i &amp;lt; 50000; i++)&lt;BR&gt; 	sb.Append(i.ToString());&lt;BR&gt; sw.Stop();&lt;BR&gt; System.Diagnostics.Debug.WriteLine(sw.ElapsedMilliseconds);&lt;BR&gt; // StringBuilder 類別字串處理 46 ms&lt;/textarea&gt;  &lt;p&gt;StringBuilder 雖然好用，但是還是得先注意一下它的建構函式特性才行    &lt;br /&gt;建構函式時可以指定字串的最大容量，或以 Capacity 屬性來取得或設定     &lt;br /&gt;當未指定容量時，則預設的容量值為 16     &lt;br /&gt;要注意的是，如果處理字串長度超過指定容量時，類別會自動配置新空間而將容量加倍     &lt;br /&gt;例如預設為 16，當遇到容量不足時則加倍成 32     &lt;br /&gt;至於它的最大容量是 2,147,483,647，應該是夠用了吧     &lt;br /&gt;善用 StringBuilder 類別來處理字串運算，讓你的程式執行更有效率&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-5848304790600348199?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/5848304790600348199/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=5848304790600348199' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5848304790600348199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5848304790600348199'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/05/c-stringbuilder.html' title='C# 善用 StringBuilder 類別'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-8392546614794298070</id><published>2008-05-18T21:57:00.001-07:00</published><updated>2008-05-18T22:29:22.465-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體資訊'/><title type='text'>CyStudio 迷你藝術家 - 簡單易用的照片管理軟體</title><content type='html'>&lt;p&gt;&lt;img height="364" alt="image" src="http://lh4.ggpht.com/richielin996/SDEId20TuYI/AAAAAAAAAW0/4Ff0EeYVPj8/image%5B11%5D.png" width="499" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;話說天秤某天無聊尋找可以幫照片加上漫畫式對話框的軟體    &lt;br /&gt;原本只期望找到單一功能的軟體即可     &lt;br /&gt;沒想到找到一套很有特色的編修照片軟體     &lt;br /&gt;雖然軟體提供的功能不少，但似乎卻不是很專精     &lt;br /&gt;但也因為如此，不用像使用 PhotoShop 般需要了解一堆專業名詞     &lt;br /&gt;對一般不是專業的使用者來說卻是更適合輕鬆的為照片加上效果&lt;/p&gt;  &lt;p&gt;CyStudio 官方網站: &lt;a title="http://tw.cyworld.com/cystudio/" href="http://tw.cyworld.com/cystudio/"&gt;http://tw.cyworld.com/cystudio/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;首先說明的是，該軟體不只是一套照片編輯軟體    &lt;br /&gt;而是一個完整的社群交友網站 &lt;a href="http://tw.cyworld.com/"&gt;CyWorld&lt;/a&gt; 的功能之一     &lt;br /&gt;其中包含日記、相冊、留言版、線上聊天、論壇、交友等功能     &lt;br /&gt;但由於天秤不是很了解該網站的運作，就由朋友自行前往該網站瀏覽了     &lt;br /&gt;這裡只簡單介紹 CyStudio 這套軟體的特色&lt;/p&gt;  &lt;h4&gt;照片管理搜尋功能&lt;/h4&gt;  &lt;p&gt;&lt;img height="422" alt="image" src="http://lh3.ggpht.com/richielin996/SDEIem0TuZI/AAAAAAAAAW8/XQ2wy42nty4/image%5B51%5D.png" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;和 Google Picasa 一樣，CyStudio 也可以對某個目錄做管控的功能    &lt;br /&gt;該目錄加入了任何照片，都可以即時在 CyStudio 軟體上出現     &lt;br /&gt;也就是說可以對該管理目錄下的照片直接做搜尋編輯的動作，無須再一張張的開啟載入了     &lt;br /&gt;另外目錄管理可以指定多個目錄，不用怕必須把照片全塞在同一個目錄下&lt;/p&gt;  &lt;p&gt;&lt;img height="437" alt="image" src="http://lh3.ggpht.com/richielin996/SDEIfm0TuaI/AAAAAAAAAXE/rFo8_BTLPRg/image%5B50%5D.png" width="277" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;另外不只電腦上的照片可以管理編輯，還有與 CyWorld 上相簿也是整合的不錯    &lt;br /&gt;應該可以直接由網路上載入管理編輯     &lt;br /&gt;但還是那句話，天秤還沒有使用 CyWorld 服務，這點由朋友自行測試了&lt;/p&gt;  &lt;h4&gt;編輯照片 &lt;/h4&gt;  &lt;p&gt;可以編輯照片的軟體很多，如專業的 PhotoShop, PhotoImpact    &lt;br /&gt;或使用攝影玩家愛用的 PhotoCap, nEOiMAGING     &lt;br /&gt;但這類的軟體其實對婆婆媽媽或小朋友來說都太復雜了     &lt;br /&gt;他們只想要可以簡單加上外框或是對話框等小東西的軟體     &lt;br /&gt;CyStudio 包含了自動調整亮度對比色彩、黑白色調、復古包調等     &lt;br /&gt;加上文字、繪圖、對話框、貼紙效果、相框效果     &lt;br /&gt;以加上對話框為例&lt;/p&gt;  &lt;p&gt;&lt;img height="391" alt="image" src="http://lh3.ggpht.com/richielin996/SDEIgm0TubI/AAAAAAAAAXM/6RmlgPzPhVo/image%5B49%5D.png" width="267" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;上圖是加入對話框的面版，可以看出功能不多但是使用方便    &lt;br /&gt;輕輕就可以幫照片加上質感不錯的對話框     &lt;br /&gt;&lt;img height="308" alt="image" src="http://lh4.ggpht.com/richielin996/SDEIi20TucI/AAAAAAAAAXU/Q4M59n617VM/image%5B44%5D.png" width="442" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;其它貼紙效果也是很有趣的   &lt;br /&gt;原圖 -&amp;gt; 加上貼紙後    &lt;br /&gt;&lt;img height="175" alt="image" src="http://lh6.ggpht.com/richielin996/SDEQLW0TukI/AAAAAAAAAYY/EuRDl_7L0_w/image%5B5%5D.png" width="242" border="0" /&gt; &lt;img height="175" alt="image" src="http://lh5.ggpht.com/richielin996/SDEQMG0TulI/AAAAAAAAAYg/tbthaeCHwsk/image%5B8%5D.png" width="242" border="0" /&gt; &lt;/p&gt;  &lt;h4&gt;製作 Flash&lt;/h4&gt;  &lt;p&gt;這個軟體可以將指定的照片製作成 Flash    &lt;br /&gt;還是一樣的可以設定的地方不多，但製作出來的 Flash 質感還不錯     &lt;br /&gt;缺點是無法加上音樂也沒有照片控制功能，有點可惜了&lt;/p&gt;  &lt;p&gt;&lt;embed src="http://richielin996.googlepages.com/flash.swf" width="400" type="application/octet-stream" /&gt;&lt;/p&gt;  &lt;h4&gt;美術拼貼&lt;/h4&gt;  &lt;p&gt;關於美術拼貼，CyStudio 軟體也提供了一種簡單方便的方式來完成    &lt;br /&gt;提供了 2-8 張照片每種有 6 種版型，共 7*6=42 種版型     &lt;br /&gt;只要把照片拖曳至區域內即可，算是不錯用了     &lt;br /&gt;只可惜版型都只是大小不同的區域，沒有像 Picasa 那種拍立得那種比較有變化的版型&lt;/p&gt;  &lt;p&gt;&lt;img height="650" alt="image" src="http://lh6.ggpht.com/richielin996/SDEInW0TudI/AAAAAAAAAXc/HPHx5m9-nBM/image%5B48%5D.png" width="500" border="0" /&gt;&lt;/p&gt;  &lt;h4&gt;燒錄 CD &lt;/h4&gt;  &lt;p&gt;這點天秤就沒有實測了，不過看 CyStudio 似乎定位在簡單易用的照片管理軟體    &lt;br /&gt;而不單單只是編輯軟體，有這個燒錄 CD 的功能會不奇怪     &lt;br /&gt;至少讓初學者從管理，編輯，展示、上傳、燒錄保存一應俱全了&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-8392546614794298070?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/8392546614794298070/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=8392546614794298070' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8392546614794298070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8392546614794298070'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/05/cystudio.html' title='CyStudio 迷你藝術家 - 簡單易用的照片管理軟體'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/richielin996/SDEId20TuYI/AAAAAAAAAW0/4Ff0EeYVPj8/s72-c/image%5B11%5D.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-4929056190071996980</id><published>2008-05-18T18:51:00.001-07:00</published><updated>2008-05-18T18:54:22.521-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET Framework'/><title type='text'>C# String 類別的應用</title><content type='html'>&lt;p&gt;顧名思意，String 類別就是來處理字串的應用    &lt;br /&gt;它提供了一堆靜態方法 (Static Method) 來處理字串相關     &lt;br /&gt;以下介紹一些平時很實用的功能&lt;/p&gt;  &lt;h4&gt;字串的比較&lt;/h4&gt;  &lt;p&gt;Compare 方法會回傳整數值，來表示兩個字串的關聯性    &lt;br /&gt;正數表示第一個字串大於第二個字串     &lt;br /&gt;負數表示第一個字串小於第二的字串     &lt;br /&gt;零值表示兩個字串相等     &lt;br /&gt;&lt;textarea class="csharp" style="width: 500px; height: 250px" name="code"&gt;string.Compare(&amp;quot;字串&amp;quot;, &amp;quot;測試&amp;quot;); // result = -1&amp;lt;BR&amp;gt; string.Compare(&amp;quot;字串測試&amp;quot;, &amp;quot;字串測試&amp;quot;); // result = 0&amp;lt;BR&amp;gt;&lt;/textarea&gt;&lt;/p&gt;  &lt;h4&gt;字串中搜尋字元或子字串&lt;/h4&gt;  &lt;p&gt;當我們必須想知道某字串中是否有特定字串或字元時    &lt;br /&gt;可以使用 String 類別的 IndexOf 方法來傳回特定字串 (字元) 在字串中的索引位置     &lt;br /&gt;另外，我們也可以利用 LastIndexOf 方法於字串中從後往前找到特定字串並回傳索引位置     &lt;br /&gt;PS. 索引位置由 0 開始     &lt;br /&gt;PS. 在 .NET Framework 下每個中文字都算一字元，而不再是 ASCII 時代的兩字元了     &lt;br /&gt;PS. LastIndexOf 方法和 IndexOf 一樣回傳索引位置，一樣搜尋特定字串，只不過 IndexOf 方法是由前往後找，但 LastIndexOf 方法是由後往前找     &lt;br /&gt;&lt;textarea class="csharp" style="width: 500px; height: 250px" name="code"&gt;&amp;quot;字串測試字串測試&amp;quot;.IndexOf(&amp;quot;串&amp;quot;); // result = 1&amp;lt;BR&amp;gt; &amp;quot;字串測試字串測試&amp;quot;.IndexOf(&amp;quot;串測&amp;quot;); // result = 1&amp;lt;BR&amp;gt; &amp;quot;字串測試字串測試&amp;quot;.LastIndexOf(&amp;quot;串測&amp;quot;); // result = 5&amp;lt;BR&amp;gt;&lt;/textarea&gt;&lt;/p&gt;  &lt;h4&gt;字串轉換大小寫&lt;/h4&gt;  &lt;p&gt;ToUpper 及 ToLower 方法可以將字串全部轉換成大寫或小寫    &lt;br /&gt;並將結果回傳成新的字串     &lt;br /&gt;&lt;textarea class="csharp" style="width: 500px; height: 250px" name="code"&gt;&amp;quot;abcdABCD&amp;quot;.ToUpper(); // result = &amp;quot;ABCDABCD&amp;quot;&amp;lt;BR&amp;gt; &amp;quot;abcdABCD&amp;quot;.ToLower(); // result = &amp;quot;abcdabcd&amp;quot;&amp;lt;BR&amp;gt;&lt;/textarea&gt;&lt;/p&gt;  &lt;h4&gt;去除或添加字串前後空白字元或特定字元&lt;/h4&gt;  &lt;p&gt;我們可以用 Trim 方法去除字串前後的空白字元    &lt;br /&gt;而 TrimStart 及 TrimEnd 可以只移除前後的空白字元     &lt;br /&gt;另外 Trim, TrimStart, TrimEnd 方法除了可以移除空白字元外，還可以移除一個或多個字元     &lt;br /&gt;&lt;textarea class="csharp" style="width: 500px; height: 250px" name="code"&gt;&amp;quot;字字串串測測試試&amp;quot;.Trim(&amp;quot;字試&amp;quot;.ToCharArray()); // result = &amp;quot;串串測測&amp;quot;&amp;lt;BR&amp;gt; &amp;quot;字串測試&amp;quot;.Trim(&amp;quot;串字試&amp;quot;.ToCharArray()); // result = &amp;quot;測&amp;quot;&amp;lt;BR&amp;gt; &amp;quot;字串測試&amp;quot;.TrimStart(new char[] { '試', '字', '串' }); // result = &amp;quot;測試&amp;quot;&amp;lt;BR&amp;gt; &amp;quot;字串測試&amp;quot;.TrimEnd(&amp;quot;串試字&amp;quot;.ToCharArray()); // result = &amp;quot;字串測&amp;quot;&amp;lt;BR&amp;gt;&lt;/textarea&gt;&lt;/p&gt;  &lt;h4&gt;字串前後添加空白字元或特定字元&lt;/h4&gt;  &lt;p&gt;PadLeft 及 PadRight 方法則和上例功能相反 - 將字串前後補上空白字元或特定字元    &lt;br /&gt;方法中第一個參數則是決定補上字元後的總長度     &lt;br /&gt;如果原字串就比第一個參數小了，則就不補上字元了     &lt;br /&gt;&lt;textarea class="csharp" style="width: 500px; height: 250px" name="code"&gt;// 字串前補上 '@' 字元到長度 10&amp;lt;BR&amp;gt; &amp;quot;字串測試&amp;quot;.PadLeft(10, '@'); // result = &amp;quot;@@@@@@字串測試&amp;quot;&amp;lt;BR&amp;gt; // 字串長度比 2 小，則不補上 '@' 字元&amp;lt;BR&amp;gt; &amp;quot;字串測試&amp;quot;.PadRight(2, '@'); // result = &amp;quot;字串測試&amp;quot;&amp;lt;BR&amp;gt;&lt;/textarea&gt;&lt;/p&gt;  &lt;h4&gt;在字串中插入字串、移除字串和取代字串&lt;/h4&gt;  &lt;p&gt;我們可以用 Insert, Remove, Replace 來處理字串的插入、移除、取代    &lt;br /&gt;這三個方法用法還滿直覺簡單     &lt;br /&gt;PS. Remove 只可以移除指定位置的指定長度字串，而無法帶入要移除的字串     &lt;br /&gt;但是其實可以利用 Replace 來做指定字串的移除     &lt;br /&gt;&lt;textarea class="csharp" style="width: 500px; height: 250px" name="code"&gt;&amp;quot;字串測試&amp;quot;.Insert(2, &amp;quot;ABCD&amp;quot;); // result = &amp;quot;字串ABCD測試&amp;quot;&amp;lt;BR&amp;gt; &amp;quot;字串測試&amp;quot;.Remove(1, 2); // result = &amp;quot;字試&amp;quot;&amp;lt;BR&amp;gt; &amp;quot;字串測試&amp;quot;.Replace(&amp;quot;串測&amp;quot;, &amp;quot;ABCD&amp;quot;); // result = &amp;quot;字ABCD試&amp;quot;&amp;lt;BR&amp;gt; &amp;quot;字串測試&amp;quot;.Replace(&amp;quot;串測&amp;quot;, string.Empty); // result = &amp;quot;字試&amp;quot;&amp;lt;BR&amp;gt;&lt;/textarea&gt;&lt;/p&gt;  &lt;h4&gt;串連字串陣列及分隔&lt;/h4&gt;  &lt;p&gt;這兩個方法 Join 及 Split 但很少人用但很實用    &lt;br /&gt;尤其是 join 方法，因為有許多組合方法可以取代它的功能     &lt;br /&gt;雖然 Join 其有所限制，如串連前必須得知所有的字串，而不能將字串持續串連下去     &lt;br /&gt;但其實在某些場合之下還滿好用的     &lt;br /&gt;PS. Join 方法遇到字串陣列中有空字串時，還是會串連進回傳的字串中     &lt;br /&gt;&lt;textarea class="csharp" style="width: 500px; height: 250px" name="code"&gt;string.Join(&amp;quot;+&amp;quot;, new string[] { &amp;quot;一&amp;quot;, &amp;quot;二&amp;quot;, &amp;quot;三&amp;quot;, &amp;quot;四&amp;quot;, &amp;quot;五&amp;quot; }); // result = &amp;quot;一+二+三+四+五&amp;quot;&amp;lt;BR&amp;gt; &amp;quot;一+二+三+四+五&amp;quot;.Split(&amp;quot;+&amp;quot;); // result = 字串陣列&amp;lt;BR&amp;gt;&lt;/textarea&gt;&lt;/p&gt;  &lt;h4&gt;取得子字串&lt;/h4&gt;  &lt;p&gt;最後一個方法，也是很常用很實用的方法 - 取出子字串 Substring 方法    &lt;br /&gt;相信不用天秤多說，直接看例子就會了     &lt;br /&gt;&lt;textarea class="csharp" style="width: 500px; height: 250px" name="code"&gt;&amp;quot;字串測試&amp;quot;.Substring(1, 2); // result = &amp;quot;串測&amp;quot;&amp;lt;BR&amp;gt;&lt;/textarea&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-4929056190071996980?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/4929056190071996980/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=4929056190071996980' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4929056190071996980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4929056190071996980'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/05/c-string.html' title='C# String 類別的應用'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-2655329608687762718</id><published>2008-05-17T19:12:00.001-07:00</published><updated>2008-05-18T18:55:14.199-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體資訊'/><title type='text'>FastStone Capture - 免費好用擷圖軟體最後一版 (正體中文)</title><content type='html'>&lt;p&gt;參考至 &lt;a href="http://playpcesor.blogspot.com/2007/05/faststone-capture-53.html"&gt;最後的紀念：FastStone Capture 5.3 免費版到此為止&lt;/a&gt;     &lt;br /&gt;推薦個免費好用的擷圖軟體 &lt;a href="http://www.faststone.org/FSCaptureDetail.htm"&gt;FastStone Capture&lt;/a&gt;     &lt;br /&gt;這個軟體和 &lt;a href="http://www.ntwind.com/software/winsnap.html"&gt;WinSnap&lt;/a&gt; 擷圖軟體一樣好用，各有各有特色     &lt;br /&gt;但是也一樣新版都變成付費軟體了     &lt;br /&gt;不過還好，免費的最後一版 v5.3 功能已經夠強大好用了&lt;/p&gt;  &lt;p&gt;下載網址: &lt;a href="http://www.box.net/shared/4gkx9y5baf"&gt;FastStone Capture 5.3 正體中文&lt;/a&gt; (由 carlyuan 中文化)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/richielin996/SC-PJm0TuQI/AAAAAAAAAV0/fI6WDZkGls8/image%5B5%5D.png"&gt;&lt;img height="78" alt="image" src="http://lh6.ggpht.com/richielin996/SC-PK20TuRI/AAAAAAAAAV8/H8a7VbThOpw/image_thumb%5B1%5D.png" width="239" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;擷圖軟體許多，但是為什麼 FastStone Capture 可以吸引人使用    &lt;br /&gt;當然是因為它有很獨特的特色     &lt;br /&gt;擷取方式當然該有的都有，天秤只介紹以下幾項重要的特色     &lt;br /&gt;&lt;font color="#ff0000"&gt;擷取捲軸視窗 (網頁)&lt;/font&gt; 、&lt;font color="#ff0000"&gt;方便的圖片加框加陰影&lt;/font&gt;及&lt;font color="#ff0000"&gt;圖片加註編修功能&lt;/font&gt;&lt;/p&gt;  &lt;h4&gt;擷取捲軸視窗 (網頁)&lt;/h4&gt;  &lt;p&gt;如下所示的 Yahoo 網頁，通常 Yahoo 網頁長度絕對超過螢幕    &lt;br /&gt;一般擷取下的畫面會如以下所示，只擷取一個畫面的大小     &lt;br /&gt;&lt;img height="378" alt="image" src="http://lh6.ggpht.com/richielin996/SC-PU20TuSI/AAAAAAAAAWE/txn9jafAL6Y/image%5B22%5D.png" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;但 FastStone Capture 的擷取捲軸視窗功能卻可以擷取以下畫面    &lt;br /&gt;按下功能表上的 &lt;img height="22" alt="image" src="http://lh3.ggpht.com/richielin996/SC-PWG0TuTI/AAAAAAAAAWM/C4_Q5fp3Z68/image%5B29%5D.png" width="21" border="0" /&gt; 按鈕，不只畫面內的網頁，連畫面捲軸外的內容都可以擷取下來     &lt;br /&gt;這個功能還滿實用的     &lt;br /&gt;&amp;#160;&lt;img height="813" alt="image" src="http://lh5.ggpht.com/richielin996/SC-QUm0TuVI/AAAAAAAAAWc/KA5fa0VzOqc/image%5B26%5D.png" width="500" border="0" /&gt;&lt;/p&gt;  &lt;h4&gt;方便的圖片加框加陰影&lt;/h4&gt;  &lt;p&gt;這個功能不是絕對需要的，但是有卻是很好用的    &lt;br /&gt;例如天秤的部落格圖片，都有加上陰影，這對部落格上圖片質感有很大的幫助     &lt;br /&gt;另外值得一提的是，通常我們擷取下圖片遇到圓角的視窗時 (XP, Vista 都是)     &lt;br /&gt;日後自行加上陰影時對圓角處理很麻煩，但仔細看下圖     &lt;br /&gt;FastStone Capture 加上陰影會上下左右四個圓角處理得很好，不錯~     &lt;br /&gt;&lt;img height="387" alt="image" src="http://lh4.ggpht.com/richielin996/SC-QaW0TuWI/AAAAAAAAAWk/hCphVurXBjE/image%5B32%5D.png" width="424" border="0" /&gt; &lt;/p&gt;  &lt;h4&gt;圖片加註編修功能&lt;/h4&gt;  &lt;p&gt;這個功能應該也不算是擷圖軟體基本功能，但有很方便    &lt;br /&gt;通常擷圖下來如果想加上步驟或說明加註，還得再進入繪圖軟體來編輯才行     &lt;br /&gt;這時候 FastStone Caputre 實用的圖片編輯功能就派上用場了     &lt;br /&gt;不只加上文字、直線 (箭頭)、加矩形、圖形、標亮某區域等     &lt;br /&gt;且加上的文字等，都會自動補上陰影     &lt;br /&gt;&amp;#160;&lt;img height="271" alt="image" src="http://lh6.ggpht.com/richielin996/SC-Qg20TuXI/AAAAAAAAAWs/ZOKMZRNMm_c/image%5B41%5D.png" width="500" border="0" /&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-2655329608687762718?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/2655329608687762718/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=2655329608687762718' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2655329608687762718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2655329608687762718'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/05/faststone-capture.html' title='FastStone Capture - 免費好用擷圖軟體最後一版 (正體中文)'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/richielin996/SC-PK20TuRI/AAAAAAAAAV8/H8a7VbThOpw/s72-c/image_thumb%5B1%5D.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-1701230285213962916</id><published>2008-05-16T01:25:00.001-07:00</published><updated>2008-05-16T01:25:05.890-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='網路資源'/><title type='text'>免費將 YouTube 影片轉成 MP3 的網路服務</title><content type='html'>&lt;p&gt;&lt;a href="http://www.youtube.com"&gt;YouTube&lt;/a&gt; 上大大小小各種型態的影片一堆，其中不乏許多好聽的影片配樂     &lt;br /&gt;想捉下來放隨時欣賞或放到 MP3 隨身聽欣賞，甚至是當作手機鈴聲來用     &lt;br /&gt;如果還得將影片捉下來再用轉檔軟體轉成 MP3 那就很麻煩了     &lt;br /&gt;還好現在有免費的線上將影片轉成 MP3 的服務     &lt;br /&gt;天秤提供以下二個供選擇     &lt;br /&gt;其中 vixy.net 還不只是可以將 YouTube 影片轉成 MP3     &lt;br /&gt;也包含將 FLV (YouTube 格式)的影片轉成 .AVI, .MOV, .MP4, .3GP 格式&lt;/p&gt;  &lt;p&gt;vixy.net    &lt;br /&gt;官方網站: &lt;a title="http://vixy.net/" href="http://vixy.net/"&gt;http://vixy.net/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Youtube to MP3 Online Converter    &lt;br /&gt;官方網站: &lt;a title="http://flvto.com/" href="http://flvto.com/"&gt;http://flvto.com/&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;使用方法，以 vixy.net 為例&lt;/h4&gt;  &lt;p&gt;將 YouTube url 貼到 vixy.net 網頁中的 url 位置    &lt;br /&gt;&lt;a href="http://lh3.ggpht.com/richielin996/SC1Ehm0TuEI/AAAAAAAAAUU/Fa-SSggvyoE/image%5B28%5D.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="177" alt="image" src="http://lh3.ggpht.com/richielin996/SC1Ejm0TuFI/AAAAAAAAAUc/UFoIRvCdLOY/image_thumb%5B18%5D.png" width="500" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;選擇轉換的格式，包含 .AVI (DivX + MP3), .MOV (MPEG4 + MP3)    &lt;br /&gt;.MP4 (MPEG4 + AAC), .3GP (MPEG4 + AAC), MP3 (audio only)     &lt;br /&gt;&lt;a href="http://lh6.ggpht.com/richielin996/SC1ElW0TuGI/AAAAAAAAAUk/gNbKlJoNWLY/image%5B31%5D.png"&gt;&lt;img height="147" alt="image" src="http://lh5.ggpht.com/richielin996/SC1EnG0TuHI/AAAAAAAAAUs/o6lN34RNwK0/image_thumb%5B19%5D.png" width="356" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;按下 [Start] 按鈕開始轉換   &lt;br /&gt;該網站會自動至 YouTube 取得該段影片，來幫忙轉成你要的格式    &lt;br /&gt;等該網站取得影片之後，會出現開始轉換格式的畫面    &lt;br /&gt;當來到 100% 時，就表示你要的格式已轉換好了    &lt;br /&gt;&lt;a href="http://lh6.ggpht.com/richielin996/SC1EpW0TuII/AAAAAAAAAU0/56srTnbqU5g/image%5B34%5D.png"&gt;&lt;img height="140" alt="image" src="http://lh4.ggpht.com/richielin996/SC1Er20TuJI/AAAAAAAAAU8/j2eeztbUuQ4/image_thumb%5B20%5D.png" width="500" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;當轉換完成後，瀏覽器會出現下載畫面   &lt;br /&gt;直接下載就可以使用了    &lt;br /&gt;&lt;a href="http://lh3.ggpht.com/richielin996/SC1Eum0TuKI/AAAAAAAAAVE/fsgHjFQTYSw/image%5B38%5D.png"&gt;&lt;img height="344" alt="image" src="http://lh4.ggpht.com/richielin996/SC1Ev20TuLI/AAAAAAAAAVM/NGqI1lSO89Q/image_thumb%5B22%5D.png" width="407" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;不此如此，如果不想要線上轉換   &lt;br /&gt;vixy.net 網站還提供了桌面軟體供下載 (必須安裝 .NET Framework 2.0)    &lt;br /&gt;不過目前還是 beta 版，且只能使用到 Jun/30/2008    &lt;br /&gt;PS. 也有 MaxOSX 版本可使用哦    &lt;br /&gt;&lt;a href="http://lh4.ggpht.com/richielin996/SC1Ex20TuMI/AAAAAAAAAVU/HqR3OFb2Iaw/image%5B42%5D.png"&gt;&lt;img height="293" alt="image" src="http://lh4.ggpht.com/richielin996/SC1Ey20TuNI/AAAAAAAAAVc/Ep84mZzUVIw/image_thumb%5B24%5D.png" width="402" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;至於 flvto.com 這個網站，介面是亂了一點   &lt;br /&gt;供貼上 url 的位置小了一點，可供轉換的格式也少了一點    &lt;br /&gt;也沒有提供離線轉換的軟體，第一次使用還找不到從哪裡開始轉換    &lt;br /&gt;它可以提供的功能 vixy.net 都有，就當作是 vixy.net 的備用網站吧    &lt;br /&gt;&lt;a href="http://lh6.ggpht.com/richielin996/SC1E1W0TuOI/AAAAAAAAAVk/YFOOSIhKcwc/image%5B46%5D.png"&gt;&lt;img height="349" alt="image" src="http://lh3.ggpht.com/richielin996/SC1E3m0TuPI/AAAAAAAAAVs/Hbj1mAlo_Q4/image_thumb%5B26%5D.png" width="500" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-1701230285213962916?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/1701230285213962916/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=1701230285213962916' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1701230285213962916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1701230285213962916'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/05/youtube-mp3.html' title='免費將 YouTube 影片轉成 MP3 的網路服務'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/richielin996/SC1Ejm0TuFI/AAAAAAAAAUc/UFoIRvCdLOY/s72-c/image_thumb%5B18%5D.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-2259664969373213771</id><published>2008-05-15T02:58:00.001-07:00</published><updated>2008-05-15T02:59:38.745-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET Framework'/><title type='text'>C# 幫你釋放物件資源的 Using 陳述式</title><content type='html'>&lt;p&gt;在 .NET Framework 中，當我們使用 unmanaged 資源的物件後    &lt;br /&gt;必須記得去釋放其資源，以避免程式佔用記憶體或發生不可預期的事情     &lt;br /&gt;這些物件通常都會實作 IDisposable 介面，只要呼叫 Dispose 方法即可釋放它的資源     &lt;br /&gt;但也得程式設計師使用過後有記得去釋放才行&lt;/p&gt;  &lt;p&gt;這時可以使用 Using 陳述式來幫忙了   &lt;br /&gt;以下為示範程式碼&lt;/p&gt; &lt;textarea class="csharp" name="code"&gt;     using (Graphics g = this.CreateGraphics())&lt;BR&gt;     {&lt;BR&gt;         using (SolidBrush brush = new SolidBrush(Color.Black))&lt;BR&gt;         {&lt;BR&gt;             g.DrawString("Using 陳述式測試", font, brush, rect);&lt;BR&gt;         }&lt;BR&gt;     }&lt;BR&gt; &lt;/textarea&gt; &lt;p&gt;Using 區塊包含三個部份: &lt;strong&gt;取得物件&lt;/strong&gt;、&lt;strong&gt;使用物件&lt;/strong&gt;、&lt;strong&gt;釋放物件&lt;/strong&gt;    &lt;br /&gt;其中在 Using 陳述式最後會徹底絡結一個 Unmanaged 資源    &lt;br /&gt;並使得記憶體回收行程 (GC) 將物件變數從系統中移除    &lt;br /&gt;讓它所佔用的資源能被其它程式碼使用    &lt;br /&gt;事實上 Using 也可以用於巢狀 Using，如上述例子所示    &lt;br /&gt;所該物件的資源，僅止於該大括號內範圍區塊內，執行序離開時會自動被釋放回收    &lt;br /&gt;而不用手動加上 Dispose 或忘了釋放資源了&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-2259664969373213771?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/2259664969373213771/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=2259664969373213771' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2259664969373213771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2259664969373213771'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/05/c-using.html' title='C# 幫你釋放物件資源的 Using 陳述式'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-1288919420825132701</id><published>2008-04-30T02:38:00.001-07:00</published><updated>2008-05-16T01:48:01.732-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET Framework'/><title type='text'>C# 使用 MD5, DES, RSA 演算法加解密</title><content type='html'>&lt;p&gt;在 .NET Framework 中有個 namespace 是專門處理加解密動作    &lt;br /&gt;&lt;font color="#0000ff"&gt;System.Security.Cryptography&lt;/font&gt;     &lt;br /&gt;針對許多種加解密方式都有對應的類別來處理     &lt;br /&gt;天秤列出三種加密法實作     &lt;br /&gt;其它加密碼如 SHA1 系列與 MD5 語法相似，AES 與 DES 語法相似     &lt;br /&gt;就不另外寫出來了     &lt;br /&gt;PS. 以下部份資料取至 &lt;a href="http://zh.wikipedia.org"&gt;維基百科&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;MD5 演算法&lt;/h4&gt;  &lt;p&gt;MD5 即 Message-Digest Algorithm 5，是電腦廣泛使用的雜湊演算法之一    &lt;br /&gt;其演算法複雜度和不可逆性，通常用於確保資訊傳輸完整一致     &lt;br /&gt;因其不可逆性，所以只有加密的函式，沒有解密的函式&lt;/p&gt; &lt;textarea class="csharp" name="code"&gt; /// &amp;lt;summary&amp;gt; &amp;lt;BR&amp;gt; /// 取得 MD5 編碼後的 Hex 字串 &amp;lt;BR&amp;gt; /// 加密後為 32 Bytes Hex String (16 Byte) &amp;lt;BR&amp;gt; /// &amp;lt;/summary&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;original&amp;quot;&amp;gt;原始字串&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt; &amp;lt;BR&amp;gt; public static string GetMD5(string original) &amp;lt;BR&amp;gt; { &amp;lt;BR&amp;gt; MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); &amp;lt;BR&amp;gt; byte[] b = md5.ComputeHash(Encoding.UTF8.GetBytes(original)); &amp;lt;BR&amp;gt; return BitConverter.ToString(b).Replace(&amp;quot;-&amp;quot;, string.Empty); &amp;lt;BR&amp;gt; }&lt;/textarea&gt;   &lt;h4&gt;DES 加解密演算法&lt;/h4&gt;  &lt;p&gt;DES 加密法於 1977 年被聯邦政府列為數據加密標準    &lt;br /&gt;其加解密速度非常快速，但因為 56 位元金鑰過短     &lt;br /&gt;很有可能於 24 小時內被破解     &lt;br /&gt;如果需要安全一點的加密方式，可以考慮改用 AES 機制     &lt;br /&gt;AES 語法與 DES 大致相同，只在加解密的金鑰 KEY 及 IV 長度不同     &lt;br /&gt;加密及解碼需使用相同的金鑰&lt;/p&gt;  &lt;p&gt;&lt;/p&gt; &lt;textarea class="csharp" name="code"&gt; /// &amp;lt;summary&amp;gt; &amp;lt;BR&amp;gt; /// DES 加密字串 &amp;lt;BR&amp;gt; /// &amp;lt;/summary&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;original&amp;quot;&amp;gt;原始字串&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;key&amp;quot;&amp;gt;Key，長度必須為 8 個 ASCII 字元&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;iv&amp;quot;&amp;gt;IV，長度必須為 8 個 ASCII 字元&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt; &amp;lt;BR&amp;gt; public static string EncryptDES(string original, string key, string iv) &amp;lt;BR&amp;gt; { &amp;lt;BR&amp;gt; try &amp;lt;BR&amp;gt; { &amp;lt;BR&amp;gt; DESCryptoServiceProvider des = new DESCryptoServiceProvider(); &amp;lt;BR&amp;gt; des.Key = Encoding.ASCII.GetBytes(key); &amp;lt;BR&amp;gt; des.IV = Encoding.ASCII.GetBytes(iv); &amp;lt;BR&amp;gt; byte[] s = Encoding.ASCII.GetBytes(original); &amp;lt;BR&amp;gt; ICryptoTransform desencrypt = des.CreateEncryptor(); &amp;lt;BR&amp;gt; return BitConverter.ToString(desencrypt.TransformFinalBlock(s, 0, s.Length)).Replace(&amp;quot;-&amp;quot;, string.Empty); &amp;lt;BR&amp;gt; } &amp;lt;BR&amp;gt; catch { return original; } &amp;lt;BR&amp;gt; } &amp;lt;BR&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;summary&amp;gt; &amp;lt;BR&amp;gt; /// DES 解密字串 &amp;lt;BR&amp;gt; /// &amp;lt;/summary&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;hexString&amp;quot;&amp;gt;加密後 Hex String&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;key&amp;quot;&amp;gt;Key，長度必須為 8 個 ASCII 字元&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;iv&amp;quot;&amp;gt;IV，長度必須為 8 個 ASCII 字元&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt; &amp;lt;BR&amp;gt; public static string DecryptDES(string hexString, string key, string iv) &amp;lt;BR&amp;gt; { &amp;lt;BR&amp;gt; try &amp;lt;BR&amp;gt; { &amp;lt;BR&amp;gt; DESCryptoServiceProvider des = new DESCryptoServiceProvider(); &amp;lt;BR&amp;gt; des.Key = Encoding.ASCII.GetBytes(key); &amp;lt;BR&amp;gt; des.IV = Encoding.ASCII.GetBytes(iv); &amp;lt;BR&amp;gt; &amp;lt;BR&amp;gt; byte[] s = new byte[hexString.Length / 2]; &amp;lt;BR&amp;gt; int j = 0; &amp;lt;BR&amp;gt; for (int i = 0; i &amp;lt; hexString.Length/2; i++) &amp;lt;BR&amp;gt; { &amp;lt;BR&amp;gt; s[i] = Byte.Parse(hexString[j].ToString() + hexString[j + 1].ToString(), System.Globalization.NumberStyles.HexNumber); &amp;lt;BR&amp;gt; j += 2; &amp;lt;BR&amp;gt; } &amp;lt;BR&amp;gt; ICryptoTransform desencrypt = des.CreateDecryptor(); &amp;lt;BR&amp;gt; return Encoding.ASCII.GetString(desencrypt.TransformFinalBlock(s, 0, s.Length)); &amp;lt;BR&amp;gt; } &amp;lt;BR&amp;gt; catch { return hexString; } &amp;lt;BR&amp;gt; } &amp;lt;BR&amp;gt; &lt;/textarea&gt;   &lt;h4&gt;RSA 加解密演算法&lt;/h4&gt;  &lt;p&gt;RSA 是一種非對稱性加密演算法，其原理是以公鑰及私鑰來處理加解密    &lt;br /&gt;簡單來說，公鑰可以提供給任何需要加密的人，但是私鑰必須妥善保存     &lt;br /&gt;加密時以公鑰處理即可，但解密必須有私鑰&lt;/p&gt;  &lt;p&gt;在 .NET Framework 中公私鑰可以 xml 及 RSAParameters 類別型態存在    &lt;br /&gt;而金鑰產生最簡單的方式是由 RSACryptoServiceProvider 類別來產生     &lt;br /&gt;每次初始化 RSACryptoServiceProvider 類別時即會亂數產生一組金鑰&lt;/p&gt; &lt;textarea class="csharp" name="code"&gt; RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); &amp;lt;BR&amp;gt; // 公鑰 xml 字串 &amp;lt;BR&amp;gt; publicXml = rsa.ToXmlString(false); &amp;lt;BR&amp;gt; // 私鑰 xml 字串 &amp;lt;BR&amp;gt; privateXml = rsa.ToXmlString(true); &amp;lt;BR&amp;gt; // 公鑰 &amp;lt;BR&amp;gt; publicParameter = rsa.ExportParameters(false); &amp;lt;BR&amp;gt; // 私鑰 &amp;lt;BR&amp;gt; privateParameter = rsa.ExportParameters(true); &amp;lt;BR&amp;gt; &lt;/textarea&gt;   &lt;p&gt;加解密時只要使用同一組金鑰 (公私鑰) 即可&lt;/p&gt; &lt;textarea class="csharp" name="code"&gt; /// &amp;lt;summary&amp;gt; &amp;lt;BR&amp;gt; /// RSA 加密字串 &amp;lt;BR&amp;gt; /// &amp;lt;/summary&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;original&amp;quot;&amp;gt;原始字串&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;xmlString&amp;quot;&amp;gt;公鑰 xml 字串&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt; &amp;lt;BR&amp;gt; public static string EncryptRSA(string original, string xmlString) &amp;lt;BR&amp;gt; { &amp;lt;BR&amp;gt; try &amp;lt;BR&amp;gt; { &amp;lt;BR&amp;gt; RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); &amp;lt;BR&amp;gt; rsa.FromXmlString(xmlString); &amp;lt;BR&amp;gt; byte[] s = Encoding.ASCII.GetBytes(original); &amp;lt;BR&amp;gt; return BitConverter.ToString(rsa.Encrypt(s, false)).Replace(&amp;quot;-&amp;quot;, string.Empty); &amp;lt;BR&amp;gt; } &amp;lt;BR&amp;gt; catch { return original; } &amp;lt;BR&amp;gt; } &amp;lt;BR&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;summary&amp;gt; &amp;lt;BR&amp;gt; /// RSA 加密字串 &amp;lt;BR&amp;gt; /// 加密後為 256 Bytes Hex String (128 Byte) &amp;lt;BR&amp;gt; /// &amp;lt;/summary&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;original&amp;quot;&amp;gt;原始字串&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;parameters&amp;quot;&amp;gt;公鑰 RSAParameters 類別&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt; &amp;lt;BR&amp;gt; public static string EncryptRSA(string original, RSAParameters parameters) &amp;lt;BR&amp;gt; { &amp;lt;BR&amp;gt; try &amp;lt;BR&amp;gt; { &amp;lt;BR&amp;gt; RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); &amp;lt;BR&amp;gt; rsa.ImportParameters(parameters); &amp;lt;BR&amp;gt; byte[] s = Encoding.ASCII.GetBytes(original); &amp;lt;BR&amp;gt; return BitConverter.ToString(rsa.Encrypt(s, false)).Replace(&amp;quot;-&amp;quot;, string.Empty); &amp;lt;BR&amp;gt; } &amp;lt;BR&amp;gt; catch { return original; } &amp;lt;BR&amp;gt; } &amp;lt;BR&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;summary&amp;gt; &amp;lt;BR&amp;gt; /// RSA 解密字串 &amp;lt;BR&amp;gt; /// &amp;lt;/summary&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;hexString&amp;quot;&amp;gt;加密後 Hex String&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;xmlString&amp;quot;&amp;gt;私鑰 xml 字串&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt; &amp;lt;BR&amp;gt; public static string DecryptRSA(string hexString, string xmlString) &amp;lt;BR&amp;gt; { &amp;lt;BR&amp;gt; try &amp;lt;BR&amp;gt; { &amp;lt;BR&amp;gt; RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); &amp;lt;BR&amp;gt; rsa.FromXmlString(xmlString); &amp;lt;BR&amp;gt; byte[] s = new byte[hexString.Length / 2]; &amp;lt;BR&amp;gt; int j = 0; &amp;lt;BR&amp;gt; for (int i = 0; i &amp;lt; hexString.Length/2; i++) &amp;lt;BR&amp;gt; { &amp;lt;BR&amp;gt; s[i] = Byte.Parse(hexString[j].ToString() + hexString[j + 1].ToString(), System.Globalization.NumberStyles.HexNumber); &amp;lt;BR&amp;gt; j += 2; &amp;lt;BR&amp;gt; } &amp;lt;BR&amp;gt; return Encoding.ASCII.GetString(rsa.Decrypt(s, false)); &amp;lt;BR&amp;gt; } &amp;lt;BR&amp;gt; catch { return hexString; } &amp;lt;BR&amp;gt; } &amp;lt;BR&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;summary&amp;gt; &amp;lt;BR&amp;gt; /// RSA 解密字串 &amp;lt;BR&amp;gt; /// &amp;lt;/summary&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;hexString&amp;quot;&amp;gt;加密後 Hex String&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;parameters&amp;quot;&amp;gt;私鑰 RSAParameters 類別&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt; &amp;lt;BR&amp;gt; public static string DecryptRSA(string hexString, RSAParameters parameters) &amp;lt;BR&amp;gt; { &amp;lt;BR&amp;gt; try &amp;lt;BR&amp;gt; { &amp;lt;BR&amp;gt; RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); &amp;lt;BR&amp;gt; rsa.ImportParameters(parameters); &amp;lt;BR&amp;gt; byte[] s = new byte[hexString.Length / 2]; &amp;lt;BR&amp;gt; int j = 0; &amp;lt;BR&amp;gt; for (int i = 0; i &amp;lt; hexString.Length/2; i++) &amp;lt;BR&amp;gt; { &amp;lt;BR&amp;gt; s[i] = Byte.Parse(hexString[j].ToString() + hexString[j + 1].ToString(), System.Globalization.NumberStyles.HexNumber); &amp;lt;BR&amp;gt; j += 2; &amp;lt;BR&amp;gt; } &amp;lt;BR&amp;gt; return Encoding.ASCII.GetString(rsa.Decrypt(s, false)); &amp;lt;BR&amp;gt; } &amp;lt;BR&amp;gt; catch { return hexString; } &amp;lt;BR&amp;gt; } &amp;lt;BR&amp;gt; &lt;/textarea&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-1288919420825132701?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/1288919420825132701/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=1288919420825132701' title='7 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1288919420825132701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1288919420825132701'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/04/c-md5-des-rsa.html' title='C# 使用 MD5, DES, RSA 演算法加解密'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-4430244912560075799</id><published>2008-04-24T00:56:00.001-07:00</published><updated>2008-04-24T00:56:08.360-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>馬的~ 放住家鐵門內也會被偷 (幫忙協尋)</title><content type='html'>&lt;p&gt;&lt;a title="Flickr 上 Richie Style 的 毘盧禪寺" href="http://www.flickr.com/photos/richielin996/223576057/"&gt;&lt;img height="333" alt="毘盧禪寺" src="http://farm1.static.flickr.com/97/223576057_020ce786b8.jpg" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;就是照片上兩台捷安特腳踏車 YUKON DISC    &lt;br /&gt;天秤和老婆特別選的顏色，陪伴天秤上山下海一年多     &lt;br /&gt;就在昨天清晨 (4/23) 彰化住家中一起被偷了     &lt;br /&gt;一次損失兩台，很心痛&lt;/p&gt;  &lt;p&gt;沒錯，腳踏車被在家裡還會被偷，這是什麼治安?    &lt;br /&gt;簡單描述一下住家     &lt;br /&gt;天秤家是透天房子，有兩道鐵門，房子鐵門及騎樓的鐵門     &lt;br /&gt;平時兩台腳踏車就停在騎樓間，騎樓前還有鐵門關著     &lt;br /&gt;小偷竟打開鐵門潛入騎門把兩台腳踏車幹走了     &lt;br /&gt;馬的~ 連停住家鐵門內的腳踏車都會被幹走~     &lt;br /&gt;已報警處理，但對警力不抱什麼希望就是了&lt;/p&gt;  &lt;p&gt;幫個忙吧，有看到文章的朋友    &lt;br /&gt;就在彰化市後車站附近，似乎有人疑似看到兩個外勞騎著類似的腳踏車出現過     &lt;br /&gt;已通知警方調監視器處理中     &lt;br /&gt;天秤住彰化那麼久，還沒有看到騎一樣的顏色款式     &lt;br /&gt;&lt;font color="#0000a0"&gt;&lt;strong&gt;麻煩住彰化的朋友幫忙注意一下        &lt;br /&gt;是不是有外勞(台灣人也有可能)騎著 橘白色捷安特 YUKON DISC (碟煞) 24檔變速         &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;尤其是同時出現兩台更是可疑     &lt;br /&gt;不管是不是，麻煩通知一下天秤，就算搞錯天秤也會向車主解釋清楚的     &lt;br /&gt;&lt;font color="#0000a0"&gt;&lt;strong&gt;0916779455 林先生&lt;/strong&gt;&lt;/font&gt;     &lt;br /&gt;麻煩各位了&lt;/p&gt;  &lt;p&gt;再補上一張照片    &lt;br /&gt;&lt;a title="Flickr 上 Richie Style 的 毘盧禪寺" href="http://www.flickr.com/photos/richielin996/223575402/"&gt;&lt;img height="333" alt="毘盧禪寺" src="http://farm1.static.flickr.com/65/223575402_0e52d0f133.jpg" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-4430244912560075799?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/4430244912560075799/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=4430244912560075799' title='6 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4430244912560075799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4430244912560075799'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/04/blog-post_24.html' title='馬的~ 放住家鐵門內也會被偷 (幫忙協尋)'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm1.static.flickr.com/97/223576057_020ce786b8_t.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-7071727921811702078</id><published>2008-04-08T01:07:00.001-07:00</published><updated>2008-04-09T02:23:03.620-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET Framework'/><title type='text'>C# 取得系統特殊目錄及環境變數</title><content type='html'>&lt;p&gt;Windows 作業系統中，存在著許多特殊目錄    &lt;br /&gt;這些特殊目錄有其特殊的用途，如 '桌面'，'程式集'，'我的文件夾' 等     &lt;br /&gt;如果需要的話，程式可以依照這種規則來讓使用更加方便     &lt;br /&gt;加上在 '控制台' 中的 '系統'，'環境變數' 裡，也有一堆系統參數設定     &lt;br /&gt;這些環境變數如 'OS'，'WINDIR' 等     &lt;br /&gt;或許可以讓程式用來判斷一些事情&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.google.com/richielin996/R_snzijFjVI/AAAAAAAAARU/xgI6UHxWMbs/image%5B6%5D.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="400" alt="image" src="http://lh6.google.com/richielin996/R_sn0SjFjWI/AAAAAAAAARc/DtGu9iq3_eg/image_thumb%5B4%5D.png" width="384" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;以下提供 C# 讀取系統特殊目錄及環境變數的方式    &lt;br /&gt;系統特殊目錄指定於 &lt;font color="#008000"&gt;Environment.SpecialFolder&lt;/font&gt; 這個列舉集合內     &lt;br /&gt;洋洋灑灑列了 2x 個目錄，必須配合 &lt;font color="#008000"&gt;Environment.GetFolderPath()&lt;/font&gt; 函式取得目錄名稱&lt;/p&gt;  &lt;p&gt;&lt;textarea class="csharp" name="code"&gt; // 取得 '桌面 '目錄&lt;BR&gt; string folder = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);&lt;BR&gt;&lt;BR&gt; &lt;/textarea&gt; &lt;/p&gt;  &lt;p&gt;至於環境變數則是以 &lt;font color="#008000"&gt;Environment.GetEnvironmentVariable()&lt;/font&gt; 函式來取得    &lt;br /&gt;帶入環境變數字串，該函式則會回傳結果 (字串)&lt;/p&gt;  &lt;p&gt;&lt;textarea class="csharp" name="code"&gt; // 取得 'OS ' 環境變數&lt;BR&gt; string os = Environment.GetEnvironmentVariable("OS");&lt;BR&gt;&lt;BR&gt; &lt;/textarea&gt; &lt;/p&gt;  &lt;p&gt;以下列出所有特殊目錄的列舉及值，及一些環境變數值&lt;br&gt; 每台電腦值都不盡相同，僅供參考&lt;br&gt; &lt;/p&gt;  &lt;textarea class="csharp" name="code"&gt; // 系統特殊目錄&lt;BR&gt; // Environment.SpecialFolder&lt;BR&gt; Desktop: C:\Documents and Settings\Administrator\桌面&lt;BR&gt; Programs: C:\Documents and Settings\Administrator\「開始」功能表\程式集&lt;BR&gt; Personal: D:\My Documents&lt;BR&gt; Favorites: C:\Documents and Settings\Administrator\Favorites&lt;BR&gt; Startup: C:\Documents and Settings\Administrator\「開始」功能表\程式集\啟動&lt;BR&gt; Recent: C:\Documents and Settings\Administrator\Recent&lt;BR&gt; SendTo: C:\Documents and Settings\Administrator\SendTo&lt;BR&gt; StartMenu: C:\Documents and Settings\Administrator\「開始」功能表&lt;BR&gt; MyMusic: D:\My Documents\My Music&lt;BR&gt; DesktopDirectory: C:\Documents and Settings\Administrator\桌面&lt;BR&gt; MyComputer:&lt;BR&gt; Templates: C:\Documents and Settings\Administrator\Templates&lt;BR&gt; ApplicationData: C:\Documents and Settings\Administrator\Application Data&lt;BR&gt; LocalApplicationData: C:\Documents and Settings\Administrator\Local Settings\Application Data&lt;BR&gt; InternetCache: C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files&lt;BR&gt; Cookies: C:\Documents and Settings\Administrator\Cookies&lt;BR&gt; History: C:\Documents and Settings\Administrator\Local Settings\History&lt;BR&gt; CommonApplicationData: C:\Documents and Settings\All Users\Application Data&lt;BR&gt; System: C:\WINDOWS\system32&lt;BR&gt; ProgramFiles: C:\Program Files&lt;BR&gt; MyPictures: D:\My Documents\My Pictures&lt;BR&gt; CommonProgramFiles: C:\Program Files\Common Files&lt;BR&gt; &lt;BR&gt; // 環境變數&lt;BR&gt; // Environment.GetEnvironmentVariable("環境變數名稱")&lt;BR&gt; OS: Windows_NT&lt;BR&gt; WINDIR: C:\WINDOWS&lt;BR&gt; USERPROFILE: C:\Documents and Settings\Administrator&lt;BR&gt; TEMP: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp&lt;BR&gt; &lt;BR&gt; // 暫存目錄&lt;BR&gt; Path.GetTempPath(): C:\Documents and Settings\Administrator\Local Settings\Temp\&lt;BR&gt; &lt;/textarea&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-7071727921811702078?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/7071727921811702078/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=7071727921811702078' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7071727921811702078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7071727921811702078'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/04/c.html' title='C# 取得系統特殊目錄及環境變數'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-2026179430267164384</id><published>2008-04-07T03:06:00.001-07:00</published><updated>2008-04-07T03:09:43.633-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET Framework'/><title type='text'>C# 覆製資料夾函式 CopyDirectory()</title><content type='html'>&lt;p&gt;提供一個很簡單的函式 - 資料夾覆製    &lt;br /&gt;把整個資料夾內資料 (包含檔案及子目錄) 通通 Copy 到指定的新資料夾中     &lt;br /&gt;很基本的功能吧?     &lt;br /&gt;但很奇怪的是 .NET Framework 竟然沒有提供     &lt;br /&gt;CopyDirectory() 函式以遞迴方式處理子目錄下檔案     &lt;br /&gt;以下是程式碼     &lt;br /&gt;&lt;/p&gt;  &lt;textarea class="c#" name="code"&gt;         /// &lt;summary&gt;&lt;BR&gt;         /// 覆製資料夾&lt;BR&gt;         /// &lt;/summary&gt;&lt;BR&gt;         /// &lt;param name="srcFolder"&gt;來源資料夾&lt;/param&gt;&lt;BR&gt;         /// &lt;param name="dstFolder"&gt;目的資料夾&lt;/param&gt;&lt;BR&gt;         public static void CopyDirectory(string srcFolder,string dstFolder)&lt;BR&gt;         {&lt;BR&gt;             if (Directory.Exists(srcFolder) == true)&lt;BR&gt;             {&lt;BR&gt;                 if (Directory.Exists(dstFolder) == false)&lt;BR&gt;                     Directory.CreateDirectory(dstFolder);&lt;BR&gt; &lt;BR&gt;                 DirectoryInfo srcDirectory = new DirectoryInfo(srcFolder);&lt;BR&gt;                 foreach (FileInfo fi in srcDirectory.GetFiles())&lt;BR&gt;                 {&lt;BR&gt;                     try { System.IO.File.Copy(fi.FullName, dstFolder + Path.DirectorySeparatorChar + fi.Name); }&lt;BR&gt;                     catch { }&lt;BR&gt;                 }&lt;BR&gt;                 foreach (DirectoryInfo di in srcDirectory.GetDirectories())&lt;BR&gt;                 {&lt;BR&gt;                     try { CopyDirectory(di.FullName, dstFolder + Path.DirectorySeparatorChar + di.Name); }&lt;BR&gt;                     catch { }&lt;BR&gt;                 }&lt;BR&gt;             }&lt;BR&gt;         }&lt;BR&gt; &lt;/textarea&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-2026179430267164384?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/2026179430267164384/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=2026179430267164384' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2026179430267164384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2026179430267164384'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/04/c-copydirectory.html' title='C# 覆製資料夾函式 CopyDirectory()'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-4272513813912941784</id><published>2008-04-02T21:54:00.001-07:00</published><updated>2008-04-02T22:16:26.619-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET Framework'/><title type='text'>C# SharpZip 應用</title><content type='html'>&lt;p&gt;C# 程式要處理壓縮檔，大致上都會選擇好用的 &lt;a href="http://www.icsharpcode.net/OpenSource/SharpZipLib/"&gt;SharpZip&lt;/a&gt;     &lt;br /&gt;SharpZip 支援 ZIP, GZip, Tar, BZip2 格式     &lt;br /&gt;其文件說明豐富， API 還算簡捷     &lt;br /&gt;雖然本身提供了 FastZip 簡單易用，但是只有以下功能     &lt;br /&gt;1. 壓縮某個資料夾成為 ZIP 檔案     &lt;br /&gt;2. 解縮某個 ZIP 檔案到指定資料夾&lt;/p&gt;  &lt;p&gt;如果想要對不同資料夾內許多檔案做壓縮處理，或是將 ZIP 內某個檔案取出    &lt;br /&gt;甚至只是想壓縮成 System.IO.Stream 資料流而不想儲存成檔案     &lt;br /&gt;FastZip 都無法處理     &lt;br /&gt;必須以 ZipOutputStream 類別來處理上述工作，建立整個機制卻不是那麼快&lt;/p&gt;  &lt;p&gt;天秤寫了函式將 ZipOutputStream 類別包起來    &lt;br /&gt;提供單一函式呼叫就可以來處理上述的動作 &lt;/p&gt;  &lt;h5&gt;函式使用如下    &lt;br /&gt;提供二個壓縮函式，六個解壓縮函式&lt;/h5&gt; &lt;textarea class="c#" name="code"&gt;/// &amp;lt;summary&amp;gt; &amp;lt;BR&amp;gt; /// 壓縮檔案成 ZIP &amp;lt;BR&amp;gt; /// &amp;lt;/summary&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;zipFilename&amp;quot;&amp;gt;ZIP 檔名&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;filenames&amp;quot;&amp;gt;壓檔的檔案&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; public static bool Zip(string zipFilename, string[] filenames) &amp;lt;BR&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;summary&amp;gt; &amp;lt;BR&amp;gt; /// 壓縮檔案成 ZIP &amp;lt;BR&amp;gt; /// &amp;lt;/summary&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;filenames&amp;quot;&amp;gt;壓縮的檔案&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; public static System.IO.Stream Zip(string[] filenames) &amp;lt;BR&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;summary&amp;gt; &amp;lt;BR&amp;gt; /// 從 ZIP 中解出特定檔案並回傳 ZipFileInfo 結構 &amp;lt;BR&amp;gt; /// &amp;lt;/summary&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;zipFilename&amp;quot;&amp;gt;ZIP 壓縮檔&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;filenames&amp;quot;&amp;gt;欲解出的檔案&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; public static ZipFileInfo[] Unzip(string zipFilename, string[] filenames) &amp;lt;BR&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;summary&amp;gt; &amp;lt;BR&amp;gt; /// 從 ZIP 中解出特定檔案並回傳 ZipFileInfo 結構 &amp;lt;BR&amp;gt; /// &amp;lt;/summary&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;stream&amp;quot;&amp;gt;ZIP 壓縮檔資料流&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;filenames&amp;quot;&amp;gt;欲解出的檔案&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; public static ZipFileInfo[] Unzip(System.IO.Stream stream, string[] filenames) &amp;lt;BR&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;summary&amp;gt; &amp;lt;BR&amp;gt; /// 從 ZIP 中解出特定檔案到指定目錄 &amp;lt;BR&amp;gt; /// 指定目錄必須在目錄字串最後補上 '\\' 字元，否則會被當成檔案處理 &amp;lt;BR&amp;gt; /// &amp;lt;/summary&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;zipFilename&amp;quot;&amp;gt;ZIP 壓縮檔&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;filenames&amp;quot;&amp;gt;欲解出的檔案&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;folder&amp;quot;&amp;gt;儲存的目錄&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;isCreateSubFolder&amp;quot;&amp;gt;是否依壓縮檔目錄結構建立子目錄 ( false 時則全部塞在 folder 目錄下)&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; public static bool Unzip(string zipFilename, string[] filenames, string folder, bool isCreateSubFolder) &amp;lt;BR&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;summary&amp;gt; &amp;lt;BR&amp;gt; /// 從 ZIP 中解出特定檔案到指定目錄 &amp;lt;BR&amp;gt; /// 指定目錄必須在目錄字串最後補上 '\\' 字元，否則會被當成檔案處理 &amp;lt;BR&amp;gt; /// &amp;lt;/summary&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;stream&amp;quot;&amp;gt;ZIP 壓縮檔資料流&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;filenames&amp;quot;&amp;gt;欲解出的檔案&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;folder&amp;quot;&amp;gt;儲存的目錄&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;isCreateSubFolder&amp;quot;&amp;gt;是否依壓縮檔目錄結構建立子目錄 ( false 時則全部塞在 folder 目錄下)&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; public static bool Unzip(System.IO.Stream stream, string[] filenames, string folder, bool isCreateSubFolder) &amp;lt;BR&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;summary&amp;gt; &amp;lt;BR&amp;gt; /// 解壓縮全部檔案到指定目錄下 &amp;lt;BR&amp;gt; /// &amp;lt;/summary&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;zipFilename&amp;quot;&amp;gt;ZIP 壓縮檔&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;folder&amp;quot;&amp;gt;儲存的目錄&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; public static bool Unzip(string zipFilename, string folder) &amp;lt;BR&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;summary&amp;gt; &amp;lt;BR&amp;gt; /// 解壓縮全部檔案到指定目錄下 &amp;lt;BR&amp;gt; /// &amp;lt;/summary&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;stream&amp;quot;&amp;gt;ZIP 壓縮檔資料流&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; /// &amp;lt;param name=&amp;quot;folder&amp;quot;&amp;gt;儲存的目錄&amp;lt;/param&amp;gt; &amp;lt;BR&amp;gt; public static bool Unzip(System.IO.Stream stream, string folder)&amp;lt;BR&amp;gt; &lt;/textarea&gt;   &lt;h5&gt;使用方法&lt;/h5&gt;  &lt;p&gt;下載原始碼: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Source/FileEx.rar"&gt;FileEx.cs&lt;/a&gt;    &lt;br /&gt;下載 &lt;a href="http://www.icsharpcode.net/OpenSource/SharpZipLib/"&gt;SharpZip&lt;/a&gt; 式庫及 &lt;a href="http://richielin.myweb.hinet.net/Blogger/Source/FileEx.rar"&gt;FileEx.cs&lt;/a&gt; 檔案     &lt;br /&gt;將 &lt;a href="http://www.icsharpcode.net/OpenSource/SharpZipLib/"&gt;SharpZip&lt;/a&gt; 加入參考，並加上 &lt;a href="http://richielin.myweb.hinet.net/Blogger/Source/FileEx.rar"&gt;FileEx.cs&lt;/a&gt; 程式碼即可使用，以下為簡單的壓縮解壓縮範例&lt;/p&gt; &lt;textarea class="c#" name="code"&gt; // 壓縮 c:\a.txt, c:\b.txt 及 c:\temp 目錄成 c:\c.zip 檔案&lt;BR&gt; RichieTools.FileEx.Zip("C:\\c.zip", new string[] { "c:\\a.txt", "c:\\b.txt"，"c:\\temp\\" } );&lt;BR&gt; // 解壓縮 c:\c.zip 全部檔案到 c:\test 目錄下&lt;BR&gt; RichieTools.FileEx.Unzip("c:\\c.zip", "c:\\text\\");&lt;BR&gt; &lt;/textarea&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-4272513813912941784?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/4272513813912941784/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=4272513813912941784' title='4 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4272513813912941784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4272513813912941784'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/04/c-sharpzip.html' title='C# SharpZip 應用'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-3596210606841265934</id><published>2008-03-31T21:47:00.001-07:00</published><updated>2008-03-31T21:47:45.426-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MAC'/><title type='text'>蘋果放棄 OSX，全面改採 Windows Vista</title><content type='html'>&lt;p&gt;&lt;a href="http://chinese.engadget.com/2008/04/01/happy-april-fools-day/"&gt;原文連結&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;好個愚人節快樂   &lt;br /&gt;早上起床時就覺得應該會有一堆愚人節新聞，果然~    &lt;br /&gt;不過連王建民開幕賽都因雨延賽，該不會也想過愚人節吧&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-3596210606841265934?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/3596210606841265934/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=3596210606841265934' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3596210606841265934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3596210606841265934'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/03/osx-windows-vista.html' title='蘋果放棄 OSX，全面改採 Windows Vista'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-6132422754889348449</id><published>2008-03-30T23:26:00.001-07:00</published><updated>2008-03-30T23:26:02.852-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體資訊'/><title type='text'>找回 Firefox 3 的 "家"</title><content type='html'>&lt;p&gt;Firefox 3 Beta 4 釋出一段時間了，其飛快的 Javascript 速度真是讓人愛不釋手   &lt;br /&gt;不知是不是心裡作用，感覺上比 Opera 還要快    &lt;br /&gt;而一堆 Plugin 也是讓人離不開 Firefox 的原因&lt;/p&gt;  &lt;p&gt;Firefox 3 界面做了一些修改，變得更漂亮了   &lt;br /&gt;不過預設界面卻也將 Home 按鈕拿掉了    &lt;br /&gt;很奇怪的設計，不知道別人如何，至少天秤常常用到 Home 按鈕    &lt;br /&gt;可以工作列自訂裡也找不到，要怎麼加回來 ?&lt;/p&gt;  &lt;p&gt;1. 在工作列按右鍵，先將書籤工具列打勾，再選擇自訂   &lt;br /&gt;&lt;a href="http://lh3.google.com/richielin996/R_CD7SjFjRI/AAAAAAAAAQ0/FDt7CtJnOZo/image%5B6%5D.png"&gt;&lt;img height="179" alt="image" src="http://lh3.google.com/richielin996/R_CD8SjFjSI/AAAAAAAAAQ8/smpxCMvzsEY/image_thumb%5B4%5D.png" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2. 將書籤工具列上的首頁拖曳至主工具列上即可   &lt;br /&gt;加入後可以將書籤工具列關閉，減少所佔用的空間    &lt;br /&gt;&amp;#160;&lt;a href="http://lh3.google.com/richielin996/R_CD9SjFjTI/AAAAAAAAARE/WQcLbkpAe8c/image%5B16%5D.png"&gt;&lt;img height="355" alt="image" src="http://lh6.google.com/richielin996/R_CD-CjFjUI/AAAAAAAAARM/DR4Ey7mVyqo/image_thumb%5B10%5D.png" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-6132422754889348449?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/6132422754889348449/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=6132422754889348449' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6132422754889348449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6132422754889348449'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/03/firefox-3.html' title='找回 Firefox 3 的 &amp;quot;家&amp;quot;'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-7960003263238662637</id><published>2008-03-17T21:05:00.001-07:00</published><updated>2008-03-17T21:06:02.537-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>微軟終極高手 Ultimate Student 專案</title><content type='html'>&lt;p&gt;微軟於 2008/08/30 前    &lt;br /&gt;讓台灣大專院校學生能以優惠價 1990 元購買原價 21728 元的完整 Office 2007 旗鑑版     &lt;br /&gt;說真的，這個價格實在是很夠意思     &lt;br /&gt;微軟提出優惠讓學生也有能力購買 Office 系統軟體供就學用     &lt;br /&gt;一來讓學生就沒有用盜版的藉口了     &lt;br /&gt;二來讓 Office 繼續向下札根，就如同 MS-DOS 時代一樣制約     &lt;br /&gt;也算是雙贏的局面吧~&lt;/p&gt;  &lt;p&gt;可能最近幾年比爾蓋滋大發善心吧，微軟推出幾項免費或優惠價格且都不錯用的軟體    &lt;br /&gt;如免費的 SQL 2005 Express, Visual Studio 2008 Express     &lt;br /&gt;現在又有 Office 2007 旗鑑版學生價     &lt;br /&gt;連同樣遊戲 XBOX 360 都比 PS3 便宜     &lt;br /&gt;也許有人會覺得是微軟之前賺太多或是價格定太高了     &lt;br /&gt;不過至少有動作也是好事啦&lt;/p&gt;  &lt;p&gt;官方網站: &lt;a title="http://www.ultimatestudent.com.tw/" href="http://www.ultimatestudent.com.tw/"&gt;http://www.ultimatestudent.com.tw/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-7960003263238662637?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/7960003263238662637/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=7960003263238662637' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7960003263238662637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7960003263238662637'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/03/ultimate-student.html' title='微軟終極高手 Ultimate Student 專案'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-4576965198042863998</id><published>2008-02-27T01:14:00.001-08:00</published><updated>2008-02-29T00:22:52.160-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Visual C# 3.0 新語法筆記</title><content type='html'>&lt;p&gt;Microsoft 發佈了 Visual Studio 2008 Express 後  &lt;br /&gt;其 C# 3.0 也正式與大家見面了   &lt;br /&gt;C# 3.0 對程式語法及特性進行了一些改進   &lt;br /&gt;這些改進對 C# 語言提供了更簡捷的用法，主要改進如下&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;隱含型別宣告 (Local Variable Type Inference)&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;自動執行屬性 (Auto-Implemented Properties)&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;匿名型態 (Anonymous Types)&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;物件初始化 (Object Initializers)&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;string&gt;集合初始化 (Collection Initializers)&lt;/string&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;擴展方法 (Extension Methods)&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Lambda 表達式 (Lambda Expression)&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Lambda 表達式樹 (Lambda Expression Trees)&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt; ##CONTINUE##   &lt;br /&gt;&lt;h4&gt;A. 隱含型別宣告 (Local Variable Type Inference)&lt;/h4&gt;  &lt;p&gt;宣告變數時不必指定型態，而是由代入的變數值來決定型態  &lt;br /&gt;這種隱含型別宣告的方式 JavaScript 或 VB 程式設什師應該不陌生   &lt;br /&gt;但是隱含型別宣告也有以下限制   &lt;br /&gt;1. var 為關鍵字，依照後方給的參數來決定型態   &lt;br /&gt;2. 初始時就必須給值，不可空白或給 NULL   &lt;br /&gt;3. 型態一經初始決定後，只能儲存同型態的值   &lt;br /&gt;4. 隱含型別可以指定陣列，但陣列的值必須為相同型態   &lt;br /&gt;宣告方式如下&lt;/p&gt; &lt;br /&gt;&lt;textarea name="code" class="c#"&gt;&lt;br /&gt;var b = 1.5;   // double      &lt;br /&gt;var c = 'a'; // char      &lt;br /&gt;var d = "abc";  // string      &lt;br /&gt;var e = new[] { 1, 2, 3, 4 };  // int array      &lt;br /&gt;var f = new[] { 1.5, 2.5 }; // double array      &lt;br /&gt;var g = new[] { 'a', 'b' };  // char array      &lt;br /&gt;var h = new[] { "abc", "def" };   // string array  &lt;br /&gt;&lt;/textarea&gt;    &lt;br /&gt;&lt;h4&gt;B. 自動執行屬性 (Auto-Implemented Properties)&lt;/h4&gt;  &lt;p&gt;自動執行屬性可以幫助產生 get/set 屬性，而不用手動建立  &lt;br /&gt;例如在原本 Visual C# 2.0 時，我們建立一個類別   &lt;br /&gt;必須分別為類別建立 get/set 屬性&lt;/p&gt; &lt;br /&gt;&lt;textarea name="code" class="c#"&gt;&lt;br /&gt;public class UserInfo     &lt;br /&gt;{      &lt;br /&gt;    private int _Id;      &lt;br /&gt;    private string _Name;      &lt;br /&gt;    private AddressInfo _Address;      &lt;br /&gt;    public int Id      &lt;br /&gt;    {      &lt;br /&gt;        get { return _Id; }      &lt;br /&gt;        set { _Id = value; }      &lt;br /&gt;    }&lt;br /&gt;    public string Name    &lt;br /&gt;    {    &lt;br /&gt;        get { return _Name; }    &lt;br /&gt;        set { _Name = value; }    &lt;br /&gt;    }    &lt;br /&gt;    public AddressInfo Address    &lt;br /&gt;    {    &lt;br /&gt;        get { return _Address; }    &lt;br /&gt;        set { _Address = value; }    &lt;br /&gt;    }    &lt;br /&gt;};     &lt;br /&gt;public class AddressInfo      &lt;br /&gt;{      &lt;br /&gt;    private string _Address;      &lt;br /&gt;    private string _ZipCode;      &lt;br /&gt;    public string Address      &lt;br /&gt;    {      &lt;br /&gt;        get { return _Address; }      &lt;br /&gt;        set { _Address = value; }      &lt;br /&gt;    }      &lt;br /&gt;    public string ZipCode      &lt;br /&gt;    {      &lt;br /&gt;        get { return _ZipCode; }      &lt;br /&gt;        set { _ZipCode = value; }      &lt;br /&gt;    }      &lt;br /&gt;}; &lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;p&gt;而 Visual C# 3.0 語法之下，可以簡寫成&lt;/p&gt; &lt;br /&gt;&lt;textarea name="code" class="c#"&gt;&lt;br /&gt;public class UserInfo     &lt;br /&gt;{      &lt;br /&gt;    public int Id { get; set; }      &lt;br /&gt;    public string Name { get; set; }      &lt;br /&gt;    public AddressInfo Address { get; set; }      &lt;br /&gt;};      &lt;br /&gt;public class AddressInfo      &lt;br /&gt;{      &lt;br /&gt;    public string Address { get; set; }      &lt;br /&gt;    public string ZipCode { get; set; }      &lt;br /&gt;};&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt; &lt;h4&gt;C. 匿名型態 (Anonymous Types)&lt;/h4&gt;  &lt;p&gt;匿名型態可以讓我們靈活的建立使用類別，而不需要事先建立類別代碼  &lt;br /&gt;產生匿名類別必須用 var 來承接   &lt;br /&gt;而當匿名型態內參數型態完成相同時，也可以做運算處理&lt;/p&gt; &lt;br /&gt;&lt;textarea name="code" class="c#"&gt;&lt;br /&gt;var anonymous1 = new { A = 1, B = "ABCD" };     &lt;br /&gt;var anonymous2 = new { A = 5, B = "EFGH" };      &lt;br /&gt;// 當匿名型態內參數型態完成相同時，可以做運算處理      &lt;br /&gt;anonymous2 = anonymous1;&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt; &lt;h4&gt;D. 物件初始化 (Object Initializers)&lt;/h4&gt;  &lt;p&gt;以往建立物件時如要一併初始化物件內變數，必須對該類別定義初始化函式  &lt;br /&gt;而 Visual C# 3.0 物件初始化新功能，則可以直接對該物件變數下達初始化動作   &lt;br /&gt;初始化時必須指定變數名稱及值，可不必指定所有變數   &lt;br /&gt;亦表示未指定的變數將以型態預設值存在&lt;/p&gt; &lt;br /&gt;&lt;textarea name="code" class="c#"&gt;&lt;br /&gt;UserInfo user1 = new UserInfo { Id = 1, Name = "Richie" };     &lt;br /&gt;UserInfo user2 = new UserInfo { Name = "Eric" };      &lt;br /&gt;// 類別可以給初始值之外，可以初始類別內包含另一個類別      &lt;br /&gt;UserInfo user3 = new UserInfo      &lt;br /&gt;{      &lt;br /&gt;    Id = 3,      &lt;br /&gt;    Name = "Cola",      &lt;br /&gt;    Address = new AddressInfo      &lt;br /&gt;    {      &lt;br /&gt;        Address = "Taiwan",      &lt;br /&gt;        ZipCode = "100"      &lt;br /&gt;    }      &lt;br /&gt;}; &lt;br /&gt;&lt;/textarea&gt;  &lt;h4&gt;E. 集合初始化 (Collection Initializers)&lt;/h4&gt;  &lt;p&gt;不只類別物件可以初始化，集合亦可初始化集合內個數及值  &lt;br /&gt;當集合和物件初始化併用時，將可以語法更有彈性及代碼更加的簡潔&lt;/p&gt; &lt;br /&gt;&lt;textarea name="code" class="c#"&gt;&lt;br /&gt;List&amp;lt;int&amp;gt; intArray = new List&amp;lt;int&amp;gt; { 0, 1, 2, 3, 4, 5 };     &lt;br /&gt;// 初始類別集合時，亦可一併初始類別的值      &lt;br /&gt;List&amp;lt;UserInfo&amp;gt; userArray = new List&amp;lt;UserInfo&amp;gt;      &lt;br /&gt;{      &lt;br /&gt;    new UserInfo { Id = 0, Name = "Richie" },      &lt;br /&gt;    new UserInfo { Id = 1, Name = "Cola" }      &lt;br /&gt;}; &lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt; &lt;h4&gt;F. 擴展方法 (Extension Methods)&lt;/h4&gt;  &lt;p&gt;以往我們使用型態時，往往因為該型態沒有我們想要的方法可以呼叫  &lt;br /&gt;必須另設函式或是繼承來處理達到想要的目的   &lt;br /&gt;現在擴展方法可以讓我們在型態或類別中添加新方法，不用重新繼承或重新編譯原本類型   &lt;br /&gt;擴展方法只能在靜態類型 (static) 中使用   &lt;br /&gt;並且以關鍵字 "this" 放在方法的第一個參數前來標識   &lt;br /&gt;擴展方法後，在整個 namespace 中都可以使用   &lt;br /&gt;例如 string 並沒有轉成 int 的方法，以往我們必須以 Convert 類別來處理型態的轉換   &lt;br /&gt;現在可以用擴展方法來為 string 添加轉型成 int 的方法   &lt;br /&gt;先宣告轉型方法&lt;/p&gt; &lt;br /&gt;&lt;textarea name="code" class="c#"&gt;&lt;br /&gt;public static int ToInt32(this string s)     &lt;br /&gt;{      &lt;br /&gt;     return Convert.ToInt32(s);      &lt;br /&gt;} &lt;br /&gt;&lt;/textarea&gt;  &lt;p&gt;使用如下，string 型態已多了轉型成 int 的方法了  &lt;br /&gt;範例中並沒有加入例外處理，實際撰寫時還是得加上例外處理&lt;/p&gt; &lt;br /&gt;&lt;textarea name="code" class="c#"&gt;&lt;br /&gt;string extension = "100";     &lt;br /&gt;int v = extension.ToInt32();&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt; &lt;h4&gt;G. Lambda 表達式 (Lambda Expression)&lt;/h4&gt;  &lt;p&gt;委任 (delegate) 的好處不少，充份運用時可以讓程式碼更簡潔易讀  &lt;br /&gt;雖然 Visual C# 2.0 已經為委任使用提供了比較簡短的呼叫方式   &lt;br /&gt;但在 Visual C# 3.0 Lambda 表達式更是讓代碼更加洗煉不少&lt;/p&gt; &lt;br /&gt;&lt;textarea name="code" class="c#"&gt;&lt;br /&gt;delegate int DoDelegate(int i);     &lt;br /&gt;delegate int DoDelegate1();&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;p&gt;原本委任方式&lt;/p&gt;&lt;br /&gt;&lt;textarea name="code" class="c#"&gt;&lt;br /&gt;DoDelegate myDelegateOld = delegate(int x) { return x * x; };     &lt;br /&gt;DoDelegate1 myDelegateOld1 = delegate() { return 100; };&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;p&gt;Lambda 表達式&lt;/p&gt;&lt;br /&gt;&lt;textarea name="code" class="c#"&gt;&lt;br /&gt;DoDelegate myDelegate = x =&amp;gt; x * x;     &lt;br /&gt;DoDelegate1 myDelegate1 = () =&amp;gt; 100; &lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;p&gt;Lambda 表達式參數類別可以為隱含型別或一般型別  &lt;br /&gt;當遇到隱含型別時，Lambda 將依運算式來自動判斷型參數型別   &lt;br /&gt;而 Lambda 參數個數可以為一或多參數，甚至是沒有參數   &lt;br /&gt;當一個參數時，其括號可以省略&lt;br /&gt;&lt;/p&gt; &lt;br /&gt;&lt;textarea name="code" class="c#"&gt;&lt;br /&gt;// 一個參數，括號可以省略     &lt;br /&gt;x =&amp;gt; x + 1;      &lt;br /&gt;// 多個參數      &lt;br /&gt;(x, y) -&amp;gt; x + y;      &lt;br /&gt;// 沒有參數      &lt;br /&gt;() =&amp;gt; 100 + 200;&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;h4&gt;H. Lambda 表達式樹 (Lambda Expression Trees)&lt;/h4&gt;  &lt;p&gt;Lambda 表達式樹允許我們在處理數據時也用 Lambda 表達式  &lt;br /&gt;例如在 List&amp;lt;t&amp;gt; 類別中，依規則取出指定的資料&lt;/p&gt;&lt;br /&gt;&lt;textarea name="code" class="c#"&gt;&lt;br /&gt;// 取出 i &amp;gt; 20 且 i &amp;lt; 50 的資料，並存入 lambda 這個隱含型別中     &lt;br /&gt;List&amp;lt;int&amp;gt; list = new List&amp;lt;int&amp;gt; { 10, 20, 30, 40, 50, 60};      &lt;br /&gt;var lambdaTree = list.Where(i =&amp;gt; i &amp;gt; 20 &amp;amp;&amp;amp; i &amp;lt; 50);&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;p&gt;在軟體巨人 Microsoft 這個母親的努力下  &lt;br /&gt;很興奮的是 Visual C# 3.0 的新功能確實讓 C# 開發人員能以更輕鬆的方式開發   &lt;br /&gt;並且程式保有 C# 一貫的嚴謹及簡潔的代碼   &lt;br /&gt;而剛推出的 Visual Studio 2008 及 .NET Framework 3.5 當然不只是 C# 語法的加強   &lt;br /&gt;對程式人員來說，LINQ 更是重頭戲及注目的焦點   &lt;br /&gt;也是值得好好一學的&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-4576965198042863998?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/4576965198042863998/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=4576965198042863998' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4576965198042863998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4576965198042863998'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/02/visual-c-30.html' title='Visual C# 3.0 新語法筆記'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-4666020085467467580</id><published>2008-02-24T20:53:00.001-08:00</published><updated>2008-02-24T20:53:18.057-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>哇~ 被 TrueImage 搞死了啦</title><content type='html'>&lt;p&gt;大家都知道 Windows 系統備份的重要性，尤其是工作用的電腦   &lt;br /&gt;而 Windows XP 雖然穩定了許多，但還是有跑久了會有系統變很慢的缺點    &lt;br /&gt;用系統還原軟體，如 Ghost 或 TrueImage    &lt;br /&gt;讓 Windows 系統快速回復到乾淨的狀態是很常用的方式    &lt;br /&gt;在工作用的筆電上，大家幾乎都會將硬碟分割成兩顆    &lt;br /&gt;將 Windows 安裝在 C 磁碟上而將資料放在 D 磁碟上，系統還原時只還原 C 磁碟即可    &lt;br /&gt;原本應該相安無事才對，但 ...&lt;/p&gt;  &lt;p&gt;網路上許多對 TrueImage 評價高於 Ghost 的討論   &lt;br /&gt;天秤也改用 TrueImage 備份一段不短的時間，也成功還原過幾次    &lt;br /&gt;之前都是用 TrueImage 光碟開機後，再手動指定讀取 Image 來還原    &lt;br /&gt;但忘了什麼發現 TrueImage 備份系統時可以直接燒錄 Image 到 DVD 片上    &lt;br /&gt;並可指定 &lt;font color="#ff0000"&gt;One click restore&lt;/font&gt; 方式，讓 Image 光碟可以開機並按一鍵回復系統    &lt;br /&gt;看起來好像很好用的功能 (只怪當初備份後沒有完整測試過安全性...)    &lt;br /&gt;但恐怖的事來了，當前幾天天秤不滿意 Windows 系統速度又變慢時    &lt;br /&gt;拿出先前只備份 C 磁碟 Windows 系統的 Image 光碟開機並按下回復系統時    &lt;br /&gt;&lt;font color="#ff0000"&gt;可怕的 TrueImage 竟然將硬碟上的 partition 全整合成一個 C 磁碟才還原 Windows 系統     &lt;br /&gt;也就是說 D 磁碟上的資料全部消失掉了      &lt;br /&gt;其間沒有詢問使用者是否要合併 partition，就自作主張的合併了&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;慘~    &lt;br /&gt;現在天秤放在 D 磁碟的一堆資料全不見了，包含 Email 及連絡人資料等    &lt;br /&gt;還有一些雜七雜八幾十 G 的資料全完蛋了，欲哭無淚啊~    &lt;br /&gt;連工作用的程式原始碼全完蛋了，雖然程式碼有異地備份，但還是損失了幾天的資料    &lt;br /&gt;但這段時間絞盡腦汁想出來的程式碼，解出來的 Bug 要怎麼辦?    &lt;br /&gt;都怪天秤太相信這 TrueImage 這類軟體了，還原前懶得先備份資料 (幾十 G 資料怎麼備啊?)&lt;/p&gt;  &lt;p&gt;其實之前也有一次被 TrueImage 搞死的經驗   &lt;br /&gt;當時用 TrueImage 備份 20G 的 Windows 系統碟，結果重新分割系統碟為 30 G 後    &lt;br /&gt;沒想到 TrueImage 竟無法將原本 20G 的 Image 還原到 30G 的新分割碟    &lt;br /&gt;這... @^%#@&amp;amp;@    &lt;br /&gt;這在遠古之前的 Ghost 版本不就有的功能嗎? 不是應該很基本的東西嗎?    &lt;br /&gt;怎麼後來才出的 TrueImage 竟然不行    &lt;br /&gt;只好整個 Windows 重灌，多花了幾個鐘頭時間    &lt;br /&gt;後來覺得那就不要隨便再動 partition 大小就好，還是堅持用 TrueImage 備份    &lt;br /&gt;沒想到這次還是又被搞死了&lt;/p&gt;  &lt;p&gt;決定放棄 TrueImage 了，馬上上網訂購了 Ghost 12 繁中版    &lt;br /&gt;(Symantec 的網路購物真是爛，搞了好幾天才訂購下載成功，不過這又是另一個故事了)    &lt;br /&gt;並縮短系統及資料的備份間隔時間    &lt;br /&gt;雖然用過後覺得 Ghost 12 還是沒 TrueImage 好用，但是安全性比較重要    &lt;br /&gt;希望 Ghost 12 不要再讓我失望了，天秤已經嚇到了    &lt;br /&gt;現在得趕快加班補上工作損失的進度了!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-4666020085467467580?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/4666020085467467580/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=4666020085467467580' title='6 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4666020085467467580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4666020085467467580'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/02/trueimage.html' title='哇~ 被 TrueImage 搞死了啦'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-6295494363397439054</id><published>2008-01-30T22:03:00.001-08:00</published><updated>2008-01-30T22:03:07.374-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><category scheme='http://www.blogger.com/atom/ns#' term='LearningEnglish'/><title type='text'>邊工作邊學英文單字的小軟體 LearningEnglish V1.0.0.1</title><content type='html'>&lt;p&gt;感謝 Neteva 朋友的提供，附上全民英檢中級單字庫   &lt;br /&gt;有鑑於上一版遇到單字的解釋多的情況下，會造成佔用太多畫面來顯示說明    &lt;br /&gt;而影響到正常的工作    &lt;br /&gt;此版加入指定每次顯示例句數量的功能，將例句顯示控制在指定的數量下    &lt;br /&gt;避免一次顯示太多例句而影響工作畫面&lt;/p&gt;  &lt;p&gt;&lt;img height="418" alt="Untitled" src="http://lh4.google.com/richielin996/R6FkmaJx1EI/AAAAAAAAAP8/1JE465K6wnA/Untitled%5B3%5D" width="500" /&gt; &lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 加入可以設定每次顯示單字例句的數量，避免一次顯示例句太多佔用太多工作畫面   &lt;br /&gt;2. 附上全民英檢中級單字庫&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/LearningEnglish.1.0.0.1.rar"&gt;LearningEnglish V1.0.0.1&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-6295494363397439054?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/6295494363397439054/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=6295494363397439054' title='93 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6295494363397439054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6295494363397439054'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/01/learningenglish-v1001.html' title='邊工作邊學英文單字的小軟體 LearningEnglish V1.0.0.1'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>93</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-4859989952810701409</id><published>2008-01-17T00:44:00.001-08:00</published><updated>2008-01-17T00:55:44.684-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><category scheme='http://www.blogger.com/atom/ns#' term='LearningEnglish'/><title type='text'>邊工作邊學英文單字的小軟體 LearningEnglish</title><content type='html'>&amp;#160;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="253" alt="image" src="http://lh4.google.com/richielin996/R48XbdKTwgI/AAAAAAAAAP0/rDoRjzAod_s/image%5B5%5D" width="253" border="0" /&gt;   &lt;br /&gt;LearningEnglish 的圖示，照片由網路上取得...   &lt;p&gt;不知道有沒有人需要這套學習英文單字的軟體    &lt;br /&gt;這是天秤前不久寫的一套小軟體，讓使用電腦時也可以邊工作邊學英文哦~    &lt;br /&gt;&lt;font color="#ff0000"&gt;執行前請確認電腦上是否已安裝 .NET Framework 2.0 runtime library&lt;/font&gt;    &lt;br /&gt;或至以下網頁免費下載安裝後才可正常執行    &lt;br /&gt;&lt;a href="http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe"&gt;http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;當軟體執行時會讀取指定的英文單字庫 (純文字檔，可自己新增單字庫)    &lt;br /&gt;並縮到系統列上，並不佔用工作的桌面空間     &lt;br /&gt;&lt;font color="#ff0000"&gt;固定時間會亂數 (或依順序) 取出單字，線上查詢單字說明及正確發音&lt;/font&gt;     &lt;br /&gt;並顯示小視窗秀出單字音標及說明、例句，並可由電腦發出正確發音，如下&lt;/p&gt;  &lt;p&gt;&lt;img height="349" alt="image" src="http://lh4.google.com/richielin996/R48VTdKTwaI/AAAAAAAAAPA/dJiRG8_LtNc/image11" width="458" /&gt; &lt;/p&gt;  &lt;p&gt;軟體可指定亂數播放或是順序播放單字    &lt;br /&gt;指定顯示框位置及透明度、顯示時間及隔間時間     &lt;br /&gt;或是顯示的內容 (如是否顯示單字、音標、型態、說明、例句等) 及顯示的顏色     &lt;br /&gt;甚至是最上層顯示等設定&lt;/p&gt;  &lt;p&gt;&lt;img height="421" alt="image" src="http://lh3.google.com/richielin996/R48VUNKTwbI/AAAAAAAAAPI/TZqIdzp5xTI/image41" width="503" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;img height="421" alt="image" src="http://lh3.google.com/richielin996/R48VVNKTwcI/AAAAAAAAAPQ/VEJOpxybo5E/image23" width="503" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;img height="421" alt="image" src="http://lh6.google.com/richielin996/R48VV9KTwdI/AAAAAAAAAPc/N5EAIx5myjQ/image27" width="503" /&gt;&lt;/p&gt;  &lt;p&gt;甚至取消縮小至系統列，在桌面上顯示軟體小圖示&amp;#160; &lt;br /&gt;&lt;font color="#ff0000"&gt;可以直接將上網或是工作中遇到不懂的英文單字拖曳至小圖示上查詢單字      &lt;br /&gt;也可以設定是否會將該單字加入至詞庫中，建立屬於自己的單字庫&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;img height="277" alt="image" src="http://lh6.google.com/richielin996/R48VW9KTweI/AAAAAAAAAPk/_Fa5XFT0fpY/image45" width="262" /&gt; &lt;/p&gt;  &lt;p&gt;最後說明一下使用的小技巧    &lt;br /&gt;1. 滑鼠左鍵連擊圖示或系統列上圖示可以立刻切換下一個單字     &lt;br /&gt;2. 拖曳單字至圖示可以立即查詢該單字並加入詞庫內     &lt;br /&gt;3. 滑鼠左鍵連擊單字訊息框可以播放單字語音     &lt;br /&gt;4. 滑鼠右鍵點擊單字訊息框可以關閉訊息框     &lt;br /&gt;5. 滑鼠中鍵點擊單字訊息框可以立刻切換下一個單字     &lt;br /&gt;6. 滑鼠滾輪可以輕鬆切換上下個單字 (亂數播放除外)     &lt;br /&gt;7. 滑鼠移至訊息框內，可以使訊息框持續顯示&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/LearningEnglish.1.0.0.0.rar"&gt;LearningEnglish V1.0.0.0&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;PS. 由於軟體並未內建英漢翻譯器，必須由線上查詢單字及發音    &lt;br /&gt;執行時請先確定網路是否正常&lt;/p&gt;  &lt;p&gt;PS. 本軟體壓縮檔已內附網路上收集之 &lt;font color="#0000ff"&gt;全民英檢初級&lt;/font&gt;，&lt;font color="#0000ff"&gt;國民中小學1000基本字詞&lt;/font&gt;，&lt;font color="#0000ff"&gt;教育部頒佈2000常用字詞&lt;/font&gt; 等三篇英文單字庫&lt;/p&gt;  &lt;p&gt;PS. 如有意見、建議或願意提供單字庫供大眾使用，請留下你的回應    &lt;br /&gt;對天秤有任何批抨或鼓勵的話，也請不吝指教~ 感謝~&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-4859989952810701409?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/4859989952810701409/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=4859989952810701409' title='48 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4859989952810701409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4859989952810701409'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/01/learningenglish.html' title='邊工作邊學英文單字的小軟體 LearningEnglish'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>48</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-654443726416481937</id><published>2008-01-16T17:53:00.001-08:00</published><updated>2008-01-16T17:54:20.891-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MAC'/><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>MacBook Air</title><content type='html'>&lt;p&gt;&lt;img height="253" alt="image" src="http://lh4.google.com/richielin996/R461AtKTwYI/AAAAAAAAAOw/i8bMtLRdtf0/image%5B17%5D" width="500" /&gt; &lt;/p&gt;  &lt;p&gt;唉~ 該怎麼說呢?   &lt;br /&gt;等待了半年的 12 吋 MBP，結果竟出來了這個東西 - Macbook Air    &lt;br /&gt;不是說它不好，而是和天秤心目中的輕量化筆電規格還有段不小的差異    &lt;br /&gt;為了所謂的輕薄而省略掉擴充性，如 USB, FW, 2G 記憶體, RJ45, 光碟機等    &lt;br /&gt;實在是不符合大眾的需求    &lt;br /&gt;搞不懂為什麼不出台輕量化的 MBP or MB    &lt;br /&gt;例如將 MB 改成鋁合金材質及輕量化工程，出台大約 1.7kg 左右的 MB    &lt;br /&gt;規格與目前 MB 差不多就好，應該會比 MBA 賣得好吧    &lt;br /&gt;大家是期待輕量化的 Notebook，但不是要台輕卻砍掉大部份規格的 Notebook    &lt;br /&gt;光碟機可以外接，但請保留其它的規格啊&lt;/p&gt;  &lt;p&gt;親愛的夾不死大人~   &lt;br /&gt;您難道不知道在 MBA 1.36kg 和 MB 2.3kg 間還有很大的市場在    &lt;br /&gt;難道不考慮出台 1.7kg 左右的 MB or MBP 嗎?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-654443726416481937?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/654443726416481937/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=654443726416481937' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/654443726416481937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/654443726416481937'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2008/01/macbook-air.html' title='MacBook Air'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-5604200758786052042</id><published>2007-12-31T00:44:00.001-08:00</published><updated>2008-01-18T01:55:43.122-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr V2.7.2.2 released</title><content type='html'>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;感謝 aren 的建議，補上群組上傳限制的資訊&lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 上傳照片頁面，在群組顯示區補上上傳限制的資訊&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.7.2.2.rar"&gt;Firendly.Flickr V2.7.2.2&lt;/a&gt;&lt;/p&gt;  &lt;h6&gt;---我是分隔線---&lt;/h6&gt;  &lt;p&gt;感謝 paichia 的建議    &lt;br /&gt;這小改版還是將指定相片為相片集封面的功能又先做回來了，但未做完整規劃     &lt;br /&gt;有幾項缺點必須先說明一下&lt;/p&gt;  &lt;p&gt;1. 當一張相片設為封面，且指定二組相片集時    &lt;br /&gt;會變成該二組相片集都是以它為封面     &lt;br /&gt;2. 未判斷同一相片集只能指定一張相片當封面     &lt;br /&gt;所以當有二張相片都指定為同一組相片集封面時，將會以後來上傳的相片為相片集&lt;/p&gt;  &lt;p&gt;所以請儘量手動避開上述情況&lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 將上傳相片時指定某張相片為相片集封面的功能取回&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.7.2.1.rar"&gt;Firendly.Flickr V2.7.2.1&lt;/a&gt;&lt;/p&gt;  &lt;h6&gt;---我是分隔線---&lt;/h6&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 修正批次下載無法正常下載的問題&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.7.2.0.rar"&gt;Firendly.Flickr V2.7.2.0&lt;/a&gt;&lt;/p&gt;  &lt;h6&gt;---我是分隔線---&lt;/h6&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 修正編輯相片資訊時無法設定取代此照片的問題    &lt;br /&gt;2. 修正搜尋相片集相片時，相片公開、對家人公開、對朋友公開三選項會錯誤的問題     &lt;br /&gt;3. 修正軟體穩定性&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.7.1.0.rar"&gt;Firendly.Flickr V2.7.1.0&lt;/a&gt;&lt;/p&gt;  &lt;h6&gt;---我是分隔線---&lt;/h6&gt;  &lt;p&gt;新年快樂! 不知道各位朋友 2007 年過得如何?    &lt;br /&gt;但無論 2007 年是不是如你所願，也邁向展新的 2008 年了     &lt;br /&gt;新的一年有新的生活、新的希望     &lt;br /&gt;Friendly.Flickr 也跟著更新版本了&lt;/p&gt;  &lt;p&gt;這一次更新比較多項目，且 2008 年 release 時版號總得再進一版了    &lt;br /&gt;主要是加入每張相片可以分別指定相片集 (set)及上傳相片旋轉功能     &lt;br /&gt;所以更新為 V2.7.0.0&lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 加入連絡人相片及相片集相片 Cache 機制，可加快每次軟體開啟時顯示連絡人及相片集相片速度    &lt;br /&gt;2. 每張相片可以分別指定相片集，且一張相片可指定多組相片集     &lt;br /&gt;3. 上傳相片時可以指定相片型態及安全等級     &lt;br /&gt;4. 修正軟體視覺效果，變得更美觀一點了     &lt;br /&gt;5. 上傳相片加入旋轉照片的功能     &lt;br /&gt;6. 點二下相片來放大瀏覽相片時，加入顯示相片資訊的功能     &lt;br /&gt;7. 加入判斷上傳的相片不可超過 Flickr 的相片大小限制     &lt;br /&gt;8. 修正指定 GPX 檔案後再加入上傳照片，沒有自動判斷 GPS 座標的問題&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.7.0.0.rar"&gt;Firendly.Flickr V2.7.0.0&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-5604200758786052042?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/5604200758786052042/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=5604200758786052042' title='122 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5604200758786052042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5604200758786052042'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/12/friendlyflickr-v2700-released.html' title='Friendly.Flickr V2.7.2.2 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>122</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-7694810576901168356</id><published>2007-12-23T18:50:00.001-08:00</published><updated>2007-12-23T18:50:29.476-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr 多國語言機制</title><content type='html'>&lt;p&gt;還記得天秤說過要加入多國語言機制嗎?    &lt;br /&gt;現在天秤已經把軟體中所有的中文字取出，做成 Excel 檔案了     &lt;br /&gt;也完成多國語言機制的準備     &lt;br /&gt;所以把語言檔提供給想幫忙翻譯的人，發揮你的長才!&lt;/p&gt;  &lt;p&gt;另外預告一下，天秤已完成上傳相片時加入旋轉功能及相片可分別指定相片集功能   &lt;br /&gt;預計與多國語言(至少英文版)完成時再一起釋出    &lt;br /&gt;請各位幫忙一下了&lt;/p&gt;  &lt;p&gt;Excel 語言檔案內容如下:    &lt;br /&gt;&lt;img height="317" alt="image" src="http://lh6.google.com/richielin996/R28ec9KTwXI/AAAAAAAAAOo/Y47yiSDn47k/image3" width="500" /&gt; &lt;/p&gt;  &lt;p&gt;把左邊中文，翻譯成你會的語言 (例如 英文)，寫在英文的 Column 中    &lt;br /&gt;且不限英文，簡體中文、日文、韓文、法文、德文等任何語言都行     &lt;br /&gt;不過請在綠色的欄位上寫上正確的語言名稱哦     &lt;br /&gt;翻譯時請注意保留特殊字元，如 (&amp;amp;T), {0}, \n 或是標點符號及空白     &lt;br /&gt;再 mail 給天秤即可，感謝~&lt;/p&gt;  &lt;p&gt;PS. 下載的壓縮檔內含的 Excel 及文字檔為相同內容，如無 Excel 軟體或無法開啟，請以文字檔翻譯即可~&lt;/p&gt;  &lt;p&gt;Excel 語言檔下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.Culture.rar"&gt;Friendly.Flickr 多國語系壓縮檔&lt;/a&gt;     &lt;br /&gt;完成後請 Email 給天秤: &lt;a href="mailto:richielin996@gmail.com"&gt;richielin996@gmail.com&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-7694810576901168356?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/7694810576901168356/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=7694810576901168356' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7694810576901168356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7694810576901168356'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/12/friendlyflickr.html' title='Friendly.Flickr 多國語言機制'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-8479886072801129646</id><published>2007-12-15T09:05:00.001-08:00</published><updated>2007-12-15T09:05:24.926-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr 使用技巧'/><title type='text'>Flickr 上有一堆上傳錯誤的照片，怎麼辦?</title><content type='html'>&lt;p&gt;不知道有沒有人像天秤一樣迷糊，上傳了一堆照片到 Flickr 上    &lt;br /&gt;卻發現上傳的照片都錯誤了!!     &lt;br /&gt;有時候是尺寸不對了 (要上傳原尺寸的卻傳成 640*480 尺寸的)     &lt;br /&gt;有時候是忘了替照片加框或忘了後製一下     &lt;br /&gt;甚至日後想替照片加上浮水印怎麼辦?     &lt;br /&gt;砍掉重練? 又不是玩 Online Game~     &lt;br /&gt;一堆照片的標題、說明、標籤、座標都寫好了，怎麼可能砍掉重練?     &lt;br /&gt;如果你也遇過這些問題，那就用 Friendly.Flickr 來幫忙解決問題好了&lt;/p&gt;  &lt;p&gt;解決這個問題有二種方式    &lt;br /&gt;1. 上傳錯的照片數量不多時那就簡單了，直接用新照片取代舊照片就好了     &lt;br /&gt;2. 如果照片是一大堆? 那就真的砍掉重練好了 (當然也是有技巧的)&lt;/p&gt; ##CONTINUE##   &lt;h4&gt;1. 上傳錯的照片數量不多時那就簡單了，直接用新照片取代舊照片就好了&lt;/h4&gt;  &lt;p&gt;這裡又有兩種作法，一種是以 Flickr 網頁操作，一種是透過 Friendly.Flickr&lt;/p&gt;  &lt;p&gt;A. Flickr 網頁上就有取代照片的方式，直接使用即可    &lt;br /&gt;但就算只有幾張，還是得一張一張點選，一張一張上傳     &lt;br /&gt;有點麻煩就是了     &lt;br /&gt;&lt;img height="253" alt="image" src="http://lh5.google.com/richielin996/R2QI7dKTwQI/AAAAAAAAANw/sr7mk3UHYIA/image3" width="259" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;B. 用 Friendly.Flickr 來指定數張照片取代舊照片，一次完成    &lt;br /&gt;當然可以多張照片一次設定完成後，再按確定讓軟體慢慢上傳     &lt;br /&gt;不用一張一張點選網頁，還得浪費等待時間     &lt;br /&gt;&lt;img height="353" alt="image" src="http://lh3.google.com/richielin996/R2QJC9KTwRI/AAAAAAAAAN4/-itxOXk8A_Q/image13" width="500" border="0" /&gt;&lt;/p&gt;  &lt;h4&gt;2. 如果照片是一大堆? 那就真的砍掉重練好了&lt;/h4&gt;  &lt;p&gt;是的，天秤沒說錯，不過還是要有點技巧的    &lt;br /&gt;首先先將照片備份下載，不管是按右鍵另存新檔    &lt;br /&gt;(&lt;font color="#ff0000"&gt;在清單模式下操作必須勾選取得照片說明選項&lt;/font&gt;)    &lt;br /&gt;&lt;img height="217" alt="image" src="http://lh4.google.com/richielin996/R2QJFNKTwSI/AAAAAAAAAOA/YmOhQuBQGM8/image%5B16%5D" width="440" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;還是批次下載   &lt;br /&gt;&lt;img height="265" alt="image" src="http://lh4.google.com/richielin996/R2QJKNKTwTI/AAAAAAAAAOI/aduQiAdfpjY/image%5B12%5D" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;最重要的是記得保留照片資訊     &lt;br /&gt;&lt;img height="135" alt="image" src="http://lh6.google.com/richielin996/R2QJNtKTwUI/AAAAAAAAAOQ/HYymK2s3Zss/image%5B21%5D" width="267" border="0" /&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;img height="265" alt="image" src="http://lh3.google.com/richielin996/R2QJS9KTwVI/AAAAAAAAAOY/TOWpsAx1lnQ/image%5B26%5D" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;等待下載完成，至於 Flickr 上的照片就看你是否要刪除了    &lt;br /&gt;回到剛下載的目錄     &lt;br /&gt;可以看到每張照片都會有一個同檔名的 xml 檔案    &lt;br /&gt;&lt;img height="182" alt="image" src="http://lh5.google.com/richielin996/R2QJUdKTwWI/AAAAAAAAAOg/UxpUO3BF1Ps/image%5B30%5D" width="313" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;現在可以開始把剛才下載的舊照片換成新的照片了，記得照片必須取與舊照片相同名稱    &lt;br /&gt;或是把 xml 檔案名稱改成與照片檔案名稱相同    &lt;br /&gt;修改完成後，接下來再用 Friendly.Flickr 上傳     &lt;br /&gt;可以發現要上傳的照片標題、說明、標籤、座標都保留下來了&lt;/p&gt;  &lt;p&gt;然後呢? 不用天秤說了吧，開始上傳吧~    &lt;br /&gt;Enjoy Life with Photography&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-8479886072801129646?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/8479886072801129646/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=8479886072801129646' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8479886072801129646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8479886072801129646'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/12/flickr.html' title='Flickr 上有一堆上傳錯誤的照片，怎麼辦?'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-2209817405513071681</id><published>2007-12-13T01:20:00.001-08:00</published><updated>2007-12-14T02:42:33.126-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr 使用技巧'/><title type='text'>Google Map 上顯示景點照片及分享</title><content type='html'>&lt;iframe marginwidth="0" marginheight="0" src="http://maps.google.com/maps?f=q&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;time=&amp;amp;date=&amp;amp;ttype=&amp;amp;q=http:%2F%2Frichielin996.googlepages.com%2Fhokkaido.kmz&amp;amp;ie=UTF8&amp;amp;ll=42.454991,141.182449&amp;amp;spn=0.00017,0.000003&amp;amp;om=1&amp;amp;output=embed&amp;amp;s=AARTsJrSMvVhE4HqSrpU1W_LwFopZWLr2g" frameborder="0" width="425" scrolling="no" height="350"&gt;&lt;/iframe&gt;  &lt;br /&gt;&lt;small&gt;&lt;a style="color: #0000ff; text-align: left" href="http://maps.google.com/maps?f=q&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;time=&amp;amp;date=&amp;amp;ttype=&amp;amp;q=http:%2F%2Frichielin996.googlepages.com%2Fhokkaido.kmz&amp;amp;ie=UTF8&amp;amp;ll=42.454991,141.182449&amp;amp;spn=0.00017,0.000003&amp;amp;om=1&amp;amp;source=embed"&gt;檢視較大的地圖&lt;/a&gt;&lt;/small&gt;   &lt;p&gt;喜歡攝影的朋友，通常旅遊後總會拍一堆照片回家並放上 Flickr    &lt;br /&gt;但光是在 Flickr 瀏覽照片是不是總覺得不太夠     &lt;br /&gt;如果可以和地圖結合，在地圖上秀出你的旅遊足跡是很棒的概念     &lt;br /&gt;甚至提供給朋友分享你的喜悅&lt;/p&gt;  &lt;p&gt;其實 Google Map 也可以使用 Google Earth 的格式檔案 .Kml 或 .Kmz    &lt;br /&gt;只要把 .Kml 或 .Kmz 放至開放的網路空間上即可     &lt;br /&gt;所以要在 Google Map 顯示景點，並秀出 Flickr 上的照片     &lt;br /&gt;以 Friendly.Flickr 來處理是非常方便的 &lt;/p&gt;  &lt;p&gt;天秤就示範從最開始的上傳至 Flickr 到最後的 Google Map 顯示操作，大致上步驟如下:    &lt;br /&gt;1. 上傳照片至 Flickr 上，並標上 GPS 座標     &lt;br /&gt;2. 搜尋照片並產生 Kmz 檔案     &lt;br /&gt;3. 放上開放的網路空間，並由 Google Map 顯示景點     &lt;br /&gt;4. 將 Google Map 景點連結分享給朋友或保存&lt;/p&gt; ##CONTINUE##   &lt;h4&gt;1. 上傳照片至 Flickr 上，並標上 GPS 座標&lt;/h4&gt;  &lt;p&gt;為照片標上 GPS 座標可以三種方式來完成後上傳至 Flickr&amp;#160;&amp;#160; &lt;br /&gt;A. 以照片本身 EXIF 上的 GPS 座標: 當然這得相機本身有此功能才行     &lt;br /&gt;B. 匯入 GPX 檔案: 拍照時候身邊有台 GPS 軌跡記錄器並儲存成 GPX 檔案     &lt;br /&gt;&lt;font color="#ff0000"&gt;PS. 不要選擇匯出成 Google Earth KML 檔，後面有說明為什麼~&lt;/font&gt;&amp;#160; &lt;br /&gt;&lt;img height="188" alt="image" src="http://lh6.google.com/richielin996/R2D5RQa4jsI/AAAAAAAAALg/uF0LTfOfiiQ/image17" width="343" border="0" /&gt;     &lt;br /&gt;C. 直接在 Google Map 地圖上定位     &lt;br /&gt;&lt;img height="347" alt="image" src="http://lh5.google.com/richielin996/R2D5SAa4jtI/AAAAAAAAALo/iC_Z1VbFXMw/image21" width="310" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;出現此視窗後直接在地圖上定位    &lt;br /&gt;&lt;img height="368" alt="image" src="http://lh3.google.com/richielin996/R2D5Tga4juI/AAAAAAAAALw/8I7GbvsnCwU/image25" width="500" border="0" /&gt;&lt;/p&gt;  &lt;h4&gt;2. 搜尋照片並產生 Kmz 檔案&lt;/h4&gt;  &lt;p&gt;依條件搜尋出照片後，按下 &amp;quot;KML 產生視窗&amp;quot; 的按鈕    &lt;br /&gt;並拖曳選擇的照片到開啟的視窗上方容器內     &lt;br /&gt;&lt;img height="461" alt="image" src="http://lh4.google.com/richielin996/R2D5Uwa4jvI/AAAAAAAAAL4/srX8xRBOQ5g/image32" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;打上 KMZ 的資料，如名稱及說明    &lt;br /&gt;&lt;font color="#ff0000"&gt;此處的名稱及說明是指 KMZ 檔案的名稱及說明，不是指各張照片的名稱及說明      &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;排版部份才是在 Google Map 上點選各張照片時，顯示出來的資訊      &lt;br /&gt;其為 HTML 格式，至於使用的標籤及方式與進階排版相同       &lt;br /&gt;另外一點，KMZ 檔案也可以鑲入照片，&lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;font color="#000000"&gt;只要把硬碟上照片拖曳入上方的容器內        &lt;br /&gt;&amp;quot;硬碟中照片&amp;quot; 即為鑲入照片的顯示資訊，且標籤用法相似，就不再另外說明了         &lt;br /&gt;PS. 剛才有提到不要用第一點的方式產生 KMZ 檔，因為在此產生才可依標籤來自訂顯示內容         &lt;br /&gt;及加入 Track 或 Point 等功能，彈性比較大&lt;/font&gt;       &lt;br /&gt;&lt;img height="281" alt="image" src="http://lh6.google.com/richielin996/R2D5VQa4jwI/AAAAAAAAAMA/sqzHYLRET-0/image36" width="399" border="0" /&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;按下建立選擇檔案路徑名稱即可儲存，此處範例儲存為 hokkaido.kmz &lt;/p&gt;  &lt;h4&gt;3. 放上開放的網路空間，並由 Google Map 顯示景點&lt;/h4&gt;  &lt;p&gt;將剛才的 hokkaido.kmz 上傳至網路空間    &lt;br /&gt;如免費的 &lt;a href="http://pages.google.com/"&gt;Google Page Creater&lt;/a&gt; (只要有 Google 帳號即可使用)     &lt;br /&gt;或 Hinet 等 ISP 提供的網路空間都行，並得知該檔案的 Url     &lt;br /&gt;以 Google Page Creater 為例，只要登入後，在右側按 Browse 並選擇檔案即可上傳     &lt;br /&gt;並在上傳後的檔案按右鍵 &amp;quot;覆製捷徑&amp;quot; 取得檔案連結 Url     &lt;br /&gt;&lt;img height="500" alt="image" src="http://lh5.google.com/richielin996/R2D5WAa4jxI/AAAAAAAAAMI/4LdaJmLOouk/image55" width="480" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;此範例為上傳至 Google Page Creater 上，Url 為    &lt;br /&gt;&lt;a title="http://richielin996.googlepages.com/hokkaido.kmz" href="http://richielin996.googlepages.com/hokkaido.kmz"&gt;http://richielin996.googlepages.com/hokkaido.kmz&lt;/a&gt;     &lt;br /&gt;到 Google Map 上，將剛才的 Url 填入 TextBox 中     &lt;br /&gt;Google Map 會至該網路空間讀取 KMZ 檔並顯示出所有景點     &lt;br /&gt;PS. Google Map 其實還有限制 KMZ 檔案大小，如果 KMZ 檔案太大是會讀取失敗的     &lt;br /&gt;所以不要放太多景點或路徑的檔案讓它讀取     &lt;br /&gt;&amp;#160;&lt;img height="126" alt="image" src="http://lh5.google.com/richielin996/R2D5XAa4jyI/AAAAAAAAAMQ/GEBp3aGMhJI/image40" width="500" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;讀取成功後，左側會出現該檔的所有景點    &lt;br /&gt;點選後右側就會出現該景點資訊，並且顯示第二步驟的 HTML 資訊     &lt;br /&gt;如範例所示，即出現該景點照片及說明     &lt;br /&gt;&lt;img height="353" alt="image" src="http://lh6.google.com/richielin996/R2D5YQa4jzI/AAAAAAAAAMY/gNNgXYy4OvE/image44" width="500" border="0" /&gt; &lt;/p&gt;  &lt;h4&gt;4. 將 Google Map 景點連結分享給朋友或保存&lt;/h4&gt;  &lt;p&gt;點右側的連結 &amp;quot;連結此網頁&amp;quot;，可以取得一組連結和 HTML 語法    &lt;br /&gt;將該連結分享的朋友，只要以此開啟此連結就可回到該 Google Map 及景點     &lt;br /&gt;或是將 HTML 語法鑲入部落格中也行     &lt;br /&gt;&lt;img height="254" alt="image" src="http://lh6.google.com/richielin996/R2D5ZQa4j0I/AAAAAAAAAMg/wmLlhqET2EY/image51" width="500" border="0" /&gt; &lt;/p&gt; 現在開始把你的旅遊足跡分享給大家吧~   &lt;br /&gt;Enjoy Life with Photography    &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-2209817405513071681?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/2209817405513071681/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=2209817405513071681' title='15 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2209817405513071681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2209817405513071681'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/12/google-map.html' title='Google Map 上顯示景點照片及分享'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-3654869241124476812</id><published>2007-12-11T08:12:00.001-08:00</published><updated>2007-12-15T08:26:30.095-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr V2.6.5.2 released</title><content type='html'>&lt;p&gt;主要修正了清單模式下未勾選取得照片說明時，則照片的 Url 會失敗的問題&lt;/p&gt;  &lt;p&gt;另外有朋友發現清單模式下與一般模式下 Tag 的排列順序不同   &lt;br /&gt;導致進階排版 {tag1}, {tag2} 取得的字串會不同    &lt;br /&gt;這點天秤做點說明    &lt;br /&gt;因為一般模式下，照片都會取得詳細資料 (需要比較長的時間取得)    &lt;br /&gt;所以 Tag 排列方式會與 Flickr 上網頁相同    &lt;br /&gt;但是清單模式下如果沒有取得詳細資料 (沒有勾選取得照片說明)    &lt;br /&gt;只由搜尋時候的回傳值來得知 Tag，速度快但排列順序可能與 Flickr 上的網頁不同了    &lt;br /&gt;這點不知為何，由 Flickr 回應的封包中 Tag 排列順序就是如此怪    &lt;br /&gt;也許是 Flickr API 的 Bug，也許是另有用意    &lt;br /&gt;總之如果以清單模式下希望 Tag 順序與 Flickr 上相同，以便應用 {tag1} 等語法時    &lt;br /&gt;就&lt;font color="#ff0000"&gt;請勾選 &amp;quot;取得照片說明&amp;quot; 這個選項&lt;/font&gt;吧，但會犧牲了搜尋速度    &lt;br /&gt;請自行衡量~    &lt;br /&gt;因為這點 Flickr 回應封包的訊息就是如此怪，天秤也無能無力了&lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 在照片上右鍵選單上，可以一次覆製多張照片 URL 了   &lt;br /&gt;2. 修正清單模式下未取得照片說明時，照片連結會取得失敗的問題    &lt;br /&gt;3. 修正 WLW plugin 讀取圖片失敗的問題&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.6.5.2.rar"&gt;Firendly.Flickr V2.6.5.2&lt;/a&gt;&lt;/p&gt;  &lt;h6&gt;---我是分隔線---&lt;/h6&gt;  &lt;p&gt;修正了一些不會影響操作及不是常態性的 Bug    &lt;br /&gt;為了不太常更新而影響使用者，所以日後不是大改版或是修正嚴重 Bug 時     &lt;br /&gt;並不做版本更新通知     &lt;br /&gt;請有該 Bug 困擾的使用者麻煩上天秤的部落格注意一下是否有更新版本了&lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 修正剛執行軟體但連結人資料未自 Flickr 上取得時，點選連結人按鈕會 Crash 的問題    &lt;br /&gt;2. 修正清單模式下進階排版的 {tag1}, {tag2} ... 標籤失效的問題     &lt;br /&gt;3. 刪除照片改成背景執行，避免大量刪除照片時造成軟體卡住&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.6.5.1.rar"&gt;Firendly.Flickr V2.6.5.1&lt;/a&gt;&lt;/p&gt;  &lt;h6&gt;---我是分隔線---&lt;/h6&gt;  &lt;p&gt;真是愈寫愈回去了，光個批次下載 Original Url 一直搞不定    &lt;br /&gt;前一版本才修正，後一版本又發生同樣錯誤了     &lt;br /&gt;此版主要就是修正批次下載 Original Url 錯誤的問題，抱歉~     &lt;br /&gt;其它也修正一些小錯誤或建議     &lt;br /&gt;比較有趣的是加入朋友建議的進階排版可以用 {tag1}, {tag2}, {tag3} ...     &lt;br /&gt;來取得第 1, 2, 3 ... 個標籤     &lt;br /&gt;當然同樣的照片集也是可以用 {set1}, {set2}, {set3} ... 來取得     &lt;br /&gt;&lt;font color="#ff0000"&gt;記得 {tags}, {sets} 後面有 s 字元，但 {tag1}, {set1} 後面沒有加上 s 字元哦~&lt;/font&gt;&lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 進階排版不把 &amp;quot; 字元改成輸出 ' 字元了    &lt;br /&gt;2. 下拉式選單文字顏色改成與系統顏色相符     &lt;br /&gt;3. 修正批次下載時，遇到 Original 時有時會失敗的問題     &lt;br /&gt;4. 清單模式下，取消取得照片集及 EXIF 資訊時，一定得取得照片說明的限制     &lt;br /&gt;讓只想單純取得照片集或 EXIF 資訊時可以加快速度     &lt;br /&gt;5. 進階排版加入 {tag1}, {tag2} ... 及 {set1}, {set2} ... 標籤&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.6.5.0.rar"&gt;Firendly.Flickr V2.6.5.0&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-3654869241124476812?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/3654869241124476812/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=3654869241124476812' title='21 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3654869241124476812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3654869241124476812'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/12/friendlyflickr-v2650-released.html' title='Friendly.Flickr V2.6.5.2 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>21</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-8882597382809148359</id><published>2007-12-07T01:52:00.001-08:00</published><updated>2007-12-07T08:31:50.788-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr V2.6.4.1 released</title><content type='html'>&lt;p&gt;12/07 再次更新 V2.6.4.1    &lt;br /&gt;大致完成大部份朋友的需求及 Bug 修正了     &lt;br /&gt;需要一些時間撰寫的建議就留在下一次改版好了&lt;/p&gt;  &lt;p&gt;另外有朋友建議寫個日文版的，真是 @$!^%#@&amp;amp;#    &lt;br /&gt;天秤又不懂日文，所以想請各位幫忙了     &lt;br /&gt;既然要搞就搞大一點，來個多國語言版好了，但天秤連英文都上不了台面啊     &lt;br /&gt;目前想法是天秤會把軟體中顯示的中文以文字檔全部列出     &lt;br /&gt;並在天秤的部落格 Post 出來供下載     &lt;br /&gt;就請懂各種語言的朋友幫忙翻成各版本後再 mail 給天秤，並寫上是哪一國語言     &lt;br /&gt;天秤會在軟體說明頁上或是該語言畫面上寫上翻譯者的名稱哦~     &lt;br /&gt;當然各種語言都行，簡體中文、英文、日文、韓文、法文、德文 ... 都行啦     &lt;br /&gt;詳細情形天秤會再發佈，到時候就請各位幫忙了~&lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 修正進階排版的 {sets} 標籤失效的問題 (其實上版是筆誤，將 {sets} 誤寫成 {set} 了)    &lt;br /&gt;2. 上傳視窗的 [選項] 頁，多了 [插入照片的標題是否包含檔案的副檔名] 選項     &lt;br /&gt;可以決定是否將副檔名也加入照片的標題     &lt;br /&gt;3. 進階排版多了 {image_st}, {image_t}, {image_s}, {image_m}, {image_l}, {image_o}     &lt;br /&gt;來代表 SquareThumbnail, Thumbnail, Small, Medium, Large, Original 尺寸的照片     &lt;br /&gt;所以可以在同一頁面同時輸出多種尺寸的照片了&lt;/p&gt;  &lt;h6&gt;--- 我是分隔線 ---&lt;/h6&gt;  &lt;p&gt;此次更新主要是加上許多朋友的意見，並在照片資訊上加入了 [照片集] 的資訊    &lt;br /&gt;還是老話一句，有問題及任何意見請回報給天秤知道     &lt;br /&gt;感謝~&lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 修正清單模式下 Shift + 選取大數量照片時會造成軟體當掉的問題    &lt;br /&gt;2..批次下載選擇 Original Size 時，遇到有些照片無 Original Size 的照片時     &lt;br /&gt;則強制下載 Large 的照片，如果沒有 Large 的照片則下載 Medium 照片，以此類推     &lt;br /&gt;確保指定 Original 時一定會下載到照片     &lt;br /&gt;但指定其它尺寸時遇到沒有該尺寸的照片時則不下載，不一定會下載到照片     &lt;br /&gt;3. 批次下載指定以 Title 為檔名時，遇到 Title 已有副檔名了，則不再加上 .jpg 的副檔名了     &lt;br /&gt;避免出現 XXX.jpg.jpg 等奇怪的檔名     &lt;br /&gt;4. 照片資訊加入了 [照片集] 欄位，進階排版可以用 {sets} 來取得     &lt;br /&gt;5. 清單模式下多了三個選項，取得照片說明、取得照片 EXIF 資訊及取得照片集資訊     &lt;br /&gt;取得此三種資訊的速度十分緩慢，為了避免拖慢整體速度     &lt;br /&gt;搜尋時會先下載一般資訊，並在背景下載說明、照片集、EXIF 資訊     &lt;br /&gt;選項選擇愈多時搜尋速度會愈慢，可依使用者需求來開關&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.6.4.1.rar"&gt;Firendly.Flickr V2.6.4.1&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-8882597382809148359?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/8882597382809148359/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=8882597382809148359' title='11 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8882597382809148359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8882597382809148359'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/12/friendlyflickr-v2640-released.html' title='Friendly.Flickr V2.6.4.1 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-2096911232718900561</id><published>2007-12-02T19:15:00.001-08:00</published><updated>2007-12-02T19:15:36.600-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr V2.6.3.0</title><content type='html'>&lt;p&gt;先感謝大家的回報&amp;#160; &lt;br /&gt;此版根據各位朋友的回報，修正了一些問題及功能    &lt;br /&gt;最主要修正從 V2.6.1.0 版之後上傳視窗時，如果你有設定將照片 EXIF 資訊填入標籤的功能    &lt;br /&gt;按下上傳照片按鈕後就會發生錯誤    &lt;br /&gt;還請近來一直無法上傳的朋友幫忙測試並回報一下是否有真正解決上傳的問題&lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 編輯照片視窗及 KMZ 產生器視窗版面重新編排   &lt;br /&gt;2. 搜尋照片數量加大至 500 筆 (注意: 指定愈多數量會造成搜尋時速度愈慢，請斟酌使用)    &lt;br /&gt;3. 修正上傳照片至群組，遇到群組限制而失敗會繼續發表至其它群組，不會因此而中斷    &lt;br /&gt;4. 修正 HTML 新開視窗語法 '_blank'    &lt;br /&gt;5. 修正 V2.6.x 版後上傳照片時，讀取 EXIF 失敗而使得有設定插入 EXIF 資訊至標籤功能會出現錯誤訊息的問題    &lt;br /&gt;6. 加快產生 HTML 語法的速度，使一次插入多張照片時速度變快&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.6.3.0.rar"&gt;Firendly.Flickr V2.6.3.0&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-2096911232718900561?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/2096911232718900561/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=2096911232718900561' title='10 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2096911232718900561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2096911232718900561'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/12/friendlyflickr-v2630.html' title='Friendly.Flickr V2.6.3.0'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-1635794843055578393</id><published>2007-11-28T01:09:00.001-08:00</published><updated>2007-11-28T01:09:12.623-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr V2.6.2.0 released</title><content type='html'>&lt;p&gt;短時間內一直更新軟體，希望不會造成大家的困擾   &lt;br /&gt;因為天秤是利用空閒時間寫這個軟體，更新時間無法固定    &lt;br /&gt;且因為是自己一個人撰寫，無法將軟體測試的很完整    &lt;br /&gt;所以需要藉助大家的力量幫忙測試，才能找得出來一些問題    &lt;br /&gt;故有時候有 Bug 時會短時間密集更新，還請大家見諒    &lt;br /&gt;感謝一些朋友的建議及回報 (人數眾多無法一一列出，請見諒)    &lt;br /&gt;加入支援滑鼠滾輪及視窗縮放的功能，並修正 WLW 外掛判斷最新版本錯誤的問題&lt;/p&gt;  &lt;p&gt;另外有二點請各位朋友幫忙確認一下   &lt;br /&gt;1. 有朋友提出在清單模式下以 tag 搜尋時    &lt;br /&gt;會出現類似搜尋 100 張但出現 50 張照片都重覆的錯誤    &lt;br /&gt;天秤測試結果都正確，一直無法模擬出該狀況    &lt;br /&gt;但已將 Flickr.NET 這個底層元件更新至最新版本，以期解決這個問題    &lt;br /&gt;還請大家幫忙注意一下，有類似此問題的請回報讓天秤知道    &lt;br /&gt;如果能回報 100% 出現的模式是最好不過的    &lt;br /&gt;例如搜尋某人的相簿及某 tag 條件時一定會出現某幾張照片重覆的問題    &lt;br /&gt;2. 有朋友提出在批次下載時會出現百分比跑完但照片未下載的狀況    &lt;br /&gt;有個狀況可能會出現這個問題    &lt;br /&gt;當指定某尺寸照片(如 Large)，這時如果 Flickr 上沒有該尺寸照片時    &lt;br /&gt;Friendly.Flickr 會跳過該張照片(因為根本沒有該尺寸照片可下載)    &lt;br /&gt;如果選擇的照片剛好全部都是沒有該尺寸的，就剛好全部都沒有下載    &lt;br /&gt;不知道這個朋友是不是剛好在這個狀況下    &lt;br /&gt;但不排除在某個條件下軟體會判斷錯誤而真的沒下載到照片    &lt;br /&gt;所以也請大家幫忙注意一下批次下載的功能是否真的有天秤沒測到的錯誤    &lt;br /&gt;感謝~&lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 照片預覽區支援滑鼠滾輪功能   &lt;br /&gt;2. 支援視窗縮放功能，可將視窗放大至全螢幕，增加可視範圍    &lt;br /&gt;3. 修正 Windows Live Writer 外掛讀取版本錯誤，造成判斷最新版本機制失敗的問題&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.6.2.0.rar"&gt;Firendly.Flickr V2.6.2.0&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-1635794843055578393?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/1635794843055578393/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=1635794843055578393' title='19 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1635794843055578393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1635794843055578393'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/11/friendlyflickr-v2620-released.html' title='Friendly.Flickr V2.6.2.0 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-1017706669059692887</id><published>2007-11-26T21:17:00.001-08:00</published><updated>2007-11-26T22:51:24.871-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr V2.6.1.0 released</title><content type='html'>&lt;p&gt;感謝 &lt;a href="http://www.blogger.com/profile/12844132337340609775"&gt;YDWU&lt;/a&gt; 及一些朋友的建議，這一版本修正及改善了一些東西     &lt;br /&gt;主要是清單搜尋時改善了速度及穩定度，搜尋大量照片清單時應該不會有類似卡住的問題了     &lt;br /&gt;且上傳照片時也修正了穩定度，並加入續傳的功能     &lt;br /&gt;有時因網路或一些問題會造成上傳失敗，這時軟體會再自動上傳     &lt;br /&gt;確定連續上傳 5 次都失敗才會跳出上傳失敗的提示視窗，避免影響操作的流暢度&lt;/p&gt;  &lt;p&gt;另外在軟體右下角原本是 [關閉] 的按鈕 (要關閉時請軟體按右上角 X 按鈕了)   &lt;br /&gt;現在將由 [排版預覽] 來取代，按下 [排版預覽] 之後    &lt;br /&gt;會將你指定的排版結果秀出來，非常適合在 [進階排版] 貼上前先作預覽及修正    &lt;br /&gt;&lt;img height="100" alt="image" src="http://lh3.google.com/richielin996/R0u-a5L4tKI/AAAAAAAAAKg/mE4z313VN5A/image%5B2%5D" width="240" border="0" /&gt; &lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 修正 GPS 座標輸入的防呆機制的錯誤    &lt;br /&gt;2. 修正 Tag 儲存成常用字後，會把每個字串儲存一組常用字的問題 (應該是存成同一組才對)     &lt;br /&gt;3. 加入續傳功能，上傳照片失敗時會再自動重試     &lt;br /&gt;4. 改善清單搜尋的穩定度，避免搜尋大量照片時會類似卡住的狀況     &lt;br /&gt;5. 改善清單搜尋的速度     &lt;br /&gt;6. 上傳照片時指定照片集時，有時候會造成軟體錯誤並結束的問題    &lt;br /&gt;7. 加入預覽模式，可以在貼上剪貼簿前先預覽排版狀況&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.6.1.0.rar"&gt;Firendly.Flickr V2.6.1.0&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-1017706669059692887?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/1017706669059692887/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=1017706669059692887' title='9 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1017706669059692887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1017706669059692887'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/11/friendlyflickr-v2610-released.html' title='Friendly.Flickr V2.6.1.0 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-1029941317099434709</id><published>2007-11-22T17:14:00.001-08:00</published><updated>2007-11-22T17:18:30.691-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='網路資源'/><title type='text'>好用的線上聽音樂</title><content type='html'>&lt;p&gt;&lt;img height="287" alt="image" src="http://lh4.google.com/richielin996/R0YpbZL4tJI/AAAAAAAAAKY/hliy6k3kUM0/image%5B3%5D" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;線上收聽音樂的概念應該不是第一次被應用了，如 KKBOX 等服務    &lt;br /&gt;但還是有些許的差異     &lt;br /&gt;KKBOX 等服務是與音樂廠商合作，取得有版權的合法音樂供付費用戶合法線上收聽     &lt;br /&gt;當然關鍵是 &amp;quot;使用者付費&amp;quot; &amp;quot;合法授權&amp;quot; &amp;quot;線上收聽&amp;quot; &amp;quot;廠商合作&amp;quot;     &lt;br /&gt;而 Songza 的概念是一個平台，所有線上音樂都是由網路上搜尋     &lt;br /&gt;包含 YouTube 等線上影片服務其中的音樂     &lt;br /&gt;當使用者搜尋時，列出找到的線上提供服務的相關音樂     &lt;br /&gt;讓使用者由 Songza 這個平台統一線上收聽音樂     &lt;br /&gt;由於網路上資源無遠弗界，各式各樣的音樂都有     &lt;br /&gt;找到的音樂或許會有別於 KKOBX 這種正統音樂服務    &lt;br /&gt;特色就是 &amp;quot;免費&amp;quot; &amp;quot;獨特&amp;quot; &amp;quot;多元&amp;quot; &amp;quot;方便&amp;quot;&lt;/p&gt;  &lt;p&gt;最另人高興的是，中文搜尋完全沒問題    &lt;br /&gt;不用輸入任何資料，就可以將搜尋到的音樂儲成 playlist     &lt;br /&gt;我想是以 cookie 型式儲存吧~     &lt;br /&gt;好處是完全不需註冊就可以儘情享用網路上的音樂     &lt;br /&gt;壞處是當換台電腦後 playlist 就不見啦，有好有壞啦     &lt;br /&gt;不論如何，這個音樂服務網站都值得一試~&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-1029941317099434709?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/1029941317099434709/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=1029941317099434709' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1029941317099434709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1029941317099434709'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/11/blog-post.html' title='好用的線上聽音樂'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-4110517125405425041</id><published>2007-11-20T22:17:00.001-08:00</published><updated>2007-11-20T22:37:58.218-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體資訊'/><title type='text'>Visual Studio 2008 Express 正式版開放下載了</title><content type='html'>&lt;p&gt;&lt;img height="394" alt="image" src="http://lh6.google.com/richielin996/R0PNepL4tFI/AAAAAAAAAJ4/rcqvnEeMjaw/image%5B3%5D" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;Visual Studio 2008 Express 開放下載了，不是 Beta 版，而是正式 Released 版本   &lt;br /&gt;如同 VS2005 一樣，微軟還是提供了免費的 Express 版本供下載使用    &lt;br /&gt;有興趣的快去下載吧!&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://www.microsoft.com/express/default.aspx"&gt;http://www.microsoft.com/express/default.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;DVD iso 完整下載大約 900MB，裡面包含了   &lt;br /&gt;Visual C# 2008 Express Edition - &lt;font color="#0000ff"&gt;770 MB&lt;/font&gt;    &lt;br /&gt;Visual Basic 2008 Express Edition - &lt;font color="#0000ff"&gt;天秤沒興趣，所以沒安裝     &lt;br /&gt;&lt;/font&gt;Visual C++ 2008 Express Edition - &lt;font color="#0000ff"&gt;645 MB&lt;/font&gt;    &lt;br /&gt;Visual Web Developer 2008 Express Edition- &lt;font color="#0000ff"&gt;927 MB&lt;/font&gt;    &lt;br /&gt;一次下載就可以選擇安裝各種 Express 版本，還不賴!    &lt;br /&gt;不用移除舊版 Visual Studio，可以並存在同一台電腦    &lt;br /&gt;天秤電腦上裝有 VS2003, VS2005, VS2008，一樣 OK 啦~&lt;/p&gt;  &lt;p&gt;##CONTINUE##&lt;/p&gt;  &lt;p&gt;天秤先安裝 Visual C# 2008 Express Edition，邊安裝邊寫文章   &lt;br /&gt;它會主動安裝 .NET Framework 3.5，安裝過程都還順利    &lt;br /&gt;但也如同安裝 VS2005 一般的緩慢，其中倒是幾項讓天秤覺得很好奇&lt;/p&gt;  &lt;p&gt;1. 最下一行是什麼? 可以由 Visual Studio 來接收 RSS 訊息?   &lt;br /&gt;不知道會包含什麼內容? 或許是一些教學或範例之類的吧    &lt;br /&gt;不過可想而知一定都是英文啦    &lt;br /&gt;&lt;img height="125" alt="image" src="http://lh6.google.com/richielin996/R0PNfpL4tGI/AAAAAAAAAKA/Q-gcXgBkQ_I/image%5B7%5D" width="500" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;2. 果然可以安裝 Silverlight Runtime 了   &lt;br /&gt;Silverlight 應該也可以算是 Visual Studio 2008 的重頭戲之一了    &lt;br /&gt;當然一定得包含它了    &lt;br /&gt;&lt;img height="156" alt="image" src="http://lh5.google.com/richielin996/R0PNgZL4tHI/AAAAAAAAAKI/EncLd8-HLyU/image%5B11%5D" width="482" border="0" /&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-4110517125405425041?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/4110517125405425041/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=4110517125405425041' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4110517125405425041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4110517125405425041'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/11/visual-studio-2008-express.html' title='Visual Studio 2008 Express 正式版開放下載了'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-8150771194365105306</id><published>2007-11-19T19:42:00.001-08:00</published><updated>2007-11-19T19:42:38.336-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr V2.6.0.0 released</title><content type='html'>&lt;p&gt;先向各位說聲抱歉，前幾版為了加入 &amp;quot;清單模式&amp;quot; 而將內部機制做大變動   &lt;br /&gt;導致許多小地方都出現問題了    &lt;br /&gt;如上傳照片時按滑鼠右鍵加入標籤和說明、產生 KML 發生錯誤等    &lt;br /&gt;因天秤沒辦法在每次 release 前一一測試各項功能    &lt;br /&gt;所以還請各位當當白老鼠，幫忙測試一下    &lt;br /&gt;有問題還請回報給天秤，希望能有一版穩定的版本出現&lt;/p&gt;  &lt;p&gt;從 V2.6.0.0 版開始加入了自動判斷是否有最新版本的功能   &lt;br /&gt;各位手上的 Friendly.Flickr 會自動連上 Server 判斷是否有新版本供下載    &lt;br /&gt;以後每當天秤更新版本時    &lt;br /&gt;就會跳出以下的視窗來提醒各位連上網頁下載，記得更新到 V2.6.0.0 以後才有此功能哦    &lt;br /&gt;&lt;img height="136" alt="image" src="http://lh4.google.com/richielin996/R0JXrZL4tEI/AAAAAAAAAJw/PUjImiGdqIs/image%5B3%5D" width="331" border="0" /&gt; &lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 加入判斷最新版本及提示下載功能   &lt;br /&gt;2. 修正上傳照片按滑鼠右鍵加入標籤及說明會造成錯誤的問題    &lt;br /&gt;3. 修正產生 KMZ 功能會失敗的問題&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.6.0.0.rar"&gt;Firendly.Flickr V2.6.0.0&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-8150771194365105306?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/8150771194365105306/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=8150771194365105306' title='5 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8150771194365105306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8150771194365105306'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/11/friendlyflickr-v2600-released.html' title='Friendly.Flickr V2.6.0.0 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-1674852591333576761</id><published>2007-11-15T00:11:00.001-08:00</published><updated>2007-11-15T00:11:11.832-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>Friendly.Flickr 前傳</title><content type='html'>&lt;p&gt;&lt;img height="337" alt="image" src="http://lh4.google.com/richielin996/Rzv_DJL4tAI/AAAAAAAAAJQ/To6GpYVHfSM/image%5B7%5D" width="400" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;天秤無聊在 Google 上閒逛，發現一套軟體 &lt;a href="http://blog.yam.com/richielin996/article/6277781"&gt;Flickr 照片管理精靈&lt;/a&gt;    &lt;br /&gt;才猛然想起這是天秤在 2006 年寫的一套 Flickr 工具軟體    &lt;br /&gt;應該算是 Friendly.Flickr 的前身吧，連天秤自己都已經忘了有寫過這套軟體了    &lt;br /&gt;連當初用的部落格都棄置了，已跳槽到 Blogger 了    &lt;br /&gt;還滿懷念的，呵呵~&lt;/p&gt;  &lt;p&gt;當時剛入手單眼相機，且剛試用 Flickr 就決定加入付費會員   &lt;br /&gt;Flickr API 做得不錯，但當時 Flickr 實用的工具軟體實在不多    &lt;br /&gt;就決定自己來寫一套試試    &lt;br /&gt;以現在看來，軟體界面不夠優，讀取及下載照片速度不夠快    &lt;br /&gt;佔用資源高且容易造成系統卡住，實在連堪用都算不上    &lt;br /&gt;但決定寫一套完整的 Flickr 工具軟體的心和現在沒兩樣&lt;/p&gt;  &lt;p&gt;##CONTINUE##&lt;/p&gt;  &lt;p&gt;稍微回顧一下畫面   &lt;br /&gt;想要把大部份資訊及功能塞到畫面上，主畫面界面有點亂 - 失敗    &lt;br /&gt;&lt;img height="337" alt="image" src="http://lh3.google.com/richielin996/Rzv_E5L4tBI/AAAAAAAAAJY/V3Sd1eHccyU/image%5B3%5D" width="400" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;資訊瀏覽模式   &lt;br /&gt;原意不錯，但因為 Flickr API 得另外發出封包來取得照片資訊    &lt;br /&gt;造成速度緩慢，且沒實作 cache 機制    &lt;br /&gt;更是讓系統長時間處於處理狀態 - 失敗    &lt;br /&gt;&lt;img height="337" alt="image" src="http://lh5.google.com/richielin996/Rzv_GZL4tCI/AAAAAAAAAJg/w5tx6eCccac/image%5B11%5D" width="400" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;照片瀏覽狀態   &lt;br /&gt;原本企圖瀏覽照片可以做到無縫縮放功能，結果還是因為網頁傳輸問題    &lt;br /&gt;讓功能變成四不像    &lt;br /&gt;且搜尋瀏覽界面共用同一 Panel，造成操作上不便 - 失敗中的失敗    &lt;br /&gt;&lt;img height="337" alt="image" src="http://lh6.google.com/richielin996/Rzv_HpL4tDI/AAAAAAAAAJo/J9nCTT_4gzE/image%5B15%5D" width="400" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;沒上傳、批次下載、編輯功能，界面不佳的問題   &lt;br /&gt;也讓該軟體最後被天秤放棄，改寫 Friendly.Flickr 的原因    &lt;br /&gt;不過話說回來    &lt;br /&gt;也因為部落格的發達，讓人可以把生活過程該錄下來    &lt;br /&gt;回頭檢討過去失敗的東西，不也是讓人成長的一種方式&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-1674852591333576761?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/1674852591333576761/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=1674852591333576761' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1674852591333576761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1674852591333576761'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/11/friendlyflickr.html' title='Friendly.Flickr 前傳'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-8161301795798339051</id><published>2007-11-12T19:42:00.001-08:00</published><updated>2007-11-12T19:54:35.419-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><title type='text'>在部落格上用 MSN Messenger 與版主聊天</title><content type='html'>介紹個由微軟提供部落格上使用的新奇玩具   &lt;br /&gt;直接在部落格上用 MSN Messenger 與版主聊天   &lt;br /&gt;  &lt;h4&gt;加入方式&lt;/h4&gt;  &lt;p&gt;1. 進入設定網頁: &lt;a title="http://settings.messenger.live.com/applications/Default.aspx" href="http://settings.messenger.live.com/applications/Default.aspx"&gt;http://settings.messenger.live.com/applications/Default.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2. 以 MSN 帳號登入    &lt;br /&gt;&lt;img height="232" alt="image" src="http://lh3.google.com/richielin996/RzkdCUpEIaI/AAAAAAAAAI4/KTtbhwQPMzc/image%5B8%5D" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;3. 選 [網頁設定] 後，並勾選 [允許所有網際網路使用者看見我的線上狀態並傳送訊息給我]    &lt;br /&gt;按 [儲存] 鈕確定     &lt;br /&gt;&lt;img height="177" alt="image" src="http://lh6.google.com/richielin996/RzkdDEpEIbI/AAAAAAAAAJA/MAYIjRIvT0Y/image%5B14%5D" width="345" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;4. 選 [建立 HTML]，並選擇你要的樣式    &lt;br /&gt;第一項只會顯示你 MSN Messenger 狀態     &lt;br /&gt;第二項則可以在網頁上鑲入 MSN Messenger 來與你對話     &lt;br /&gt;&lt;img height="354" alt="image" src="http://lh5.google.com/richielin996/RzkdD0pEIcI/AAAAAAAAAJI/uZ-1aruco7g/image%5B18%5D" width="395" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;5. 選擇後複製下方的 HTML 並貼至您的網頁即可    &lt;br /&gt;由於它是使用 iframe 格式鑲入     &lt;br /&gt;所以就算你網頁或部落格沒有支援 Javascript 應該也可以使用    &lt;br /&gt;畫面上不會顯示 MSN 帳號，不用擔心被其它有心人士利用&lt;br /&gt;點開始對話後，可以選擇以 MSN 帳號登入或以訪客方式傳送訊息    &lt;br /&gt;不想讓 MSN 帳號曝光的就可以訪客方式登入~&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-8161301795798339051?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/8161301795798339051/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=8161301795798339051' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8161301795798339051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8161301795798339051'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/11/msn-messenger.html' title='在部落格上用 MSN Messenger 與版主聊天'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-1286094665822033524</id><published>2007-11-05T18:55:00.001-08:00</published><updated>2007-11-19T17:18:50.495-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr V2.5.4 released</title><content type='html'>&lt;p&gt;11/15 感謝 &lt;a href="http://www.blogger.com/profile/14986909631579879975"&gt;paichia&lt;/a&gt; 大的回報     &lt;br /&gt;修正上傳照片時，照片依拍照時間排序會錯亂的問題&lt;/p&gt;  &lt;p&gt;11/13 感謝 &lt;a href="http://www.blogger.com/profile/12115883859457311858"&gt;Jesse Lin&lt;/a&gt; 大的回報     &lt;br /&gt;修正批次下載照片時，設定 Original 格式照片會儲存成 Large 格式照片的錯誤&lt;/p&gt;  &lt;p&gt;11/09 感謝 &lt;a href="http://www.blogger.com/profile/12117241597529653346"&gt;Jahong&lt;/a&gt; 大的回報     &lt;br /&gt;修正上傳照片時在照片上按右鍵會關閉程式的錯誤&lt;/p&gt;  &lt;p&gt;感謝 &lt;a href="http://www.blogger.com/profile/04055378118562272670"&gt;Chris S. Lin @ TAIWAN&lt;/a&gt; 大的回報     &lt;br /&gt;修正自 V2.3.2.0 之後上傳照片時, 無法將 EXIF 的資訊寫入相片說明的功能     &lt;br /&gt;感謝 &lt;a href="http://www.blogger.com/profile/04407801659906840152"&gt;ShengWD&lt;/a&gt; 大的回報     &lt;br /&gt;修正 [複製照片 URL 到剪貼簿] 的功能有時無法正確取得照片 URL 的問題     &lt;br /&gt;對此問題再加上判斷，避免之前的版本當沒有該尺寸照片時     &lt;br /&gt;取得的照片連結會顯示如下圖照片的問題     &lt;br /&gt;&lt;img id="id" src="http://l.yimg.com/www.flickr.com/images/photo_unavailable.gif" /&gt; &lt;/p&gt; 另外如果不是按右鍵 [複製照片 URL 到剪貼簿] 而是而按下方按鈕選擇 [複製到剪貼簿] 時   &lt;br /&gt;例如設定 Large 尺寸照片但是沒有該尺寸照片時，則連結會自動以 Medium 的照片取代   &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 修正設定上傳照片視窗，將 EXIF 資訊寫入說明或標籤的功能失效的問題    &lt;br /&gt;2. 修正搜尋後的照片按右鍵另存新檔時，選擇二張以上照片時會將所有照片都儲存的問題     &lt;br /&gt;3. 正確取得各尺寸的照片，避免下載到 Flickr Unavailable 的照片或該照片的連結     &lt;br /&gt;4. 修正上傳照片按右鍵會發生錯誤的問題     &lt;br /&gt;5. 修正批次下載照片時，設定 Original 格式照片會儲存成 Large 格式照片的錯誤&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.5.4.rar"&gt;Firendly.Flickr V2.5.4&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-1286094665822033524?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/1286094665822033524/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=1286094665822033524' title='16 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1286094665822033524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1286094665822033524'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/11/friendlyflickr-v251-released.html' title='Friendly.Flickr V2.5.4 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-1987294075375632412</id><published>2007-11-02T00:08:00.001-07:00</published><updated>2007-11-02T00:08:50.553-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>XNA Game Studio Express 控制模組的移動</title><content type='html'>&lt;p&gt;繼前幾篇文章 &lt;a href="http://richielin-programer.blogspot.com/2007/10/xna-game-express_09.html"&gt;XNA Game Studio Express 初試&lt;/a&gt; 中示範 2D 遊戲畫面顯示     &lt;br /&gt;及 &lt;a href="http://richielin-programer.blogspot.com/2007/10/xna-game-express-3d.html"&gt;XNA Game Studio Express 顯示 3D 模組&lt;/a&gt; 中對示範 3D 遊戲畫面顯示     &lt;br /&gt;都還只是顯像輸出的範圍，遊戲中很重要的一項因素 - 互動     &lt;br /&gt;當然得包含輸出及輸入部份     &lt;br /&gt;本範例將介紹輸入的部份，還是以 XNA MSDN 上範例做示範     &lt;br /&gt;但由於該範例是以 XBOX360 控制器做為輸入界面，無法在 PC 上實際操控     &lt;br /&gt;所以天秤將稍微修改一下範例，以鍵盤當成輸入界面，使其在 PC 上可以動作&lt;/p&gt;  &lt;p&gt;##CONTINUE##&lt;/p&gt;  &lt;h5&gt;準備工作&lt;/h5&gt;  &lt;p&gt;本範例是延續&lt;a href="http://richielin-programer.blogspot.com/2007/10/xna-game-express-3d.html"&gt;上一篇文篇&lt;/a&gt;的範例，直接跳至此篇的朋友     &lt;br /&gt;可以下載&lt;a href="http://richielin.myweb.hinet.net/Blogger/XNA/20071011.rar"&gt;上一篇文章範例的程式碼&lt;/a&gt;來學習&lt;/p&gt;  &lt;h5&gt;讀取輸入裝置&lt;/h5&gt;  &lt;p&gt;前幾篇文章陸陸續續有提到，&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.graphicsdevicemanager.aspx"&gt;GraphicsDeviceManager&lt;/a&gt; 類別兩個重要的函式     &lt;br /&gt;draw 函式負責不斷的將畫面輸出至螢幕     &lt;br /&gt;而 update 函式即是負責不斷的計算、處理遊戲中的參數，如處理使用者的輸入     &lt;br /&gt;此範例即是在 update 函式加入判斷輸入的功能     &lt;br /&gt;其中有關 GamePad 物件為 XBOX360 特有的物件，用來取得 XBOX360 搖捍的輸入狀態     &lt;br /&gt;Keyboard 物件即為取得 PC 上鍵盤輸入的物件     &lt;br /&gt;而判斷某鍵是否有輸入，可以 Keyboard.GetState() 函式取得鍵盤狀態中該鍵是否有按下     &lt;br /&gt;再依是否按下狀態來做模組的移動&lt;/p&gt; &lt;code&gt;// Set the velocity of the model, applied each frame to the model's position.    &lt;br /&gt;Vector3 modelVelocity = Vector3.Zero;     &lt;br /&gt;    &lt;br /&gt;protected override void Update(GameTime gameTime)     &lt;br /&gt;{     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; this.Exit();     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (Keyboard.GetState().IsKeyDown(Keys.Escape) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; this.Exit();&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Get some input.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; UpdateInput();&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Add velocity to the current position.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelPosition += modelVelocity;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Bleed off velocity over time.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocity *= 0.95f;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; base.Update(gameTime);     &lt;br /&gt;}     &lt;br /&gt;    &lt;br /&gt;protected void UpdateInput()     &lt;br /&gt;{     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Get the game pad state.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; KeyboardState keyboard_currentState = Keyboard.GetState();     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState != null)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Rotate the model using the left thumbstick, and scale it down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState.IsKeyDown(Keys.Left) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelRotation += 1 * 0.10f;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState.IsKeyDown(Keys.Right) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelRotation -= 1 * 0.10f;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Create some velocity if the right trigger is down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; Vector3 modelVelocityAdd = Vector3.Zero;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Find out what direction we should be thrusting, using rotation.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd.X = -(float)Math.Sin(modelRotation);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd.Z = -(float)Math.Cos(modelRotation);&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Now scale our direction by how hard the trigger is down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState.IsKeyDown(Keys.Up) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd *= 2;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState.IsKeyDown(Keys.Down) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd *= 0.5F;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Finally, add this vector to our velocity.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocity += modelVelocityAdd;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // In case you get lost, press A to warp back to the center.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState.IsKeyDown(Keys.Space) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelPosition = Vector3.Zero;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocity = Vector3.Zero;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelRotation = 0.0f;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; }&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Get the game pad state.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; GamePadState currentState = GamePad.GetState(PlayerIndex.One);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (currentState.IsConnected)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Rotate the model using the left thumbstick, and scale it down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelRotation -= currentState.ThumbSticks.Left.X * 0.10f;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Create some velocity if the right trigger is down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; Vector3 modelVelocityAdd = Vector3.Zero;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Find out what direction we should be thrusting, using rotation.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd.X = -(float)Math.Sin(modelRotation);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd.Z = -(float)Math.Cos(modelRotation);&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Now scale our direction by how hard the trigger is down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd *= currentState.Triggers.Right;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Finally, add this vector to our velocity.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocity += modelVelocityAdd;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; GamePad.SetVibration(PlayerIndex.One, currentState.Triggers.Right,     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; currentState.Triggers.Right);&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // In case you get lost, press A to warp back to the center.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (currentState.Buttons.A == ButtonState.Pressed)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelPosition = Vector3.Zero;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocity = Vector3.Zero;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelRotation = 0.0f;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;}     &lt;br /&gt;&lt;/code&gt;  &lt;p&gt;本範例可以輸入鍵盤左、右鍵來控制飛行器的左右旋轉    &lt;br /&gt;上、下鍵來控制飛行器速度，如果飛行器飛出螢幕範圍了     &lt;br /&gt;按下 Space 鍵可以回復預設值，讓飛行器再次回到螢幕中央     &lt;br /&gt;最後按下 Escape 鍵結束&lt;/p&gt;  &lt;p&gt;下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/XNA/20071012.rar"&gt;本範例程式碼及執行檔下載&lt;/a&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-1987294075375632412?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/1987294075375632412/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=1987294075375632412' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1987294075375632412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/1987294075375632412'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/11/xna-game-studio-express.html' title='XNA Game Studio Express 控制模組的移動'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-3535633302822313576</id><published>2007-10-29T21:47:00.001-07:00</published><updated>2008-01-31T00:35:33.495-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr V2.5 released</title><content type='html'>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;Friendly.Flickr 又更新了，現在到了 V2.5 版了    &lt;br /&gt;這一次更新讓天秤很興奮，因為這是從古早的 V2.x 版就一直想加入的功能     &lt;br /&gt;但是一直不知道該怎麼做，導致延到這一版才找到解決方法~     &lt;br /&gt;主要加上照片 GPS 座標直接在地圖上定位的功能     &lt;br /&gt;首先不管是修改照片或是上傳照片，在 GPS 座標頁上可以找到 &lt;font color="#ff0000"&gt;[定位]&lt;/font&gt; 按鈕     &lt;br /&gt;直接按下去就對了 (上下兩個定位按鈕都是一樣的功能啦)     &lt;br /&gt;&lt;img height="246" alt="image" src="http://lh4.google.com/richielin996/Rya3TgZPKvI/AAAAAAAAAHM/d1X7DeL44IU/image%5B3%5D.png" width="222" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;接下來就會出現以 Google Map 為基礎的地圖定位視窗    &lt;br /&gt;直接在地圖上找到位置後點選，或是移動地圖上圖示都可以    &lt;br /&gt;也可以直接輸入座標，讓你看地圖來確認該座標是否正確     &lt;br /&gt;完成後按確定就 OK 啦     &lt;br /&gt;&lt;img height="368" alt="image" src="http://lh4.google.com/richielin996/Rya3WgZPKwI/AAAAAAAAAHU/A-ARCwL1_jk/image%5B7%5D.png" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;另外再附加說明一些功能    &lt;br /&gt;1. 此視窗經緯度右側的 [定位] 按鈕，是讓你亂移動地圖後    &lt;br /&gt;將地圖跳回到你照片的座標的功能    &lt;br /&gt;2. 右下角的自訂座標點功能，預設了幾個國家的地圖位置    &lt;br /&gt;直接雙擊就可以以地圖中心跳到該座標點上，快速以國家或座標找點    &lt;br /&gt;3. 下方 [加入地圖中心點] 按鈕功能是讓你移動地圖後，將該地圖以中心點記錄在自訂座標裡    &lt;br /&gt;日後可以快速的切換到該地圖上    &lt;br /&gt;4. [加入此座標] 按鈕是把目前指定的座標記錄在自訂座標裡    &lt;br /&gt;5. 在自訂座標按滑鼠右鍵或是按下 Delete 鍵，可以刪去自訂座標&lt;/p&gt;  &lt;p&gt;基本上自訂座標點是讓你將一些常去的國家或常用的景點記錄下來   &lt;br /&gt;當然你也可以把 Friendly.Flickr 預設的國家刪去或是加入其它的國家座標點    &lt;br /&gt;甚至加入台北、台中、高雄、阿里山、日月潭等座標點    &lt;br /&gt;以便日後要定位時可以快速的把地圖找回來&lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 新增上傳照片及修改照片資訊，在設定 GPS 座標時可以直接在 Google Map 地圖上定位    &lt;br /&gt;2. 補上 GPS 座標輸入的防呆機制&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.5.rar"&gt;Firendly.Flickr V2.5&lt;/a&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-3535633302822313576?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/3535633302822313576/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=3535633302822313576' title='8 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3535633302822313576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3535633302822313576'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/10/friendlyflickr-v25-released.html' title='Friendly.Flickr V2.5 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-7956904969010545709</id><published>2007-10-25T23:55:00.001-07:00</published><updated>2007-11-19T17:22:57.963-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr V2.4.1.1 released</title><content type='html'>&lt;p&gt;先感謝大家的支持，一直給天秤很多的鼓勵和建議    &lt;br /&gt;這一版還是和以往一樣，優先加入最多人建議的功能 - 清單顯示     &lt;br /&gt;在之前的版本搜尋照片的方式為搜尋指定數量的照片     &lt;br /&gt;且一併秀出照片來，如下圖     &lt;br /&gt;&lt;img height="299" alt="image" src="http://lh5.google.com/richielin996/RyGPQAZPKsI/AAAAAAAAAG0/_LPM6CmJVaA/image%5B3%5D.png" width="500" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;而這一版加入了清單顯示，會一直搜尋指定條件的照片直到完成    &lt;br /&gt;且不下載照片及詳細的照片資訊以加快搜尋速度     &lt;br /&gt;對一些不想看到照片，只想要照片清單的人很有用     &lt;br /&gt;使用方式只有一個步驟，&lt;font color="#ff0000"&gt;左下角的 [每頁張數] 選擇最後一個選項 - 清單      &lt;br /&gt;&lt;/font&gt;然後再按搜尋就行了，如下圖     &lt;br /&gt;&lt;img height="297" alt="image" src="http://lh5.google.com/richielin996/RyGPRAZPKtI/AAAAAAAAAG8/_wDnIxcnxlo/image%5B7%5D.png" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;清單模式下的操作方式和一般模式下完全相同    &lt;br /&gt;接下來就是看客官是要下載照片或是貼上部落格都可     &lt;br /&gt;如果&lt;font color="#ff0000"&gt;對照片名稱和照片聯想不起來的，還可以連點二下照片來快速瀏覽照片&lt;/font&gt;     &lt;br /&gt;&lt;img height="296" alt="image" src="http://lh3.google.com/richielin996/RyGPRgZPKuI/AAAAAAAAAHE/7tsAUAQOr8I/image%5B11%5D.png" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;另外提出很重要一點就是    &lt;br /&gt;因為要加入清單模式，所以將 Friendly.Flickr 底層機制做了大變動     &lt;br /&gt;陸陸續續的找到一些之前未修正的問題     &lt;br /&gt;天秤自己也不清楚到底修正了哪些 Bug，也不清楚又搞出了什麼 Bug     &lt;br /&gt;所以就請大家使用時發現什麼問題再回報給天秤了~&lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 搜尋照片新增清單顯示模式    &lt;br /&gt;2. 產生 KMZ 檔時，可指定是否匯入 GPX 檔中的 Track 或 Point     &lt;br /&gt;3. 稍微改善搜尋速度及資料的可靠性     &lt;br /&gt;4. Windows Live Writer Plugin 版本設定檔目錄修改原與 Friendly.Flickr 一樣，讓兩者的資料可以共用    &lt;br /&gt;&lt;font color="#8000ff"&gt;5. 10/29 補上清單模式下按 Column 會將資料排序的功能 (V2.4.1.1)&lt;/font&gt;&amp;#xA0;&lt;/p&gt;  &lt;p&gt;PS. 為加快照片搜尋速度，清單模式下並不會下載完整的照片資訊    &lt;br /&gt;故當在清單模式下貼上照片及資訊時，有關 [&lt;font color="#ff0000"&gt;照片說明&lt;/font&gt;] 及 [&lt;font color="#ff0000"&gt;EXIF&lt;/font&gt;] 資訊可能會無法正確顯示     &lt;br /&gt;如需以上的資訊時，請在一般模式下搜尋照片後再貼上&lt;/p&gt;  &lt;p&gt;PS. 在清單模式下，取得別人照片的 [&lt;font color="#ff0000"&gt;原始照片的位址&lt;/font&gt;] 可能會因為該照片設為 private 而取得失敗     &lt;br /&gt;請在一般模式下搜尋再重試&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.4.1.1.rar"&gt;Firendly.Flickr V2.4.1.1&lt;/a&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-7956904969010545709?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/7956904969010545709/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=7956904969010545709' title='7 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7956904969010545709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7956904969010545709'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/10/friendlyflickr-v24-released.html' title='Friendly.Flickr V2.4.1.1 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-621233792428259938</id><published>2007-10-19T02:16:00.001-07:00</published><updated>2008-01-31T00:35:33.496-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr V2.3.2 released</title><content type='html'>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;感謝許多朋友提供意見    &lt;br /&gt;這一版主要修正最多人提出的 - 批次下載最多下載 500 張照片的問題     &lt;br /&gt;基本上可以批次下載的照片數量應該是無上限了吧     &lt;br /&gt;應該會讓批次下載更加的完整、好用吧     &lt;br /&gt;其它比較小的項目，容天秤再找時間慢慢修正~&lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 修正批次下載 Set 照片時，最大只會下載 500 張的問題    &lt;br /&gt;2. 搜尋 Set 照片時，修改成會依照 [每頁張數] 選項來搜尋，並可按 [上一頁] 及 [下一頁] 來換頁     &lt;br /&gt;3. 排版貼圖多出個 [點擊照片是否在新視窗開啟] 選項&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.3.2.rar"&gt;Firendly.Flickr V2.3.2&lt;/a&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-621233792428259938?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/621233792428259938/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=621233792428259938' title='8 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/621233792428259938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/621233792428259938'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/10/friendlyflickr-v232-released.html' title='Friendly.Flickr V2.3.2 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-543700764976364148</id><published>2007-10-11T21:56:00.001-07:00</published><updated>2007-10-11T22:20:06.742-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>XNA Game Studio Express 聲音與 XACT</title><content type='html'>&lt;p&gt;聲音是遊戲很重要的一環，聲光效果都有的遊戲才會吸引人玩下去    &lt;br /&gt;在 XNA Framework 中，如果要加入音樂、音效等效果     &lt;br /&gt;必須使用 XACT - Microsoft Cross-Platform Audio Creation Tool 來幫忙達成     &lt;br /&gt;以下 XNA MSDN 的範例將一步步示範如果在遊戲中加入聲音&lt;/p&gt;  &lt;p&gt;##CONTINUE##&lt;/p&gt;  &lt;h5&gt;準備工作，使用 XACT 建立聲音專案&lt;/h5&gt;  &lt;p&gt;開啟上一篇 &lt;a href="http://richielin-programer.blogspot.com/2007/10/xna-game-express_11.html"&gt;XNA Game Studio Express 控制模組的移動&lt;/a&gt; 範例中的專案     &lt;br /&gt;並參考 &lt;a href="http://richielin-programer.blogspot.com/2007/10/xna-game-express-3d.html"&gt;XNA Game Studio Express 顯示 3D 模組&lt;/a&gt; 的文章中     &lt;br /&gt;由先前建立的 Spacewar Windows Starter Kit 專案取出聲音檔作示範     &lt;br /&gt;首先在開啟專案中先建立相關目錄 Content\Audio\Waves     &lt;br /&gt;並 Copy Spacewar Windows Starter Kit 專案中的     &lt;br /&gt;Ships\engine_2.wav 及 Weapons\hyperspace_activate.wav 到此專案的相同目錄下     &lt;br /&gt;    &lt;br /&gt;1. 從 &lt;strong&gt;Windows 開始選單&lt;/strong&gt;，選擇 &lt;strong&gt;所有程式 &lt;/strong&gt;-&amp;gt;&lt;strong&gt; Microsoft XNA Game Studio Express &lt;/strong&gt;-&amp;gt; &lt;strong&gt;Tools&lt;/strong&gt;，執行&lt;strong&gt; Microsoft Cross-Platform Audio Creation Tool (XACT)      &lt;br /&gt;&lt;/strong&gt;2. 開啟 XACT 軟體後，儲存專案在此專案的 &lt;strong&gt;Contant\Audio&lt;/strong&gt; 下名稱為 &lt;strong&gt;MyGameAudio&lt;/strong&gt;     &lt;br /&gt;3. 新增 &lt;strong&gt;New Wave Bank&lt;/strong&gt; 及 &lt;strong&gt;New Sound Bank&lt;/strong&gt;，並在 Wave Bank 下加入剛才 Copy 至專案目錄下的兩個聲音檔     &lt;br /&gt;&lt;img height="372" alt="image" src="http://lh6.google.com/richielin996/Rw7-ZVyCj0I/AAAAAAAAAGU/uwuNknyLlhQ/image%5B7%5D.png" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;將剛才加入 Wave Bank 的兩個聲音檔，拖曳到 Sound Bank 視窗的 Cue Name Panel 中    &lt;br /&gt;如下所示     &lt;br /&gt;&lt;img height="372" alt="image" src="http://lh6.google.com/richielin996/Rw7-aVyCj1I/AAAAAAAAAGc/5HDQA_xcEhI/image%5B11%5D.png" width="500" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;最後，指定當我們播放 engine_2 聲音時，它必須不斷環境播放    &lt;br /&gt;這點就像是遊戲不斷環境播放的背景音樂一樣，總不希望背景音樂只播放一次就停止了吧     &lt;br /&gt;在 &lt;strong&gt;Sound Bank&lt;/strong&gt; 視窗中選擇 engine_2 聲音，並在右上方視窗選擇 &lt;strong&gt;Play Wave&lt;/strong&gt; 字樣     &lt;br /&gt;並在視窗最左下方 &lt;strong&gt;LoopEvent&lt;/strong&gt; 中選擇 &lt;strong&gt;Infinite&lt;/strong&gt; 指定環境播放     &lt;br /&gt;&lt;img height="234" alt="image" src="http://lh5.google.com/richielin996/Rw7-bFyCj2I/AAAAAAAAAGk/_lEVV6G-ihc/image%5B21%5D.png" width="310" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;最後儲存離開 XACT 軟體    &lt;br /&gt;進行到此步驟，XACT 會將我們加入的聲音檔案指定相對目錄及聲音檔的播放動作     &lt;br /&gt;以 MyGameAudio.xap 描述檔儲存在 Content\Audio 這個指定的目錄下     &lt;br /&gt;接下來就可以將 XACT project 加入示範專案的 Content Pipeline 中&lt;/p&gt;  &lt;h5&gt;加入聲音至專案&lt;/h5&gt;  &lt;p&gt;回到 Visual Studio 2005 Express 示範專案中，在 Content\Audio 目錄按右鍵    &lt;br /&gt;&lt;strong&gt;加入 &lt;/strong&gt;-&amp;gt; &lt;strong&gt;現有項目&lt;/strong&gt;，選擇剛才建立的 MyGameAudio.xap     &lt;br /&gt;&lt;img height="307" alt="image" src="http://lh3.google.com/richielin996/Rw7-blyCj3I/AAAAAAAAAGs/oILw-P7ZtRw/image%5B25%5D.png" width="278" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;在 Initialize 函式下加入以下程式碼將聲音資料載入遊戲中    &lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.audio.audioengine.aspx"&gt;AudioEngine&lt;/a&gt;: 讀入 XACT 專案，副檔名為 .xgs     &lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.audio.wavebank.aspx"&gt;WaveBank&lt;/a&gt;: 取出 AudioEngine 元件中 Wave Bank 的聲音資料，副檔名為 .xwb     &lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.audio.soundbank.aspx"&gt;SoundBank&lt;/a&gt;: 取出 AudioEngine 元件中 Sound Bank 的聲音資料，副檔名為 .xsb&lt;/p&gt; &lt;code&gt;AudioEngine audioEngine;    &lt;br /&gt;WaveBank waveBank;     &lt;br /&gt;SoundBank soundBank;     &lt;br /&gt;    &lt;br /&gt;protected override void Initialize()     &lt;br /&gt;{     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; audioEngine = new AudioEngine(&amp;quot;Content\\Audio\\MyGameAudio.xgs&amp;quot;);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; waveBank = new WaveBank(audioEngine, &amp;quot;Content\\Audio\\Wave Bank.xwb&amp;quot;);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; soundBank = new SoundBank(audioEngine, &amp;quot;Content\\Audio\\Sound Bank.xsb&amp;quot;);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; base.Initialize();     &lt;br /&gt;} &lt;/code&gt;  &lt;p&gt;程式中使用 &lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.audio.cue.aspx"&gt;Cue&lt;/a&gt; 物件來處理聲音播放、停止的功能     &lt;br /&gt;在 update 函式中判斷鍵盤輸入及決定聲音的輸出與否     &lt;br /&gt;需注意的是，update 函式會不斷的被呼叫，必須判斷聲音播放的狀態決定執行的動作     &lt;br /&gt;避免已在播放中時還不斷的要求播放，造成系統的負載&lt;/p&gt; &lt;code&gt;// Cue so we can hang on to the sound of the engine.    &lt;br /&gt;Cue engineSound = null;     &lt;br /&gt;    &lt;br /&gt;protected void UpdateInput()     &lt;br /&gt;{     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Get the game pad state.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; KeyboardState keyboard_currentState = Keyboard.GetState();     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState != null)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Rotate the model using the left thumbstick, and scale it down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState.IsKeyDown(Keys.Left) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelRotation += 1 * 0.10f;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState.IsKeyDown(Keys.Right) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelRotation -= 1 * 0.10f;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Create some velocity if the right trigger is down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; Vector3 modelVelocityAdd = Vector3.Zero;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Find out what direction we should be thrusting, using rotation.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd.X = -(float)Math.Sin(modelRotation);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd.Z = -(float)Math.Cos(modelRotation);&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Now scale our direction by how hard the trigger is down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState.IsKeyDown(Keys.Up) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd *= 3;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState.IsKeyDown(Keys.Down) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd *= 0.3F;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Finally, add this vector to our velocity.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocity += modelVelocityAdd;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Set some audio based on whether we're pressing a trigger.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState.IsKeyDown(Keys.Up) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (engineSound == null)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; engineSound = soundBank.GetCue(&amp;quot;engine_2&amp;quot;);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; engineSound.Play();     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }&amp;#xA0; &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; else if (engineSound.IsPaused)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; engineSound.Resume();     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; else     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (engineSound != null &amp;amp;&amp;amp; engineSound.IsPlaying)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; engineSound.Pause();     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // In case you get lost, press A to warp back to the center.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState.IsKeyDown(Keys.Space) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelPosition = Vector3.Zero;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocity = Vector3.Zero;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelRotation = 0.0f;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Make a sound when we warp.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; soundBank.PlayCue(&amp;quot;hyperspace_activate&amp;quot;);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; }&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Get the game pad state.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; GamePadState currentState = GamePad.GetState(PlayerIndex.One);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (currentState.IsConnected)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Rotate the model using the left thumbstick, and scale it down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelRotation -= currentState.ThumbSticks.Left.X * 0.10f;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Create some velocity if the right trigger is down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; Vector3 modelVelocityAdd = Vector3.Zero;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Find out what direction we should be thrusting, using rotation.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd.X = -(float)Math.Sin(modelRotation);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd.Z = -(float)Math.Cos(modelRotation);&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Now scale our direction by how hard the trigger is down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd *= currentState.Triggers.Right;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Finally, add this vector to our velocity.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocity += modelVelocityAdd;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; GamePad.SetVibration(PlayerIndex.One, currentState.Triggers.Right,     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; currentState.Triggers.Right);&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Set some audio based on whether we're pressing a trigger.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (currentState.Triggers.Right &amp;gt; 0)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (engineSound == null)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; engineSound = soundBank.GetCue(&amp;quot;engine_2&amp;quot;);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; engineSound.Play();     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }&amp;#xA0; &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; else if (engineSound.IsPaused)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; engineSound.Resume();     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; else     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (engineSound != null &amp;amp;&amp;amp; engineSound.IsPlaying)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; engineSound.Pause();     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // In case you get lost, press A to warp back to the center.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (currentState.Buttons.A == ButtonState.Pressed)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelPosition = Vector3.Zero;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocity = Vector3.Zero;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelRotation = 0.0f;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Make a sound when we warp.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; soundBank.PlayCue(&amp;quot;hyperspace_activate&amp;quot;);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;} &lt;/code&gt;  &lt;p&gt;原本 XNA MSDN 範例中以 XBOX360 為示範平台    &lt;br /&gt;天秤將它改成以 PC 鍵盤輸入操作及聲音輸出     &lt;br /&gt;範例中按下上鍵時飛行器會加速，並發出加速的聲音，由於 engine_2 聲音在 XACT 中被指定為不斷播放，所以按住上鍵時會持續的播放直到放開     &lt;br /&gt;按下 Space 鍵時飛行器會回到預設值，並發出 hyperspace_activate 聲音&lt;/p&gt;  &lt;p&gt;下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/XNA/20071013.rar"&gt;本範例程式碼及執行檔下載&lt;/a&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-543700764976364148?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/543700764976364148/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=543700764976364148' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/543700764976364148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/543700764976364148'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/10/xna-game-express-xact.html' title='XNA Game Studio Express 聲音與 XACT'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-3792113038686267569</id><published>2007-10-11T19:12:00.001-07:00</published><updated>2007-10-11T22:41:47.933-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>XNA Game Studio Express 控制模組的移動</title><content type='html'>&lt;p&gt;繼前幾篇文章 &lt;a href="http://richielin-programer.blogspot.com/2007/10/xna-game-express_09.html"&gt;XNA Game Studio Express 初試&lt;/a&gt; 中示範 2D 遊戲畫面顯示     &lt;br /&gt;及 &lt;a href="http://richielin-programer.blogspot.com/2007/10/xna-game-express-3d.html"&gt;XNA Game Studio Express 顯示 3D 模組&lt;/a&gt; 中對示範 3D 遊戲畫面顯示     &lt;br /&gt;都還只是顯像輸出的範圍，遊戲中很重要的一項因素 - 互動     &lt;br /&gt;當然得包含輸出及輸入部份     &lt;br /&gt;本範例將介紹輸入的部份，還是以 XNA MSDN 上範例做示範     &lt;br /&gt;但由於該範例是以 XBOX360 控制器做為輸入界面，無法在 PC 上實際操控     &lt;br /&gt;所以天秤將稍微修改一下範例，以鍵盤當成輸入界面，使其在 PC 上可以動作&lt;/p&gt;  &lt;p&gt;##CONTINUE##&lt;/p&gt;  &lt;h5&gt;準備工作&lt;/h5&gt;  &lt;p&gt;本範例是延續&lt;a href="http://richielin-programer.blogspot.com/2007/10/xna-game-express-3d.html"&gt;上一篇文篇&lt;/a&gt;的範例，直接跳至此篇的朋友     &lt;br /&gt;可以下載&lt;a href="http://richielin.myweb.hinet.net/Blogger/XNA/20071011.rar"&gt;上一篇文章範例的程式碼&lt;/a&gt;來學習&lt;/p&gt;  &lt;h5&gt;讀取輸入裝置&lt;/h5&gt;  &lt;p&gt;前幾篇文章陸陸續續有提到，&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.graphicsdevicemanager.aspx"&gt;GraphicsDeviceManager&lt;/a&gt; 類別兩個重要的函式     &lt;br /&gt;draw 函式負責不斷的將畫面輸出至螢幕     &lt;br /&gt;而 update 函式即是負責不斷的計算、處理遊戲中的參數，如處理使用者的輸入     &lt;br /&gt;此範例即是在 update 函式加入判斷輸入的功能     &lt;br /&gt;其中有關 GamePad 物件為 XBOX360 特有的物件，用來取得 XBOX360 搖捍的輸入狀態     &lt;br /&gt;Keyboard 物件即為取得 PC 上鍵盤輸入的物件     &lt;br /&gt;而判斷某鍵是否有輸入，可以 Keyboard.GetState() 函式取得鍵盤狀態中該鍵是否有按下     &lt;br /&gt;再依是否按下狀態來做模組的移動&lt;/p&gt; &lt;code&gt;// Set the velocity of the model, applied each frame to the model's position.    &lt;br /&gt;Vector3 modelVelocity = Vector3.Zero;     &lt;br /&gt;    &lt;br /&gt;protected override void Update(GameTime gameTime)     &lt;br /&gt;{     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; this.Exit();     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (Keyboard.GetState().IsKeyDown(Keys.Escape) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; this.Exit();&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Get some input.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; UpdateInput();&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Add velocity to the current position.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelPosition += modelVelocity;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Bleed off velocity over time.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocity *= 0.95f;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; base.Update(gameTime);     &lt;br /&gt;}     &lt;br /&gt;    &lt;br /&gt;protected void UpdateInput()     &lt;br /&gt;{     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Get the game pad state.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; KeyboardState keyboard_currentState = Keyboard.GetState();     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState != null)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Rotate the model using the left thumbstick, and scale it down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState.IsKeyDown(Keys.Left) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelRotation += 1 * 0.10f;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState.IsKeyDown(Keys.Right) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelRotation -= 1 * 0.10f;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Create some velocity if the right trigger is down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; Vector3 modelVelocityAdd = Vector3.Zero;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Find out what direction we should be thrusting, using rotation.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd.X = -(float)Math.Sin(modelRotation);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd.Z = -(float)Math.Cos(modelRotation);&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Now scale our direction by how hard the trigger is down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState.IsKeyDown(Keys.Up) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd *= 2;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState.IsKeyDown(Keys.Down) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd *= 0.5F;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Finally, add this vector to our velocity.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocity += modelVelocityAdd;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // In case you get lost, press A to warp back to the center.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (keyboard_currentState.IsKeyDown(Keys.Space) == true)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelPosition = Vector3.Zero;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocity = Vector3.Zero;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelRotation = 0.0f;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; }&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Get the game pad state.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; GamePadState currentState = GamePad.GetState(PlayerIndex.One);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (currentState.IsConnected)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Rotate the model using the left thumbstick, and scale it down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelRotation -= currentState.ThumbSticks.Left.X * 0.10f;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Create some velocity if the right trigger is down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; Vector3 modelVelocityAdd = Vector3.Zero;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Find out what direction we should be thrusting, using rotation.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd.X = -(float)Math.Sin(modelRotation);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd.Z = -(float)Math.Cos(modelRotation);&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Now scale our direction by how hard the trigger is down.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocityAdd *= currentState.Triggers.Right;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Finally, add this vector to our velocity.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocity += modelVelocityAdd;&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; GamePad.SetVibration(PlayerIndex.One, currentState.Triggers.Right,     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; currentState.Triggers.Right);&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // In case you get lost, press A to warp back to the center.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (currentState.Buttons.A == ButtonState.Pressed)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelPosition = Vector3.Zero;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelVelocity = Vector3.Zero;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelRotation = 0.0f;     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;}     &lt;br /&gt;&lt;/code&gt;  &lt;p&gt;本範例可以輸入鍵盤左、右鍵來控制飛行器的左右旋轉    &lt;br /&gt;上、下鍵來控制飛行器速度，如果飛行器飛出螢幕範圍了     &lt;br /&gt;按下 Space 鍵可以回復預設值，讓飛行器再次回到螢幕中央     &lt;br /&gt;最後按下 Escape 鍵結束&lt;/p&gt;  &lt;p&gt;下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/XNA/20071012.rar"&gt;本範例程式碼及執行檔下載&lt;/a&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-3792113038686267569?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/3792113038686267569/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=3792113038686267569' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3792113038686267569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3792113038686267569'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/10/xna-game-express_11.html' title='XNA Game Studio Express 控制模組的移動'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-809546808323259963</id><published>2007-10-10T23:53:00.001-07:00</published><updated>2007-10-11T22:19:27.898-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>XNA Game Studio Express 顯示 3D 模組</title><content type='html'>&lt;p&gt;&lt;img height="392" alt="image" src="http://lh3.google.com/richielin996/Rw3IT1yCjzI/AAAAAAAAAGM/zZ1RJwfLZMI/image%5B14%5D.png" width="500" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;繼上一篇 &lt;a href="http://richielin-programer.blogspot.com/2007/10/xna-game-express_09.html"&gt;XNA Game Studio Express 初試&lt;/a&gt; 之後，對 XNA 架構愈來愈感興趣了     &lt;br /&gt;能以簡單易學易用的 .NET Framework 架構來撰寫遊戲實在是方便     &lt;br /&gt;接下來還是以 XNA MSDN 上範例來學習如何在遊戲中顯示 3D Model     &lt;br /&gt;3D 這應該是目前遊戲界的重頭戲了，且看以 XNA 如何快速的撰寫 3D 遊戲&lt;/p&gt;  &lt;p&gt;##CONTINUE##&lt;/p&gt;  &lt;h5&gt;準備工作&lt;/h5&gt;  &lt;p&gt;因為此範例需要 3D 模組及紋理，所以必須先建立 Spacewar Windows Starter Kit 這專案    &lt;br /&gt;建立完成後即可儲存關閉，因為此範例只是運用該專案目錄下的模組來示範     &lt;br /&gt;&lt;img height="356" alt="image" src="http://lh6.google.com/richielin996/Rw3IQlyCjxI/AAAAAAAAAF8/4BlPJ1clBcY/image%5B3%5D.png" width="500" border="0" /&gt; &lt;/p&gt; 開啟 Windows Game 範本的新專案，並在 &lt;strong&gt;方案總管&lt;/strong&gt; 按右鍵 &lt;strong&gt;新增資料夾&lt;/strong&gt; 上加入以下的目錄   &lt;br /&gt;按右鍵 &lt;strong&gt;新增現有項目&lt;/strong&gt;，將 p1_wedge.fbx 檔案加入   &lt;br /&gt;並手動將 Textures\wedge_p1_diff_v1.tga Copy 到本專案的 Textures 目錄下   &lt;br /&gt;&lt;strong&gt;PS. &lt;/strong&gt;p1_wedge.fbx 模組有需要有 wedge_p1_diff_v1.tga 圖檔當作紋理   &lt;br /&gt;但 p1_wedge.fbx 會自己至相對應目錄下取得 wedge_p1_diff_v1.tga   &lt;br /&gt;因專案不需使用此圖檔 (只有該模組使用)，故只將該檔 Copy 到 Textures 目錄下即可   &lt;br /&gt;無需加入專案的 Content Pipeline 內   &lt;br /&gt;&lt;img height="305" alt="image" src="http://lh4.google.com/richielin996/Rw3ISFyCjyI/AAAAAAAAAGE/n3yPP4NelbA/image%5B7%5D.png" width="276" border="0" /&gt;   &lt;p&gt;&lt;strong&gt;開始寫程式吧&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;首先當然是讀取 3D 模組等資源，和上個範例相同    &lt;br /&gt;在 LoadGraphicsContent 函式撰寫讀取資源的程式碼&lt;/p&gt; &lt;code&gt;// Set the 3D model to draw.    &lt;br /&gt;Model myModel;     &lt;br /&gt;    &lt;br /&gt;// The aspect ratio determines how to scale 3d to 2d projection. float aspectRatio;     &lt;br /&gt;    &lt;br /&gt;protected override void LoadGraphicsContent(bool loadAllContent)     &lt;br /&gt;{     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (loadAllContent)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; myModel = content.Load&amp;lt;Model&amp;gt;(&amp;quot;Content\\Models\\p1_wedge&amp;quot;);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; }&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; aspectRatio = graphics.GraphicsDevice.Viewport.Width / graphics.GraphicsDevice.Viewport.Height;     &lt;br /&gt;} &lt;/code&gt;  &lt;p&gt;在 Draw 函式內顯示出該 3D 模組，其中    &lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.graphics.basiceffect.world.aspx"&gt;World&lt;/a&gt;: 控制模組在遊戲世界中的位置     &lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.graphics.basiceffect.view.aspx"&gt;View&lt;/a&gt;: 控制遊戲中攝影機在遊戲世界的位置及攝影的方向，相對於使用者看到世界     &lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.graphics.basiceffect.projection.aspx"&gt;Projection&lt;/a&gt;: 控制遊戲中如果將 3D 世界以 2D 方式呈現出來 (螢幕)&lt;/p&gt; &lt;code&gt;// Set the position of the model in world space, and set the rotation.    &lt;br /&gt;Vector3 modelPosition = Vector3.Zero;     &lt;br /&gt;float modelRotation = 0.0f;     &lt;br /&gt;    &lt;br /&gt;// Set the position of the camera in world space, for our view matrix.     &lt;br /&gt;Vector3 cameraPosition = new Vector3(0.0f, 50.0f, 5000.0f);     &lt;br /&gt;    &lt;br /&gt;protected override void Draw(GameTime gameTime)     &lt;br /&gt;{     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; graphics.GraphicsDevice.Clear(Color.CornflowerBlue);&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Copy any parent transforms.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; Matrix[] transforms = new Matrix[myModel.Bones.Count];     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; myModel.CopyAbsoluteBoneTransformsTo(transforms);&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Draw the model. A model can have multiple meshes, so loop.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; foreach (ModelMesh mesh in myModel.Meshes)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // This is where the mesh orientation is set, as well as our camera and projection.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; foreach (BasicEffect effect in mesh.Effects)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; effect.EnableDefaultLighting();     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; effect.World = transforms[mesh.ParentBone.Index] * Matrix.CreateRotationY(modelRotation)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; * Matrix.CreateTranslation(modelPosition);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; effect.View = Matrix.CreateLookAt(cameraPosition, Vector3.Zero, Vector3.Up);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; effect.Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(45.0f),     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; aspectRatio, 1.0f, 10000.0f);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Draw the mesh, using the effects set above.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; mesh.Draw();     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;} &lt;/code&gt;  &lt;h5&gt;動起來吧&lt;/h5&gt;  &lt;p&gt;在 update 函式裡，我們可以加上一些程式碼，讓飛行器的定時旋轉    &lt;br /&gt;只要改變 modelRotation 參數     &lt;br /&gt;讓 draw 函式被呼叫，計算 effect.World 時能依我們的參數改變模組的角度 &lt;/p&gt; &lt;code&gt;protected override void Update(GameTime gameTime)    &lt;br /&gt;{     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; this.Exit();&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; modelRotation += (float)gameTime.ElapsedGameTime.TotalMilliseconds * MathHelper.ToRadians(0.1f);&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; base.Update(gameTime);     &lt;br /&gt;} &lt;/code&gt;  &lt;p&gt;按下 F5 編譯執行，執行結果如下    &lt;br /&gt;遊戲畫面為一台 3D 飛行器，隨著時間不斷的原地旋轉著     &lt;br /&gt;&lt;img height="392" alt="image" src="http://lh3.google.com/richielin996/Rw3IT1yCjzI/AAAAAAAAAGM/zZ1RJwfLZMI/image%5B14%5D.png" width="500" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;顯示 3D 模組比 2D 複雜一些    &lt;br /&gt;但是 XNA Framework 有效的提供了一些元件供簡單的呼叫來顯示 3D 模組     &lt;br /&gt;範例其中有數個參數都可以決定顯示出的結果，各有各的重要性     &lt;br /&gt;建議新接觸 XNA 的人可以嘗試著修改一些參數，看執行結果會有什麼變化&lt;/p&gt;  &lt;p&gt;下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/XNA/20071011.rar"&gt;本範例程式碼及執行檔下載&lt;/a&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-809546808323259963?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/809546808323259963/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=809546808323259963' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/809546808323259963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/809546808323259963'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/10/xna-game-express-3d.html' title='XNA Game Studio Express 顯示 3D 模組'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-6625552825215512944</id><published>2007-10-09T00:52:00.001-07:00</published><updated>2007-10-11T22:18:27.346-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>XNA Game Studio Express 初試</title><content type='html'>&lt;p&gt;&lt;/p&gt;  &lt;h5&gt;&lt;img height="391" alt="image" src="http://lh4.google.com/richielin996/RwszIlyCjwI/AAAAAAAAAF0/Rh3I144Eym4/image%5B10%5D.png" width="500" border="0" /&gt;&lt;/h5&gt;  &lt;h5&gt;系統需求&lt;/h5&gt;  &lt;p&gt;Windows XP SP2 及 Vista 各版本 (看來 Microsoft 已徹底放棄 Windows 2000 了)    &lt;br /&gt;支援 Shader Model 1.1 及至少支援 DirectX 9.0c 的圖形界面卡&lt;/p&gt;  &lt;h5&gt;檔案下載&lt;/h5&gt;  &lt;p&gt;&lt;a href="http://msdn2.microsoft.com/zh-tw/express/aa975050.aspx"&gt;Visual Studio 2005 Express Editions 及 SP1&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=12ADCD12-7A7B-4413-A0AF-FF87242A78DE&amp;amp;displaylang=en"&gt;Microsoft XNA Game Studio Express 1.0 Refresh&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/netframework/aa731542.aspx"&gt;.NET Framework 2.0&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=262D25E3-F589-4842-8157-034D1E7CF3A3&amp;amp;displaylang=en"&gt;.NET Framework 1.1&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;##CONTINUE##&lt;/p&gt;  &lt;h5&gt;基本觀念&lt;/h5&gt;  &lt;p&gt;開啟 Windows Game 範本的新專案，一些繁瑣的前置作業都由 XNA 做好了    &lt;br /&gt;包含已建立最重要的螢幕顯示物件 &lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.graphicsdevicemanager.aspx"&gt;GraphicsDeviceManager&lt;/a&gt; ，及以下五個主要的事件&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.game.initialize.aspx"&gt;Initialize&lt;/a&gt;: 初始化遊戲中任何與 Graphics 無關的資源，如設定、遊戲進度等資料 &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.game.loadgraphicscontent.aspx"&gt;LoadGraphicsContent&lt;/a&gt;: 載入 Graphics 相關的資源，如模組、圖示等 &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.game.unloadgraphicscontent.aspx"&gt;UnloadGraphicsContent&lt;/a&gt;: 釋放載入的 Graphics 資源 &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.game.update.aspx"&gt;Update&lt;/a&gt;: 處理、計算每個 Frame 要顯示的狀態，或做些程式判斷等動作 &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.game.draw.aspx"&gt;Draw&lt;/a&gt;: 顯示至螢幕 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;遊戲最重要的觀念就是處理使用者輸入的狀況，並將結果顯示於螢幕達成與使用者互動    &lt;br /&gt;在這裡就是由 &lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.game.update.aspx"&gt;Update&lt;/a&gt; 及 &lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.xna.framework.game.draw.aspx"&gt;Draw&lt;/a&gt; 兩個 Event 來負責處理輸入、運算及顯示輸出&lt;/p&gt;  &lt;h5&gt;第一個遊戲&lt;/h5&gt;  &lt;p&gt;這裡以 Microsoft 官網 MSDN 上範本來測試    &lt;br /&gt;在螢幕上貼上一個圖檔     &lt;br /&gt;以上一步產生的新專案為例，就直接顯示 GameThumbnail.png 這個新專案內建圖檔好了     &lt;br /&gt;但必須注意須將 GameThumbnail.png 的 XNA Framework Content 屬性設為 True     &lt;br /&gt;才會將 GameThumbnail.png 加入 XNA Content Pipeline 內讓程式可以呼叫使用&lt;/p&gt; &lt;code&gt;// This is a texture we can render.    &lt;br /&gt;Texture2D myTexture;     &lt;br /&gt;    &lt;br /&gt;// Set the coordinates to draw the sprite at.     &lt;br /&gt;Vector2 spritePosition = Vector2.Zero;     &lt;br /&gt;    &lt;br /&gt;// This is the object that will draw the sprites.     &lt;br /&gt;SpriteBatch spriteBatch;     &lt;br /&gt;    &lt;br /&gt;protected override void LoadGraphicsContent( bool loadAllContent )     &lt;br /&gt;{     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (loadAllContent)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; {     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; myTexture = content.Load&amp;lt;Texture2D&amp;gt;(&amp;quot;GameThumbnail&amp;quot;);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; spriteBatch = new SpriteBatch(graphics.GraphicsDevice);     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; }     &lt;br /&gt;} &lt;/code&gt;&lt;code&gt;protected override void Draw(GameTime gameTime)    &lt;br /&gt;{     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; graphics.GraphicsDevice.Clear(Color.CornflowerBlue);     &lt;p&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Draw the sprite. &lt;/p&gt;    &lt;p&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; spriteBatch.Begin(SpriteBlendMode.AlphaBlend);      &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; spriteBatch.Draw(myTexture, spritePosition, Color.White);       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; spriteBatch.End(); &lt;/p&gt;    &lt;p&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; base.Draw(gameTime);      &lt;br /&gt;}&lt;/p&gt; &lt;/code&gt;  &lt;p&gt;加入程式碼後，按 F5 執行    &lt;br /&gt;遊戲畫面顯示如下，左上角為載入並顯示的圖檔     &lt;br /&gt;&lt;img height="392" alt="image" src="http://lh4.google.com/richielin996/RwszHlyCjvI/AAAAAAAAAFs/SGjyzMREFBI/image%5B6%5D.png" width="500" border="0" /&gt;&lt;/p&gt;  &lt;h5&gt;來吧! 加入移動及碰撞&lt;/h5&gt;  &lt;p&gt;我們之前有提到過，update 函式是用來處理輸入及運算用的    &lt;br /&gt;這是個會不斷被呼叫的 Event ，透過每次呼叫該函式來處理計算一些事情後     &lt;br /&gt;讓 draw 函式可以顯示正確的畫面     &lt;br /&gt;以本範例來說，可以在 update 被呼叫時將圖示移動固定位置並判斷是否碰到視窗邊緣     &lt;br /&gt;讓下次 draw 函式被呼叫時可以將圖示顯示在正確位置上&lt;/p&gt; &lt;code&gt;   &lt;br /&gt;// Store some information about the sprite's motion.     &lt;br /&gt;Vector2 spriteSpeed = new Vector2(50.0f, 50.0f);     &lt;br /&gt;    &lt;br /&gt;protected override void Update(GameTime gameTime)     &lt;br /&gt;{     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Allows the default game to exit on Xbox 360 and Windows.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; this.Exit();&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Move the sprite around.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; UpdateSprite(gameTime);&amp;#xA0; &lt;br /&gt;    &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; base.Update(gameTime);     &lt;br /&gt;}     &lt;br /&gt;    &lt;br /&gt;void UpdateSprite(GameTime gameTime)     &lt;br /&gt;{     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Move the sprite by speed, scaled by elapsed time.     &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; spritePosition += spriteSpeed * (float)gameTime.ElapsedGameTime.TotalSeconds;     &lt;p&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; int MaxX = graphics.GraphicsDevice.Viewport.Width - myTexture.Width;      &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; int MinX = 0;       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; int MaxY = graphics.GraphicsDevice.Viewport.Height - myTexture.Height;       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; int MinY = 0;&amp;#xA0; &lt;br /&gt;      &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; // Check for bounce.       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (spritePosition.X &amp;gt; MaxX)       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; {       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; spriteSpeed.X *= -1;       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; spritePosition.X = MaxX;       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; }&amp;#xA0; &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; else if (spritePosition.X &amp;lt; MinX)       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; {       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; spriteSpeed.X *= -1;       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; spritePosition.X = MinX;       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; }       &lt;br /&gt;      &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; if (spritePosition.Y &amp;gt; MaxY)       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; {       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; spriteSpeed.Y *= -1;       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; spritePosition.Y = MaxY;       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; }       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; else if (spritePosition.Y &amp;lt; MinY)       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; {       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; spriteSpeed.Y *= -1;       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0; spritePosition.Y = MinY;       &lt;br /&gt;&amp;#xA0;&amp;#xA0;&amp;#xA0; }       &lt;br /&gt;} &lt;/p&gt; &lt;/code&gt;  &lt;p&gt;按 F5 後的執行結果如下    &lt;br /&gt;圖示會不斷的移動，當碰到視窗邊緣時即返回     &lt;br /&gt;&lt;img height="391" alt="image" src="http://lh4.google.com/richielin996/RwszIlyCjwI/AAAAAAAAAF0/Rh3I144Eym4/image%5B10%5D.png" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;當然寫個遊戲不是那麼簡單的事    &lt;br /&gt;本篇參考 Microsoft XNA MSDN 的範例可以改善的東西太多，如流暢度、聲音、輸入界面等     &lt;br /&gt;但本範例倒是很適合剛接觸 XNA 開發遊戲的人，分享出來與朋友共同成長     &lt;br /&gt;天秤之前也沒碰過 XNA 及 DirectX，只在 PPC 上寫過小遊戲 - &lt;a href="http://richielin-programer.blogspot.com/2007/01/ppc-v12.html"&gt;旋轉泡泡球 PPC 版&lt;/a&gt;     &lt;br /&gt;雖然使用的元件不同、平台不同，但概念卻相同     &lt;br /&gt;寫程式不也是如此，觀念正確就一通百通~&lt;/p&gt;  &lt;p&gt;下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/XNA/20071009.rar"&gt;本範例程式碼及執行檔下載&lt;/a&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-6625552825215512944?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/6625552825215512944/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=6625552825215512944' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6625552825215512944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6625552825215512944'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/10/xna-game-express_09.html' title='XNA Game Studio Express 初試'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-8355456335161776377</id><published>2007-10-08T19:51:00.001-07:00</published><updated>2007-10-08T19:52:24.788-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>XNA Game Express - 微軟的野心</title><content type='html'>&lt;p&gt;微軟推出 XBOX360 目前已售出千萬台了   &lt;br /&gt;除了日本之外，其餘國家的接受度非常高，銷售成績也很好    &lt;br /&gt;主要原因為 XBOX360 效能很好，遊戲開發平台優異，加上了一堆原因    &lt;br /&gt;然而遊戲開發平台的優異是眾所皆知的，但微軟的目標不只於此&lt;/p&gt;  &lt;p&gt;免費的 XNA Game Express 專案就是一個野心   &lt;br /&gt;它是一個跨 PC 與 XBOX360 的遊戲開發工具    &lt;br /&gt;以 XNA 在 PC 上開發遊戲及販賣都不需付費，但在 XBOX360 上必須付年費，但價格不高    &lt;br /&gt;憑藉著多年 Visual Studio 打下的基礎及 .Net Framework 及 C# 簡單易開發的特性    &lt;br /&gt;企圖打造個一魚多吃的境界，想想看以下情況&lt;/p&gt;  &lt;p&gt;1. 當別的平台的遊戲開發業者開發的遊戲想跨最多人使用的 PC 平台   &lt;br /&gt;如果以 XNA 開發完成後，不只可以在 PC 上販賣遊戲，連 XBOX360 上也幾乎一併完成    &lt;br /&gt;多了個遊戲平台增加收入，何樂不為    &lt;br /&gt;2.遊戲相關科系單位以 XNA 教學，有效率且有系統 (目前美國多所大學已採用 XNA 教學)    &lt;br /&gt;這些學生日後都是 Windows 平台及 XBOX360 系統的潛在開發者    &lt;br /&gt;3. 一些程式設計師或有興趣的人都可以無條件的下載免費的 XNA 來玩    &lt;br /&gt;只要其中有 1/10000 的人玩出心得來了    &lt;br /&gt;都可以為 Windows or XBOX360 多一堆優秀的遊戲開發者    &lt;br /&gt;4. 優秀且免費的 XNA 開發平台，愈來愈多人有興趣且接觸之下    &lt;br /&gt;會吸引一些人才為其開發一堆引擎、套件等工具    &lt;br /&gt;這些都會讓 XNA 開發平台愈來愈強大，愈來愈易開發，吸引愈多人接觸    &lt;br /&gt;不斷的良性循環...&lt;/p&gt;  &lt;p&gt;這些都是微軟遊戲快速向下札根的方式，也是日後微軟遊戲帝國的根基   &lt;br /&gt;當一家遊戲公司有資金 (超有錢)，有技術，有人力為其開發遊戲    &lt;br /&gt;很難想像當它茁壯到一定程度，還有誰能與它競爭?&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-8355456335161776377?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/8355456335161776377/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=8355456335161776377' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8355456335161776377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8355456335161776377'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/10/xna-game-express.html' title='XNA Game Express - 微軟的野心'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-4411038037408489371</id><published>2007-10-04T20:08:00.001-07:00</published><updated>2007-10-04T20:08:29.049-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體資訊'/><title type='text'>免費的虛擬光碟軟體 Alcohol 52% Free Edition</title><content type='html'>&lt;p&gt;隨著硬碟空間愈來愈來大，CD or DVD 光碟的容量與之相比愈顯得微不足道   &lt;br /&gt;甚至換片的不方便性及較慢的讀取速度愈來愈讓人不能忍受了    &lt;br /&gt;而虛擬光碟這種概念即是很好的解決方案&lt;/p&gt;  &lt;p&gt;酒精 Alcohol 120% 是許多人使用的燒錄、虛擬光碟軟體   &lt;br /&gt;也有許多人只拿來當虛擬光碟用 (像天秤就是)    &lt;br /&gt;現在製作 Alcohol 120% 軟體的公司，拿掉了燒錄光碟的部份    &lt;br /&gt;推出個免費的虛擬光碟軟體 Alcohol 52% Free Edition&lt;/p&gt;  &lt;p&gt;官方網站: &lt;a href="http://www.alcohol-soft.com/"&gt;Alcohol&lt;/a&gt;    &lt;br /&gt;軟體下載: &lt;a href="http://www.free-downloads.net/downloads/Alcohol_52__Free_Edition/"&gt;Alcohol 52% Free Edition&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;免費版本的 Alcohol 52% Free Edition 最大支援 6 個虛擬光碟裝置 (應該夠用了)   &lt;br /&gt;25 種語言 (包含繁體中文)    &lt;br /&gt;CD 支援格式: CD-DA, CD+G, CD-ROM, CD-XA, Video CD, Photo CD, Mixed Mode, Multi-session CD    &lt;br /&gt;DVD 支援格式: DVD-ROM, DVD-Video, DVD-Audio    &lt;br /&gt;但必須注意的是，無法與 Alcohol 120% 並存在同一台電腦上    &lt;br /&gt;不過既然已安裝 Alcohol 120% 了，當然也不需要安裝 Alcohol 52% Free Edition    &lt;br /&gt;所以也不算缺點了吧    &lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-4411038037408489371?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/4411038037408489371/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=4411038037408489371' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4411038037408489371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4411038037408489371'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/10/alcohol-52-free-edition.html' title='免費的虛擬光碟軟體 Alcohol 52% Free Edition'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-3389183017058692158</id><published>2007-10-03T02:04:00.001-07:00</published><updated>2007-10-03T02:04:24.097-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體資訊'/><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>Excel 2007 Bug</title><content type='html'>&lt;p&gt;天秤上個禮拜在網路上亂逛，就曾看到這個 &lt;a href="http://groups.google.com/group/microsoft.public.excel/browse_thread/thread/2bcad1a1a4861879/2f8806d5400dfe22"&gt;Excel Bug&lt;/a&gt; 的消息了    &lt;br /&gt;只不過當時沒特別注意，只覺得管它的    &lt;br /&gt;反正天秤又不常用 Excel，也沒覺得有什麼大不了的&lt;/p&gt;  &lt;p&gt;今天無聊時又想到了，剛好天秤也是安裝 Excel 2007   &lt;br /&gt;於是就來試了一下，還真的耶~    &lt;br /&gt;先用計算機得知 850 * 77.1 應該會得到 65535    &lt;br /&gt;但在 Excel 只要輸入 =SUM(850*77.1) 竟然會顯示 100000    &lt;br /&gt;於是天秤又試了其它運算式，不管是    &lt;br /&gt;=SUM(85*771) 或是 =SUM(8500*7.71) 都正確    &lt;br /&gt;就只有 =SUM(850*77.1) 顯示錯誤了，夠誇張了&lt;/p&gt;  &lt;p&gt;不過如果輸入 =SUM((850*77.1)/65535) 則又會顯示正確的值 1   &lt;br /&gt;這表示這個 Bug 應該只是顯示錯誤，而不是運算錯誤    &lt;br /&gt;還好還好，如果是運算錯誤那代誌就超大條了    &lt;br /&gt;代表使用者不小心運算式中剛好有這個條件就完蛋了    &lt;br /&gt;不過光這個 Bug 應該也會讓 Microsoft 灰頭土臉了吧    &lt;br /&gt;就看 Microsoft 怎麼危機處理了&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-3389183017058692158?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/3389183017058692158/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=3389183017058692158' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3389183017058692158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3389183017058692158'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/10/excel-2007-bug.html' title='Excel 2007 Bug'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-2096006790226648910</id><published>2007-10-02T19:11:00.001-07:00</published><updated>2008-01-31T00:35:33.497-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr V2.3.1.1 released</title><content type='html'>&lt;p&gt;感謝 &lt;a href="http://www.mobile01.com"&gt;Mobile01&lt;/a&gt; 上網友 &lt;a href="http://www.mobile01.com/userinfo.php?id=196351"&gt;cjc_298&lt;/a&gt; 的建議     &lt;br /&gt;剛好有一些時間，於是將 Friendly.Flickr 加入了照片資訊修改的功能了     &lt;br /&gt;在 Flickr 上可以修改的項目很多     &lt;br /&gt;但是目前只加入修改標題、標籤、說明、權限、座標、群組的功能     &lt;br /&gt;及取代照片的功能 (這個功能很好用哦)，其實應該也夠用了啦     &lt;br /&gt;如果想修改其它的項目，就請按照片右鍵 -&amp;gt; 瀏覽此照片     &lt;br /&gt;到 Flickr 網站上以網頁修改了     &lt;br /&gt;也許某天心血來潮，再來加上其它功能好了&lt;/p&gt;  &lt;h4&gt;更新項目&lt;/h4&gt;  &lt;p&gt;1. 修正 Urmap 及 Vitrual map 的連結    &lt;br /&gt;2. 加入修改照片資訊的功能 - 標題、標籤、說明、座標、群組、取代此照片     &lt;br /&gt;3. 自動儲存未上傳完成的照片&lt;/p&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.3.1.1.rar"&gt;Firendly.Flickr V2.3.1.1&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;操作說明&lt;/h4&gt;  &lt;p&gt;點下右邊多出來的按鈕，就會開啟修改照片的視窗    &lt;br /&gt;&lt;img height="329" alt="image" src="http://lh5.google.com/richielin996/RwL6SFyCjqI/AAAAAAAAAFE/9KF_l6LbnBo/image%5B7%5D.png" width="300" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;拖曳照片到新視窗，只能拖曳自己的照片    &lt;br /&gt;選擇照片並輸入新的照片資訊     &lt;br /&gt;&lt;img height="209" alt="image" src="http://lh6.google.com/richielin996/RwL6TVyCjrI/AAAAAAAAAFM/N77726bz33I/image%5B15%5D.png" width="300" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;值得一提的如果上傳的照片錯誤，可以在此頁重新上傳照片    &lt;br /&gt;&lt;img height="325" alt="image" src="http://lh4.google.com/richielin996/RwL6T1yCjsI/AAAAAAAAAFU/VtOwOf4KZDM/image%5B22%5D.png" width="300" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;最後按下 [確定修改] 按鈕，等待修正完成即可    &lt;br /&gt;照片修改後，記得必須已在顯示中的照片資訊是不會跟著更新的     &lt;br /&gt;必須重新搜尋一遍，才會更新新的照片資訊     &lt;br /&gt;&lt;img height="235" alt="image" src="http://lh6.google.com/richielin996/RwL6UVyCjtI/AAAAAAAAAFc/_wbHvNr10tE/image%5B26%5D.png" width="300" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;順便一提的是，前幾版本就有的刪除照片功能也許很多人都還不知道    &lt;br /&gt;只要在搜尋照片後，在主視窗的照片上按下右鍵選單 -&amp;gt; [刪除 Flickr 上的照片即可]     &lt;br /&gt;但只能刪除自己的照片哦     &lt;br /&gt;&lt;img height="173" alt="image" src="http://lh6.google.com/richielin996/RwL6VVyCjuI/AAAAAAAAAFk/yD98DMyczBc/image%5B30%5D.png" width="300" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;PS.&lt;/strong&gt; 10/04 懶得再寫一篇文章，於是偷偷的更新一下版號成 V2.3.1       &lt;br /&gt;多加入了自動儲存未上傳完成的照片       &lt;br /&gt;在上傳視窗的照片及標題、標籤等資訊，只要未成功上傳至 Flickr       &lt;br /&gt;就算關閉軟體了也沒關係，下次開啟時還會保留著       &lt;br /&gt;但須注意的是硬碟上該照片必須還保留著才行&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;PS. &lt;/strong&gt;10/11 再偷偷更新一版本 V2.3.1.1      &lt;br /&gt;修正輸入兩個以上標籤時，上傳後標籤會錯誤的問題&lt;/font&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-2096006790226648910?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/2096006790226648910/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=2096006790226648910' title='14 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2096006790226648910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2096006790226648910'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/10/friendlyflickr-v23-released.html' title='Friendly.Flickr V2.3.1.1 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-6792091688283097425</id><published>2007-10-01T03:01:00.001-07:00</published><updated>2007-10-01T03:01:43.998-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體資訊'/><title type='text'>令人驚艷的縮圖技術</title><content type='html'>&lt;p&gt;最近發現幾篇介紹新的縮圖技術文章    &lt;br /&gt;&lt;a href="http://www.piggyworld.net/blog/"&gt;Piggyworld Blog&lt;/a&gt; 的「&lt;a href="http://www.piggyworld.net/blog/resize-rsizr/"&gt;驚人、新一代的縮圖（resize）｜rsizr&lt;/a&gt;」     &lt;br /&gt;&lt;a href="http://playpcesor.blogspot.com/"&gt;電腦玩物&lt;/a&gt; 的「&lt;a href="http://playpcesor.blogspot.com/2007/10/rsizr.html"&gt;Rsizr智慧型在線縮圖服務之驚奇試玩筆記&lt;/a&gt;」     &lt;br /&gt;對其中縮圖技術驚奇不已，相信這絕對是未來各繪圖軟體必備的縮圖技術了&lt;/p&gt;  &lt;p&gt;官方網站 rsizr：&lt;/strong&gt;&lt;a href="http://rsizr.com/"&gt;http://rsizr.com/&lt;/a&gt;     &lt;br /&gt;該網站是以 Flash 製作，無須註冊即可直接使用     &lt;br /&gt;提供 JPG、PNG、GIF 格式圖片上傳，除了一般的縮圖、裁切之外     &lt;br /&gt;最重要也最讓人驚艷的是新的縮放技術 (不知道該縮放技術中文怎麼說)     &lt;br /&gt;該技術簡單的說就是以演算法，將圖片縮小時不會影響到圖片中物件的比例     &lt;br /&gt;也可以特意保留或刪去圖片中某個物件，而不影響到圖片顯示的效果&lt;/p&gt;  &lt;p&gt;天秤試玩了一下，發現效果顯著且直覺，不過大概是以 Flash 製作的關係，速度不快    &lt;br /&gt;建議不要以太大的圖片測試，下面是天秤試玩的效果&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;測試一: 寬景製作&lt;/strong&gt;     &lt;br /&gt;原比例縮圖: 500x313     &lt;br /&gt;&amp;#xA0;&lt;img height="313" alt="image" src="http://lh5.google.com/richielin996/RwDFclyCjkI/AAAAAAAAAD8/3YWQoqQLQoU/image%5B22%5D.png" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;直接縮圖的寬景效果 500x156，長寬比例全不對了    &lt;br /&gt;&lt;img height="156" alt="image" src="http://lh5.google.com/richielin996/RwDFdlyCjlI/AAAAAAAAAEE/5aCyZdOa5Uw/image%5B15%5D.png" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;裁切製作的寬景效果 500x156，為了保留地面物件，只能犧牲天空了    &lt;br /&gt;&lt;img height="156" alt="image" src="http://lh5.google.com/richielin996/RwDFelyCjmI/AAAAAAAAAEM/JWnD_9IVRlQ/image%5B25%5D.png" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;Rsizr 製作的寬景效果 500x156，照片上物件都保待原本比例    &lt;br /&gt;視覺效果比原圖更強烈~ 只能以驚艷形容~     &lt;br /&gt;&amp;#xA0;&lt;img height="156" alt="image" src="http://lh5.google.com/richielin996/RwDFflyCjnI/AAAAAAAAAEU/H01ThpmFk4Y/image%5B18%5D.png" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;測試二: 去除物件效果      &lt;br /&gt;&lt;/strong&gt;去除照片中心那個招牌效果，一樣效果驚人     &lt;br /&gt;&lt;img height="313" alt="image" src="http://lh5.google.com/richielin996/RwDFglyCjoI/AAAAAAAAAEc/HHPC_t7YtEw/image%5B29%5D.png" width="500" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;測試三: 保留物件效果    &lt;br /&gt;保留照片中心那個招牌和文字部份，可以和原圖比對招牌大小     &lt;br /&gt;照片已縮小了，但是招牌大小和原圖幾乎一致     &lt;br /&gt;&lt;img height="216" alt="image" src="http://lh5.google.com/richielin996/RwDFhlyCjpI/AAAAAAAAAEk/u3WaUALYbkQ/image%5B37%5D.png" width="345" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;滿驚人的一項技術，且操作簡單實用，效果令人驚艷    &lt;br /&gt;讓人十分期待此技術在繪圖軟體上的實作     &lt;br /&gt;也許下一版本 PhotoShop 或 Lightroom 也會加入此功能了&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-6792091688283097425?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/6792091688283097425/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=6792091688283097425' title='4 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6792091688283097425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6792091688283097425'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/10/blog-post.html' title='令人驚艷的縮圖技術'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-4731442253545847550</id><published>2007-09-26T01:20:00.001-07:00</published><updated>2007-09-26T01:32:35.952-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>協尋愛犬</title><content type='html'>&lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="480" alt="IMG_4392_1" src="http://lh5.google.com/richielin996/RvoWQFyCjcI/AAAAAAAAACk/GidsGJz6Yl4/IMG_4392_1%5B9%5D.jpg" width="320" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;請大家幫忙天秤尋找失蹤的小狗   &lt;br /&gt;飼養了三年多的小狗，就像家人一樣    &lt;br /&gt;失蹤了好幾天了，心急如焚&lt;/p&gt;  &lt;p&gt;失蹤日期: 2007/09/20 左右    &lt;br /&gt;失蹤地點: 彰化縣和美鎮源埤里太平路附近     &lt;br /&gt;品種: 混種犬，約 4 歲     &lt;br /&gt;體重: 中小型，大約 8~9 kg     &lt;br /&gt;性別: 母犬，已結紮&lt;/p&gt;  &lt;p&gt;黑色短毛、長尾豎耳，兩眼睛上方、嘴巴周圍及四肢下方有棕色毛髮    &lt;br /&gt;帶紅色頸圈，怕生，有植入晶片&lt;/p&gt;  &lt;p&gt;善心人士有發現請連絡 0916779455 林先生    &lt;br /&gt;感激不盡~&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-4731442253545847550?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/4731442253545847550/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=4731442253545847550' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4731442253545847550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4731442253545847550'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/09/blog-post.html' title='協尋愛犬'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-8565955836339913328</id><published>2007-09-26T00:31:00.001-07:00</published><updated>2007-09-26T00:31:58.871-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>令人無言的 Yahoo!</title><content type='html'>&lt;p&gt;逛到 &lt;a href="http://www.goston.net/"&gt;Goston's Blog&lt;/a&gt; 發現這篇文章 &lt;a href="http://www.goston.net/2007/09/21/1052/"&gt;Yahoo! 你這樣做算什麼!?&lt;/a&gt;     &lt;br /&gt;才知道多年來努力提供 Flickr API 的 CK 網站 &lt;a href="http://flickr.tw"&gt;Blog of Flickr Hacks&lt;/a&gt;     &lt;br /&gt;竟被 Yahoo! 發出律師信要求讓出 yahoo.tw 這個網址     &lt;br /&gt;詳情請看 &lt;a href="http://flickr.tw/2007/09/post_6.html"&gt;本站接獲律師信, 近期內將關站!!&lt;/a&gt; 這篇文章&lt;/p&gt;  &lt;p&gt;TMD，Yahoo! 你真是好樣的!    &lt;br /&gt;併購了丁丁大站，行為會跟著變成丁丁大站一樣了嗎?     &lt;br /&gt;對 Yahoo! 一直沒有好感，現在更加深對 Yahoo! 的反感了     &lt;br /&gt;天秤並不認識 CK，但在 Flickr 推出中文界面前，語言的隔闔讓多少人對 Flickr 望而卻步     &lt;br /&gt;多少人因為 CK 的 Flickr API 而接觸 Flickr，進而接受並且喜歡上它     &lt;br /&gt;包含天秤也是其中之一     &lt;br /&gt;沒想一直盡力推廣 Flickr 的網站竟被 Yahoo! 提告違反商標權?     &lt;br /&gt;只因 Yahoo! 想用 flickr.tw 這個網址?     &lt;br /&gt;動作比別人慢 (還慢好幾年) 搶不到想要的網址就用硬的?     &lt;br /&gt;這算什麼東西呢?&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-8565955836339913328?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/8565955836339913328/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=8565955836339913328' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8565955836339913328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/8565955836339913328'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/09/yahoo.html' title='令人無言的 Yahoo!'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-3814761280369097085</id><published>2007-09-12T21:52:00.001-07:00</published><updated>2007-09-12T21:52:40.423-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>王建民 V.S. 松坂大輔</title><content type='html'>&lt;p&gt;離 2007 MLB 球季結束大約還剩 1 個月&lt;br&gt;投手輪值先發大約也只剩 3~4 場&lt;br&gt;大家都在注意王建民是否會成為洋基第一位蟬連美聯勝投王，甚至美聯塞揚獎得主?&lt;br&gt;還有一件從球季開始就一直吸引著全亞洲人焦點&lt;br&gt;就是 王建民 VS 松坂大輔 誰是亞洲一哥?&lt;/p&gt; &lt;p&gt;從球季開始的松坂大輔先出發並持續領先，到明星賽後王建民追平 13 勝&lt;br&gt;從松坂大輔的勝場數領先及王建民的防禦率領先，到兩人的領先項目互換&lt;br&gt;長達 4~5 個月的局勢膠著，誰也不敢說誰才是最後的勝利者&lt;br&gt;直到最近球季快結束的 9 月份，戰情才漸漸明朗，王建民大部份指標都甩開松坂了&lt;br&gt;加上最近松坂大輔連續被打爆幾場，就算是勝投的比賽也是贏得不怎麼光榮&lt;br&gt;至少可以明確的說，重要指標的勝場數應該是王拿下了&lt;br&gt;沒意外的話防禦率也是會優於松坂 (三振率當然是松坂贏)&lt;br&gt;看一下至 2007/09/13 &lt;a href="http://www.mlb.com"&gt;MLB 官網&lt;/a&gt;兩人資料比對一下就了解了&lt;/p&gt; &lt;table cellspacing="0" cellpadding="0" width="492" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="29"&gt;&amp;nbsp;&lt;/td&gt; &lt;td valign="top" width="26"&gt;W&lt;/td&gt; &lt;td valign="top" width="16"&gt;L&lt;/td&gt; &lt;td valign="top" width="33"&gt;ERA&lt;/td&gt; &lt;td valign="top" width="22"&gt;G&lt;/td&gt; &lt;td valign="top" width="24"&gt;GS&lt;/td&gt; &lt;td valign="top" width="25"&gt;CG&lt;/td&gt; &lt;td valign="top" width="33"&gt;SHO&lt;/td&gt; &lt;td valign="top" width="23"&gt;SV&lt;/td&gt; &lt;td valign="top" width="32"&gt;SVO&lt;/td&gt; &lt;td valign="top" width="42"&gt;IP&lt;/td&gt; &lt;td valign="top" width="30"&gt;H&lt;/td&gt; &lt;td valign="top" width="23"&gt;R&lt;/td&gt; &lt;td valign="top" width="23"&gt;ER&lt;/td&gt; &lt;td valign="top" width="24"&gt;HR&lt;/td&gt; &lt;td valign="top" width="31"&gt;HBP&lt;/td&gt; &lt;td valign="top" width="23"&gt;BB&lt;/td&gt; &lt;td valign="top" width="30"&gt;SO&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="29"&gt;王&lt;/td&gt; &lt;td valign="top" width="26"&gt;18&lt;/td&gt; &lt;td valign="top" width="16"&gt;6&lt;/td&gt; &lt;td valign="top" width="33"&gt;3.69&lt;/td&gt; &lt;td valign="top" width="22"&gt;27&lt;/td&gt; &lt;td valign="top" width="24"&gt;27&lt;/td&gt; &lt;td valign="top" width="25"&gt;1&lt;/td&gt; &lt;td valign="top" width="33"&gt;0&lt;/td&gt; &lt;td valign="top" width="23"&gt;0&lt;/td&gt; &lt;td valign="top" width="32"&gt;0&lt;/td&gt; &lt;td valign="top" width="42"&gt;180.2&lt;/td&gt; &lt;td valign="top" width="30"&gt;177&lt;/td&gt; &lt;td valign="top" width="23"&gt;75&lt;/td&gt; &lt;td valign="top" width="23"&gt;74&lt;/td&gt; &lt;td valign="top" width="24"&gt;8&lt;/td&gt; &lt;td valign="top" width="31"&gt;7&lt;/td&gt; &lt;td valign="top" width="23"&gt;52&lt;/td&gt; &lt;td valign="top" width="30"&gt;91&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="28"&gt;松坂&lt;/td&gt; &lt;td valign="top" width="26"&gt;14&lt;/td&gt; &lt;td valign="top" width="16"&gt;12&lt;/td&gt; &lt;td valign="top" width="33"&gt;4.44&lt;/td&gt; &lt;td valign="top" width="22"&gt;29&lt;/td&gt; &lt;td valign="top" width="24"&gt;29&lt;/td&gt; &lt;td valign="top" width="25"&gt;1&lt;/td&gt; &lt;td valign="top" width="33"&gt;0&lt;/td&gt; &lt;td valign="top" width="23"&gt;0&lt;/td&gt; &lt;td valign="top" width="32"&gt;0&lt;/td&gt; &lt;td valign="top" width="42"&gt;184.1&lt;/td&gt; &lt;td valign="top" width="30"&gt;175&lt;/td&gt; &lt;td valign="top" width="23"&gt;91&lt;/td&gt; &lt;td valign="top" width="23"&gt;91&lt;/td&gt; &lt;td valign="top" width="24"&gt;23&lt;/td&gt; &lt;td valign="top" width="31"&gt;12&lt;/td&gt; &lt;td valign="top" width="23"&gt;70&lt;/td&gt; &lt;td valign="top" width="30"&gt;179&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-3814761280369097085?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/3814761280369097085/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=3814761280369097085' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3814761280369097085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/3814761280369097085'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/09/vs.html' title='王建民 V.S. 松坂大輔'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-6822535484394633388</id><published>2007-07-31T22:48:00.001-07:00</published><updated>2007-07-31T22:48:37.781-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>反微軟? 反 .NET Framework?</title><content type='html'>&lt;p&gt;最近天秤收到一封 Email&lt;br&gt;信中提到關於 Flickr 應用程式很多&lt;br&gt;而天秤開發的 Friendly.Flickr 是其中功能很完整的一隻軟體&lt;br&gt;只不過必須先安裝 .NET Framework 2.0 才能執行太麻煩了&lt;br&gt;基於這點，讓他不喜歡 Friendly.Flick 而另尋其它代替方案&lt;br&gt;信中還提到 .NET Framework 與 Java 平台優缺點&lt;br&gt;並提到天秤當初為何不用 Java 或其它語言來撰寫此軟體，市場接受度比較大&lt;/p&gt; &lt;p&gt;天秤倒是一笑置之&lt;br&gt;Java 語言與 C# (.NET 平台) 各有所長，選擇 C# 及 .NET 平台也只是個人習慣&lt;br&gt;或許很多人討厭微軟這家公司，進而不接觸微軟所推的 .NET Framework 平台&lt;br&gt;連安裝也覺得討厭&lt;br&gt;但是身為一個軟體使用者，只要軟體功能 OK，是哪個台平開發出來的軟體有差嗎?&lt;br&gt;況且 Java 開發出來的軟體，執行前不是也得安裝 JRE (Java Runtime Environment)&amp;nbsp;才行?&lt;br&gt;這點和必須先安裝 .NET Framework 2.0 有何差別?&lt;/p&gt; &lt;p&gt;天秤不是微軟派的&lt;br&gt;天秤也喜歡 MAC 甚至要敗一台回家了，也一直用 FrieFox 而捨棄 IE&lt;br&gt;只是微軟有些東西真得不錯用，如 .NET Framework 也真的是簡單易開發的好平台&lt;br&gt;不需要反微軟反到封閉自己，開放心胸接受任何事物，相信得到的會比目前來得多&lt;br&gt;拉哩拉扎的亂扯一堆，有感而發罷了&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-6822535484394633388?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/6822535484394633388/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=6822535484394633388' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6822535484394633388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6822535484394633388'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/07/net-framework.html' title='反微軟? 反 .NET Framework?'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-617078622072465186</id><published>2007-07-29T01:42:00.001-07:00</published><updated>2008-01-31T00:34:39.720-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>天啊~ 想吃蘋果了</title><content type='html'>&lt;p&gt;&lt;img height="275" alt="image" src="http://richielin.myweb.hinet.net/Blogger/Image/ce234d781fe9_28BE/image.png" width="440" border="0"&gt;&lt;/p&gt; &lt;p&gt;對~ 就是這顆蘋果~&lt;br&gt;根據 &lt;a href="http://chinese.engadget.com/2007/07/12/macbook-pro-12-inch-ultraportable-rumor-resurfaces/"&gt;Engadget 癮科技&lt;/a&gt;&amp;nbsp;網站不負責的報導&lt;br&gt;謠傳許久的 12 吋 MacBook Pro 即將問世了&lt;br&gt;天秤從沒買過蘋果電腦，只玩過同事的 iBook G4&lt;br&gt;雖然如此，對使用 Intel CPU 的新蘋果電腦倒是一直很注意&lt;br&gt;因為對目前使用 Acer&amp;nbsp;3.4kg 的筆電覺得太重了，但天秤工作的關係&lt;br&gt;必須使用 Visual Studio 系列來開發 Windows 及 Linux 軟體&lt;br&gt;還是離不開 Windows 系統&lt;br&gt;所以對轉換平台到 Mac 上一直猶豫不決，畢竟工作還是很重要的&lt;/p&gt; &lt;p&gt;雖然現在 Mac 可以安裝 Windows 來實現雙平台&lt;br&gt;但是最輕最小的 MacBook 13 吋筆電也是高達 2.35kg&lt;br&gt;實在是不符合輕薄短小，隨身攜帶的要求&lt;br&gt;如果真的有 12 吋 2kg 以下的 MacBook Pro 上市&lt;br&gt;二話不說，天秤馬上敗一台回家吃蘋果&lt;/p&gt; &lt;p&gt;只要真的能做到重量 2kg 以下，獨立顯卡，電池續航時間 6 hr 以上&lt;br&gt;相信絕對是最殺手級的一台筆電了 (希望價格不要太高啊)&lt;br&gt;賈老大聽到了沒有~&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-617078622072465186?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/617078622072465186/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=617078622072465186' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/617078622072465186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/617078622072465186'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/07/blog-post_29.html' title='天啊~ 想吃蘋果了'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-906895596733116205</id><published>2007-07-03T22:45:00.001-07:00</published><updated>2007-11-19T17:22:57.965-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr V2.2.1.1 released</title><content type='html'>&lt;p&gt;先哈啦一下   &lt;br /&gt;從 2006/12/2 釋出 Friendly.Flickr V1.0 版開始    &lt;br /&gt;從原本只是單純覺得 Windows Live Writer 上的 Flickr Plugin    &lt;br /&gt;Flickr4Writer 不是很人性化    &lt;br /&gt;而寫一個 Windows Live Write Plugin 又十分簡單    &lt;br /&gt;所以就有了 Friendly.Flickr 這個名稱及軟體了&lt;/p&gt;  &lt;p&gt;經過了半年時間，也看到一些 Flickr 應用軟體的特色覺得不錯   &lt;br /&gt;天秤有空時就為 Friendly.Flickr 補上一些功能    &lt;br /&gt;於是 V2.2.0 版的 Friendly.Flickr 就包含了四大特色&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;相片搜尋/貼圖:      &lt;br /&gt;這是一開始就有的功能，也是最基本的      &lt;br /&gt;包含 Flickr 上相片的搜尋、瀏覽及 Blog、討論區的貼圖      &lt;br /&gt;提供自訂 HTML 語法排版及 BBCode 的貼圖方式      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;相片上傳:      &lt;br /&gt;為了取代官方難用的 Uploader      &lt;br /&gt;於是加上了整批相片上傳的功能      &lt;br /&gt;並提供了事先編譯說明及發佈到 Group       &lt;br /&gt;及讀取 EXIF 或匯入 GPX 檔案來計算座標的功能 &lt;/li&gt;    &lt;li&gt;座標景點分享:      &lt;br /&gt;因為加入了 EXIF 及 GPX 取得座標的功能而對 GPS 有更進一步的興趣      &lt;br /&gt;便提供了產生 Google Earth 軟體格式 KMZ 檔的功能      &lt;br /&gt;讓 Flickr 相片景點能在 Google Earth 或 Google Map 上更方便應用 &lt;/li&gt;    &lt;li&gt;下載及備份:      &lt;br /&gt;老實說，一開始根本沒想到下載/備份有什麼用      &lt;br /&gt;但是某次上傳後，發現上傳的相片尺寸全傳錯了，重新來又勞民傷財      &lt;br /&gt;於是加上了下載/備份的功能      &lt;br /&gt;把已上傳的相片原始檔全砍下來，並產生相片資訊檔      &lt;br /&gt;之後將相片換成正確尺寸後再重新上傳，不用重新鍵入標題說明及標籤      &lt;br /&gt;減少了很多人工的動作      &lt;br /&gt;而有些人總喜歡下載完整的相片到電腦上慢慢看，也很合用      &lt;br /&gt;有需要的人也可以用它批次下載任何人的相片 (包含原始檔也行)      &lt;br /&gt;但請尊重別人的智慧財產權哦~&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;下一版 Friendly.Flickr 會再加入什麼功能，天秤還沒想到   &lt;br /&gt;歡迎大家提供點意見    &lt;br /&gt;只要天秤還提得起勁並有能力寫得出來，都會加入的&lt;/p&gt;  &lt;h5&gt;更新記錄&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;可以下載或貼上 original size 的照片了 &lt;/li&gt;    &lt;li&gt;加入批次下載/備份的功能 &lt;/li&gt;    &lt;li&gt;下載照片時，可一併儲存照片資訊檔供檢視或日後使用 &lt;/li&gt;    &lt;li&gt;修正某些條件下讀取 Flickr 照片資訊會失敗的問題 &lt;/li&gt;    &lt;li&gt;修正 KML Creator 插入電腦上照片時，ToolTip 無法顯示的問題 &lt;/li&gt;    &lt;li&gt;加入清除暫存檔的功能&lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;&lt;/h5&gt;  &lt;p&gt;檔案下載: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.2.1.1.rar"&gt;Firendly.Flickr V2.2.1.1&lt;/a&gt;    &lt;br /&gt;MD5: &lt;a href="http://richielin.myweb.hinet.net/Blogger/Program/Friendly.Flickr.2.2.1.1.md5"&gt;6e9bf2c3eb62f2bcd5f9cc19d305b922&lt;/a&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-906895596733116205?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/906895596733116205/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=906895596733116205' title='43 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/906895596733116205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/906895596733116205'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/07/friendlyflickr-v220-released.html' title='Friendly.Flickr V2.2.1.1 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>43</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-4581454469806576548</id><published>2007-06-20T02:56:00.001-07:00</published><updated>2007-06-20T02:56:56.864-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>洋蔥頭表情 V1.2 released</title><content type='html'>&lt;p&gt;可愛的洋蔥頭表情也更新了&lt;br&gt;經過半年的時間，洋蔥頭作者也放上 13 張可愛的大頭照了&lt;br&gt;這次當然也是一起收進來了&lt;br&gt;讓你的部落格表情更豐富吧~&lt;/p&gt; &lt;p&gt;PS. 此版當然也是 for Windows Live Writer plugin 哦&lt;/p&gt; &lt;p&gt;&lt;img src="http://blog.roodo.com/onion_club/64caf316.gif" border="0"&gt;&lt;img src="http://blog.roodo.com/onion_club/cfed93e2.gif" border="0"&gt;&lt;img src="http://blog.roodo.com/onion_club/6360f60e.gif" border="0"&gt;&lt;img src="http://blog.roodo.com/onion_club/5921f236.gif" border="0"&gt;&lt;img src="http://blog.roodo.com/onion_club/189bbdde.gif" border="0"&gt;&lt;img src="http://blog.roodo.com/onion_club/fadeba1b.gif" border="0"&gt;&lt;img src="http://blog.roodo.com/onion_club/91eea40f.gif" border="0"&gt;&lt;img src="http://blog.roodo.com/onion_club/8c460310.gif" border="0"&gt;&lt;img src="http://blog.roodo.com/onion_club/63d4808b.gif" border="0"&gt;&lt;img src="http://blog.roodo.com/onion_club/3df3e2d4.gif" border="0"&gt;&lt;img src="http://blog.roodo.com/onion_club/485c3a61.gif" border="0"&gt;&lt;img src="http://blog.roodo.com/onion_club/5fc0f220.gif" border="0"&gt;&lt;img src="http://blog.roodo.com/onion_club/f6eb47d3.gif" border="0"&gt;&lt;/p&gt; &lt;p&gt;圖片版權所有: &lt;a href="http://blog.roodo.com/onion_club/"&gt;洋蔥酷樂部&lt;/a&gt;&lt;br&gt;檔案下載: &lt;a href="http://richielin996.googlepages.com/OnionIcon.1.2.rar"&gt;OnionIcon V1.2&lt;/a&gt;&lt;br&gt;MD5: &lt;a href="http://richielin996.googlepages.com/OnionIcon.1.2.md5"&gt;f4a17591d0c075ce8eb8d49f08c60051&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-4581454469806576548?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/4581454469806576548/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=4581454469806576548' title='12 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4581454469806576548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4581454469806576548'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/06/v12-released.html' title='洋蔥頭表情 V1.2 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-5410506285487187033</id><published>2007-06-20T02:10:00.001-07:00</published><updated>2007-11-19T17:22:57.966-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr V2.1.2 released</title><content type='html'>&lt;p&gt;Friendly.Flickr 又更新了&lt;br&gt;感覺好像騙錢一樣，稍微更新一點就放上來了&lt;br&gt;不過天秤寫 Friendly.Flickr 只是好玩而已，不會真的拿來騙錢的&lt;br&gt;而從這一版開始&lt;br&gt;天秤把檔放在 Google 空間內，避免 Hinet 空間會擋掉大陸的 IP&lt;br&gt;如果還是被擋掉，那天秤再想想有沒有別的空間好了&lt;/p&gt; &lt;h5&gt;更新記錄&lt;/h5&gt; &lt;ul&gt; &lt;li&gt;加入 Proxy 設定的功能&lt;br&gt;這點還請有需求的人幫忙測試一下了，天秤沒有環境測試&lt;br&gt;尤其是在中國大陸的朋友，因 Flickr 被官方阻擋而連不上&lt;br&gt;希望用 Proxy 能幫上連不上 Flickr 的朋友&lt;br&gt;Proxy 在軟體的登入頁可以看到&lt;br&gt; &lt;li&gt;修正 Ctrl + 滑鼠左鈕選取照片功能錯誤的問題  &lt;li&gt;加入 Shift + 滑鼠左鍵一次選取大量照片的功能  &lt;li&gt;使 ToolTip 提示視窗能更平滑的顯示  &lt;li&gt;自動加入顯示照片編號的功能  &lt;li&gt;自動加入顯示照片標題的功能&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;最後二點另外做個說明，勾選此二個選項&lt;br&gt;可以使 排版 or&amp;nbsp;BBCode 可以加上照片編號及照片標題&lt;br&gt;使要將照片貼上討論區的朋友可以不用手動打上編號及標題了&lt;br&gt;比較符合一般人在討論區貼上照片的方式&lt;br&gt;格式如下:&lt;br&gt;#1 此張照片的標題&lt;br&gt;[照片]&lt;br&gt;&lt;br&gt;#2 此張照片的標題&lt;br&gt;[照片]&lt;br&gt;&lt;br&gt;#3 此張照片的標題&lt;br&gt;[照片]&lt;/p&gt; &lt;p&gt;檔案下載: &lt;a href="http://richielin996.googlepages.com/Friendly.Flickr.2.1.2.3.rar"&gt;Firendly.Flickr V2.1.2.3&lt;/a&gt;&lt;br&gt;MD5: &lt;a href="http://richielin996.googlepages.com/Friendly.Flickr.2.1.2.3.md5"&gt;6c42378f4d219f587077083e7be182ba&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-5410506285487187033?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/5410506285487187033/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=5410506285487187033' title='18 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5410506285487187033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5410506285487187033'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/06/friendlyflickr-v212-released_20.html' title='Friendly.Flickr V2.1.2 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-7872440607251652968</id><published>2007-06-14T22:10:00.001-07:00</published><updated>2007-06-14T22:10:22.632-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>Click for Taiwan</title><content type='html'>&lt;p&gt;&lt;img height="138" alt="image" src="http://richielin.myweb.hinet.net/Blogger/Image/ClickforTaiwan_B932/image.png" width="450" border="0"&gt;&lt;/p&gt; &lt;p&gt;還有這種比賽啊? 一整個無言，只能說是無聊人想出來的無聊比賽~&lt;br&gt;在批踢踢上看到的活動 &lt;a href="http://www.clickclickclick.com/default.asp"&gt;Click for Taiwan&lt;/a&gt;&lt;br&gt;世界排名 1. 匈牙利, 2. 日本, 3. 台灣&lt;br&gt;比賽什麼呢? 就單純開啟該網頁然後 Click (恩~ 沒了~ 就這樣)&lt;br&gt;比賽哪個國家的人民滑鼠 Click 的次數最多，不過沒有獎金和獎品&lt;br&gt;天秤倒是覺得是在比賽哪個國家人民最無聊啦，雖然天秤也貢獻了不少&lt;br&gt;但是台灣和第一、二名的國家也是愈拉愈多&lt;br&gt;說沒有作弊是騙人的啦，聽說匈牙利和日本都開發出作弊程式了&lt;br&gt;都想拼第一且互有領先，難怪分數和後面名次國家差那麼多&lt;br&gt;不過台灣無聊的人也是不少就是了，輸人不輸陣&lt;br&gt;連點滑鼠程式給它開下去，賭上國家人民無聊程度的尊嚴，跟它拼了~&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-7872440607251652968?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/7872440607251652968/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=7872440607251652968' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7872440607251652968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7872440607251652968'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/06/click-for-taiwan.html' title='Click for Taiwan'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-5058277030277497756</id><published>2007-06-12T23:59:00.001-07:00</published><updated>2007-06-12T23:59:38.349-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>台灣棒球值得驕傲的一天</title><content type='html'>&lt;p&gt;相信今天這個主題應該會出現在全國各大小新聞及部落格上吧&lt;/p&gt; &lt;p&gt;2007/06/13&lt;br&gt;台灣兩位遠征美國大聯盟的投手 - 王建民、郭泓志&lt;br&gt;分別在美國東西岸最繁華的兩個大城市，帶給台灣人民無限的驕傲&lt;br&gt;站在棒球最高舞台上，展示了遠東的一個小島的棒球實力&lt;br&gt;在美國東西岸三個小時的時差，連續帶給台灣人民六個小時的感動&lt;br&gt;而台灣人民能為他們做的，就是繼續盡力的為他為加油&lt;br&gt;繼續為所有在美國、日本為理想奮鬥的球員加油吧&lt;/p&gt; &lt;p&gt;王建民的棒無庸置疑，每隔五天就帶給台灣人民一次希望&lt;br&gt;而今天最讓人驚喜的當然是小小郭了&lt;br&gt;不只投出今年球季的第一勝，優質先發&lt;br&gt;還打出了台灣球員在美國大聯盟的第一隻全壘打，而且是以投手身份 WOW~&lt;br&gt;附上小小郭 Home Run 的影片，擊出全壘手後帥氣的甩棒動作&lt;br&gt;讓我們再一次感動吧~&lt;/p&gt; &lt;p&gt; &lt;object height="338" width="450" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"&gt;&lt;param name="_cx" value="11906"&gt;&lt;param name="_cy" value="8943"&gt;&lt;param name="FlashVars" value=""&gt;&lt;param name="Movie" value="http://myvlog.im.tv/?id=1845650&amp;amp;mid=477204&amp;amp;album=0"&gt;&lt;param name="Src" value="http://myvlog.im.tv/?id=1845650&amp;amp;mid=477204&amp;amp;album=0"&gt;&lt;param name="WMode" value="Window"&gt;&lt;param name="Play" value="0"&gt;&lt;param name="Loop" value="-1"&gt;&lt;param name="Quality" value="High"&gt;&lt;param name="SAlign" value="LT"&gt;&lt;param name="Menu" value="0"&gt;&lt;param name="Base" value=""&gt;&lt;param name="AllowScriptAccess" value="always"&gt;&lt;param name="Scale" value="ShowAll"&gt;&lt;param name="DeviceFont" value="0"&gt;&lt;param name="EmbedMovie" value="0"&gt;&lt;param name="BGColor" value=""&gt;&lt;param name="SWRemote" value=""&gt;&lt;param name="MovieData" value=""&gt;&lt;param name="SeamlessTabbing" value="1"&gt;&lt;param name="Profile" value="0"&gt;&lt;param name="ProfileAddress" value=""&gt;&lt;param name="ProfilePort" value="0"&gt;&lt;param name="AllowNetworking" value="all"&gt; &lt;embed src="http://myvlog.im.tv/?id=1845650&amp;amp;mid=477204&amp;amp;album=0" type="application/x-shockwave-flash" width="450" height="338"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-5058277030277497756?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/5058277030277497756/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=5058277030277497756' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5058277030277497756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/5058277030277497756'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/06/blog-post_3297.html' title='台灣棒球值得驕傲的一天'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-2490197947249019059</id><published>2007-06-12T00:02:00.001-07:00</published><updated>2007-06-14T18:12:25.405-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='軟體資訊'/><title type='text'>加強檔案總管的功能</title><content type='html'>&lt;p&gt;這裡一共要介紹 3 個軟體，都是加強檔案總管的功能&lt;br&gt;其實都是同一個作者寫的，算是檔案總管的 plugin 吧~&lt;br&gt;安裝後記得在檔案總管 Toolbar 上按右鍵來選擇是否顯示&lt;/p&gt; &lt;p&gt;檔案下載: &lt;a href="http://members.at.infoseek.co.jp/Quizo/freeware/indexEn.html#qtadr"&gt;QT Address Bar&lt;/a&gt;&lt;br&gt;檔案下載: &lt;a href="http://members.at.infoseek.co.jp/Quizo/freeware/indexEn.html#qttab"&gt;QT TabBar&lt;/a&gt;&lt;br&gt;檔案下載: &lt;a href="http://members.at.infoseek.co.jp/Quizo/freeware/indexEn.html#qtt2"&gt;QT ToolBar 2&lt;/a&gt;&lt;/p&gt; &lt;p&gt;軟體需求: Windows XP, .NET Framework 2.0&lt;br&gt;(以下借用原作者的圖來介紹)&lt;/p&gt; &lt;div id="fullpost"&gt; &lt;h4&gt;QT Address Bar&lt;/h4&gt; &lt;p&gt;&lt;img height="38" src="http://members.at.infoseek.co.jp/Quizo/freeware/Images/ss_address1.png" width="450"&gt; &lt;/p&gt; &lt;p&gt;用過 Vista 的人應該就很清楚了，方便的下拉式選取檔案位址&lt;br&gt;和 Vista 一樣，每一層資料夾都可以分別選擇同層的其它資料夾&lt;br&gt;而不用再重新 Keyin 資料夾名稱了&lt;br&gt;當然你習慣直接打位址也是行得通啦，只不過好像還有個 Bug&lt;br&gt;不能直接打網路芳鄰上的網址，如 \\172.20.0.1 就無法登入了&lt;/p&gt; &lt;h4&gt;QT TabBar&lt;/h4&gt; &lt;p&gt;&lt;img src="http://members.at.infoseek.co.jp/Quizo/freeware/Images/tab_ss2_thumb.png"&gt; &lt;/p&gt; &lt;p&gt;&lt;img src="http://members.at.infoseek.co.jp/Quizo/freeware/Images/ss_preview_txt_thumb.png"&gt; &lt;/p&gt; &lt;p&gt;&lt;img src="http://members.at.infoseek.co.jp/Quizo/freeware/Images/ss_subdirtip_thumb.png"&gt; &lt;/p&gt; &lt;p&gt;這個軟體就是今天的重頭戲了，基本上已經把檔案總管整個都改頭換面了&lt;br&gt;比較明顯的特色就是&lt;/p&gt; &lt;ul&gt; &lt;li&gt;檔案總管分頁功能  &lt;li&gt;檔案內容預覽 (照片預覽) 功能  &lt;li&gt;目錄彈出式選單來切換  &lt;li&gt;拖曳目錄來開啟分頁&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;分頁功能很好用，總算不用工作列上一堆檔案總管中找出需要的視窗&lt;br&gt;文件、照片預覽也很好用哦&lt;br&gt;滑鼠移到該文件 or 圖片上，就會秀出預覽內容了&lt;/p&gt; &lt;h4&gt;QT Toolbar 2&lt;/h4&gt; &lt;p&gt;&lt;img src="http://members.at.infoseek.co.jp/Quizo/freeware/toolbar.png"&gt; &lt;/p&gt; &lt;p&gt;以輸入的參數來選擇檔案，例如檔名、檔案大小、標題、說明、MP3 標籤等&lt;br&gt;天秤覺得這個功能上手不易，因為要記住一堆命令&lt;br&gt;但是功能強大，在一堆檔案中可以很快可以過濾出你想找出來的檔案&lt;br&gt;例如輸入 "&amp;gt;3m" 就可以過濾大於 3mb 的檔案&lt;br&gt;輸入 ";標題 ABC" 可以過濾標題為 ABC 的檔案&lt;br&gt;還有一堆指令可用，請參考官方網站說明&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-2490197947249019059?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/2490197947249019059/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=2490197947249019059' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2490197947249019059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/2490197947249019059'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/06/blog-post_12.html' title='加強檔案總管的功能'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-4268448938081591760</id><published>2007-06-11T22:30:00.001-07:00</published><updated>2007-06-14T18:12:07.063-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒扯蛋'/><title type='text'>職場上的天下太平</title><content type='html'>&lt;p&gt;最近收到一封 Email - 職場上的天下太平&lt;br&gt;真的很好笑，轉貼上來&lt;br&gt;但 Email 內沒有寫出處，如有侵犯版權請通知~&lt;/p&gt; &lt;p&gt;職場裡的人都應該用 " 瓊瑤 " 式的說話方式&lt;br&gt;比方說&lt;br&gt;生氣的主管或同事對你說：「你這個折磨人的小東西，你怎麼會這麼粗心哪！」&lt;br&gt;然後你回答：「我知道這一切都是我的錯，我不知道自己怎麼會笨成這個樣子，請你儘管責罵我吧。」&lt;br&gt;然後對方就會說：「我不依我不依，我不許你這樣說自己！」&lt;br&gt;然後，大家都笑倒在地上，就天下太平了！&lt;/p&gt; &lt;div id="fullpost"&gt; &lt;p&gt;職場裡的人都應該用 " 金庸 " 式的說話方式&lt;br&gt;比方說&lt;br&gt;生氣的主管或同事對你說：「你這個欠挨刀的小雜毛，看你壞了老子的好事！」&lt;br&gt;然後你回答：「我知道這一切都是我的錯，做兄弟的在這裡跟你陪不是了。」&lt;br&gt;然後對方就會說：「今天就是賠了你十根指頭也濟不得事。」&lt;br&gt;然後，大家都笑倒在地上，就天下太平了！&lt;/p&gt; &lt;p&gt;職場裡的人都應該用 " 英雄 " 式的說話方式&lt;br&gt;比方說&lt;br&gt;生氣的主管或同事對你說：「你把一個人想簡單了。」&lt;br&gt;然後你回答：「我知道這一切都是我的錯，大王你是怎麼發現的？」&lt;br&gt;然後對方就會說：「你的殺氣在亂…… 」&lt;br&gt;然後，大家都笑倒在地上，就天下太平了！&lt;/p&gt; &lt;p&gt;職場裡的人都應該用 " 村上春樹 " 式的說話方式&lt;br&gt;比方說&lt;br&gt;生氣的主管或同事對你說：「事情做成這樣，我感覺像是在夏日裡把發燙的耳朵貼到牆壁一樣的感覺，是一種冰&amp;nbsp;冷的回音…」&lt;br&gt;然後你回答：「就像是1978年壞掉的唱盤一樣。」&lt;br&gt;然後對方就會說：「跳舞吧，羊男！」&lt;br&gt;然後，大家都笑倒在地上，就天下太平了！&lt;/p&gt; &lt;p&gt;職場裡的人都應該用 " 星海羅盤YA教授 " 式的說話方式&lt;br&gt;比方說&lt;br&gt;生氣的主管或同事對你說：「因果循環總相隨，請看職場七要事。」&lt;br&gt;然後你說：「請您開示…」&lt;br&gt;然後對方就會說：「一個人的勝負成敗，就在於你埋了什麼因，你在裡面慢慢的澆水，我可以告訴你，總有一天活泉會冒出來，這種耕紜平常是看不到，是隱性的，這是你所命定好的基因，就會有好的果報出來。」&lt;br&gt;然後，大家都笑倒在地上，就天下太平了！&lt;/p&gt; &lt;p&gt;職場上應該要用 " 人間四月天 " 的方式說話&lt;br&gt;比方說&lt;br&gt;主管生氣地搥著心肝說：「這天大的錯誤是怎麼造成的？你知道這錯誤拉鋸著我肉做的心嗎？」&lt;br&gt;你得無辜地回答：「我許下的錯誤再也收不回，但我早已是你的人！」&lt;br&gt;主管：「我對你已經酸痛震痲都經歷過了，現在最了脫的，莫過於心死了！」&lt;br&gt;然後大家就笑倒在地，天下太平了！&lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-4268448938081591760?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/4268448938081591760/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=4268448938081591760' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4268448938081591760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/4268448938081591760'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/06/blog-post.html' title='職場上的天下太平'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-6975041508851559165</id><published>2007-06-11T03:52:00.001-07:00</published><updated>2007-11-19T17:22:57.966-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自製軟體分享'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Friendly.Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='程式開發'/><title type='text'>Friendly.Flickr V2.1.0 released</title><content type='html'>&lt;p&gt;因為工作太忙的關係，Friendly.Flickr 很久沒有更新了&lt;br&gt;其實累積了一些 Bug 未修及欠網友一堆功能未給&lt;br&gt;這幾天總算提起勁把一些功能補上&lt;br&gt;當然欠網友的功能還是有些未加入，就先抱歉了&lt;br&gt;請等天秤有空時再補上了&lt;/p&gt; &lt;p&gt;這版最大的更新就是可以產生 Google Earth 的 KMZ 檔案了&lt;br&gt;感謝 Babywolf 的建議&lt;br&gt;之前版本設計是上傳時一併產生 KML 檔案，但是實用上就有點問題了&lt;br&gt;例如一定得上傳才能產生 KML 檔，電腦上照片就沒辦法了&lt;br&gt;或是原本 Flickr 上照片得重新上傳才能產生 KMZ 檔~&lt;br&gt;所以這版增加可以依 Flickr 上照片及電腦中照片，配合 GPX 檔案&lt;br&gt;來產生 Google Earth KMZ 檔，實用性就大多了&lt;br&gt;不過還是老話一句，一直沒有太多的時間 debug&lt;br&gt;有問題還請回報~ 肛溫啊~&lt;/p&gt; &lt;p&gt;另外一點，不知為何&lt;br&gt;Friendly.Flickr 在 Windows Live Write V1.0 下&lt;br&gt;竟無法自動依 Windows 的語系切換英文或繁體中文&lt;br&gt;so 為了配合 Windows Live Writer V1.0，這版只保留繁體中文版本了&lt;/p&gt; &lt;p&gt;PS. Windows Live Writer V1.0 比前一版好用多了哦~&lt;/p&gt; &lt;h5&gt;更新記錄&lt;/h5&gt; &lt;ul&gt; &lt;li&gt;加入刪除 Flickr 上照片的功能&lt;br&gt;在照片上按右鍵會出現 "刪除 Flickr 上的照片" 選項&lt;br&gt;PS. 當然只能刪除自己的照片~  &lt;li&gt;加入 BBCode 的功能  &lt;li&gt;修正某些條件下，讀取 EXIF 中 GPS 座標會偏移的問題  &lt;li&gt;不提供英文版了，只有繁體中文界面&lt;br&gt;包含其它語系的 Windows 一律顯示繁體中文  &lt;li&gt;配合 Windows Live Writer v1.0 可正常 (Beta 2)  &lt;li&gt;產生&amp;nbsp;Google Earth&amp;nbsp;KMZ 檔案&lt;br&gt;可插入 Flickr 上及硬碟中照片的景點&lt;br&gt;並可匯入 GPX 檔案來產生路徑或用來找出照片的 GPS 座標&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;檔案下載: &lt;a href="http://richielin996.googlepages.com/Friendly.Flickr.2.1.1.rar"&gt;Firendly.Flickr V2.1.1&lt;/a&gt;&lt;br&gt;MD5: &lt;a href="http://richielin996.googlepages.com/Friendly.Flickr.2.1.1.md5"&gt;7d2c6349309887f4094310778492ec37&lt;/a&gt;&lt;/p&gt; &lt;h5&gt;產生 Google Earth KMZ 檔案操作說明&lt;/h5&gt; &lt;p&gt;啟動 Friend.Flickr，右邊會出現個開啟產生 KMZ 功能，長得很奇怪的按鈕&lt;/p&gt; &lt;p&gt;&lt;img height="360" alt="image" src="http://richielin.myweb.hinet.net/Blogger/Image/Friendly.FlickrV2.1.0released_E385/image3.png" width="450" border="0"&gt; &lt;/p&gt; &lt;p&gt;接下來將照片拖曳至指定的區域，決定要 KMZ 檔案景點的照片&lt;br&gt;不只是 Flickr 上搜尋到的照片可以拖曳加入，連電腦中的照片也行哦&lt;br&gt;或是按右鍵選擇對話框來加入電腦中的照片&lt;br&gt;在照片上按右鍵選單中，有可以為照片填入 Title 及 Description 的功能&lt;/p&gt; &lt;p&gt;&lt;img height="313" alt="image" src="http://richielin.myweb.hinet.net/Blogger/Image/Friendly.FlickrV2.1.0released_E385/image2.png" width="450" border="0"&gt;&lt;/p&gt; &lt;p&gt;如果需要，可以加入 GPX 檔案來產生路徑&lt;br&gt;一樣是拖曳方式或是按右鍵出現選擇對話框來加入&lt;br&gt;&lt;font color="#ff0000"&gt;加入的 GPX 有兩個功能，一是產生 KMZ 檔時當路徑用&lt;br&gt;(前面必須打勾，未打勾則不會產生該路徑，但還是可以用來計算照片座標)&lt;br&gt;另一則是比對照片的時間，幫沒有 GPS 座標的照片加上 GPS 座標&lt;br&gt;&lt;/font&gt;&lt;font color="#000000"&gt;如果照片 EXIF 資料內原本就有 GPS 座標了&lt;br&gt;還可以決定是使用 EXIF 上的座標，還是使用 GPX 計算後的座標來定位&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;img height="233" alt="image" src="http://richielin.myweb.hinet.net/Blogger/Image/Friendly.FlickrV2.1.0released_E385/image5.png" width="450" border="0"&gt;&lt;/p&gt; &lt;p&gt;再來就是為 KMZ 檔案加入名稱和說明&lt;br&gt;及在 Google Earth 時點選照片時出現的內容 (使用 Html 語法)&lt;br&gt;這裡分成 Flickr 照片及電腦上照片兩種，可以分別設定&lt;br&gt;&lt;font color="#ff0000"&gt;內容可以設定參數，和 "進階排版" 使用的參數一模一樣&lt;br&gt;可以參考 "進階排版" 用法&lt;br&gt;例如 {image} 代表照片名稱, {title} 代表照片標題等&lt;br&gt;不過有些參數是 Flickr 照片才會有的，如 {tag} 等&lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;br&gt;必須注意的是，如果加入的是電腦上照片，參數可以是 EXIF 的值&lt;br&gt;滑鼠移到照片上會出現 EXIF 值供參考&lt;br&gt;例如照片 EXIF 中有 GPS 的高度時會出現 [Altitude]: 61.123456&lt;br&gt;直接改成 {Altitude} 即代表 GPS 的高度 (注意大小寫哦)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;img height="309" alt="image" src="http://richielin.myweb.hinet.net/Blogger/Image/Friendly.FlickrV2.1.0released_E385/image7.png" width="450" border="0"&gt;&lt;/p&gt; &lt;p&gt;最後一個步驟，就是按 "建立" 按鈕，出現對話框選擇檔案即可完成了&lt;br&gt;如果選擇不存在的檔案，當然就是建立新檔喔~&lt;br&gt;&lt;font color="#ff0000"&gt;但如果選擇已存在的 KML/KMZ 檔案&lt;br&gt;並不會覆蓋該檔案原有的資料，而是將新資料加入到該檔&lt;/font&gt;&lt;br&gt;也就是說可以累加資料到同一個 KMZ 檔案中&lt;br&gt;還有一點必須注意，Friendly.Flickr 固定產生 KMZ 檔案&lt;br&gt;所以如果選擇的是 KML 檔，最後還是會存成同名的 KMZ 檔&lt;br&gt;例如選擇 abc.kml 檔，最後加入資料後會儲存成 abc.kmz 檔&lt;br&gt;因為 KMZ 是壓縮過的檔案，當然 Size 是比 KML 檔小很多啦~&lt;/p&gt; &lt;p&gt;PS. 如果產生 KMZ 時有加入電腦上的照片&lt;br&gt;會自動將照片縮小成 240 pixel 後再放進&amp;nbsp;KMZ 檔&lt;br&gt;也就是說不管原本電腦上照片大小是幾千萬畫素&lt;br&gt;最後在 KMZ 檔案裡的照片只有 240 pixel 大小&lt;br&gt;所以不用擔心加入的照片太多太大&lt;br&gt;讓 KMZ 檔案暴肥而影響到 Google Earth 顯示速度&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-6975041508851559165?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/6975041508851559165/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=6975041508851559165' title='13 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6975041508851559165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/6975041508851559165'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/06/friendlyflickr-v210-released.html' title='Friendly.Flickr V2.1.0 released'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5327300061709627780.post-7930076862505626865</id><published>2007-06-10T09:17:00.001-07:00</published><updated>2007-06-10T09:29:44.814-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='遊戲天地'/><title type='text'>PC Baseball Game - MVP 2007 ?</title><content type='html'>&lt;p&gt;&lt;img height="345" alt="image" src="http://richielin.myweb.hinet.net/Blogger/Image/MVP2007_1E7B/image.png" width="460" border="0"&gt; &lt;/p&gt; &lt;p&gt;&lt;img height="345" alt="image" src="http://richielin.myweb.hinet.net/Blogger/Image/MVP2007_1E7B/image_3.png" width="460" border="0"&gt; &lt;/p&gt; &lt;p&gt;因為王建民的關係，美國大聯盟 (MLB) 的比賽又受到台灣人民的重視了&lt;br&gt;通常天秤總是會拿出棒球遊戲跟著 Enjoy 一遍&lt;br&gt;但稍微注意 PC Game 的朋友就知道，EA Sport 因為授權的關係&lt;br&gt;MVP 系列只有出到 2005 年，而王建民也是 2005 年季中才上大聯盟&lt;br&gt;所以 MVP 2005 根本沒有王建民的個人資料&lt;br&gt;去年之前天秤都是去下載賽程更新來加入王建民、Cano 等球員&lt;br&gt;但是更新步驟複雜，且如果想要加入球員頭像更是麻煩&lt;br&gt;而今年不一樣了&lt;br&gt;網路上有心人士，已經推出 MVP 2007 版本了&lt;br&gt;而且這次只要執行 Install.exe 就可以了，夠簡單吧&lt;br&gt;且王建民、松版、郭鴻志、曹錦輝這回都在了&lt;br&gt;軟體下載:&amp;nbsp;&lt;a href="http://www.mvpmods.com/Downloads/get=3771.html"&gt;MLB07.rar&lt;/a&gt; (必須先加入會員，檔案大小約 370 MB)&lt;/p&gt; &lt;p&gt;安裝時不需要先安裝 MVP 2005&lt;br&gt;直接執行 MVP 2007 即可，安裝過程會要求放入 MVP 2005 光碟片&lt;br&gt;不過有點需注意，如果你的 MVP 2005 光碟是中文版&lt;br&gt;最後執行遊戲是會出現錯誤的&lt;br&gt;必須將遊戲改成英文版才行&lt;br&gt;MVP 2005 中文轉英文版方法 &lt;a href="http://forum.gamebase.com.tw/content.jsp?no=5351&amp;amp;cno=53510005&amp;amp;sno=75160144&amp;amp;rc=22&amp;amp;lock=0&amp;amp;top=1&amp;amp;p1=1"&gt;參考遊戲基地討論區&lt;/a&gt;&lt;br&gt;下載的檔案內就有說明檔&lt;br&gt;簡單說就是把一些檔案複製、貼上就好了&lt;/p&gt; &lt;p&gt;說這麼多幹嘛，還不快去玩 Game 吧~&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5327300061709627780-7930076862505626865?l=richielin-programer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://richielin-programer.blogspot.com/feeds/7930076862505626865/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5327300061709627780&amp;postID=7930076862505626865' title='7 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7930076862505626865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5327300061709627780/posts/default/7930076862505626865'/><link rel='alternate' type='text/html' href='http://richielin-programer.blogspot.com/2007/06/pc-baseball-game-mvp-2007.html' title='PC Baseball Game - MVP 2007 ?'/><author><name>搖擺天秤</name><uri>http://www.blogger.com/profile/09721353258263274874</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://static.flickr.com/121/301771143_4b5e66ec36_t.jpg'/></author><thr:total>7</thr:total></entry></feed>
