第2章 Visual Basic語法的ASP.NET程式

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

6 C#語言與Razor語法 6-1 C#語言與Razor語法 6-2 C#語言的基本撰寫規格 6-3 變數與資料型態 6-4 運算子
第4章 VB.NET程式與 網頁製作的應用 主講人: 姚奉緒 M
08 CSS 基本語法 8-1 CSS 的演進 8-2 CSS 樣式規則與選擇器 8-3 連結HTML 文件與CSS 樣式表
第4章 流程控制結構 4-1 結構化程式設計 4-2 程式區塊 4-3 簡單的條件控制敘述 4-4 巢狀條件敘述 4-5 多選一條件敘述
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
C 語言簡介 - 1.
Ch03 VB.NET語法建立ASP.NET 網頁程式設計.
Chapter 5 迴圈.
BLANK overview.
第19章 VBA程式設計 19-1 VBA的基礎 19-2 建立VBA程式 19-3 VBA的程序與函數 19-4 VBA的變數與資料型態
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
Visual Basic 2010 程式設計16堂特訓 第七堂 VB的迴圈流程控制.
第3章 變數與運算子 3-1 電腦記憶體的基礎 3-2 變數的命名與宣告 3-3 VB.NET的資料型別
Visual C++ introduction
簡易C++除錯技巧 長庚大學機械系
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
第10章 陣列與清單控制項.
客戶端的檔案上傳 HtmlInputFile檔案控制項 上傳單一檔案 同時上傳多個檔案.
保留字與識別字.
Java程式概觀.
ASP动态网页设计实用教程 主讲教师: 开课单位:.
C語言簡介 日期 : 2018/12/2.
類別(class) 類別class與物件object.
SQL Stored Procedure SQL 預存程序.
Access VBA程序设计 本章重点 Access Basic编程语言 运算符、函数与表达式 Access Basic语句 模块的使用
第4章 程序控制结构与算法基础.
第6章 迴圈結構 6-1 計數迴圈 6-2 條件迴圈 6-3 巢狀迴圈 6-4 While/End While迴圈 6-5 跳出與繼續迴圈
安裝JDK 安裝Eclipse Eclipse 中文化
網頁切換移轉 JS vs. ASP.NET.
Ch05 VB.NET的程序與函數 網頁程式設計.
第7章 程序與函數 7-1 模組化程式設計 7-2 程序與函數 7-3 程序與函數的變數範圍 7-4 常用的內建函數 7-5 遞迴函數.
第12章 VBA模块设计.
第3 章 VBScript的控制结构.
Java 程式設計 講師:FrankLin.
網頁切換移轉 JS vs. ASP.NET.
JAVA 程式設計與資料結構 第四章 陣列、字串與數學物件.
第一單元 建立java 程式.
VS.NET 2003 IDE.
網頁程式設計 本章投影片錄自HTML5、CSS3、RWD、jQuery Mobile跨裝網頁設計 陳惠貞 著 碁峰資訊股份有限公司出版
陣列(Array).
Pocket Access.
第 19 章 XML記憶體執行模式.
第5章 變數、常數與資料型態 [我的主控台程式]
小结 郭清溥.
Ch04 VB.NET的流程控制 網頁程式設計.
輸入&輸出 函數 P20~P21.
ASP基礎— VBScript基本語法 張森.
表格(HTML – FORM).
CH05. 選擇敘述.
期末考.
挑戰C++程式語言 ──第8章 進一步談字元與字串
Class & Object 靜宜大學資工系 蔡奇偉副教授 ©2011.
C qsort.
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
MiRanda Java Interface v1.0的使用方法
函數應用(二)與自定函數.
陣列與結構.
Dreamweaver 進階網頁製作 B 許天彰.
第四章 陣列、指標與參考 4-1 物件陣列 4-2 使用物件指標 4-3 this指標 4-4 new 與 delete
網路程式-ASP 授課:方順展.
What is “this”? 在物件導向程式設計中,類別的定義就是在說明如果創建了“這個物件”的話,它會具有那些屬性與功能,以及這些功能是如何實現的。 而所謂的“這個物件”就以 this 來表示。 當我們在JavaScript與jQuery中寫 script 程式(函式)時,“誰”呼叫這個函式,這個“誰”就是該函式中所謂的.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
Develop and Build Drives by Visual C++ IDE
方法(Method) 函數.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
InputStreamReader Console Scanner
Presentation transcript:

第2章 Visual Basic語法的ASP.NET程式

2-1 Visual Basic 2005的基礎 2-1-1 微軟Visual Basic 2005 2-1-2 物件的基本觀念

2-1-1 微軟Visual Basic 2005 等到2005年底推出.NET Framework 2.0版和Visual Studio 2005,Visual Basic語言也更名為最新版本Visual Basic 2005。 在新版Visual Basic 2005支援無符號資料型態、Continue敘述和IsNot運算子,在物件導向部分支援運算子過載(Operator Overloading)和泛型程式設計(Generics Programming)等。 它是建立ASP.NET 2.0版預設的腳本語言,所以本書是使用Visual Basic 2005語法來建立ASP.NET 2.0版的Web應用程式。

2-1-2 物件的基本觀念-物件 物件(Objects) 物件為物件導向程式的基礎,簡單的說物件是資料(Data)和包含處理資料函式(稱為方法)的綜合體。 「類別」(Class)可以定義物件,使用類別建立物件,在建立好物件後,並不用考慮物件內部的處理方式,只需知道提供的屬性和方法和如何使用,就可以使用這些物件。

2-1-2 物件的基本觀念-屬性 屬性(Properties) 物件的屬性是物件的性質和狀態,例如:Response物件的ContentType屬性,String物件的Length屬性可以取得字串長度等。

2-1-2 物件的基本觀念-方法 方法(Methods) 方法是物件的處理函數,例如:Response物件擁有的方法,如下所示: Response.Write() Response.Redirect()

2-1-2 物件的基本觀念-事件 事件(Events) 「事件」(Event)是在執行應用程式時,初始化、滑鼠或鍵盤等操作所觸發的一些動作。物件可以建立程序來處理指定的事件,例如:Page物件的Load事件,我們可以建立處理此事件的程序,如下所示: Sub Page_Load(Sender As Object, E As Eventargs) ……. End Sub

2-1-2 物件的基本觀念-集合物件 集合物件(Collections) 集合物件如同此名是一組物件的集合,例如:Response物件的集合物件Cookies(通常是使用屬性來取得此集合物件),如下所示: Response.Cookies("name").Value

2-2 ASP.NET程式的基本架構 2-2-1 建立ASP.NET程式 2-2-2 Visual Basic程式的基本撰寫規格

2-2-1 建立ASP.NET程式-說明 ASP.NET可以將程式碼內嵌在HTML或XHTML文件的標籤中,也就是將Visual Basic程式碼置於「<%」和「%>」符號之間,如下所示: <%………%> 在上述符號間是合法的Visual Basic程式片斷,如果HTML文件擁有上述程式碼,就表示是一頁ASP.NET程式,副檔名為.aspx。

2-2-1 建立ASP.NET程式-執行過程 ASP.NET程式的執行過程是將程式碼編譯執行後,將執行結果傳回瀏覽程式顯示(只有第1次請求ASP.NET程式時,才會進行編譯,之後的請求會直接傳回執行結果,來加速網頁瀏覽效率)。其執行過程如下圖所示:

2-2-1 建立ASP.NET程式-範例 01: <%@ Page Language="VB" %> 02: <html> 03: <head><title>Ch2-2-1.aspx</title></head> 04: <body> 05: <% ' 變數宣告 06: Dim fontSize1,fontSize2, i As Integer 07: fontSize1 = 3 08: fontSize2 = 5 09: ' 設定字型尺寸由小變大 10: For i = fontSize1 To fontSize2 %> 11: <font size=<%=i%>> 12: <p>第一個ASP.NET 2.0程式</p> 13: <% Next 14: Response.Write("大家好!") 15: %> 16: </body> 17: </html>

2-2-1 建立ASP.NET程式-儲存 ASP.NET程式的副檔名【.aspx】,ASP則是【.asp】。當使用Windows【記事本】編輯ASP.NET程式時,其預設儲存的副檔名為【.txt】文字檔案。 請在【存檔類型】選【所有檔案】,【檔案名稱】欄輸入檔案全名,即含副檔名,以此例為【Ch2-2-1.aspx】,按【儲存】鈕儲存成ASP.NET程式檔案。 在Visual Web Developer開啟Web網站【Ch02】後,就可以參考第1-6-3節新增名為【Ch2-2-1.aspx】的ASP.NET程式。

2-2-1 建立ASP.NET程式-測試執行1 ASP.NET程式需要公佈到Web伺服器後才能執行預覽,請將「Ch02」資料夾建立成虛擬目錄。然後啟動Internet Explorer,在【網址】欄輸入URL網址,如下所示: http://localhost/Ch02/Ch2-2-1.aspx

2-2-1 建立ASP.NET程式-測試執行2 在Visual Web Developer開啟「Ch02」Web網站後,按二下Ch2-2-1.aspx就可以編輯ASP.NET程式碼。 請執行「檔案/在瀏覽器中檢視」指令,就可以預覽ASP.NET程式的執行結果。

2-2-2 Visual Basic程式的基本撰寫規格-命名規則 在程式碼除了語言的「關鍵字」(Keywords)外,大部分都是程式設計者自訂的元素名稱,稱為「識別字」(Identifier)。Visual Basic的命名原則,如下所示: 不可使用Visual Basic的關鍵字或系統的物件名稱。 必須是英文字母或底線「_」開頭,如果以底線開頭,至少需要一個英文字母或數字。 名稱長度不可超過16383個字元,不區分英文大小寫,abc和ABC代表同一個名稱。 名稱中間不能有句點「.」或空白,只能是英文字母、數字和底線。 在宣告的有效範圍內須唯一,關於有效範圍的說明,請參閱本章後的程序和函數。

2-2-2 Visual Basic程式的基本撰寫規格-Visual Basic的註解 程式註解是程式設計上很重要的部分,良好註解不但能夠輕易了解程式目的,在維護上,也可以提供更多資訊。 Visual Basic程式的註解是以REM指令或「’」符號開始的列,或程式列上此符號之後的內容,如下所示: REM 變數的宣告 ' 大家好 Dim size1,size2 As Integer ' 變數的宣告

2-2-2 Visual Basic程式的基本撰寫規格-對於太長的程式碼 Dim size1,size2,size3,size4,size5 _ ,size6,size7,size8,size9 As Integer

2-2-2 Visual Basic程式的基本撰寫規格-註解規則 程序和重要變數宣告前最好使用註解文字來說明其用途,對於每一個程序或函數的註解,如下表所示:

2-2-2 Visual Basic程式的基本撰寫規格-程式碼格式和縮排原則 記得使用縮排來編排程式碼,如此可以輕鬆展示程式碼的邏輯和迴路架構,例如:迴路區塊的程式碼縮幾格編排,如下所示: For i = 1 To 10 Step 1 total = total + i Next

2-3 Visual Basic的變數與資料型態 2-3-1 變數的資料型態 2-3-2 變數、常數宣告與指定敘述 2-3-3 陣列

2-3-1 變數的資料型態-說明 Visual Basic變數並沒有強調一定需要宣告資料型態,如果沒有宣告資料型態,預設資料型態是Object。 Object是所有Visual Basic資料型態的根資料型態,如果變數是Object資料型態,表示此變數可以儲存各種資料型態的資料。

2-3-1 變數的資料型態-Visual Basic的資料型態1

2-3-1 變數的資料型態-Visual Basic的資料型態2

2-3-1 變數的資料型態-Visual Basic的資料型態3

2-3-2 變數、常數宣告與指定敘述-變數宣告1 Visual Basic變數是使用【Dim】指令進行宣告,如下所示: Dim size 程式碼宣告變數size,因為沒有指定資料型態,預設資料型態為Object,可以用來儲存各種資料型態的值。在宣告變數時,可以使用As關鍵字來指定使用的資料型態,如下所示: Dim size1,size2 As Integer 程式碼宣告2個整數Integer資料型態的變數。

2-3-2 變數、常數宣告與指定敘述-變數宣告2 如果同一列宣告的2個變數是不同資料型態,也可以分別指定資料型態,如下所示: Dim name As String,size3 As Integer 程式碼宣告2個變數,一為字串,一為整數型態。如果需要,還可以在宣告時,同時指定變數初值,如下所示: Dim name As String ,size3 As Integer=100

2-3-2 變數、常數宣告與指定敘述-常數宣告 常數在程式碼中,只是使用名稱來取代固定數值或字串,與其將常數視為變數,不如說它是名稱轉換,將一些數值的值,使用有意義的名稱來取代。 Visual Basic本身擁有一些內建常數,不過,使用者可以使用Const關鍵字來建立常數,常數在宣告時,同時需要指定其值,如下所示: Const MAX_SIZE = 100

2-3-2 變數、常數宣告與指定敘述-指定敘述 Visual Basic變數可以使用指定敘述來更改變數值,也就是「=」等號運算子,如下所示: size = 3 name = "陳會安" 上述程式碼指定變數值,2個變數分別是宣告成整數和字串型態的變數。

2-3-3 陣列-說明 陣列是一組變數,如果程式需要使用多個相同資料型態的變數時,就可以直接宣告一組變數的陣列,而不用宣告一堆變數。 陣列是使用陣列索引來存取指定陣列元素的值。

2-3-3 陣列-宣告一維陣列 Visual Basic的陣列同樣是使用【Dim】指令宣告,我們可以在宣告時同時指定陣列尺寸。例如:一維整數陣列的宣告,如下所示: Dim size(2) As Integer Dim num(0 To 2) As Integer 程式碼宣告2個一維陣列,括號值是陣列的最大索引,也可以指定最小索引值0 To 2。 因為索引值是從0開始,所以索引值是0~2共有3個元素。在宣告陣列時,可以指定陣列初值,如下所示: Dim size() As Integer = {3, 7, 5} 程式碼宣告的一維陣列size並沒有指定尺寸,其尺寸是後方初值的個數。陣列索引的最大值是初值個數減一,也就是2。

2-3-3 陣列-存取一維陣列 如果陣列沒有指定初值,還可以使用指定敘述來指定陣列值,如下所示: num(0) = 3 num(1) = 7 num(2) = 5 程式碼是使用指定敘述和陣列索引值,來指定陣列元素的值,取出陣列值的程式碼,如下所示: Dim value As Integer value = num(1)

2-3-3 陣列-二維陣列 同樣的方法,可以宣告多維陣列,如下所示: 程式碼宣告6x6的二維陣列,使用逗號分隔的是各維陣列的尺寸。 Dim arraySize(5, 5) As Integer 程式碼宣告6x6的二維陣列,使用逗號分隔的是各維陣列的尺寸。

2-3-3 陣列-動態陣列 Visual Basic的陣列可以使用【ReDim】指令,在程式執行時重新指定尺寸,不過,ReDim指令並不可以宣告陣列,只能更改現有陣列的尺寸,如下所示: ReDim size(4) 程式碼將前面宣告的size陣列尺寸改為4。如果陣列已經擁有內容,可以使用Preserve指令保留原陣列內容,如下所示: ReDim Preserve size(4)

2-4 Visual Basic的運算子 2-4-1 運算子的優先順序 2-4-2 算術與字串連結運算子 2-4-3 比較運算子 2-4-4 邏輯運算子 2-4-5 指定運算子

2-4 Visual Basic的運算子 在Visual Basic指定敘述的等號右邊,可以是運算式或條件運算式,運算式是由運算子和運算元組成。Visual Basic提供完整算術、比較、連結和邏輯運算子,如下所示: A + B – 1 A >= B A < B And A > 1 上述運算式的變數A、B和數值1是運算元,+、-、<、>=和>為運算子。

2-4-1 運算子的優先順序 如果運算子沒有優先順序的差異,運算式依照出現的順序,由左到右依序執行。 括號內比括號外的先執行,括號的目的是推翻現有優先順序,在括號內仍然依照正常的優先順序來執行運算。 當運算式擁有多種運算子時,算術運算子最先,接著是比較運算子,最後才是邏輯運算子,其優先順序如下所示: 算術運算子 > 比較運算子 > 邏輯運算子 比較運算子都擁有相同的優先順序。 算術運算子的加和減法優先順序相同,乘和除法擁有相同的優先順序,不過乘除高於加減,如下所示: ^指數 > (-)負號 > */乘除 > \整數除法 > Mod餘數 > +-加減 > & 邏輯運算子的優先順序,如下所示: Not > And, AndAlso > Or, OrElse, Xor

2-4-2 算術與字串連結運算子 Visual Basic字串連結運算子「&」的優先順序是在算術運算子後,但是在比較運算子之前,如下表所示:

2-4-3 比較運算子 比較運算子沒有優先順序分別,Is和IsNot運算子並非比較物件,而是檢查2個物件是否指向相同物件,或不是指向相同物件,如下表所示:

2-4-4 邏輯運算子-說明 Visual Basic迴路和條件敘述的判斷條件如果不只一個,可以使用邏輯運算子連結多個條件運算式,以便建立出複雜的判斷條件,如下表所示:

2-4-4 邏輯運算子-範例 對於複雜的條件運算式,可以使用邏輯運算子來連結。一些實際的運算式範例,如下表所示:

2-4-5 指定運算子 指定運算子除了使用在指定敘述「=」外,還可以配合其他運算子來簡化運算式,建立簡潔的算術運算式,如下表所示:

2-5 Visual Basic的流程控制 2-5-1 是否選和二選一 2-5-2 多選一的條件敘述 2-5-3 For/Next迴路 2-5-4 Do/While與Until/Loop迴路 2-5-5 Continue與Exit敘述

2-5 Visual Basic的流程控制-說明 一般來說,程式碼除了是一列指令接著一列指令循序的執行外,針對複雜的工作,為了達成預期的執行結果,我們還需要使用「流程控制結構」(Control Structures)來控制程式的執行。 流程控制是使用條件運算式來進行判斷,以便執行不同區塊的程式碼,或是重複執行指定區塊的程式碼。

2-5 Visual Basic的流程控制-種類 流程控制指令分成兩類,如下所示: 條件控制:條件控制是一個選擇題,可能是單一選擇或多選一,依照條件運算式的結果,決定執行哪一個區塊的程式碼。 迴路控制:迴路控制可以重複執行指定區塊的程式碼,而且在迴路中擁有結束條件,可以結束迴路的執行。

2-5-1 是否選和二選一-If/Then條件敘述 If/Then條件敘述只是決定是否執行區塊內的程式碼,如果If條件為True,就執行Then/End If間的程式碼,如下所示: If score >= 60 Then Response.Write("陳會安成績及格<br>") End If 條件如果為True,就執行其間區塊的程式碼,顯示成績及格,如果False就不執行程式碼。 如果If條件True時只會執行一列程式碼,可以省掉End If,如下所示: If score >= 60 Then Response.Write("陳小安及格<br>")

2-5-1 是否選和二選一-If/Then/Else條件敘述 我們只需加上Else指令,If條件為True時執行Then/Else間的程式碼,False執行Else/End If間的程式碼,如下所示: If score >= 60 Then Response.Write("江小魚成績及格<br>") Else Response.Write("江小魚成績不及格<br>") End If

2-5-2 多選一的條件敘述-If/Then/ElseIf條件敘述 If/Then/ElseIf條件敘述是If/Then條件敘述的擴充,只是新增ElseIf關鍵字來建立多選一條件敘述,如下所示: If dayValue = 1 Then Response.Write("星期日<br>") ElseIf dayValue = 2 Then Response.Write("星期一<br>") ……… ElseIf dayValue = 7 Then Response.Write("星期六<br>") Else Response.Write("無法分辨是星期幾<br>") End If

2-5-2 多選一的條件敘述-Select Case條件敘述 Select Case dayValue Case 1: Response.Write("周日假期<br>") Case 2, 3, 4 To 6 Response.Write("工作天<br>") Case 7: Response.Write("周末假日<br>") Case Else Response.Write("無法分辨是星期幾<br>") End Select

2-5-3 For/Next迴路-For/Step/Next迴路 For/Step/Next指令敘述執行的迴路是固定次數,以Step值來增加或減少,如果Step為1可以省略Step關鍵字。例如:使用For/Step/Next迴路,每次增加1,執行1到10次相加的迴路,如下所示: Dim i, total As Integer For i = 1 To 10 Step 1 total += i Next 程式碼是從1加到10計算總和。如果使用負數的Step,如下所示: For i = 10 To 1 Step -1

2-5-3 For/Next迴路-For Each/In/Next迴路 Dim objName As New ArrayList Dim name As String objName.Add("陳會安") objName.Add("江小魚") objName.Add("張無忌") For Each name In objName Response.Write(name & “<br>”) Next

2-5-4 Do/While與Until/Loop迴路-說明 Do迴路是執行迴路到條件為False為止,可以在迴路開始或結束使用While或Until關鍵字來測試迴路條件。 如果在迴路尾測試條件,迴路至少執行一次,請注意!Do迴路需要自己處理迴路的結束條件和計數器增減。

2-5-4 Do/While與Until/Loop迴路-While當條件成立時 Do/Loop迴路如果使用While條件,條件是在迴路開頭檢查,如下所示: Dim total As Integer = 0 Dim counter As Integer = 1 Do While counter <=10 total += counter counter += 1 Loop 迴路的變數counter是計數器,用來控制迴路執行的次數,迴路可以計算從1加到10的總和,結束條件是counter > 10。

2-5-4 Do/While與Until/Loop迴路-Until直到條件成立 Do/Loop迴路如果使用Until條件,結束條件是在迴路尾檢查,如下所示: Dim total As Integer = 0 Dim counter As Integer = 1 Do total += counter counter += 1 Loop Until counter > 10 上述迴路也是從1加到10計算總和,結束條件為counter > 10。

2-5-5 Continue與Exit敘述-1 Continue敘述是Visual Basic 2005新增的程式敘述,可以在迴路中馬上執行下一次迴路,如下所示: For counter = 0 to 100 ……… If counter Mod 2 = 0 Then Continue For Next For/Next迴路當If條件成立時,馬上執行Continue For繼續下一個迴路,換句話說,如果是偶數,就不會執行If條件之後的程式碼。Do/Loop迴路是使用Continue Do來馬上執行下一次迴路。

2-5-5 Continue與Exit敘述-2 在迴路尚未到達結束條件時,我們可以使用Exit敘述強迫跳出迴路來結束迴路的執行,如下所示: For counter = 0 to 100 If counter > 10 Then Exit For ……… Next 在For/Next迴路中,使用If條件判斷是否已經執行到10,如果是,執行Exit For敘述中斷迴路的執行。Do/Loop迴路是使用Exit Do來中斷迴路執行。

2-6 Visual Basic的程序與函數 2-6-1 程序與函數 2-6-2 變數的有效範圍與參數的傳遞

2-6-1 程序與函數-Sub副程序 Sub程序是一個程式區塊的Visual Basic程式碼,使用Sub和End Sub包圍,程序並沒有傳回值,如下所示: Sub addOne2N(maxValue As Integer) Dim total As Integer = 0 Dim counter As Integer = 1 While counter <= maxValue total += counter counter += 1 End While Response.Write("1加到" & maxValue & _ "的和: " & total & "<br>") End Sub

2-6-1 程序與函數-Function函數 Function函數是使用Function和End Function包圍,函數擁有傳回值,傳回方式是使用Return指令,如下所示: Function add2Five() Dim i, total As Integer For i = 1 To 5 Step 1 total += i Next Return total End Function

2-6-1 程序與函數- Call關鍵字呼叫程序與函數 Call關鍵字可以呼叫函數或程序,正確的說,只有在呼叫程序時,才需要使用Call,如下所示: Call addOne2N(15) addOne2N(100) 函數擁有傳回值,所以呼叫函數通常是在運算式的指定敘述右邊,如下所示: total = add2Five()

2-6-1 程序與函數-ASP.NET程式的標籤寫法 ASP.NET程式的程序與函數不能使用「<%」和「%>」符號內嵌於HTML文件,而需要使用<script>標籤,如下所示: <script Language="VB" Runat="server"> ………… </script>

2-6-2 變數的有效範圍與參數的傳遞-變數範圍 Visual Basic的迴路和條件指令程式碼都是一個個「程式區塊」(Blocks),程序與函數也是程式區塊。宣告變數的有效範圍,也就是程式碼可以存取此變數的範圍,如下所示: 區塊變數範圍(Block Scope):使用End、Loop和Next結束的流程控制屬於程式區塊,在程式區塊內宣告的變數,只能在區塊內使用,如果在區塊外就不能使用。 區域變數範圍(Local Scope):程序和函數內宣告的變數,只能在此程序或函數間使用,稱為區域變數。 全域變數範圍(Global Scope):如果變數是在程序和函數外宣告,在程式的各程序和函數都可以使用此變數,稱為全域變數。

2-6-2 變數的有效範圍與參數的傳遞-參數傳遞方式 在程序和函數傳入參數的傳遞方式分為兩種,如下所示: ByVal傳值呼叫:只將變數的值傳入程序或函數,並不會更改變數值。 ByRef傳址呼叫:將變數實際儲存的位置傳入,所以會更改變數值。 Visual Basic預設使用傳值呼叫不用加上ByVal,其實只有使用傳址時,才需要指定ByRef。

2-7 Visual Basic的錯誤處理-程式敘述 Visual Basic提供結構化的錯誤處理敘述,即Try/Catch/Finally/End Try,如下所示: Try ' 測試的錯誤程式碼 ……………… Catch e As Exception ' 錯誤處理的程式碼 Finally …………… End Try

2-7 Visual Basic的錯誤處理-程式敘述說明 Try程式區塊:在Try和Catch指令間的程式區塊是Visual Basic可能需要執行錯誤處理的程式碼。 Catch程式區塊:如果Try程式區塊的程式碼發生錯誤,在Catch到Finally指令間的程式區塊會傳入參數e的Exception例外物件,我們可以呼叫e.ToString()取得錯誤資訊字串,或是建立錯誤處理的補救程式碼。 Finally程式區塊:選擇性的程式區塊,可有可無,不論錯誤是否產生,都會執行此區塊的程式碼,通常是用來執行一些善後的程式碼,例如:關閉資料庫連結。