blank overview n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
BLANK overview PowerPoint Presentation
Download Presentation
BLANK overview

Loading in 2 Seconds...

play fullscreen
1 / 98

BLANK overview - PowerPoint PPT Presentation


  • 90 Views
  • Uploaded on

BLANK overview. Visual Basic 2005 程式設計. Visual Basic 2005 語言特色. 簡單易學 功能強大 可開發 Windows 應用程式、 Web 應用程式、行動應用、 Web Services 、 Windows Services 、資料庫應用 … 具有 .NET Framework 2.0 強大支持 完整支援物件導向程式設計架構. Demo- dataSource 與 DropDownList. CH01. 原始 資料. 報表 ( 或其他 ). 輸入. 處理. 輸出. 資料庫. 程式該作的事情.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'BLANK overview' - waldemar


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2

Visual Basic 2005

程式設計

visual basic 2005
Visual Basic 2005語言特色
  • 簡單易學
  • 功能強大
  • 可開發Windows應用程式、Web應用程式、行動應用、Web Services、Windows Services、資料庫應用…
  • 具有.NET Framework 2.0強大支持
  • 完整支援物件導向程式設計架構
slide5

原始資料

報表(或其他)

輸入

處理

輸出

資料庫

程式該作的事情

程式的核心部份在這裡

slide7

建立原始程式碼(.vb)

撰寫程式

轉換成.obj

進行編譯

除錯與修改

產生執行檔(.exe)

進行連結

測試執行

開發程式的步驟?

現在,只要透過單一一個IDE環境即可完成

slide8
開發程式所需工具
  • 整合式的開發環境(IDE)
  • Visual Studio 2005微軟提供的全方位開發環境
    • 功能強大、支援各種運用、支援各種語言(C#、VB)、支援行動式裝置開發、支援各種資料庫、支援報表開發…
  • Visual Basic 2005 書附光碟中的個人版開發工具
    • 可完成絕大部分的程式設計需求、支援SQL Server 2005 Express資料庫
    • 免費下載(http://www.microsoft.com/taiwan/vstudio/express/vb/download )
visual studio 2005

首頁

Visual Studio 2005的主要畫面

主選單(Alt + …)

線上資源

最近使用的專案

slide10
程式以專案為單位(檔案→新增專案)

有各種不同類型的專案可供選擇

slide11
專案類型

Windows應用程式:在Windows環境中執行的應用程式,可以使用所有.NET Framework中提供的使用者操作介面(GUI),這也是本書所專注討論的程式類型。(教材第5章之後的程式將採取此方式設計)

類別庫:類別庫是類別(Class)的集合,內含一個以上的類別。所謂的類別可視為共用的程式碼,程式設計師可以引用他人建立的類別以完成某種功能,而不需要自己撰寫程式碼,主要目的是希望程式碼可以重用(reuse)。

主控台應用程式:建立一個在『提示列模式』(Command-Line)執行的應用程式。某些程式不需要複雜的操作介面,只需要以文字模式的方式進行輸入和顯示,即可建立此種模式的應用程式,此模式中無法使用『使用者操作介面(GUI)』,因此畫面單調,但開發過程簡單,執行效率較高。( 教材1-4章中的程式將採取此方式設計)

slide12
專案類型

Windows控制項程式庫:『使用者操作介面(GUI)』中的每一個元件,稱之為控制項(例如按鈕、文字輸入方塊、月曆…等)。您可以利用這種類型的專案,來建立自己的控制項,建立好的控制項可讓其他開發人員用在『Windows應用程式』類型的專案中。

Web控制項程式庫:此類型的專案可以用來建立Web應用程式(ASP.NET)開發環境當中使用的Web控制項。

Windows服務:建立 Windows 服務的專案。

空專案:建立本機應用程式的空專案。

Crystal Report應用程式:Crystal Report是VS2005當中的報表開發工具,而Crystal Report應用程式專案則可用來開發以需要呈現出報表的應用程式。

visual studio 20051

在Visual Studio 2005中撰寫程式(VB或C#)

使用者提出修改程式的需求

透過Visual Studio 2005進行測試與除錯

利用Visual Studio 2005編譯執行檔

部署(安裝)到其他機器上,供他人執行

以Visual Studio 2005開發程式的步驟?
demo datasource dropdownlist1
Demo-dataSource與DropDownList

Demo

建立主控台應用程式

slide15
建立主控台應用程式(在選單中選取『檔案→新增專案』)建立主控台應用程式(在選單中選取『檔案→新增專案』)
slide17
簡單的範例程式

主控台應用程式,只有黑底白字的樣式,沒有炫麗的Windows按鈕和視窗,但一樣可以運作

demo datasource dropdownlist2
Demo-dataSource與DropDownList

Demo

建立Windows應用程式

slide20
建立主控台應用程式(在選單中選取『檔案→新增專案』)建立主控台應用程式(在選單中選取『檔案→新增專案』)
slide21

這是一個表單(也就是視窗)

從工具箱中拖曳控制項到表單上

在表單上『 Double-Click』以切換到程式設計模式

建立主控台應用程式
slide23

當按鈕被按下時…

簡單的範例程式

跳出一個訊時視窗之意。

按下按鈕之後,就會執行我們上面撰寫的程式!!!

此即為:『事件驅動程式設計』

slide26

重新整理

切換至程式碼

檢視屬性

類別圖表檢視

顯示所有檔案

切換至表單

表單檔案

方案總管
  • 幾個主要的項目如下:
    • 檢視屬性:點選該按鈕可以檢視目前表單的屬性(跳出屬性視窗) 。
    • 顯示所有檔案:可以切換方案總管中是否要顯示所有檔案。
    • 表單檔案:專案中的表單檔案以.vb作為附檔名。
    • 重新整理:點選此按鈕可以在方案總管中重新整理所有檔案。
    • 切換至程式碼:點選此按鈕可以切換至程式碼設計模式。
    • 切換至表單:點選此按鈕可以切換至表單設計模式。
    • 類別圖表檢視:以圖形化的方式檢視類別物件。
demo datasource dropdownlist4
Demo-dataSource與DropDownList

習題

  • 何謂IDE?在程式設計的過程當中,擔當何種角色?
  • 主控台應用程式和Windows應用程式有何差異?
  • 如何建立主控台應用程式和Windows應用程式?
  • 怎麼執行程式?
  • 程式的原始碼檔案是何種副檔名?可執行檔又是何種副檔名?
slide29

結束,釋放記憶體等資源

將運算結果顯示(列印)或保留在檔案中

使用者在程式(.exe)檔案上Double-Click

從硬碟將程式(.exe)載入到記憶體

程式依照需要,存取資料庫或是其他資源

資料庫

開始將電腦(的部分)主控權交給該程式

電腦開始依照程式的指令運作

Windows環境中,電腦如何執行我們撰寫的程式碼?

電腦怎麼執行我們撰寫出來的程式?
slide30
變數的功能與意義

電腦主要的功能就是運算,因此需要將外界的資訊輸入電腦,透過程式來進行運算。外界的資訊一進入電腦,首先會暫時儲存在記憶體中,而在程式碼裡面,我們所定義的『變數』,就擔當這樣的一個角色。

『變數』:可以在記憶體中暫時儲存資料,透過運算達成我們需要的結果。

程式中的每一個變數名稱,都指向一個相對應的記憶體位置,我們透過輸入設備(鍵盤、滑鼠、或其他裝置)將資料傳入電腦,程式碼接著就會將資料放入某個變數所指向的記憶體空間內。

此時如果電腦斷電,記憶體中的變數也跟著煙消雲散了,因此,需要長時間保存的資訊(或運算的結果),我們還會將其輸出到外界的儲存裝備中,例如:硬碟、USB隨身碟…等。

slide31
變數的定義

語法:

範例:

宣告變數並且初始化

slide32
簡單的範例程式

定義三個整數變數

定義一個單精度浮點數

跳出視窗要求使用者輸入三個人身高

進行計算

slide33
簡單的範例程式

Console.Write和WriteLine可以輸出一段文字在畫面上

等候使用者按鍵(讓程式稍微停一下)

slide34
變數在程式碼中的運算方式

將A+B+C運算後的結果,存放到sum變數當中。

sum = A + B + C

(運算後的結果)

slide35
變數型別

變數的型別:

續下頁…

slide36
變數型別

變數的型別:

slide37
變數型別的意義
  • 每一種變數型態所使用到的記憶體空間有所不同,變數型別具有幾種意義:
      • 讓電腦為不同的型別配置適當大小的記憶體,不要不敷使用,但也不要太浪費空間。
      • 避免不同型別之間進行運算發生錯誤。
slide38
簡單的範例程式

請注意,在VB程式碼當中,以雙引號括住的,被視為文字

字串變數允許相加

slide39
簡單的範例程式

但是不允許相除

slide40

運算元(常數)

運算子

變數

運算元(變數)

變數與運算子
slide41
變數與運算子

在程式碼中,我們看到

A=B

表示把變數B的值放入變數A當中,看到

A=B+13

則表示把變數B的值取出,加上13之後放入A當中

那如果看到

A=A+100 則表示???

數學運算式的等號左右兩邊一定要相等,但是程式碼中的等號左右兩邊則不需相等,因為『等號』乃是設定的意思,表示把變數A設定成…

slide44
比較運算子

比較運算子會回傳「True或False」值(表示成立、或是不成立;正確、或是不正確;真或是假),通常會與「判斷條件」或「迴圈」伴隨著出現。(判斷條件:If…End If。迴圈:For…Next、Do…Loop等,後面有詳細介紹。)

slide45

結果為30『+』預設為數字,除非符號左右的資料都是文字,否則會將資料轉為數字相加

結果為1020

『&』會把符號左右的常數或變數,一律先轉換成字串再進行結合。

串聯運算子

範例:

Dim a As String

a = 10 + “20“  a的結果是???

Dim b as String

b = 10 & 20  b的結果是???

slide49
變數的型別轉換

第一個運算元是字串,但是為了與數字3相加,系統會先試圖將字串2431轉成數字的2431,接著加上3,變成2434,這是運算的結果。

但是,為了放到字串變數C當中,系統又會作一次型別轉換,將數字的2431轉成字串的2431,放入變數C。

所有的這類型別轉換過程,是由電腦系統自動進行的,這個部分我們稱之為型別的『隱含轉換』。隱含轉換在程式碼中不需要任何特殊語法,由系統自動進行。

slide50

CDate(…)為轉換函式,明確的把字串型別的變數A和B,轉換成日期格式CDate(…)為轉換函式,明確的把字串型別的變數A和B,轉換成日期格式

*DateDiff 函式可以計算出兩個日期之間的差

變數的型別轉換
slide51
變數的命名規則
  • 以英文字母開頭
  • 僅能由字母、數字或底線組成
  • 變數名長度不能超過255字元

變數名稱的大小寫在VB中並無不同,名稱最好能夠看出其意義,您可以用底下這樣的方式來命名:

  • 透過大小寫可以讓變數的命名更有規則性和閱讀性,在微軟的.NET Framework中,命名的方式均符合底下這兩種慣例(之一):
  • Pascal 命名法的大小寫慣例
  • 名稱的第一個字母和每個隨後單字的第一個字母都是大寫的。
  • 例如:BackColor
  • Camel 命名法的大小寫慣例
  • 名稱的第一個字母是小寫的,而每個隨後單字的第一個字母是大寫的。
  • 例如:backColor
demo datasource dropdownlist6
Demo-dataSource與DropDownList

習題

  • 運算式 10 Mod 3 * 2 ^ 4 + 4 / 2 的結果為?

C=“123”+4 D=123 & 4

運算執行後,C 和 D的結果分別為?

demo datasource dropdownlist7
Demo-dataSource與DropDownList

習題

  • 請轉為電腦運算式

1. (2+A)(16-A)

2.

3.

demo datasource dropdownlist8
Demo-dataSource與DropDownList

習題

  • 請判斷底下的變數名稱何者正確:
  • !Eric
  • _Account
  • User_Name
  • User@Address
  • @cc
  • ?Acc
  • A*
  • Z
  • #AC
  • C( )
  • ~A
demo datasource dropdownlist9
Demo-dataSource與DropDownList

習題

          • 計算出BMI
  • 請撰寫一個程式,要求使用者輸入身高體重,並且計算BMI值。
  • BMI指的是『身高體重指數』(又稱身體質量指數,英文為Body Mass Index,簡稱BMI)是一個計算值,主要用於統計用途。
  • 其公式如下:
  • h = 身高,單位:米;
  • w = 體重,單位:公斤;
slide57
流程控制
  • 為何需要流程控制?
  • 流程控制指令的介紹
  • 條件判斷
  • 迴圈
  • 陣列
slide58
流程控制

為何需要流程控制

  在程式設計當中,有一個很重要的概念。我們撰寫的程式需要利用電腦強大的運算能力,來重複且大量的進行資訊處理或計算等功能。因為要重複處理,且需要進行判斷,因此『流程控制』相關的指令碼就出現了。

  任何一種程式設計語言,都提供豐富的流程控制功能,而且每一種語言的流程控制指令碼的長相都差不多,這也是因為程式設計經過了長時間的演進與改良,現在幾乎每一種程式設計語言(C#、Java、C、C++),都會具備底下我們將介紹的幾種流程控制方式。

demo datasource dropdownlist11
Demo-dataSource與DropDownList

CH03

If, Select, try…

slide60
流程控制

條件判斷敘述 If…Then

condition通常是一個布林(Boolean)運算式,但它也可以是任何計算結果為數字的運算式。 Visual Basic 2005將會把這個數值解譯為 True 或 False;一個為零的數值會被視為False,而任何非零數值都被看作 True。若 condition為 True,則 Visual Basic 會執行 Then 關鍵字後面的所有指令碼(statements);反之,則執行Else後面的指令碼(statements)。

slide64
流程控制

條件判斷敘述 Select…Case

  如果 test expression符合任何 Case expression 子句,即會執行接在該 Case後的陳述式(statements),直到下一個Case關鍵字或是End Select陳述式。如果 test expression 符合一個以上的 Case 子句,則程式只會執行接在第一個符合條件者之後的陳述式,然後就跳離Select Case。如果在每一個Case 陳述式之間找不到符合條件者,則Case Else陳述式後面的程式碼會被執行。

slide65
流程控制

條件判斷敘述 Select…Case

另外,您可在每一Case子句中使用多個運算式或範圍。

例如,下列這樣的Case程式碼是有效的:

slide66
流程控制

利用Select Case的寫法,在條件的陳述方面看起來簡潔多了,不會像If…Then…Else一樣,必須在「大於、小於、等於」或「And、Or…」等符號之間游走,也很容易忘記自己寫到哪裡去…。

slide67
流程控制

讓使用者輸入月份,透過Select Case判斷屬於哪一種季節

slide68
流程控制

Select Case 中幾種錯誤的寫法

必須由小而大

執行後跳離Select Case

slide69
流程控制

Select Case 與 If … Then之差異

slide70
流程控制

Select Case 與 If … Then之差異

If…Then

Select Case

slide71
流程控制

巢狀式的判斷敘述

slide72
流程控制

Try…Catch錯誤處理

Try…Catch是用來在程式中進行防止錯誤的處理,每一個程式在執行階段,都可能發生無法預期的錯誤,如果在程式發生錯誤時,能夠進行最後的狀態記錄,或是在程式終止(當掉)之前,將尚未儲存的資料進行儲存,對程式的使用者將更有保障。

slide73
流程控制

如果程式發生錯誤,才會執行到這段

slide75
流程控制

For …Next迴圈

  在For和Next兩個關鍵字中的程式碼,會被重複的執行,但執行的次數會依照變數counter來決定。而變數將會從start開始到end,每次遞增step。

  在重複執行For…Next迴圈中的程式碼時,變數『counter』將會每此被替換成不同的值。

slide76
流程控制

被重複執行12次,每次變數i的值都有所不同

在這個迴圈當中,我們設定了一個I變數,型別為整數,數值會從1開始持續累積到12。(也就是超過12時,就會跳出迴圈)

slide77
流程控制

巢狀迴圈

在這個迴圈當中,我們設定了一個I變數,型別為整數,數值會從1開始持續累積到12。(也就是超過12時,就會跳出迴圈)

slide78
流程控制

利用Exit For允許中途離席(請注意,Exit For一定會出現在判斷式之後)

slide80
陣列機制

陣列,是一組在記憶體中連續存放的邏輯相關值,您可以將其視為一連串同樣名稱的變數。

例如,底下這個陣列,可以用來存放某個班級當中,每位學生的身高:

您可能會覺得奇怪,既然已經有變數可以運用,為何還需要陣列呢?

陣列的第一個使用時機在於:『當您為了一個工作而需要重複定義多個變數時』。

slide81
陣列機制

建立了一個陣列

可以用For Each迴圈,列舉出所有陣列的值

sum=sum/12

slide82
陣列機制

陣列的建立與使用

在Visual Basic 2005中,陣列可以宣告成任何型別,宣告的方式只需要在自訂的陣列名稱後面加上小括弧即可:

slide83
陣列機制

names陣列裡兩個元素的值都設成「VB」

scores陣列裡的四個元素,則依順序設成「0,1,2,3」

slide84
陣列機制

陣列的維度

在Visual Basic 2005當中,您可以透過底下的語法,定義一個二維陣列:

透過上面這樣的宣告,可以定義出如同底下的陣列結構:

二維陣列表示該陣列可以有兩個索引,例如A(0,0)表示第一個學生的身高,而A(1,0)則表示第一個學生的體重。以這個方式類推,A(1,8)則表示第9個學生的體重。

slide85

這迴圈,要求使用者輸入資料,我們透過Console.ReadLine,讀取使用者輸入的資料並存放到陣列中。這迴圈,要求使用者輸入資料,我們透過Console.ReadLine,讀取使用者輸入的資料並存放到陣列中。

陣列機制

您會發現,剛才我們定義的陣列當中,A(n,2)這個元素都完全沒有被使用到 !

slide86
陣列機制

我們透過一個迴圈,將每位同學的BMI計算出來,並且儲存到A(n,2)這個陣列的元素當中

接著,我們再透過另一個迴圈,將每位同學的資料顯示出來。

BMI指的是『身高體重指數』(又稱身體質量指數,英文為Body Mass Index,簡稱BMI)是一個計算值,主要用於統計用途。

其公式為:

h = 身高,單位:米;

w = 體重,單位:公斤;

slide87
陣列機制

執行結果如下:

slide88
陣列機制

陣列相關函式

動態變更陣列長度

  • 使用『ReDim』有幾個注意事項:
  • ReDim時,就必須要給定陣列的長度。
  • ReDim後,陣列不需要(也不可以)再宣告一次陣列型別。
  • ReDim後,陣列裡面所有的元素會通通消失,除非加上Preserve關鍵字。
do while
Do…While迴圈機制

Do…Loop與For…Next類似,都是運用在處理重複運算的迴圈,只是迴圈結束條件的方式略有不同。

Do…Loop的架構 如下:

condition是判斷條件,當程式碼進入Do…Loop迴圈之後,會一直執行,每次執行時都會判斷condition條件是否成立,但是依照語法的不同,有幾種不同的可能…

do while1
Do…While迴圈機制

四種語法分別如下:

do while2
Do…While迴圈機制

Do While的應用:

程式會讓使用者輸入一個數字並找到這個數字最接近10000的倍數(最接近10000,但不能超過)

demo datasource dropdownlist15
Demo-dataSource與DropDownList

習題

  • 假設家用電費每一度是2.1元,而商業用電每一度是2.7元,請設計一個程式,讓使用者輸入電表上的度數,以及用電身分(是家用還是商業用),並依照使用者輸入的資料,計算出應繳交之電費。
  • 提示:利用If指令
demo datasource dropdownlist16
Demo-dataSource與DropDownList

習題

  • 從今年開始,由於夏天用電量吃緊,因此電力公司將採用累進制度的電費計價方式,計價方式如下表,請設計一個程式,利用Select Case 或 If 判斷指令,讓使用者輸入電表上的用電度數、用電的月份,並以一般住家用電的計費方式,計算出應繳的電費:
demo datasource dropdownlist17
Demo-dataSource與DropDownList

習題

  • 請利用巢狀迴圈,設計出一個如下圖的九九乘法表:
demo datasource dropdownlist18
Demo-dataSource與DropDownList

習題

  • 建立一個程式,讓使用者輸入開始和結束數字,並且找出其中的質數(除了1和自己之外無法整除的數)
  • 提示:利用for與if
demo datasource dropdownlist19
Demo-dataSource與DropDownList

習題

  • 建立一個程式,讓使用者輸入班上所有學員的考試成績(0-100),並且計算出平均分數,最後列出考試成績優於平均分數的學生。
  • 提示:利用陣列機制
demo datasource dropdownlist20
Demo-dataSource與DropDownList

習題

  • 請建立一段密碼判斷的程式,利用Console.ReadLine要求使用者輸入密碼(密碼可事先以字串定義好,例如Dim Pwd As String=”12345”),以Do…Loop迴圈判斷使用者輸入的密碼是否正確,若密碼錯誤,則要求使用者重新輸入,直到使用者輸入正確的密碼為止。
  • 若密碼正確,則跳離Do…Loop迴圈,顯示出『歡迎進入系統』。