2011年12月19日 星期一

Google 官方開設的教學課程

第一次看到小綠人穿上教師袍
https://developer.android.com/training/index.html

2011年12月18日 星期日

C# 用 Web Cam 來解碼QRCODE

使用技術為
ZXing
http://code.google.com/p/zxing/

WebCam Capture
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=1339&lngWId=10

參考出處
http://blog.yslifes.com/archives/841
http://blog.yslifes.com/archives/841/2

原始碼下載處
https://skydrive.live.com/redir.aspx?cid=0c2a0afafc5ad85d&resid=C2A0AFAFC5AD85D!780&parid=C2A0AFAFC5AD85D!779&authkey=!

Android 抓取 IP Camera 資料的方法

參考下列網站
http://blog.csdn.net/sayo/article/details/6103179

原始出處以及程式下載
http://www.tomgibara.com/android/camera-source

2011年12月15日 星期四

Windows phone 7.5 mango WebClient 400

今天測試了一段WebClient程式,在模擬器上正常
但在Mango實機測試時得到http 400錯誤
追究問題發現是走http 然後port沒有用預設的80
所以在手機連接著電腦時
也有開著Zune的話
會無法溝通
解決方法只能把線拔開,不要連著ZUNE就可以做測試
不知道有沒有更好的解法?

2011年12月13日 星期二

Android 開發版

搜尋了一陣子,整理出想要進入Android開發底層的資源紀錄一下

有完整產品線,並且有售後服務,教育訓練,一條龍的服務,初級使用者以及公司行號推薦用這家
長高科技
http://www.dmatek.com.tw/

價格便宜,若想要買零件,可以直接跟她訂
http://twarm.com/

教育訓練課程最多,最完整的布局
中國數位生產力中心
http://www.cdpda.org.tw/

2011年12月8日 星期四

WcfClientTest

推薦好用工具,在測試WCF服務的時候,可以不用在另外寫程式去做測試

路徑在
c:\program files\microsoft visual studio 10.0\Common7\IDE\WcfTestClient.exe

可以把加入到【工具】中的【外部工具】中

參考資料
http://www.dotblogs.com.tw/hatelove/archive/2011/12/08/how-to-invoke-wcf-service-to-verify-input-output.aspx

CSS3 Maker

身為網頁設計工作者的我們
CSS3可苦惱我們了
這個網站的CSS3製作還蠻不錯的
值得推薦一下
http://www.css3maker.com/

另外我學習基礎的開始則是到CSS3學校去
http://www.w3schools.com/css3/default.asp

當然想看看各家瀏覽器的支援度
就需要到下列網頁去看看噹噹
http://promotion.fetnet.net/Pmt/starapp/index.html

WiFi Direct

最近對 WIFI 的底層很有興趣,所以寫這篇來做備忘
http://www.wi-fi.org/Wi-Fi_Direct.php

這裡面有白皮書可以下載
http://www.wi-fi.org/knowledge_center_overview.php?docid=4697
http://www.wi-fi.org/knowledge_center_overview.php?docid=4685

2011年12月3日 星期六

Kinect for Windows SDK Beta 2

想升級到BETA2的人先看這邊
我整理以下的經驗給大家
1.先移除SDK BETA1
2.安裝的時候要重開機,並且別連接KINECT
3.安裝完後Kinect.Toolkit會不能用
4.安裝完後Coding4Fun Kinect也要跟著升級
5.安裝完後環境變數的路徑要檢查一下,是不是C:\Program Files\Microsoft SDKs\Kinect\v1.0 Beta2
6.安裝完後你的原始程式碼要小修正
原本是nui = new Runtime();
要改為nui = Runtime.Kinects[0];
當然要先檢查一下連線有沒有問題

最麻煩的是之前的第三方程式都不能用
要等升級更新或是改寫

參考資料
http://kheresy.wordpress.com/2011/11/05/kinect-for-windows-sdk-beta-2/
http://www.imaginativeuniversal.com/blog/post/2011/11/05/Changes-in-Kinect-SDK-Beta-2.aspx

2011年11月29日 星期二

登記你的Windows Phone 7 方便安裝程式開發用

1.請先去登入APP HUB,http://create.msdn.com/en-US/

2.參考此篇文章,解鎖你的手機
http://msdn.microsoft.com/en-us/library/ff769508(v=VS.92).aspx

3.手機要解鎖,電腦必須要先能同步你的手機,必要條件為Zune要開著,並且可以同步你的手機
接下來再提供你的APP HUB帳號即可

2011年10月25日 星期二

Crystal Report 2011 找不到 dotnet1\crdb_adoplus.dll

相信一定一推人會遇到這問題
當你要將報表繫結到資料時都會出現這個錯誤
我詳細的追查下去,原來這個DLL是2.0的
所以你在你的Config中加入

<startup useLegacyV2RuntimeActivationPolicy="true"><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/><startup>

2011年10月24日 星期一

IIS6無法下載exe和dll和config問題

IIS當你有需要讓人家更新程式,必須下載副檔名為.config和dll和exe的時候
必須要修改IIS的對應
首先要先添加MIME對應

.dll  application/octet-stream
.exe application/octet-stream

.config需要去[目錄]的[設定]->[對應]
新增附檔名對應
執行檔為c:\windows\microsoft.net\framework\v4.0.30319\aspnet_isapi.dll
副檔名為.config

如何讓.Net的Button不回傳到主機上

請在Button的事件上寫
OnClientClick="event.returnValue=false; Do();"

最重要的是
event.returnValue = false;
代表不回傳到主機上

2011年10月9日 星期日

2011年10月5日 星期三

Kinect for Windows創意應用競賽優勝-Motion Welcome

得獎網頁公佈了
網頁如下
http://kinect.dotblogs.com.tw/

我們是Motion Welcome

IIS 下 Redirect 到中文目錄會有問題

當你用Response.Redirect
目的地有中文的話
會無法連接,此時是編碼問題
除了程式寫法要改以外
還需要注意IIS上的設定

Web.config需要有這一段


 

2011年10月4日 星期二

GPRemote 1.5 版

本次更新有
1.新加入廣播主機資訊,可以搜尋主機並且連線
2.新加入IrDA支援,可以控制一般家電
3.新加入Kinect支援,可以用Kinect瀏覽照片
4.PowerPoint穩定性修正

並且發行GPRemotePro,定價2.99美元

第一屆 Kinect 創意比賽獎品

微軟真的對開發者很好,本次又拿到不少獎品,超感恩的
1.ArcTouch

2.AcrMouse


3.Kinect T

2011年9月15日 星期四

Android IntentService(用來處理長時間的網路連線)

由網路下載資料是很容易遇到的主題,但是在慢速網路環境
真的很不穩定,沒法登上檯面

試過了AsyncTask,Thread,各自有各自的問題
有相同狀況的朋友,可以試試IntentService

Google Class Libary
http://developer.android.com/reference/android/app/IntentService.html

Android IntentService 說明
http://ozzysun.blogspot.com/2010/11/android-service.html

Sample Code
http://stackoverflow.com/questions/5027147/intent-service-example-in-android

2011年9月8日 星期四

2011年9月7日 星期三

[推薦]3D紀錄的學習部落格

最近瘋狂愛上3D紀錄
推薦可以先看看JG的部落格
了解一下原理
http://tw.myblog.yahoo.com/3d-blog/

2011年8月30日 星期二

64位元系統要執行32位元的元件

從ASP升上來的朋友,通常會遇到32位元元件沒法在64位元下執行的窘境
其實很簡單,只要將DLL檔案放到C:\Windows\SysWow64下即可

詳情可以先看
1.[.NET Framework]64位元呼叫32位元元件
2.[.NET Framework]WOW64的介紹
3.[.NET Framework]使用.net remoting讓x64/x32互動
4.如何將32位元的DLL安裝到64位元的Windows中 (WoW64)

2011年8月29日 星期一

android unable to open sync connection

我想應該很多人跟我一樣
會常常出現這個錯誤訊息吧
這不是你程式功力不夠
是資源不足

最後最終解法是
1.重新建立連線,可以利用關閉手機上的[開發]->[USB除錯中]
2.拔開USB線
3.將所有手機中開啟的程式關閉
4.打開[USB除錯中]
5.將USB線接上,一切都OK了

2011年8月9日 星期二

IIS7 .NET4.0 新安裝問題,ISAPI及CGI限制

在預設下安裝好IIS7
是沒有開啟.NET4.0的存取的

開啟方法請到IIS7設定下
找到主機的首頁
IIS區塊中
ISAPI及CGI限制
把asp.net 4.0設定成允許即可

2011年8月8日 星期一

修復以及壓縮 Accress 資料庫使用 C#

原理是叫用一JETEngine,用他的方法去壓縮ACCESS資料庫
但是會產生額外的檔案(合理)
所以要再把產生的檔案複製回來即可
            object[] oParams;             //create an inctance of a Jet Replication Object             object objJRO =             Activator.CreateInstance(Type.GetTypeFromProgID("JRO.JetEngine"));              
                   //filling Parameters array                 //cnahge "Jet OLEDB:Engine Type=5" to an appropriate value                 // or leave it as is if you db is JET4X format (access 2000,2002)                 //(yes, jetengine5 is for JET4X, no misprint here)                 oParams = new object[] {                      "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=My.mdb;Persist Security Info=True;Jet OLEDB:Database Password=OnlyYouOnlyYou",                     ,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\tempdb.mdb;Jet OLEDB:Engine Type=5"};                 //invoke a CompactDatabase method of a JRO object                 //pass Parameters array                 objJRO.GetType().InvokeMember("CompactDatabase",                 System.Reflection.BindingFlags.InvokeMethod,                 null,                 objJRO,                 oParams);                 //database is compacted now                 //to a new file C:\\tempdb.mdw                 //let's copy it over an old one and delete it                 File.Delete(mdwfilename);                 File.Move("C:\\tempdb.mdb", mdwfilename);                 //clean up (just in case)                  
if(objJRO != null)                     System.Runtime.InteropServices.Marshal.ReleaseComObject(objJRO);                 objJRO = null;          

引用出處
http://www.cnblogs.com/maxianghui/archive/2006/08/20/481886.html

2011年8月7日 星期日

.Net 透過 OLE.DB 去讀取ACCRESS資料庫時的Adapter.Fill錯誤

錯誤訊息如下:
提供者無法決定 Object 值。例如,剛建立資料列,Object 資料行的預設值無法使用,而消費者尚未設定新 Object 值

解決方法:
請重整ACCRESS資料庫,此時應該是ACCESS資料庫有問題,至於甚麼問題還在處理中,猜測應該是非同步讀寫資料庫,造成一些幽靈資料導致(純屬猜測)

2011年8月5日 星期五

IIS7 上頭部屬有用到Asp.Net4的Routes功能的網站,會說找不到網頁

超麻煩的一個問題

問題內容是
IIS7 上頭部屬有用到Asp.Net4的Routes功能的網站,會說找不到網頁

第一個要說明的是
若是你選擇的"程式集區"是"傳統"的,是不能直接使用Routes功能
可以的話就修正為"整合"

第二個要說明的是
若你一定要用傳統的
那可以藉由修改程式
在第一個Control上頭加入.aspx因應

舉例來說
原本
RouteTable.Routes.MapPageRoute("GetRoles","user/{user}/service/{serviceid}/{serviceFunc}"
                , "~/TEST.ashx");
改過後
RouteTable.Routes.MapPageRoute("GetRoles","user.aspx/{user}/service/{serviceid}/{serviceFunc}"
                , "~/TEST.ashx");

參考資料

2011年8月3日 星期三

IIS6 轉移憑證到 IIS7

最近有一個需求,要把Windows2003的主機憑證要做轉移到Windows 2008上
我的作法如下

Windows 2003 Server
1.到[MMC]中新增[憑證]
2.將舊有憑證匯出,並且記得連私密金鑰一起
3.將匯出檔案提供給新主機

Windows 2008 Server
1.到IIS7中
2.選取主機首頁
3.選擇伺服器憑證
4.右鍵選匯入
5.檔案指向憑證檔
6.匯入完成後,開啟站台頁面
7.在站台上用滑鼠右鍵點選後,選擇繫結
8.新增一個https的繫結
9.並且將SSL憑證指向剛匯入的那一個
10.確定後即可

2011年8月2日 星期二

SCOPE_IDENTITY 和 @@IDENTITY 的差異

這個問題有一陣子一直困擾著我
我的解釋是
1.SCOPE_IDENTITY
是傳回這次影響範圍內的遞增值

2.@@IDENTITY
是傳回這次指令的遞增值

最大的差異可以在兩個TABLE中的新增時,並且有]TRIGGER中發現
中文參考資料內有範例
英文的參考資料則解釋的較清楚

英文參考資料
http://blog.sqlauthority.com/2007/03/25/sql-server-identity-vs-scope_identity-vs-ident_current-retrieve-last-inserted-identity-of-record/

中文參考資料
http://www.dotblogs.com.tw/ajun/archive/2008/04/01/2504.aspx

SQL Express Server 2008 與 User Instance=True

上次在上課時後
老是有一個你的安全性有問題的錯誤一直產生
我當下的解決方法是不透過檔案的方法去存取MDF檔案

但後來發現是User Instance=True這一行在作怪
只要拿開就可以

正確的解釋,我也找出來了
請參考
http://msdn.microsoft.com/zh-tw/library/ms254504.aspx

2011年7月31日 星期日

如何上傳3D的影片到Youbube

買了3D相機後,一定很想分享給大家吧
我想上傳到youbube,但找不到3D的設定
最後才發現,只要到TAG上寫上yt3d:enable=true 即可

詳細資訊網址
http://www.google.com/support/forum/p/youtube/thread?tid=56b6f6f15dabf994&hl=en

2011年7月28日 星期四

UAC C# .Net requireAdministrator Virtual Store 的關係

我們在開發程式時,遇到Vista以後有UAC控制的OS
會遭遇一個很嚴重的問題
若是程式是標準使用者的身分執行
會被OS導到Virtual Store的目錄下
會變成程式無法讀取檔案或是檔案錯誤
尤其是由網路上下載更新檔案要寫入具有管理員權限設定的目錄時候
最常發生

詳細說明如下
http://msdn.microsoft.com/zh-tw/library/bb756960.aspx#2_10

解決方法
請在專案中加入一個app.manifest
並且加入
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

即可

可以參考
http://archive.cnblogs.com/a/2119222/

2011年7月27日 星期三

tomato Firmware 以及 ASUS RT-N16

中文化版本的番茄
http://code.google.com/p/twtomato/

ASUS華碩 RT-N16 802.11n旗艦級無線路由器
網友大家都推薦的好物
http://shopping.pchome.com.tw/?m=item&f=exhibit&IT_NO=DGAK01-A44082008

有了這兩個東西,可以自訂自己的IP分享器

2011年7月24日 星期日

中華數位生產力 Android 一系列課程

中華數位生產力應該是目前台灣最專業的嵌入式的教育中心了

有興趣的可以參考下列一連串的課程,學到全會可能要個30萬吧
嵌入式Android系統移植培訓(Linux Android)
http://www.cdpda.org.tw/embedded_linux_night/embedded_linux_night_synopsis.html

Microsoft Mouse Mischief

這又是一套佛心來著的軟體
讓大家可以共用同一台電腦
用不同的滑鼠

可以做到簡報多人回答問題
多人控制電腦滑鼠
利用最少的成本來引起大家學習的興趣

首頁
http://www.microsoft.com/multipoint/mouse-mischief/zh-tw/default.aspx

下載
http://download.microsoft.com/download/5/B/E/5BEB62A7-5CEB-4087-894E-452A65154819/MicrosoftMouseMischief.exe

範例
http://www.microsoft.com/multipoint/mouse-mischief/zh-tw/lessons.aspx

Windows MultiPoint Server 2011 簡介

這一套是可以讓多人共用一台電腦的主機
目前最多可以提供20個人使用
使用的同時享有控制以及分享的能力
很適合小班教學使用

看看他的說明影片
http://www.youtube.com/user/msmultipoint#p/u/0/eT2zE5tMglM

中文主網頁
http://www.microsoft.com/hk/windows/chinese/multipoint/default.aspx

10大理由
http://www.microsoft.com/hk/windows/chinese/multipoint/learn-more.aspx#Top10

開發相關的程式
http://www.microsoft.com/multipoint/mouse-sdk/

2011年7月23日 星期六

源碼網

源碼網:
http://www.codepub.com/

有大量的原始程式碼
ASP,PHP,.NET,JSP...
還不賴,值得推薦

2011年7月22日 星期五

免費且好用的 VPN Tenacy直通車

此VPN支援iPhone,Android,Linux,Mac
可以模擬美國IP,還不錯
可以推薦

http://tenacy.me/public

2011年7月20日 星期三

台灣第一的電動車充電站將於第四季來「電」!

小弟有參與的專案,備註一下
感覺可以為台灣進步,盡一份力,很驕傲

台灣第一的電動車充電站將於第四季來「電」!
http://www.blogger.com/post-create.g?blogID=2057600934562014755

2011年6月23日 星期四

Eclipse 錯誤訊息參考 INSTALL_FAILED_UPDATE_INCOMPATIBLE

Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE

若出現這個錯誤,代表程式無法更新
通常是移除的不乾淨
可以手動到設定->應用程式
去移除

2011年6月22日 星期三

聰明相機,先拍照再對焦

華人之光黃逸人(Ren Ng),他創辦的Lytro
使用Lytro的「光場相機」(light field camera)拍照
可以收集到夠多的光資訊
用來後製合成照片
我覺得他的想法挺不錯的
相信多鏡頭不會多太多成本

http://news.msn.com.tw/news2221564.aspx
 
附上網址
http://www.lytro.com/picture_gallery
http://www.ithome.com.tw/itadm/article.php?c=68307

2011年6月11日 星期六

Android Error : Description Resource Path Location Type

當出現此問題時
Description Resource Path Location Type
Error generating final archive: Debug Certificate expired on 日期 Unknown Android Packaging Problem
請到
C:\Documents and Settings\Administrator\.android


debug.keystore及 ddms.cfg
刪除後即可

這問題我找了一個早上,約4個工時才解決

2011年6月9日 星期四

讓IE9跑IE8模式

相信升級到了IE9一定有很多人會遇到不相容的情況
此時可以選擇使用下面的標籤來使它們相容

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

2011年6月4日 星期六

Linq 官方Sample

LINQ真的是好物
但也不太好上手
因為觀念跟以前的不太相同

這時候還蠻推薦官方手冊

官方SAMPLE連結
http://msdn.microsoft.com/en-us/vcsharp/aa336746

UI Framework for Mobile

讓你的程式看起來更美
可以試試這個事半功倍的UI Framework

詳細一點的說明
http://www.dotblogs.com.tw/bauann/archive/2009/08/25/10251.aspx

UI Framework for .NET Compact Framework 3.5

[推薦] GMap.Net

超讚的Windows Mobile Phone Control
提供多家的地圖控制項

最重要的GoogleMap控制項也幾乎完整支援

連結如下

GMap.NET - Great Maps for Windows Forms & Presentation

2011年5月30日 星期一

webbrowser.document.execcommand for .NET

以前的年代都用DHTML去執行ExecCommand
現在來到了.Net時代,我們換用WebBrowser
他也是有ExecCommand可以使用者
其中命令請看
http://msdn.microsoft.com/en-us/library/ms533049.aspx

並列在此處備忘

Command Identifiers

2D-PositionAllows absolutely positioned elements to be moved by dragging.
AbsolutePositionSets an element's position property to "absolute."
BackColorSets or retrieves the background color of the current selection.
BlockDirLTRNot supported.
BlockDirRTLNot supported.
BoldToggles the current selection between bold and nonbold.
BrowseModeNot supported.
ClearAuthenticationCacheClears all authentication credentials from the cache. Applies only to execCommand.
CopyCopies the current selection to the clipboard.
CreateBookmarkCreates a bookmark anchor or retrieves the name of a bookmark anchor for the current selection or insertion point.
CreateLinkInserts a hyperlink on the current selection, or displays a dialog box enabling the user to specify a URL to insert as a hyperlink on the current selection.
CutCopies the current selection to the clipboard and then deletes it.
DeleteDeletes the current selection.
DirLTRNot supported.
DirRTLNot supported.
EditModeNot supported.
FontNameSets or retrieves the font for the current selection.
FontSizeSets or retrieves the font size for the current selection.
ForeColorSets or retrieves the foreground (text) color of the current selection.
FormatBlockSets the current block format tag.
IndentIncreases the indent of the selected text by one indentation increment.
InlineDirLTRNot supported.
InlineDirRTLNot supported.
InsertButtonOverwrites a button control on the text selection.
InsertFieldsetOverwrites a box on the text selection.
InsertHorizontalRuleOverwrites a horizontal line on the text selection.
InsertIFrameOverwrites an inline frame on the text selection.
InsertImageOverwrites an image on the text selection.
InsertInputButtonOverwrites a button control on the text selection.
InsertInputCheckboxOverwrites a check box control on the text selection.
InsertInputFileUploadOverwrites a file upload control on the text selection.
InsertInputHiddenInserts a hidden control on the text selection.
InsertInputImageOverwrites an image control on the text selection.
InsertInputPasswordOverwrites a password control on the text selection.
InsertInputRadioOverwrites a radio control on the text selection.
InsertInputResetOverwrites a reset control on the text selection.
InsertInputSubmitOverwrites a submit control on the text selection.
InsertInputTextOverwrites a text control on the text selection.
InsertMarqueeOverwrites an empty marquee on the text selection.
InsertOrderedListToggles the text selection between an ordered list and a normal format block.
InsertParagraphOverwrites a line break on the text selection.
InsertSelectDropdownOverwrites a drop-down selection control on the text selection.
InsertSelectListboxOverwrites a list box selection control on the text selection.
InsertTextAreaOverwrites a multiline text input control on the text selection.
InsertUnorderedListConverts the text selection into an ordered list.
ItalicToggles the current selection between italic and nonitalic.
JustifyCenterCenters the format block in which the current selection is located.
JustifyFullNot supported.
JustifyLeftLeft-justifies the format block in which the current selection is located.
JustifyNoneNot supported.
JustifyRightRight-justifies the format block in which the current selection is located.
LiveResizeCauses the MSHTML Editor to update an element's appearance continuously during a resizing or moving operation, rather than updating only at the completion of the move or resize.
MultipleSelectionAllows for the selection of more than one site selectable element at a time when the user holds down the SHIFT or CTRL keys.
OpenNot supported.
OutdentDecreases by one increment the indentation of the format block in which the current selection is located.
OverWriteToggles the text-entry mode between insert and overwrite.
PasteOverwrites the contents of the clipboard on the current selection.
PlayImageNot supported.
PrintOpens the print dialog box so the user can print the current page.
RedoNot supported.
RefreshRefreshes the current document.
RemoveFormatRemoves the formatting tags from the current selection.
RemoveParaFormatNot supported.
SaveAs
Saves the current webpage to a file.
SelectAllSelects the entire document.
SizeToControlNot supported.
SizeToControlHeightNot supported.
SizeToControlWidthNot supported.
StopNot supported.
StopImageNot supported.
StrikeThroughNot supported.
SubscriptNot supported.
SuperscriptNot supported.
UnBookmarkRemoves any bookmark from the current selection.
UnderlineToggles the current selection between underlined and not underlined.
UndoUndo the previous command.
UnlinkRemoves any hyperlink from the current selection.
UnselectClears the current selection.

2011年5月26日 星期四

Google Code : Linq to Excel

想讀取EXCEL有很多方法
NPOI最常見

但若是在2007以後,.NET 3.5以後
可以用LINQ的方法處理

可以參考下面網址
以程式方式讀取Excel的另一項選擇-Linq to Excel
http://www.dotblogs.com.tw/terrychuang/archive/2011/05/26/26308.aspx

Android 取得 Google Map 導航資料

下面連結是可以直接取用
用來轉換Google Map的導航路徑的
[Android] Google Map(三)– 取得導航資訊
http://www.dotblogs.com.tw/alonstar/archive/2011/05/26/26310.aspx


private List _points = new ArrayList();

public List GetDirection()
{
String mapAPI = "http://maps.google.com/maps/api/directions/json?origin={0}&destination={1}&language=zh-TW&sensor=true";
String url = MessageFormat.format(mapAPI, _from, _to);

HttpGet get = new HttpGet(url);
String strResult = "";
try
{

HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 3000);
HttpClient httpClient = new DefaultHttpClient(httpParameters);

HttpResponse httpResponse = null;
httpResponse = httpClient.execute(get);

if (httpResponse.getStatusLine().getStatusCode() == 200)
{
strResult = EntityUtils.toString(httpResponse.getEntity());

JSONObject jsonObject = new JSONObject(strResult);
JSONArray routeObject = jsonObject.getJSONArray("routes");
String polyline = routeObject.getJSONObject(0).getJSONObject("overview_polyline").getString("points");

if (polyline.length() > 0)
{
decodePolylines(polyline);
}

}
}
catch (Exception e)
{
Log.e("map", "MapRoute:" + e.toString());
}

return _points;
}

private void decodePolylines(String poly)
{
int len = poly.length();
int index = 0;
int lat = 0;
int lng = 0;

while (index < len) { int b, shift = 0, result = 0; do { b = poly.charAt(index++) - 63; result |= (b & 0x1f) << shift; shift += 5; } while (b >= 0x20);
int dlat = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1));
lat += dlat;

shift = 0;
result = 0;
do
{
b = poly.charAt(index++) - 63;
result |= (b & 0x1f) << shift; shift += 5; } while (b >= 0x20);
int dlng = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1));
lng += dlng;

GeoPoint p = new GeoPoint((int) (((double) lat / 1E5) * 1E6), (int) (((double) lng / 1E5) * 1E6));
_points.add(p);

}
}

SQL 2008 TVP

再SQL 2008中想要由.Net中大量插入資料
有新選擇,不難寫,但效率很高
可以直接將DataTable整個丟到SQL中
在整批插入

可以參考此篇
SQL 2008 TVP資料匯入之火力展示
http://blog.darkthread.net/post-2011-05-26-import-with-sql-tvp.aspx?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Darkthread+%28Darkthread%29

IE9,FireFox,Chrome下看不到WPF的畫面

在安全性和DLL沒註冊下是沒法看WPF畫面的
可以依照下面連結的步驟處理

http://www.dotblogs.com.tw/ouch1978/archive/2011/03/16/wpf-view-xbap-in-browsers.aspx

2011年5月21日 星期六

連接 TFS 超級無敵慢

當我用Visual Studio 2010連結 TFS 2010時
真的超級無敵慢,還好小朱大有提供解法
請參閱下面連結
http://www.dotblogs.com.tw/regionbbs/archive/2011/05/15/first.touch.of.tfs.2010.aspx

2011年5月19日 星期四

ASHX 與 Routing

一般來說,我們直接建立ASHX的檔案是無法直接支援ASP.NET 4.0的
Routeing Service的,必須修改如下

public class ABC: System.Web.UI.Page, IHttpHandler

然後一樣是利用
this.Page.RouteData.Values
取值

2011年5月17日 星期二

Dhtml Editor 錯誤 (dhtml.ocx)

若遇到DHtml 的 iClass錯誤
通常是升級IE導致
可以用重裝舊版的DHTMLED因應

目錄如下
[drive:]\Program Files\Common Files\Microsoft Shared\Triedit\dhtmled.ocx
[drive:]\Program Files\Common Files\Microsoft Shared\Triedit\TRIEDIT.DLL

安裝方法如下
regsvr32.exe

2011年4月25日 星期一

SMS Absent Subscriber 的意思

常常收到SMS SERVICE傳回來的錯誤
錯誤訊息為Absent Subscriber
經查證和翻譯為此號碼為空號

2011年4月22日 星期五

Windows Form GridView 欄位格式化

想要格式化GRID的資料,現在很簡單
1.直接在GRID上面按右鍵,選編輯資料行

2.選DelaultCellStyle


3.在格式視窗內決定自己想要呈現的格式

2011年4月20日 星期三

Google map 取得地圖區域的西南角和東北角座標

先假設你已經會取得map這個物件
接下來你就可以利用下列程式碼取得座標

// 取得西南角和東北角
var bounds = map.getBounds();
var swPoint = bounds.getSouthWest();
var nePoint = bounds.getNorthEast();

2011年4月19日 星期二

Google OAUTH

簡單的說,是GOOGLE認證使用的服務
可以取得一個權杖,利用這權杖取得使用者的基本資訊

這通常自己的網站上頭也會實作
但用GOOGLE的就不用要USER再打一次

http://blog.csdn.net/hereweare2009/archive/2009/03/23/4018274.aspx

C# ? 問號的用途

還不錯的好文章,備註一下
http://www.dotblogs.com.tw/keino123/archive/2011/04/20/23132.aspx

1. int? number;
2. txtName.Text.Trim().Length == 0 ? null : txtName.Text.Trim()
3 .a??0

1.是System.Nullable的縮寫形式,可null類型
2.? 為三元運算符,在上面例子中,就等於是

if (txtName.Text.Trim().Length == 0)
{
取 null;
}
else
{
取 txtName.Text.Trim();
}

3.
??(雙問號),意思是取所賦值??左邊的,如果左邊為null,取所賦值??右邊的,所以上面例子等於是
if (a==null)
{
取 0;
}
else
{
取 a;
}

2011年4月17日 星期日

ASPNET Service 取得 Session 的方法,適用WCF

在SERVICE中,無法跟一般的aspx一樣
直接取用Session
需要透過
System.Web.HttpContext.Current.Session["user"]
取得

2011年4月16日 星期六

WCF傳輸物件的方法,javascript+ajax傳送Json物件給WCF

我們會需要利用AJAX傳送物件給WCF
讓WCF去接收資料並且再利用
作法為
1.先建立已啟用AJAX 的 WCF
2.建立傳輸的物件,物件需要設定[DataContract],
裡面的要輸出輸入的資料要設定[DataMember]

[DataContract]
public class Person
{
Person() { }
    [DataMember]
    public string FirstName { get; set; }

    [DataMember]
    public string LastName { get; set; }
}

3.要注意資料設定為Serializable和DataMember是不一樣的輸出和輸入
/// Result of Person class marked as Serializable
{"k__BackingField":"Chris","k__BackingField":"Pietschmann"}


/// Result of Person class marked as DataContract with
/// each Property marked as DataMember
{"FirstName":"Chris","LastName":"Pietschmann"}


4.Client端要組和出Json字串上傳給伺服器端,Javascript的使用者要注意要用""包起來
不然會被當作是物件上傳

5.另外要注意中文要用UTF8
string retval = Encoding.UTF8.GetString(ms.ToArray());
Person us = (Person)serial.ReadObject(ms);



參考資料為
http://pietschsoft.com/post/2008/02/NET-35-JSON-Serialization-using-the-DataContractJsonSerializer.aspx

2011年4月14日 星期四

避免虛擬目錄的web.config繼承自IIS根目錄的web.config

前言
Web.Config是會繼承的,當你上層目錄有Web.Config
本層目錄就會繼承到上層的資訊
想要避免的方法如下
<location allowoverride="false" inheritinchildapplications="false" path=".">
</location>

  • allowOverride:設定目前的web.config是否允許由子目錄的web.config來覆寫(預設為true)
  • path:指定哪個資料夾用此設定(或是設定特定網頁具有哪些權限),若沒有設定則代表會套用到目前的資料夾以及子資料夾。至於如何設定特定的資料夾或檔案可以參考此篇MSDN
  • inheritInChildApplications:是否將此web.config繼承到子目錄
文章出處
http://www.dotblogs.com.tw/boodoo1121/archive/2010/01/20/13171.aspx
http://msdn.microsoft.com/zh-tw/library/ms178685(v=vs.80).aspx

2011年4月1日 星期五

加解密Web.config中的連線字串(預設方法)

加密方法
aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider"

解密方法
aspnet_regiis -pd "connectionStrings" -app "/SampleApplication"

當然金鑰要記得備份
匯出RSA金鑰
aspnet_regiis -px "SampleKeys" keys.xml -pri


匯入RSA金鑰
aspnet_regiis -pi "SampleKeys" keys.xml




參考資料
http://msdn.microsoft.com/zh-tw/library/zhhddkxy(v=vs.80).aspx
http://blog.blueshop.com.tw/flybean/archive/2009/10/03/59067.aspx

RSA金鑰處理方法
http://msdn.microsoft.com/zh-tw/library/yxw286t2%28VS.80%29.aspx

2011年3月31日 星期四

甚麼格式都可以轉,轉甚麼都不稀奇

還不賴的SERVICE
各式各樣的檔案互轉
推薦一下

http://www.convertfiles.com/

__doPostBack null 錯誤

__doPostBack(__EVENTTARGET,__EVENTARGUMENT)
發生null錯誤,原因是整個頁面中沒有一任何一個控制項有設定到AUTOPOSTBACK
HTML就不會有__doPostBack函式輸出

解決方法可以建立一個空的LinkLabel並且把TEXT設定為空字串
並且設定AutoPostBack設定為True

如何撰寫高DPI的視窗程式

當客戶年紀稍長,都會自行把WINDOWS的DPI提高
通常是提高到125%,雖然我們的建議是由我們來處理字形的放大縮小
會比較妥當,但也沒法滿足客戶喜歡自行處理的樂趣

參考資料如下:
Writing High-DPI Win32 Applications
http://msdn.microsoft.com/en-us/library/dd464660%28VS.85%29.aspx#dpi_virtualization
 
DPI Virtualization

http://codingjames.blogspot.com/2010/02/dpi-virtualization.html

有用到RegistryKey時候要
using Microsoft.Win32;

bool IsDpiVirtualization()


{

// open the key of Desktop Window Manager

RegistryKey k = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\DWM");

if (k != null)

{

// get the value if it exists

if ((int)k.GetValue("UseDpiScaling", 0) == 1)

{

k.Close();

return true;

}



k.Close();

}

return false;
}

2011年3月22日 星期二

WCF REST SERVICE 需要回傳JSON

預設你去呼叫ASP.NET 4.0的 WCF REST SERVICE
會回傳XML,但JAVASCRIPT呼叫常常都需要回呼JSON

請把ContentType設定為application/json再呼叫
ContentType = "application/json";

在.NET中還可以用JSON.NET反序列化

2011年2月20日 星期日

還不錯用的ILSpy

ILSpy是一套.Net IL檔反編譯的軟體

這一套有原始程式碼
可以幫助自己很多觀念的養成

ILSpy
http://wiki.sharpdevelop.net/MainPage.ashx

下載原始碼
https://github.com/icsharpcode/ILSpy

2011年1月24日 星期一

Google map 由經緯度取得地址的方法

// 取得此經緯度的地址
function getAddress(lat,lng) {


var myLatLng = new GLatLng(lat,lng);
var myGeocoder = new GClientGeocoder();
myGeocoder.getLocations(myLatLng, function (addresses) {
if (addresses.Status.code != 200) {
document.getElementById('MainContent_LabelLocation').innerText = myLatLng.toUrlValue();
} else {
var result = addresses.Placemark[0];
document.getElementById('LabelLocation').innerText = result.address;
}
});

}

DOS時代的選取方法

常常擷取別人的程式碼
但前面都會有加上行號
在WINDOWS中大部分都無法很快速的選取並且刪除
還好VS有很強的選取功能
但好像大家都不太知道
可以先用鍵盤按住Shift+Alt
然後就可去標記你要的段落

2011年1月21日 星期五

qedit.h 再轉換到 VS2010 的問題

我再升級DirectX專案到VS2010時候
每次都會遇到qedit.h錯誤

解決方法如下,請加入
#pragma include_alias( "dxtrans.h", "qedit.h" )
#define __IDxtCompositor_INTERFACE_DEFINED__
#define __IDxtAlphaSetter_INTERFACE_DEFINED__
#define __IDxtJpeg_INTERFACE_DEFINED__
#define __IDxtKey_INTERFACE_DEFINED__
#include
 
並且複製
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\qedit.h 到
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include

2011年1月17日 星期一

產生ASPState資料庫

會用到SQL存放SESSION的時候
就必須執行下面的指令
先產生ASPState資料庫

aspnet_regsql.exe -S SampleSqlServer -E -ssadd -sstype p

2011年1月12日 星期三

C# VB.NET 參考網站清單

在網路上看到,好網站清單,想說坐個備份幫助記憶一下

1. CodeProject ( 範例多多的網站 )




http://www.codeproject.com/



2. pinvoke.net ( 寫WindowsAPI就靠它 )



http://www.pinvoke.net/



3. MSDN Code Search Preview



http://msdn.krugle.com/



4. CodePlex



http://www.codeplex.com/



5. Google Code



http://code.google.com/intl/zh-TW/



6. C# Corner



http://www.c-sharpcorner.com/



7. pure C# 技術社群



http://www.purecs.net/Default.aspx



8. Open Source Software in C#



http://csharp-source.net/



9. Visual C# Code Samples



http://msdn.microsoft.com/en-us/vcsharp/aa336738.aspx



10. SourceForge ( 範例多多的網站 )



http://sourceforge.net/



11. VB Helper ( 範例多多的網站 )



http://www.vb-helper.com/



12. Free computer Tutorials



http://www.homeandlearn.co.uk/index.html



13. Visual C# Developer Center



http://msdn.microsoft.com/zh-tw/vcsharp/default.aspx



14. C# Online.NET



http://www.csharp-online.net/



15. VB City



http://www.vbcity.com/



16. VB研究小站



http://vb.ncis.com.tw/



17. VB心得筆記



http://sunh.hosp.ncku.edu.tw/~cww/



18. Free VB Code



http://www.freevbcode.com/



19. 如意網站 VB教學網



http://yes.nctu.edu.tw/VB/



20. VBnet Visual Basic Developers Resource Centre



http://vbnet.mvps.org/index.html



21. C# Code Format ( 程式碼編排用 )



http://www.manoli.net/csharpformat/



22. The connection string reference ( 資料庫連線字串 )



http://www.connectionstrings.com/



23. Stephen編程網 - Blog 連結 (有很多不錯的網站連結)



http://j2se.myweb.hinet.net/blog/blog.htm



24. Expresso Regular Expression Development Tool (正則表達式的好幫手)



http://www.ultrapico.com/Expresso.htm



25. Quartz.NET - Enterprise Job Scheduler for .NET Platform (寫排程)



http://quartznet.sourceforge.net/



26. SolutionConverter (轉換 Visual Studio 的 Solution 版本)



http://www.codeproject.com/KB/macros/SolutionConverter.aspx

出處
http://www.dotblogs.com.tw/chou/archive/2009/05/05/8296.aspx

2011年1月10日 星期一

.NET TextBox 換行

在LABEL以及大部分的地方都是用"\n"
來做換行,但這招在TextBox中無法使用
查了一下資料,需要用
Environment.NewLine
來替代"\n"

寫法如下
TextBox.Text = "abc" + Environment.NewLine;

2011年1月3日 星期一

throw and throw ex

今天看了PLURK
才知道原來也可以把例外外送寫成throw就好
原來的寫法

try
{
....
}
catch(Exception ex)
{
thorw ex;
}

要改成
try

{
....
}
catch(Exception ex)
{
thorw;
}

這樣在外部擷取例外,就不會失去最原始的堆疊

參考資料
http://www.dotblogs.com.tw/larrynung/archive/2011/01/03/20548.aspx