Monthly Archives: 十一月 2007

米塔與哈吉貝的雙颱效應


哈吉貝編號為 0724 ,算是今年已經趕上進度了,這次就不展示曾文那個系統,改用另一個新系統來展示。
背景線藍色的為氣壓場,紅色的為 500 mb 高度場。
 
由於這個新系統並非是以台灣本地為準,故所有的時間均以 UTC 國際標準時為準,換算為台灣本地時間就要一律 +8 小時。
圖上可以看出預測路徑中,哈吉貝居然被倒拉回來 500 公里,回到菲律賓,這個雙颱效應應該會變成教材的一部分吧…
 
恩~ 資料全部要保留下來,包含風場資料都要留~~
 
Categories: 決策支援系統 | 發表留言

Bitmap.LockBits 方法的補充說明


原先是回覆這篇的:
 
後來發覺看錯,MSDN 上範例是從 jpeg 圖檔建立 Bitmap ,這位網友是直接建立,但是既然寫了,就把 Bitmap.LockBits 的補充說明撿回來,補充說明直接張貼在:

補充說明直接產生新的 Bitmap 下,不能直接引用此範例 

說明:

在這篇討論中:

http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=2453889&SiteID=14

網友直接引用此範例,但是對於初始化的圖形略有修改:

' Create a new bitmap.
Dim bmp As New Bitmap(PictureBox1.Width, PictureBox1.Height)

網友採用直接建立新的 Bitmap ,並非如本範例採用參照既有 Jpeg 圖檔。Jpeg 圖檔格式僅有 24 bits ,而不同的圖檔格式可能會有不同的色階,例如 bmp/png 可能為 32 bits 的全彩圖或其他不支援透明色的格式,直接引用此範例時,須注意原始圖檔色階。

直接建立新的 Bitmap 時(如上建立程式碼),在未指定 PixelFormat 的情況下,預設為 Format32bppArgb ,亦即顏色的 16 進位值為 &HAARRGGBB ,Windows 的位元組為 little endian byte order 故每 4 bytes 為 Byte(0) = BB, Byte(1) = GG, Byte(2) = RR, Byte(3) = AA ,AA = 0 表示 100% 透明,所以什麼都看不見,AA = 255 表示完全非透明,就是一般的顏色。

故範例程式碼修改要考慮是 4 bytes 。

[VB]

' 宣告應改為 4 Bytes
Dim bytes As Integer = bmp.Width * bmp.Height * 4

For counter As Integer = 3 To rgbValues.Length - 1 Step 4 ' 迴圈應改為 4 Bytes
rgbValues(counter - 1) = 255 ' 設定紅色
rgbValues(counter) = 255 ' 設定透明度為 0
Next

另一種改法是直接處理 4 Bytes 的整數,修改的幅度比較大,但是效能會比分別設定兩個 Bytes 會更快:

Dim pixels As Integer = bmp.Width * bmp.Height ' 計算點數
Dim rgbValues(pixels - 1) As Integer
System.Runtime.InteropServices.Marshal.Copy(ptr, rgbValues, 0, pixels)
For counter As Integer = 0 To rgbValues.Length - 1
rgbValues(counter) = -65536 ' &HFFFF0000,直接設定透明度為 0 及紅色的常數值
Next
System.Runtime.InteropServices.Marshal.Copy(rgbValues, 0, ptr, pixels)

其他語言範例可依此原則調整。

Categories: 技術分享 | 發表留言

中國時報 MVP 相關新聞報導


 
昨天中國時報記者電話訪問,訪問完後說,會刊在今天的財經版,早上送姐姐去上直排輪後,順便繞到 7-11 買份中國時報來看。是刊載在財經版 B2 右下角。
報紙掃描如下:
詳細內容可參閱中時電子報:

中國時報2007.11.24
微軟MVP 台灣今年33人參與
【彭漣漪/專題報導】

     職場不再有金飯碗,要耳聽四面、眼觀八方,新機會在哪裡?新趨勢往何處去?中時雙週刊將追蹤暗潮洶湧的職場,做上班族的報馬仔。

     微軟董事長比爾蓋茲近年來早已逐步淡出經營,專心公益事業,台灣是微軟相當重要策略夥伴,但六年來唯一單獨見過他的台灣企業家,是中華電信董事長賀陳旦。不過,今年四月,他花了一個小時的時間,和微軟來自全球各地2千多名「最有價值專家」(MVP)暢談技術和未來,台灣也有33位參與。

     今年受邀到微軟西雅圖總部的林祐民表示,MVP不是微軟體制內的人,但協助微軟做產品的各種使用測試並給予建議,因此很受重視,每年微軟幾個最高階長官都會花1、2小時,聆聽他們的意見,做為微軟產品修正的參考。

     微軟MVP,是來自全球各地的傑出技術社群領導者,他們因主動積極地與社群分享專業知識而獲此榮譽封號。微軟全球有近4千名MVP,來自90多個國家,台灣目前有108個。

     「最有價值專家」是無給職,多半是各家企業的程式開發者、資管人員,也有資訊方面的專業工作者,但共通的特質,是「喜歡與別人分享、好為人師」,微軟行銷經理廖浩志表示,網路上臥虎藏龍,這些人不僅技術高竿,而且樂意協助別人。

     這群MVP中有些特別活躍,素有「北璉璉,南小朱」稱號的「北璉璉」鄭子璉,是個水資源管理方面的獨立專業工作者,曾獲微軟執行長鮑默在年度的MVP大會中褒揚的五個個人之一。鄭子璉表示,他念成大水利系時,就開始分享水利資訊軟體技術方面的知識,希望學弟可以「少走一點冤枉路」。鄭子璉說,近兩年來他在微軟論壇上上傳及回覆他人問題的文章共有4500篇,和「南小朱」朱明中在台灣排名前兩名,在微軟全球也排名前20名之內。

     微軟有兩大技術論壇中,一個是微軟技術論壇(TechNet)側重微軟產品操作技術,一個是微軟技術社群討論區(MSDN),專注程式開發問題,和別人透過網路交流技術。體制外的微軟技術網站也不少,例如,「藍色小舖」會員數25萬人,張貼了近3萬篇文章,站長張耿益也是MVP;程式設計俱樂部會員數17萬,站長王鴻翔也是MVP。

     資訊技術人員在職場通常無聲的一群人,人數估計至少超過20萬,由於技術高超,看起來神秘又很厲害。透過網路,彼此之間關係之緊密,甚至超過辦公室同事。 

 


 
不過報載內容有點出入,昨天記者只問我有沒有去西雅圖過,我不知道是問今年的,我就把 2004 那年的經驗講給她聽,造成她會錯意以為是今年的,實在很抱歉。
聽那位記者說,我們的資料是台灣微軟張經理給的,社群這部分主要是我跟小朱的資料,不過我從來沒聽過「北璉璉,南小朱」這個稱號,該不會是張姐起的吧?有點汗顏~ 我昨天有跟那位記者提到回成大念博士班後,就一直留在台南,台南是比小朱的高雄屏東北那麼一點啦,不過用北璉璉還是有點怪… 不過好在我是北璉璉,金庸小說天龍八部中,「北喬峰、南慕容」,喬峰是主角,這就暗示我是主角,小朱你就負責演大反派的配角吧~ 吐舌頭 (忽然發現 Live Spaces 上的預設圖形沒有冷的圖案,只好吐舌頭給小朱你看了)
 
有空要嚴刑逼供張姐,看看「北璉璉,南小朱」這個稱號是哪來的,更別說是素有了…
Categories: 組織 | 發表留言

遺忘的1937


剛剛碰巧看到文茜小妹大853 播放美國拍的南京大屠殺紀錄片。
 
忽然之間熱淚盈眶。
 
今天中午簡單的跟小朋友講了地球發展史,46億年,5 分鐘簡單的說完。70 年前的事情對46億年來說,好像一眨眼,但是如何讓我們相信這只是70年前的事呢?
看歷史課本只是數字,看那些為中國付出的外國人的回憶是憤慨,看哪些80歲的老人回憶親屬遭屠是悲慟,看那些當年施暴的日本老兵回憶是平淡的描述。
 
中國逐漸邁向民主,台灣逐漸邁向獨裁。
 
曾幾何時,台灣開放報禁,大鳴大放,在不知不覺中,居然開始容忍政府操弄媒體、口無遮攔、搓揉捏掐。
 
甚至看到一群人拿著「不速鬼」的牌子在那邊揮來晃去。
 
年輕人你要有獨立思考的能力,你要看到未來50年,你可以選擇你所喜好的政黨,但你不要被政黨操弄,我們的未來應該要走向已開發國家,要走向民主自由,只能跟 40 年前的執政者比,一點意義都沒有,我們要跟已開發的國家比,我們才知道我們的缺點在哪。
 
你不會念大學的時候還在跟念小學的程度比吧?大學已經有獨立思考的能力,居然還在跟小學只會接受知識的年代比聰明、比程度,簡直可恥。
 
回顧歷史,剛結束的戰亂年代多有某些霹靂手段,用來快速穩定社會,多年後的歷史學者也會這樣回顧現在的歷史,就像我們看過去那些歷代發生的史實,有些東西現在不能處理的,就在封存50年後再來處理,把目前切身相關的東西搞好,把所有的歷史正確的保存下來,才是政治人物該做的事。
 
過去台灣還有資格在國際上說點話,現在台灣有人甩嗎?被人當成跳樑小丑來看是誰造成的?急切的民生經濟不處理,不急的又達不成的東西猛搞,浪費生命、浪費金錢。
 
張張眼吧,年輕人。
Categories: 新聞與政治 | 發表留言

何謂正義?何謂公道?


走路工證實非黃俊英所為,某競選團隊明知而故意做為。
 
然後今天某人大喊終於還我公道,還我正義。
加害人被法院判沒事叫做有公道,有正義,那對被害人的公道何在?正義何在?還是這就是對被害人的公道與正義?
 
走路工不是暴力與脅迫,難道不是詐欺?就算是毀謗難道不是刑法所規範的非法行為?難道不是其他非法之行為?這不算違法選罷法的話,那台灣還有真實與誠實嗎?司法是還給加害人一個公道與正義嗎?司法有給全民一個公道與正義嗎?
 
如果說公道自在人心,不用司法給大家也都知道公道在哪。那麼司法給的到底是什麼?
 
詐欺全民而獲判無罪就是正義,就是公道。活該被詐欺的人,就是白癡,就是傻瓜,誰叫你被詐欺了,白癡。
以後詐騙集團也不用抓了,最大的詐騙集團及他的分支機構已經獲判無罪了,這些小詐騙集團算啥?還是又是一個只許州官放火不許百姓點燈?
 
只許執政黨詐騙,不許百姓詐騙?
 
某位大管家說了很多不做與要做的事,現在全面大改,這不是詐欺?假裝中彈重傷,這不是詐欺?這可以叫政策?
民間騙老百姓的詐騙集團,不就是詐騙集團公司內部的政策嗎?就是要騙你的錢,這個是有罪的。
 
就是要騙你的選票,這個卻是沒罪的。
拐不是騙,那又何必解釋?不解釋大家也知道拐不是騙。明明大家都知道拐就是騙又何苦硬坳?
 
國罵可以解釋成那是善意且親密的問候你母親好嗎?我想大家都會認為這是硬坳。
 
我善意且親密的問候那些人政治人物與司法戰士母親好。你好媽?你媽好。不過我不希望那些人叫我乾爹,因為我只問候你好嗎,我可沒用國罵,那些人腦中幻想的,那些人夢中看見的,那是那些人的問題,我只說了你好嗎。
 
非故意為之,那麼請交付重選,至少讓大家來決定何謂公道、何謂正義,不要自我敗壞家族門風,敗壞私德,自貶為當權者的看門狗,自己選擇做畜牲。現在替人民選擇公道與正義的人們,願主赦免你的選擇。
Categories: 新聞與政治 | 發表留言

Live Spaces 瀏覽人數破 120,000 人次


感謝各位親友踴躍點閱,依據 Live Spaces 統計資料來看,瀏覽人數已破 120,000 人次。
距上次發布破 110,000 人次 2007/10/10 來說,平均每月 8,000 人次的點閱率,感謝大家的愛戴~

註:好像周日就破表了,不過這幾天都在忙,也忘了這回事。

Categories: 娛樂 | 發表留言

[VB2005]加入封裝專案後慢的可以


VB2005 在專案中加入封裝專案後,每次執行會自動編譯,並重新封裝,若是有加必要條件,每次都要搞很久,因為 .Net framework 就快 30 mb ,超慢。
當然,在原始專案中直接加入封裝專案的好處是不用再去找執行檔,封裝專案會自動幫忙加入專案,每次封裝前會自動重新編譯原始檔,若是開新專案就變成要手動加入執行檔,就會變得比較囉嗦。
由於專案與解決方案有自動連結,直接開專案檔也會開解決方案,同時開啟封裝專案,所以就把解決方案複製一份,包含封裝專案的改名為 Allproj,再把原始專案自動產生的解決方案中,關於封裝專案的相關描述部分移除,這樣開啟原始專案或方案檔時,就不再開啟封裝專案,若需重新封裝時,再去開 Allproj 重新編譯即可自動封裝檔。
Categories: 封裝部署, 技術分享 | 2 則迴響

[VB2005] ListView 初始化與 ItemChecked 事件


因為有個程式是動態產生 ListView 在 TabPage 頁籤裡,我在 ItemChecked 事件裡面要計算對應的值並累計,一直發生不正確的結果,除錯只知道 ItemChecked 事件多跑了,又過濾不出原因來,只好乖乖的寫個測試專案來查問題。
首先先查詢線上手冊,跟網路既有討論,完全沒有相關事件引發順序,到是發現了 ListView 線上手冊索引有錯,順便回報給 Moli :
因為實在找不到,弄個測試專案畫面如上,TabPage1 是空的,只是為了測試 ListView ,然後針對每個事件輸出到除錯視窗,最後再來整理。
ListView 事件引發的順序:
ParentChanged -> VisibleChanged -> DockChanged -> Move -> LocationChanged -> Layout -> Resize -> SizeChanged -> ClientSizeChanged -> StyleChanged -> Layout -> Layout -> BindingContextChanged
(視窗顯示出來) TabPage2_Click (按下 TabPage 頁籤)
HandleCreated -> Invalidated -> ItemChecked -> ItemCheck -> ItemChecked -> ItemChecked -> ItemCheck -> ItemChecked -> ColumnWidthChanged -> BindingContextChanged -> VisibleChanged
亦即在顯示TabPage2 時,ListView 才會開始初始化,設定 Item A/B/C 的初值。
其中,TabPage2_Click 後,才發生 HandleCreated ,讓我聯想到上個月的一個測試結果:
所以我加上 Form_Load 事件:

Private Sub fListView_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

   Dim p As IntPtr = ListView1.Handle

End Sub

再來測試 ListView 事件引發的順序:
ParentChanged -> VisibleChanged -> DockChanged -> Move -> LocationChanged -> Layout -> Resize -> SizeChanged -> ClientSizeChanged -> StyleChanged -> Layout -> Layout -> BindingContextChanged -> HandleCreated -> Invalidated -> ItemChecked -> ItemCheck -> ItemChecked -> ItemChecked -> ItemCheck -> ItemChecked -> ColumnWidthChanged -> BindingContextChanged -> VisibleChanged
(視窗顯示出來) TabPage2_Click (按下 TabPage 頁籤)
VisibleChanged -> BindingContextChanged -> VisibleChanged -> BindingContextChanged -> VisibleChanged
註:將 ListView 放在 TabPage1 直接顯示時,即使不加 Form_Load 事件,也是如同上面這段一樣。
讚~
ItemChecked 事件已經移到顯示頁籤之前,馬上把原先程式碼改過來:

With nowListView

     .SuspendLayout()

     .Dock = DockStyle.Fill

     .CheckBoxes = True

     .View = View.Details

[略]

     pListView = .Handle

     .ResumeLayout(True)

     .PerformLayout()

     AddHandler .ItemChecked, eh

EndWith

讓事件在強制取得控制項 Handle 之後才設定,終於順利跳過事件的問題。

這樣看起來,上次這篇:

[VBNET]ComboBox 的事件觸發討論

應該也是 Handle 尚未建立造成的問題。

Categories: 技術分享 | 發表留言

在 WordPress.com 建立免費網站或網誌.

%d 位部落客按了讚: