2017年11月21日 星期二

[ VB2010 ] - 004 基本的結構化資料型態

[ VB2010 ] - 004 基本的結構化資料型態

來源 http://www.svbr8.url.tw/Prg_Coding/VB/index_basic_guide.php

●陣列(Array)是在一個範圍大小且連續的記憶體上,邏輯上以用固定的大小分再分割為許多的小記憶體空間(元素、Element),這些記憶體使用相同的名稱再加上序號來做區隔。

●陣列結構型態:
'宣告陣列 
  Dim 變數名稱A() As 資料類別型態 = New 資料類別型態(最大元素號碼) {} 
  Dim 變數名稱B() As 資料類別型態 = {值1, 值2, ...} 
  Dim 變數名稱C(最大元素編號) As 資料類別型態 
  Dim 變數名稱D() As 資料類別型態 
  Redim Preserve 變數名稱D() 

'使用變數 
  變數名稱(元素編號) = 資料 
  傳回值 = 變數名稱(元素編號) 

●多維陣列(Multidimemsional Array)與一維陣列的技術相同,差別在於元素的序號編碼變成多維表示:



●多維陣列結構型態:
'宣告陣列 
  Dim 變數名稱A(,,..) As 資料類別型態 = New 資料類別型態(最大元素號碼,最大元素號碼,..) {} 
  Dim 變數名稱B(,,..) As 資料類別型態 = {{{值000,值001,..},{值010,值011,..},..}, {{值100,值101,..},{值110,值111,..},..}, ...} 
  Dim 變數名稱C(最大元素編號,最大元素編號,...) As 資料類別型態 

'使用陣列 
  變數名稱(元素編號,元素編號,..) = 資料 
  傳回值 = 變數名稱(元素編號,元素編號,..) 

●結構(Structure)與陣列相同都是在一個範圍大小且連續的記憶體上,邏輯上再分割為許多的小記憶體空間(欄位、Column),與陣列不同處在於結構可指定各別欄位為不同的資料型態,因此每個小記憶體的分割大小不一定相同。

結構化資料型態:
'定義結構 
  Structure 結構名稱A 
    Dim 變數名稱BA As 資料類別型態 
    Dim 變數名稱BB As 資料類別型態 
    ... 
  End Structure 

'宣告變數 
  Dim 變數名稱A As 結構名稱A 

  '使用結構 
  變數名稱A.變數名稱BA = 資料 
  傳回值 = 變數名稱A.變數名稱BA 


結構化資料型態自定義運算子:
'定義結構 
  Structure 結構名稱A 
    ...
      Public Shared Operator [運算子](結構名稱A, 參數名稱B)
      End Operator
  End Structure


列舉結構化資料:
'定義列舉 
  Enum 列舉名稱A 
    常數名稱BA = 值 
    常數名稱BB = 值 
    ... 
  End Enum 

'使用列舉 
  傳回值 = 列舉名稱A.常數名稱BA 

Public Class Form1

    Enum WeekDaySEQ
        Sunday = 0
        Monday = 1
        Tuesday = 2
        Wednesday = 3
        Thursday = 4
        Friday = 5
        Saturday = 6
        Undefined = -1
    End Enum

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        MsgBox("The code of Thursday is " & CStr(WeekDaySEQ.Thursday))

    End Sub

End Class






沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...