以尋找控制項的方式取得大量控制項的值

最近在寫VB的視窗程式時~因為一拉了一堆控制項讓使用者將值填進去,結果就要寫程式一個一個把值讀進來~

由於不是陣列型的控制項(我也不知怎麼讓這些控制項變陣列),所以就以命名的方式,將這些控制項命名為TXT1、TXT2...

這時就須要以名字找控制項了,所以我寫了個小函式來輔助我~

程式

將以下這段程式擺在控制項所在的Form的程式碼中~

    Public Function findControl(ByVal name As String) As Control
       Dim result As Control = Nothing
       Dim find As Control() = Me.Controls.Find(name, True)
       If find.Length > 0 Then
           result = find(0)
       End If
       Return result
   End Function

呼叫

這時呼叫findControl("控制項名稱"),有找到就會傳回該控制項,沒找到就會傳回Nothing。

利用這樣的函式,只要控制項命名得當,就能動態依照控制項數量將資料讀進來。例如,

        Dim txtName As TextBox = Nothing
       Dim SA As new ArrayList
       Dim i As Integer = 1
       Do
           txtName = findControl("SA" + i.ToString)
           If Not txtName Is Nothing Then
              SA.Add(txtName.Text)
           End If
           i = i + 1
       Loop Until txtName Is Nothing

這樣我就取得了一個文字陣列,這個文字陣列的值都來自以SA開頭為名的文字方塊囉

EmailCash 有錢大家賺

原來台灣有這樣的網站呀~
大家會收到一堆廣告信,不但覺得厭倦~
而且連看都不多看一眼~
因為三個原因~
  • 商品沒吸引力~
  • 填問卷又沒好處~
  • 真的想買又覺得不安全~
誰叫騙人的網站太多了~
不過如果有個合法的網站~
經過你同意寄廣告給你,跟它買東西或填問卷,甚至玩遊戲~
你與它都能互利,那不是兩方都能獲得好處~也不會有你不想看的垃圾郵件~那不是很好嗎~
其實外國也有類似的網站~今天我發現台灣原來也有~EmailCash~
在 EmailCash 裡賺取e元就像是在玩遊戲一樣, 使用 EmailCash 所提供的方法努力賺取e元與經驗值, 越多的e元表示您可以兌換的獎品或現金就越多。 您可以不花任何一毛錢就開始在 EmailCash 累積e元,如果您透過 EmailCash 到合作商家消費, 您的e元累積就可以更快更迅速。
如果有興趣的人要玩玩看~就加入會員看看吧~
推薦人填【AL080】我就可以得到50e元‧其實也就是新台幣5元而已~ 成為會員之後的您‧也會馬上得到200e元‧可以參考一下它的獎金賺取方式~
玩玩看吧

2007年我想敗的商品與期待的技術

向來我對新的科技都還滿有興趣的,不過一但要掏腰包買下手,我通常都猶豫不決~

而且實用性與金額的實際考量下,我這個窮人家還是不會隨便買下手~

但在2007年有些預定在台上市與已上市的產品,讓我十分心動,期待我能夠一一入手~

想敗的東西

  • Wii 相信大多數的人都想敗吧,很久沒有出現新型態的家用主機了,回想我那台被偷走的SEGA DC,當初也因為手把的創意讓我敗了下去,哀~那真是傷心往事呀~不過重點是價格與功能都讓人心動的Wii,絕對是我畢業後的敗家目標~
  • Casio EX-V7 一樣用價格與功能吸引我目光的Casio EX-V7數位相機。我自己買過好幾次數位相機,Casio的省電性一直是我關注他們家相機的關鍵,而且開機速度與操作性都令人滿意的Casio相機(雖然雜訊與傻瓜拍攝仍有待加強)。這回一口氣打破這幾年入門相機的門檻,提供了7倍光學變焦、內藏式鏡頭、防手振、輕薄這樣的亮眼規格,聽說價格仍在1萬出頭,真是令人期待台灣的上市,因此成了我的目標。
  • TB 硬碟 最近越來越覺得用光碟備份資料是很不保險且麻煩的事,光碟的壽命不長,又容易受損,想想真的有想保存的資料,硬碟還比較實際,且價位也越來越划算,而今年也預計上市的TB硬碟,不但空間倍增,價位聽說比兩個500GB還划算,雖然還沒上市,效果不明,不過我希望能在年中就有機會用到。

關注的東西

另外列出些我關注的新東西,雖然買不到或買不起,有的甚至不知會不會變商品~不過我期待他們的表現

  • PS3的 鋼彈無雙 沒有錢與沒有閒購買的PS3上,推出了以鋼彈為主角的無雙遊戲,一舉把砍殺的場地擴大到宇宙,裡面還有我最愛的角色─希洛駕駛的飛翼0式,大絕招是用他超強的光束砲旋轉掃射,想到就熱血,期待它的表現與移植。
  • Wii的 紙片馬力歐 馬力歐終於推出了一個讓我亮眼的版本,能夠在2D與3D場景之間轉換,化不可能為可能的過關方式,實在太有趣了。
  • UMPC 喜歡走到哪都能隨時用電腦的我,看到這樣的產品真的很心動。如同一搬電腦的縮小版環境,攜帶方便的UMPC,也是我期待的東西,不過蓄電力與容量,還有搭配的網路環境,都會是這樣的產品有沒有機會變成我敗家目標的主因。
  • 超音波叫你停 南韓人運用了簡單的技術,找出了一個暗示大腦的超音波,讓打電動的小孩不至於打太久的電動,不過這東西應該很難成唯一般商品販賣,因為如果被用在反面這個世界應該會大亂吧~
  • Vista+新電腦? 不可否認,視窗作業系統現在已在普羅大眾的生活中成為主流,不過要換上新的作業系統,不換台新電腦似乎不太可行,聽說還有所謂的以隨身碟擴充主機記憶體的作法,不知這些技術實際成熟後是否能真正將電腦硬體帶入新的世代。
  • 凝視加強使用者介面(GUIDe) 我覺得用眼神操作滑鼠是扯了點,不過或許也不失為一個輔助性的操控技術,不知會有什麼樣的未來,值得期待。
  • Web 2.0 自從Web 2.0這個字眼開始被炒熱起來後,以此為名開發的網站與服務像是雨後春筍般不斷冒出來,感覺既如同戰國時代般的網路亂世,最後能存活的不知有多少,但我覺得使用者不是笨蛋,所以好的東西自然會起來,書籤網站、美食網站、旅遊網站這些最基本的應用相信會帶來許多便利的服務,不過資料來源是來自使用者,所以仍要有許多願意在網路上打打字的人的供應,資訊才會完整與即時。
  • 飛利浦 神奇數位畫筆 或許這樣的東西好像小朋友的玩具,不過如果未來學校或是螢幕控制能融合這樣的技術,那麼以後值日生就少了擦黑板與打板擦的工作,甚至能記錄下來上課的內容,成為教材也說不定,又環保又提高教學效果。
  • Readius捲軸螢幕手機 同樣是飛利浦的技術,以捲軸作為螢幕的產品,也是省電與方便的好東西,未來前景看好~
  • 多重觸碰螢幕 好的操作環境是我們這些電腦工作者的夢想,或許這個多重觸碰可能還要更久才有機會出現在身邊,不過相信這樣的環境是我們所需要的

帳號整合開發工具-IDI

最近在研究IBM的Tivoli Directory Integrator (有看到的簡稱為ITDI、TDI或IDI,以下稱IDI),我只能說這個軟體的概念真的很不錯,所以才值得我介紹,但我覺得還有一些問題是實際開發及上線用時才會發現的問題。

另外,其實我研究的主軸是 Tivoli Identity Manager (用來做帳號整合管理的系統),IDI只是它的輔助工具,不過TIM很多功能其實是依賴IDI才能存在,所以先從IDI講起。

姑且暫時不把缺點拿上來談,我試著把我所知道的寫出來看看為什麼我說它是概念不錯的軟體。

老話一句,我不是IBM的員工,所以有些東西不太清楚。

IDI是啥

我引述來自IBM案例網站中的一句話

IBM Directory Integrator(IDI)就是一個基於100% Java技術的目錄元件系統,不但可以跨平台執行,而且其Assembly Line工作模式可以在不匯入一個集中用戶存儲的資料庫的情況下就實現分散式的用戶訊息同步和複雜操作。

可能看完這段話沒什麼感覺,簡單的說IDI可以提供一個開發與運作的工具,讓多個不同平台的使用者資料庫同步或是轉換一個介面讓另一個系統控制。

也就是說,今天無論我原本的系統是用哪家的系統開發,只要是IDI可以連接的對象(relational databases, mail systems, file formats, message queues, web services and a host of other data sources),IDI都要讓你可以與它整合。

圖片引用自Developing a custom TIM agent with TDI

關鍵技術

那麼IDI到底做了什麼事簡化我們的工作呢?

  • 對於現有帳號資料來源:提供各式各樣的連接器(Connector) ,方便存取資料,且設定完的連接器還可再被當父連接器繼承設定,不用寫一堆程式連線唷
    置中
  • 提供了幾種方式讓其他系統能整合:使得我的系統在存取資料來源時,有個固定的介面,而且瑣碎的工作也可交由IDI達成
  • 透過簡單的介面編輯處理流程(Assembly Line):針對取得的資料做名稱的對應與進一步呼叫其他連接器處理
  • 也可以用Javascript撰寫程式,進行資料處理或呼叫其他流程(Assembly Line)

總結

IDI是個中介處理程序的開發工具,不過我不是來賣產品的,只是跟大家說有這樣的東西,概念不錯。

開頭我就有講到但書,這個工具既然屬於開發工具,它的介面也算OK,不過缺點也不少,像是以JavaScript做為程式語言的部份,就充分展現了Javascript沒有編輯時的輔助,一切都要靠經驗與資料才知道怎麼寫才對,偵錯、除錯也很困難。

再者,雖然安裝後有許多小範例,可惜這些範例的解釋資訊不足,基本上要了解不是很簡單,而且我還有遇到範例是有問題的(像是WebService的部份),感覺像是拿前幾個版本的IDI開發範例直接放到新的IDI,不知是不是我自己搞錯了~

另外還有效能與資料來源過大等問題~

與TIM這個主產品整合時,開發要注意的事就更多了~這真是IBM產品的特色呀

相關連結

Tweak UI:讓2003與XP都可自動登入

我之前曾在MS-DOS commands與磁碟定期重組這篇中談到XP懶人開機法,就是能在XP開機時,不用輸入帳號密碼,就能自動登入的方法。

我最近發現連Windows 2003都可以設定自動登入,而最簡單的設定方法就是使用MS自家提供的小工具:Tweak UI

軟體

Tweak UI

  • Version 2.10
  • Windows XP or Windows Server 2003.

方法

  • 首先,到Microsoft PowerToys for Windows XP下載Tweak UI(安裝檔連結)
  • 安裝後,選開始→執行→輸入【Tweakui】
  • 然後會出現如下視窗
  • 選擇Logon→AutoLogon→勾選【Log on automatically at system startup】,並輸入要登入的帳號,點選【Set Password】輸入登入的密碼

  • 點選【Apply】套用設定,這樣就完成了

結論

自動登入是很方便,不過基於安全性考量,如果你的電腦怕被別人碰還是乖乖輸入密碼會比較好~

這個工具XP或2003都可適用,當然XP直接用MS-DOS commands與磁碟定期重組這篇中談到XP懶人開機法就可了。

此外,這個工具也提供了一些原本隱藏的設定讓我們能控制Windows的效果,有興建的人可玩玩看。

相關連結

這裡是關於技術的手札~

也歡迎大家到

倫與貓的足跡



到噗浪來

關心一下我唷!
by 倫
 
Copyright 2009 倫倫3號Beta-Log All rights reserved.
Blogger Templates created by Deluxe Templates
Wordpress Theme by EZwpthemes