2021年10月27日 星期三

《【禪隱者】、【Visual Basic 2010 通識】》

 


Visual Studio 2010 Ultimate Free Download

https://onesoftwares.net/visual-studio-2010-ultimate-free-download/


101 VB.NET Samples download

https://101-vb-net-samples.software.informer.com/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


沒有留言:

張貼留言