發表文章

TSQL - Update指令加上Top關鍵字

今天在下update指令時突然想到能不能只update最新的一筆(當然,為什麼要這樣跟我的資料表規畫有關係..orz),想了想..瞬間當機.. 問了同事之後,總算是reboot了..趕快記起來,免的忘了.. UPDATE "表格" SET "欄位1" = [值1], "欄位2" = [值2] WHERE ("主索引" IN (SELECT TOP (1) "主索引" FROM "表格" ORDER BY "主索引" DESC)) EX: UPDATE myTable SET myFiled = 1 WHERE (PK IN (SELECT TOP (1) PK FROM myTable AS A ORDER BY PK DESC))

Transparent Label in compact framework

在.net cf(compact framework)的環境下面,label的背景沒有辦法設定為透明的,所以如果Form設定了底圖,那麼擺個Label上去就會看到白白的一塊東西在那邊,這該怎麼辦呢? 解法可以參考下面這篇 How to get Transparent Label? 他的做法大致上是下面這樣 在PictureBox或是Form上先擺上一個"不可見"的Label,也就是visable=false 設定好想要的字型跟前景顏色(forecolor)等等 利用graphic.drawstring的方式將字畫到PictureBox或是Form上面 那麼為什麼要擺放一個visable=false的Label在上面呢?直接畫不就好了?是的,直接畫當然也是可以,不過這個"不可見"的label可以幫我們"記住"很多事情,例如位置、字型、顏色等等,所以會比較方便。 下面是參考的程式碼(修改自連結中的範例程式) Dim targetOffset As Point Dim drawBounds As Rectangle Dim sizeTmp As SizeF Dim intleft As Integer Private Sub DrawLabel(ByRef labSource As Label, ByRef picTarget As Form, ByRef grx As Graphics) targetOffset = picTarget.Location drawBounds = labSource.Bounds drawBounds.X -= picTarget.Location.X drawBounds.Y -= picTarget.Location.Y If (labSource.TextAlign = ContentAlignment.TopLeft) Then grx.DrawString(labSource.Text, labSource.Font, New SolidBrush(labSource.ForeColor), drawBounds) E...

MSDN Forums 更新了

就在昨天(1/29)MSDN Forums已經更新為新版(3.0)的介面了,有在論壇上打滾的朋友可以上去看看新版的介面,但是目前還沒有全數整理完畢,所以版面還有點亂...orz;不過不影響討論就是了。 論壇的新網址在 這邊 ,舊有的forums也會做自動轉向,你點進任何一個討論區都會自動幫你轉到新的forums platform上面。

MSDN論壇即將更新了

圖片
MSDN論壇中文版在最近就要進行更新、改版的工程了,如果你想知道相關的詳細消息,可以參考 這裡 。 為免以後看不到舊版論壇的樣子,先抓個圖下來存一下,特此留念..XD 如果想先看看新版的樣子可以先到 國外那邊 看看。 好,下面這就是目前熟悉的論壇介面,好好收著,以後要給小孩子看的..說你老爸之前常在這邊鬼混..XD

Capturing sound by using DirectSound

最近要用到一些抓microphone的聲音以及播放的功能,找了一些資料,可以呼叫winmm.dll或是使用DirectX的功能;最後我是選擇了DirectX,為什麼呢?因為後面還有影像的部分要處理,DirectX在影像方面也是有解決方案,而且想要玩DirectX也一段時間了..orz Mansged DirectX的資料還真的是不多,現在也還在實作中..XD 以目前新版的DirectX SDK來說,裡面都沒有包含MDX需要的DLL,也沒有相關的Sample;我是安裝march2008的版本,還有包含MDX需要的DLL;MDX到現在是變成XNA,但是還是搞不太清楚XNA、MDX之間的關係..XD,就先從MDX下手吧。 下面這邊先把相關的資料列出來,有興趣的可以下載sample一起研究看看 DirectX 9.0 for Managed Code(MSDN) A Voice Chat Application in C#(Code project) Capturing and streaming sound by using DirectSound with C# Streaming directly from mic to speakers using DirectSound

MS SQL Server 2005 Service Pack 3 Released

蝦咪...SQL Server SP3已經出了,直接到我發現 這個消息的地方看詳情吧(Will保哥的bolg)

How-to 做一個自己的"進度列(ProgressBar)"

圖片
今天剛好同事問我有關ProgressBar的問題,需求是因為他是利用ProgressBar在需要長時間動作時讓使用者知道程式是沒有當掉的,但是遇到同步動作的時候連ProgressBar也會有停頓的情形,所以想要用多執行緒來實做看看;下面這邊是一個簡單的實做範例,可以參考看看 下面這張圖是實際拉到Form上面時的效果 再來是元件的程式碼,名稱我是亂取,叫做MyLabel,還沒有經過詳細的測試,有問題的話請讓我知道吧~ orz Imports System.Threading Public Class myLabel Inherits Control Private _thdDraw As Thread Private _gr As Graphics Private _myBrush As New SolidBrush(MyBase.ForeColor) 'Private _myB As New System.Drawing.Drawing2D.LinearGradientBrush( Private _Progess As Integer = 0 Private _Max As Integer = 100 Private _Min As Integer = 0 Private _AutoDrawInterval As Integer = 1000 Private _bolStop As Boolean = False Private _bolEnable As Boolean = False Private _stringFormat As New StringFormat Private _bsText As New SolidBrush(Color.Black) ''' ''' 複寫掉設定ForeColor時的動作 ''' ''' ''' ''' Public Overrides Property ForeColor() As System.Drawing....