2008/09/10

抓圖程式 url2bmp

雖然現在Vista有內建「剪取工具」可以用來選取抓圖,但對於網頁這種有scroll bar的就沒輒了...
找到一個免費的小工具可以用: url2bmp



直接把url貼上後,按「go」就會產生output.bmp的圖檔放在程式的目錄內,當然也可以自定檔名,
支援.bmp, .png, .jpeg, .tiff 等副檔名,網頁如果太長,可以調整image size的大小。

缺點是只能抓網頁,想抓有scroll bar的視窗程式就沒法度了。

2008/09/05

替代Ultra Edit的文字編輯器 part 2 - Notepad++

Notepad++

相當好用!尤其是語法摺疊的功能,在寫script時一目瞭然...
雖然沒有像Ultra Edit的欄模式編輯,但是可以使用Alt+滑鼠左鍵來替代,作者是位台灣人,開發出這麼好用的軟體真是令人敬佩!

2008/09/04

C# Remove Chinese Char



string txtBody = "中文chinese";
txtBody = Regex.Replace(txtBody , "[\u4E00-\u9FFF]", ""); // 移除中文

結果
---------------

txtBody : "chinese"

會用到的這regex的原因為是為css裡中文註解,搞到utf-8的網頁變亂碼,索性把css內的所有中文給過濾移除(暴力)。


Silicon Power  Ultima Ⅱ I-Series 4GB  隨身碟

2008/09/03

SQL Server 在 charindex 全形及半形判斷上的問題

在預設的情況下,中文的SQL Server的定序設定為Chinese_Taiwan_Stroke_CI_AS, 會把全形及半形視為相同字元,這會影響到我們在SUBSTRING及CARINDEX上的判斷,如果字串內同時有全形及半形的符號,SQL Server皆會把它視為相同的符號...
如果我們在不能改資料庫設定的情況下,如何讓全形及半形的符號有所區隔呢?

直接用以下例子說明:



declare @txt nvarchar(200)
select @txt = '華,碩平,台【重裝火炮】DVD燒錄遊戲電腦'

select charindex(',', @txt)
select charindex(',', @txt COLLATE Chinese_Taiwan_Stroke_CI_AS_WS)


結果:

-----------
2

(1 個資料列受到影響)


-----------
5

(1 個資料列受到影響)

update:
如何執行區分全型/半型的sql select?
select * from aaa(nolock) where aaa_name like '%?%' COLLATE Chinese_Taiwan_Stroke_CI_AS_WS
-- COLLATE Chinese_Taiwan_Stroke_CI_AS_WS放在like的後面



重點就在於預設的COLLATE是Chinese_Taiwan_Stroke_CI_AS,改成Chinese_Taiwan_Stroke_CI_AS_WS就OK了,詳細請參考:

1.Windows Collation Name (Transact-SQL)
2.COLLATE (Transact-SQL)
3.Collation Precedence
4.定序對話方塊 (Visual Database Tools)

PHILIPS移動世界 2.5吋 250G SATA行動硬碟-聯強貨

2008/08/28

Application, Page and Control events in ASP.NET v2.0 - Jeff's Junk

Application, Page and Control events in ASP.NET v2.0 - Jeff's Junk

Application, Page and Control events in ASP.NET v2.0 發生順序的列表

Application: BeginRequest
Application: PreAuthenticateRequest
Application: AuthenticateRequest
Application: PostAuthenticateRequest
Application: PreAuthorizeRequest
Application: AuthorizeRequest
Application: PostAuthorizeRequest
Application: PreResolveRequestCache
Application: ResolveRequestCache
Application: PostResolveRequestCache
Application: PreMapRequestHandler
Page: Construct
Application: PostMapRequestHandler
Application: PreAcquireRequestState
Application: AcquireRequestState
Application: PostAcquireRequestState
Application: PreRequestHandlerExecute
Page: AddParsedSubObject
Page: CreateControlCollection
Page: AddedControl
Page: AddParsedSubObject
Page: AddedControl
Page: ResolveAdapter
Page: DeterminePostBackMode
Page: PreInit
Control: ResolveAdapter
Control: Init
Control: TrackViewState
Page: Init
Page: TrackViewState
Page: InitComplete
Page: LoadPageStateFromPersistenceMedium
Control: LoadViewState
Page: EnsureChildControls
Page: CreateChildControls
Page: PreLoad
Page: Load
Control: DataBind
Control: Load
Page: EnsureChildControls
Page: LoadComplete
Page: EnsureChildControls
Page: PreRender
Control: EnsureChildControls
Control: PreRender
Page: PreRenderComplete
Page: SaveViewState
Control: SaveViewState
Page: SaveViewState
Control: SaveViewState
Page: SavePageStateToPersistenceMedium
Page: SaveStateComplete
Page: CreateHtmlTextWriter
Page: RenderControl
Page: Render
Page: RenderChildren
Control: RenderControl
Page: VerifyRenderingInServerForm
Page: CreateHtmlTextWriter
Control: Unload
Control: Dispose
Page: Unload
Page: Dispose
Application: PostRequestHandlerExecute
Application: PreReleaseRequestState
Application: ReleaseRequestState
Application: PostReleaseRequestState
Application: PreUpdateRequestCache
Application: UpdateRequestCache
Application: PostUpdateRequestCache
Application: EndRequest
Application: PreSendRequestHeaders
Application: PreSendRequestContent

來源 : Jeff's Junk

ConSonic 8GB 玩美時尚碟

2008/08/05

PowerSheel ADO.NET SQLAdapter Timeout Error

Ben.geek.nz » ADO.NET SQLAdapter Timeout Error

在使用PowerShell寫批次時,用到SqlDataAdapter的Fill時,常會遇到timeout的情況,如:


$ds= new-object "System.Data.DataSet" "ds"
$adapter = new-object "System.Data.SqlClient.SqlDataAdapter"
$adapter.SelectCommand = new-object "System.Data.SqlClient.SqlCommand" ($sql, $conn);

if ($adapter2.Fill($dstoprank) -gt 0) #在這裡會出現timeout error


解決方案:


myAdapter.SelectCommand.CommandTimeout = int.MaxValue; //(.Net)

or


$adapter.SelectCommand.CommandTimeout = 2147483647; # int.MaxValue (PowerShell)

軟體工程的重要的指標