2011年10月2日 星期日

我在旗威的日子 (二) -- 與VB的邂逅

2002/6



說到VB,雖然早在約20多年前就在8位元電腦上接觸了Basic,教我第一個程式是正在上大學的叔叔,其間斷斷續續一直有在自修Basic或QBasic,可惜都沒辦法很有系統地學好:一來小學時的邏輯概念訓練得還不夠健全,而中學的課業壓力又重,沒有很充分的時間去理解程式編排與變化;其次就是沒有一個好的應用環境讓我可以磨練寫程式的功力,環境真的很重要,因此要學習好任何一樣東西,儘量先營造出適合學習的環境,這樣才能事半功倍。



後來開始接觸VB,是上大學受到室友與學校專題的影響,那時才真正開始對程式的架構有一點概念,不過接觸的時間依舊很短,所以也沒能學到將VB應用自如的程度。此時的網路發展正到了一個飛速成長的階段,大量的資料被整理放上Internet,這時才是我學好VB真正的契機。



**************************************************************************



進公司後第一個用VB寫的程式,是AT2051數位溫度計的連線程式,這是我第一次對編碼與通訊可以完整且有系統地學會的好機會,也是在此時,我對ASCII碼、MSComm元件、Timer用法有了全盤熟悉的學習環境。



因為寫書的需求,除了連線程式外,還需要撰寫燒錄器的燒錄程式,以及連線資料與Excle圖表結合的程式,這些都是以往完全沒接觸過的領域,說實在的,當初面對這樣的題目,心裡的壓力還不小,哈哈~~



接下來就來分享一下我學習VB的一些經驗吧!





1. 主題很重要:



前面落落長的內容裡,提到一個最重要的觀念,就是寫程式一定要有環境,一定要確定一個主題並全力去完成,這樣才能真正學好程式。一般來說,對自動控制系統而言,PC端的程式多半屬於『人機介面』的程式應用,他需要具備一些連線功能,最好能存取檔案,記錄數據並匯成表格,還有一些簡單的邏輯判斷跟IO控制參數,這樣的主題可以很全面地學好VB各個物件的整合與應用。



少了這樣的主題,就容易變成只是很單純地練習VB用法,很難去發現應用過程該注意的一些邏輯排列或使用限制,學VB也會變得比較沒有效率。





2. 善用MSDN:



MSDN是語法的資料庫,所有在VB裡面的語法都可以在這裡查到相關的訊息,不過MSDN並不是那麼平易近人,查到了相關的內容之後,建議還是Google一下有沒有別人使用的心得或範例,這樣會比較容易理解。





3. 不要用自己看不懂的語法:



很多人在網路上抓到了一些範例,覺得它的功能很好用就照單全收,可是經過一段時間後,有些功能需要調整或升級,卻完全不知要從何改起,不管從哪裡切入都改不好!如果你也有這樣的問題,建議你寫程式盡量用自己熟悉的語法就好,if else跟for next的用法可以滿足大多數邏輯判斷跟迴圈應用,撰寫時在適當的地方加上判斷的註解,將來不管是自己要維護或是和別人的程式結合都會變得很輕鬆。



不要以為用很艱深的語法就叫功力深厚,因為語法本身有沒有效率?是不是經過最佳化?物件跟物件之間的使用條件相不相容?這些才是撰寫程式最需要注意的地方。





4. 養成多參觀別人程式的好習慣:



多看別人的程式,可以學習別人撰寫程式的邏輯思考模式,有缺點的地方可以提醒自己要改進,優點則可以想辦法在自己的程式中加入,同時也可以訓練除錯與整合的技巧,好處多多唷~~





其實不僅僅是VB,大多數的程式撰寫都要養成這樣的習慣,雖說這些日子以來,微軟開始有點被蘋果追著打的感覺,但主流上還是很多人用微軟的環境進行開發,強勢的單晶片幾乎是清一色把開發環境都建立在Windows XP上面,所以不需要太早對微軟喪失信心,只是憂患意識使然,多學習一些其他平台的程式開發還是必要的。



強烈推薦這個作者:http://www.hmhsieh.idv.tw/kjasp/ch16/Vb/VBMAIN.HTM

基本上我當時都是看他的書學VB的。



以上就是一些心得分享,謝謝收看。下一篇文章,我們來認識一下電路與電子零件吧!



**************************************************************************



工欲善其事,必先利其器。

18 則留言:

  1. 前輩你好,我是你們的讀者,



    從學生時期我就很喜歡自己動手寫程式玩電路,



    但8051一直學得普普通通,



    偶然看到你們公司出版的書,



    真的是如獲至寶,



    雖然我是用C語言為主在撰寫程式,



    但書中的很多觀念,想法都很受用,



    到現在出社會,工作了,



    因為也是從事MCU的撰寫工作,



    還是會打開那四本8051徹底研究,



    得知這四本大部分都停產了,



    真的覺得很可惜...



    當兵時,某日在舊書攤發現了徹底研究(黑皮)版本,



    很高興的就買了下來,



    現在唯一的遺憾就是沒辦法蒐集到PLC應用篇,



    希望有生之年能買到這一本書 ^^"



    最後真的很感謝你們寫了這一系列的書。

    回覆刪除
    回覆
    1. 這本書連我都沒有哩~~~哈哈!!
      謝謝您對我們的支持
      不要這麼客氣哩
      歡迎有空常來

      刪除
  2. 沒問題!



    也希望能常看到你的新文章!

    回覆刪除
  3. nichal大好~~

    也推薦小瓜瓜的VB教學~~~只是有一陣子出現,現在去找又好像不見~~~~

    那時撰寫ssc介面程式的文字檔案存取,就得力於其簡明的教學,

    如同cooper maa的Arduino教學一樣~~~相當有心~~

    回覆刪除
    回覆
    1. 剛剛找了一下
      只有一些頁庫存檔
      大概有所謂開放時間與非開放時間(流量管理)
      謝謝marbol大提供寶貴的訊息呀!!

      ps.
      找到最新的資訊是VB研究小站6.0
      已經放在右邊的連結上了~~~

      刪除
  4. marbol,謝謝你。

    早上在逛網路,想說來看 nichal 「我在旗威的日子」有沒有出新的一集,沒想到看到自己的名字。

    回覆刪除
  5. 回覆
    1. 雖然沒名沒姓
      但還是歡迎啦!!!

      要多多討論技術嘿~~~
      (討論五四三就到別的地方去吧!!)

      刪除
  6. 支持你,加油

    回覆刪除