390 likes | 511 Views
Introduction to VB 2005 (VB 2005 簡介 ). 1. Introduction ( 簡介 ). 程式語言 (Programming Language) 程式設計師跟電腦都懂的語言. Sub Main() ' 定義兩個變數 Dim a, b As Integer ' 輸入:要求使用者在鍵盤上輸入一個數字 , 並且放到變數 『a』 當中 a = InputBox(" 請輸入一個數字: ") ' 運算:透過電腦計算出 a 的平方值 , 並且放到變數 『b』 當中 b = a * a
E N D
1. Introduction (簡介) • 程式語言 (Programming Language) • 程式設計師跟電腦都懂的語言 Sub Main() '定義兩個變數 Dim a, b As Integer '輸入:要求使用者在鍵盤上輸入一個數字,並且放到變數『a』當中 a = InputBox("請輸入一個數字:") '運算:透過電腦計算出a 的平方值,並且放到變數『b』當中 b = a * a '輸出:將變數中的值,顯示在螢幕上 MsgBox(a & " 的平方為" & b) End Sub
Integrated Development Environment – IDE (整合開發環境) • Visual Studio 2005 • .NET Framework • 免費版: Visual studio 2005 Express • 書本所附光碟 • 網路下載: http://www.microsoft.com/taiwan/vstudio/express/vb/download/
專案類型 cont. • Windows應用程式 • 有表單 (Form) • 類別庫 • 類別(Class)的集合,主要目的是希望程式碼可以重用(reuse)。 • 主控台應用程式 • 無表單 • Windows控制項程式庫 • Web控制項程式庫 • Windows服務空專案 • Crystal Report應用程式 • 報表開發工具
您可以將程式碼從這邊開始填入 程式碼其實是儲存在這個檔案裡 建立主控台應用程式
主控台應用程式,只有黑底白字的樣式,沒有炫麗的Windows按鈕和視窗,但一樣可以運作主控台應用程式,只有黑底白字的樣式,沒有炫麗的Windows按鈕和視窗,但一樣可以運作
這是一個表單(也就是視窗) 從工具箱中拖曳控制項到表單上 在表單上『 Double-Click』以切換到程式設計模式 建立主控台應用程式
整個表單和程式碼都儲存在這個位置 程式可以撰寫在其中 建立主控台應用程式
當按鈕被按下時… 跳出一個訊時視窗之意。 按下按鈕之後,就會執行我們上面撰寫的程式!!! 此即為:『事件驅動程式設計』
重新整理 切換至程式碼 檢視屬性 類別圖表檢視 顯示所有檔案 切換至表單 表單檔案 Project Manager (方案總管)
In-Class Exercise (隨堂練習) • 何謂IDE?在程式設計的過程當中,擔當何種角色? • 主控台應用程式和Windows應用程式有何差異? • 如何建立主控台應用程式和Windows應用程式? • 怎麼執行程式? • 程式的原始碼檔案是何種副檔名?可執行檔又是何種副檔名?
Variable (變數) • 變數 • 電腦用來暫時儲存資料的基本單元 • Why variable? (爲什麼要有變數?) • 123+456=? • 579? • 123456? • 變數宣告的好處 • 讓電腦為不同的型別配置適當大小的記憶體,不要不敷使用,但也不要太浪費空間。 • 避免不同型別之間進行運算發生錯誤
變數不宣告型態的結果 Sub Main() Dim a = 123, b = 456 Dim c = "123", d = "456" MsgBox("1:" & a + b & " and 2:" & c + d) End Sub
變數的宣告 • 變數使用前要先宣告,否則電腦不懂 • 語法 • Dim+(使用者自訂的變數名稱)+ As + 變數的型別 • Eg(舉例) • Dim number1 As Integer • Dim number2 As Integer = 100
Example (範例2-4) 定義三個整數變數 定義一個單精度浮點數 跳出視窗要求使用者輸入三個人身高 進行計算
變數的運算 • 運算元(operator)與運算子(operand) 運算元(常數) C = A + 13 運算子 變數 運算元(變數)
Example Ch02-01 Sub Main() '宣告變數Computation,幫我們做運算 Dim Computation As Double '測試運算子 "+" (加) Computation = 1 + 1 Console.WriteLine("1 + 1 = " & Computation) '測試運算子 "-" (減) Computation = 2 - 1 Console.WriteLine("2 - 1 = " & Computation) '測試運算子 "*" (乘) Computation = 2 * 3 Console.WriteLine("2 * 3 = " & Computation) '測試運算子 "/" (除) Computation = 13 / 8 Console.WriteLine("13 / 8 = " & Computation) '測試運算子 "\" (除,只有取整數部分) Computation = 13 \ 8 Console.WriteLine("13 \ 8 = " & Computation) '測試運算子 "Mod" (取餘數) Computation = 13 Mod 8 Console.WriteLine("13 Mod 8 = " & Computation) '測試運算子 "^" (次方) Computation = 2 ^ 3 Console.WriteLine("2 ^ 3 = " & Computation) Console.ReadKey() End Sub
Example Ch02-02 Sub Main() '宣告變數number為Integer Dim number As Integer '幫number設值 number = 10 Console.WriteLine("number = " & number) 'number += 2 與 number = number + 2 一樣, '所以Textbox2.Text = 12 number += 2 Console.WriteLine("number += 2 --> " & number) 'number = number - 2 number = 10 number -= 2 Console.WriteLine("number -= 2 --> " & number) 'number = number * 2 number = 10 number *= 2 Console.WriteLine("number *= 2 --> " & number) 'number = number / 2 number = 10 number /= 2 Console.WriteLine("number /= 2 --> " & number) 'number = number \ 2 number = 10 number \= 2 Console.WriteLine("number \= 2 --> " & number) 'number = number ^ 2 number = 10 number ^= 2 Console.WriteLine("number ^= 2 --> " & number) 'number = number & 2 '& 把 number 與 數字2 當作字串,串接在一起了 number = 10 number &= 2 Console.WriteLine("number &= 2 --> " & number) console.ReadKey() End Sub
比較運算子 比較運算子會回傳「True或False」值(表示成立、或是不成立;正確、或是不正確;真或是假),通常會與「判斷條件」或「迴圈」伴隨著出現。(判斷條件:If…End If。迴圈:For…Next、Do…Loop等,後面有詳細介紹。)
Example Ch02-03 Sub Main() '宣告兩個變數score與age,並且分別初始化這兩個變數的值。 Dim score As Integer = 100 Dim age As Integer = 20 '以下用6個If…End If 說明「比較用算子」 '第一個If…End If '如果 score 等於 age 時, '會顯示「score = age」 '因為我們宣告變數score = 100以及變數age = 20 '所以 score 不等於 age,不會顯示任何文字。 If score = age Then Console.WriteLine("score = age") End If '第二個If…End If '如果 score 大於或等於 age 時, '會顯示「score >= age」 '因為我們宣告變數score = 100以及變數age = 20 '所以 score 符合大於 age 的條件, '故會顯示「score >= age」 '底下類推 If score >= age Then Console.WriteLine("score >= age") End If '測試 "<= " (小於等於) If score <= age Then Console.WriteLine("score <= age") End If '測試 "<>" (不等於) If score <> age Then Console.WriteLine("score <> age") End If '測試 ">" (大於) If score > age Then Console.WriteLine("score > age") End If '測試 "<" (小於) If score < age Then Console.WriteLine("score < age") End If Console.ReadKey() End Sub
結果為30『+』預設為數字,除非符號左右的資料都是文字,否則會將資料轉為數字相加 結果為1020 『&』會把符號左右的常數或變數,一律先轉換成字串再進行結合。 串聯運算子 Dim a As String a = 10 + “20“ a的結果是??? Dim b as String b = 10 & 20 b的結果是???
變數的命名規則 • 以英文字母開頭 • 僅能由字母、數字或底線組成 • 變數名長度不能超過255字元 • Pascal命名法 • 名稱的第一個字母,每個隨後單字的第一個字母都是大寫 • Eg: BackColor • Camel 命名法 • 名稱的第一個字母是小寫的,而每個隨後單字的第一個字母是大寫 • Eg: backColor
主控台的輸出入 • Console.ReadKey • 讓主控台暫停,等輸入下一個字再繼續 • 輸入的字也可以印出來 Sub Main() Dim k As Integer '輸出文字提示使用者 Console.Write("請按下任意按鍵:") '等待使用者按下按鍵,並取回值 k = Console.ReadKey().Key '顯示使用者按下的按鍵 Console.WriteLine() Console.WriteLine("您按下的按鍵代碼為:" & k) Console.ReadKey() End Sub
Console.ReadLine • 讓主控台暫停,等輸入一串字,按“Enter”再繼續 • 輸入的字串也可以印出來 Sub Main() Dim L As String '輸出文字提示使用者 Console.Write("請輸入任意文字(完成後請按下[ENTER]):") '等待使用者按下按鍵,並取回值 L = Console.ReadLine '顯示使用者按下的按鍵 Console.WriteLine() Console.WriteLine("您剛才輸入的字串為:" & L) Console.ReadKey() End Sub
Console.Write and Console.WriteLine • 將文字輸出到主控台 • WriteLine會換行 Sub Main() Dim UserName As String Console.Write("請輸入您的名稱:") UserName = Console.ReadLine Console.Write(UserName) Console.WriteLine("您好啊,今天是" & Now()) Console.WriteLine("歡迎進入本系統...") Console.ReadKey() End Sub
算圓的面積 Sub Main() Dim r As Single Dim area As Single '要求使用者輸入圓半徑 Console.Write("請輸入圓半徑:") r = CSng(Console.ReadLine) '計算出圓的面積 area = (r ^ 2) * 3.14159 '將面積顯示出來 Console.WriteLine("半徑" & r & "的圓面積為:" & area) Console.ReadKey() End Sub CSng是將使用者的資料轉換成Single的型態