2009年4月25日 星期六

VB - Building a Program

http://4rdp.blogspot.com/2009/04/vb-building-program.html

前一篇 Visual Basic Tuition 貼文後,可能有些讀者迫不及待試試看,早就安裝好開始寫程式,不過本文做一些補述。

推薦 VB (Visual Basic) 是因為它是目前全球最多人使用的程式語言,有問題時可以請教到非常多比我厲害的高手,我估計約五成以上的程式設計師(含學生)都學過,一般性的程式都可以用 VB 完成,我就用它設計過很多應用程式。

以前的 BASIC 程式比較單純,常用的指令就那幾十個,從鍵盤 INPUT 資料,經過資料處理後 PRINT 到螢幕顯示。而現在視窗軟體多了滑鼠操控,衍生出物件導向程式設計 (Object-Oriented Programming,OOP) 概念,比起以前程式複雜許多,如果你到書局挑選 VB 程式設計書籍琳瑯滿目,每一本書的精華要點都不一樣,主題包羅萬象有入門、資料庫、動畫、網路、專題應用各式各樣,個人 VB 的藏書就三十本以上,不像從前兩三本參考書再加上創意就可以搞定。當你決定踏入某個領域程式設計,心理應有準備學無止境,我雖然比一般程式設計師懂多一些,但在這浩大的領域內只是皮毛而已。科技類圖書除了教科書歷久彌新,其它隨時空演變會淘汰過時的東西,電腦書籍有些會過時,但裡面所用的技巧方法或設計概念,都是值得一再參考,當你購買相關書籍時,想想會不會經常使用,或是十年後有沒有參考價值,如果有,買一本五、六百元的書就非常值得。

學視窗軟體,首要重要觀念是:物件。例如視窗中的按鈕就是物件,每個物件都有它的屬性,可以設定大小、位置、顏色、文字說明等等。每個物件也有自己的事件,比如按滑鼠右鍵和左鍵會產生不同動作,也就是要發生某件事,才會觸發執行某段程式。最後是方法,方法不是發生事件才執行,而是你的程式要物件做某件事,比如說資料刪除。簡單介紹物件程式觀念到此,重點還是要買書看才會深入,另外 MSDN 也是非常重要的武林秘笈,所有和微軟視窗系統與程式相關的東西,都可以在這裡找到說明,不過大多是英文資料,想成為程式設計高手,這裡絕對不可錯過。

市面上 VB 書籍分兩大類,VB6 和 VB.NET,前者為舊 VB 系統,如果您為舊電腦系統設計可使用 VB6,.NET 程式需要額外安裝 Microsoft .NET Framework,你在安裝 VB Express 時會自動安裝,可是你產出執行檔給別人使用,使用者電腦也要安裝 .NET Framework 才能正常執行您的程式,這麼做的最大優點,可以減少程式大小。大多數情形兩者程式寫法差不多,不過初學者還是盡量挑選 VB.NET 書籍參考,以免有些 VB6 程式碼沒辦法在 VB.NET 上執行,像我們這種老經驗的程式設計師是有辦法改寫程式碼,而入門者先按部就班,按圖施工,保證成功。

接下來說明 VB Express 安裝,連結到微軟網站後,可選擇繁體中文版,另外安裝後,要記得註冊,有註冊就永久免費使用,否則只有一個月試用期


以下貼圖是簡單程式建立步驟:







點工具箱選 Button



點工具箱選 Label



選檢視/程式碼,將下列程式輸入,然後按三角形(開始偵錯)


Public Class Form1

Dim number As Double

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
number = 0
End Sub

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
number = number + 1
Label1.Text = number
End Sub

End Class



下面是程式執行的情形

每按一次按鈕,數字就會加一


這裡不會提太多入門的東西,因此建議有興趣的人,至少準備一本入門書,我的書大多都是古董,我的第一本 VB 的書是 精通 Visual Basic 程式設計 林信成著 第三波出版,現在應該絕版了,讀者請自行到書店挑選適合自己的書,或是找一個 VB 教學網站。如果你想學程式設計 VB Express 是個不錯的選擇,預祝各位學習成功。

2 則留言:

  1. 您好,我是高雄高工電子科主任位明先,也是樂高的愛好者,目前在科裡面有系列的專題製作課程及創意課程,就是使用NXT做教具。有機會希望能多交流。

    回覆刪除
  2. 位主任您好

    很高興在此認識你,可惜我住在台北,不方便當面交流,如有任何意見或建議,歡迎留言,謝謝。

    回覆刪除