《【禪隱者】、【Visual Basic 2010 通識】》
Visual Studio 2010 Ultimate Free Download
101 VB.NET Samples download
Vb.net 程式語法:
Vb.net的資料形態:
變數
(1) 變數的宣告: 變數的宣告為暫時儲存資料的空間供程式使用
=> 變數必須以字母或為開頭
=> 變數僅為字母數字及底線字
=> 不可visual basic 使用關鍵字
=> 不可在同一範圍中有相同的變數名稱
(2) 變數的宣告:
=> asp.net 中變數必須宣告才可使用 (asp 可不用宣告)
語法:
Dim 變數名稱[,變數名稱…..] as 資料型態〔=初值 〕
=>(asp 只有一種資料型態故以 dim變數名稱)
例:
Dim i
Dim I as integer
Dim I,j as integer
Dim I as integer=1,j as integer=12
Dim I,j as integer
(3) vb.net 不區分大小寫
(4) vb.net 注解 以 單引號 ’ 開始
(5) vb.net 宣告變數時可設定初值
(6) vb.net宣告變數時未設定初值 若為物件初值為empty若為外部整數為0
若為外部整數為為empty
Option 宣告:
1. 共有三種 option 宣告
a) 明確宣告: 要求所有的變數使用之前必須宣告
b) 嚴格宣告: 要求所有的變數的宣告必須宣告資料型態
c) 比較宣告: 作字串比較時選用binary 或是text比較
2. 所有的option 宣告必須在其它敘述及 imports之前
3. option explicit, option strict ,option text
4. option explicit / on|off ,option strict /on|off, option compare / binary|text
5. option 宣告不可使用於單一檔案中
範例: (code behide)
Option Explicit On
Option Strict On
Option Compare Text
Imports System
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim x as integer
End Sub
End Class
資料型態: 1. 基本資料型態=>數值與非數值 2. 組合資料型態: 陣列,結構,類別, 例舉常數
基本資料型態: 數值: 1. 整數 2. 浮點數 3. 字串 4. 其它
資料型態: .net 型別 說明
Byte(整) System.byte 1 byte(0~255)
sbyte System.sbyte 1 byte(-128~127)
short System.int16 2-byte(-32768~32767
ushort System.uint16 2-byte(0~32767)
Integer System.int32 4-byte
Uinteger System.uint32 4-byte
Long System.int64 8-byte
Ulong System.uint64 8=byte
Single(浮點有號) System.single 4-byte
Double System.double 8-byte
Decimal System.decimal 16-byte
Date System.datetime 8-byte(1/1/1~9999/12/31)#...#
Boolean System.boolean 2-byte(true|false)
Object System.object 4-byte(可為類別或是介面)
String System.string “ ” , 可放至2的31次方
Char System.char “”c, unicode字元2-byte
# 資料型態的預設初始化的值:
String = nothing
數值=0
Boolean=false
Date=1/1/1 0:0:0
Object= nothing
# 不指定的資料型態的變數為object(執行效果差)#整數執行效果比較好,decimal 精確度教高
#強制型別的轉換
#自動型別的轉換
範例:
Dim y As Byte = 12
Dim y1 As SByte = 110
Dim x As Integer
Dim x1 As ULong
Dim x2 As UShort
Dim x3 As Single = 1.0E+23
Dim x4 As Double = 1
Dim x5 As Double = 1.23
Dim x6 As Decimal = 12
Dim x7 As Date = #1/2/0003#
Dim x8 As String = "ccck"
Dim x9 As Char = "a"c
Dim x10 As Boolean = False
Dim x11 As Object
Dim xx As Integer = CInt(1.23)
Dim xx1 As Integer = 1
Dim xx2 As String = 1 & "xx2"
Vb.net 的特殊符號
:
1. 冒號 : => 合併敘述,將兩行敘述合併為一行
2. 單引號 ‘ => 注解
3. 雙引號 “ => 字串符號
4. & =>字串連接符號
5. _ =>行接序符號
6. 點運算子 . => 物件與屬性從屬符號
7. 算數運算子= > +, - , * , / ,\ ,mod , ^
8. 算術指定運算子 => +=, -=, *=, /= , \=
9. 比較運算子=> >, <, >= ,<= ,= , <>
陣列:
1. 為一相同資料型態所組成的組合資料
2. 可將此組合資料形成多維
3. asp.net中宣告陣列可設定初值
4. asp.net中宣告陣列其元素索引值從0 開始至 陣列末值
5. asp.net 的宣告陣列亦可以以物件的方式宣告
陣列宣告的格式:
一維陣列:
(1) dim 陣列名稱() as 資料型態 = {初值列,…..}
Dim陣列名稱(陣列索引末值) as 資料型態
dim 陣列名稱() as 資料型態 =new資料型態( ){初值列,…..}
dim 陣列名稱() as 資料型態 =new資料型態(陣列索引末值){初值列,…..}
二維陣列:
(1) dim 陣列名稱(,) as 資料型態 = {{初值列},{….}.}
Dim陣列名稱(列索引末值, 行索引末值) as 資料型態
dim 陣列名稱() as 資料型態 =new資料型態( ){{初值列} , {…..},..}
dim 陣列名稱() as 資料型態 =new資料型態(列索引末值, 行索引末值){{初值列},{….},.}
三維陣列:
(1) dim 陣列名稱() as 資料型態 = {{{初值列},{….},{...}}}
Dim陣列名稱(深度索引末值, 列索引末值, 行索引末值) as 資料型態
dim 陣列名稱() as 資料型態 =new資料型態( ) {{{初值列},{….},{...}}}
dim 陣列名稱() as 資料型態 =new資料型態(深度索引末值, 列索引末值, 行索引末值) {{{初值列},{….},{...}}}
範例
Dim arr(2) As Integer
Dim arr1() As Integer = {1, 2, 3}
Dim arr2(1, 2) As Integer
Dim arr3(,) As Integer = {{1}, {2}}
Dim arr4(1, 2, 3) As Integer
Dim arr5(,) As Integer = {{1, 2}, {3, 4}}
Dim arr6(,,) As Integer = {{{1}, {2}}, {{3}, {4}}}
Dim arr7() As Integer = New Integer() {1, 2, 3}
Dim arr77() as integer=new integer(2){1,2,3}
Dim arr8(,) As Integer = New Integer(,) {{1, 2}, {3, 4}}
Dim arr9(,,) As Integer = New Integer(,,) {{{1}, {2}}, {{3}, {4}}}
集合物件:
1. 物件組合形成集合物件
2. vb中可使用 arraylist 的類別建立一集合物件
3. 建立一集合物件
Dim 物件變數 as new arraylist
4. 集合物件常用的方法及屬性 add,clear,remove,insert,count,item,sort
5. 一般可用for each迴圈處理
範例
Dim custlist As New ArrayList
custlist.Add(1)
custlist.Add(1.23)
custlist.Add("a")
Response.Write(custlist(0))
Response.Write(custlist(1))
Response.Write(custlist.Item(2).ToString)
Dim i As Integer
For i = 0 To custlist.Count - 1
Response.Write(custlist(i))
Next
Dim ele As Object
For Each ele In custlist
Response.Write(ele.ToString)
Next
陣列及集合物件
1. 陣列亦為一集合物件亦可使用集合物件方式處理
2. 陣列除了使用回圈處理亦可使用for each 的結構
範例
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim arr() As Integer = {1, 2, 3}
For Each ele As Integer In arr
Response.Write(ele)
Next
Dim arr2(,) As Integer = New Integer(1, 1) {{1, 2}, {3, 4}}
For Each ele As Integer In arr2
Response.Write(ele)
Next
End Sub
組合資料型態(不同的資料型態):
結構 structure:
a) 一般為靜態的資料組合,建立一結構變數
b) 資料成員預設為一public 存取層級
c) 資料成員宣告與一般變數宣告一樣
d) 存取結構的成員資料使用點運算子
e) 結構可形成巢狀結構
結構宣告:
=>
Structure 結構名稱
資料成員1
資料成員2
Dim 變數名稱 as 資料型態
….
End structure
結構變數的宣告:
=>
Dim 結構變數名稱 as [new] 結構資料型態
範例1:
Structure man
Dim age As Integer
Dim weight As Integer
Dim height As Integer
Dim name As String
End Structure
Protected Sub page_load(ByVal sender As Object, ByVal e As System.EventArgs) Handles mybase.load
Dim redman As man
redman.age = 1 : redman.weight = 2 : redman.height = 3 : redman.name = "chiang"
Response.Write(redman.age & redman.weight & redman.height & redman.name)
End Sub
範例1:
structure person
Dim blueman As man
End Structure
……
Dim blueperson As person
blueperson.blueman.show(1)
Response.Write(blueperson.blueman.age)
………
類別(class): 物件的模板,亦為一資料組合型態其類別成員除為靜態的資料組合外亦包括方法
a) 成員一般為靜態的資料物件的方法,建立一物件實體才可參照成員
b) 資料成員預設為一private 存取層級
c) 靜態資料成員宣告與一般變數宣告一樣 ,方法為一sub 或是function程序
d) 存取物件的成員使用點運算子
e) 類別可形成巢狀結構或複合結構
類別宣告:
=>
class 結構名稱
資料成員1
資料成員2
Dim 變數名稱 as 資料型態
Public sub 方法名稱(arglist….)
…
End sub
….
End class
範例
Class man
Public age As Integer
Public weight As Integer
Public height As Integer
Public name As String
Public Sub show(ByVal x As Integer)
age = age + 212100
End Sub
End Class
class person
Dim blueman As new man
End class
物件實體的建立與成員的引用:
=>
Dim 結構變數名稱 as new 結構資料型態
=web form. 無法使用動態新增控制項物件及web form
=> 因web form 是由html描述邏輯程式的物件類別由.net frame compile
=> 書出結果會在檔案的最前面
=> dim obj as new system.web.ui.button
Me.controls.add(obj)
Dim obj1 as new system.web.ui.page
Obj1.show( 不支援)
範例
Protected Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Dim redman As New man
redman.age = 1 : redman.weight = 2 : redman.height = 3 : redman.name = "chiang"
redman.show(12)
Response.Write(redman.age & redman.weight & redman.height & redman.name)
Dim blueperson As New person
blueperson.blueman.show(1)
Response.Write(blueperson.blueman.age)
End Sub
Vb.net事件回應程式:(page_load,page_init)
1. asp.net的事件回應程序必須為一sub 程序
2. 可作為asp.net的sub 程序必須至少包含兩個以上參數
3. 事件程序的呼叫( invoke)可利用handles
4. 事件回應程式名稱可自訂
5. page_load事件於單檔案編輯中可可不用使用事件屬性
web form 的常用的page(網頁)事件
1. page_load
2. page_preload
3. page_loadcomplete
4. page_init
5. page_preinti
6. page_initcomplete
#執行順序 page_preinit=>page_init=>page_initcomplete=>page_preload=>page_load=>page_loadcomplete
#一般網頁少使用網頁結束事件
Web_form的常用的form(網頁)事件
1. form1_init
2. form1_load
#執行順序 form_init會在 page的事件之前 form_load 會在 page的事件之後
範例:
1.
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
Response.Write("pinit")
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.Write("pload")
End Sub
Protected Sub form1_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Init
Response.Write("finit")
End Sub
Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
Response.Write("fload")
End Sub
End Class
# form1_init=> page_init => form1_load =>page_load
Vb.net 的顯式程式輸出,
ð Response.write(輸出字串)
ð 於asp.net中一般使用 literal 代替 response.write
ð 輸出字串置放於最client網頁的最前端 (asp.net程式碼會最先執行)
Web form 回貼的動作 及 ispostback 屬性
範例位址介紹:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Samples\1033\VBSamples.zip
星期四 2021年十月28日 上午 01:28:01
沒有留言:
張貼留言