资源描述:
《《VB资料型态与宣告》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三講VB資料型態與宣告朱子豪2006/10/02授課重點任務:說明VB中的資料型別、型態,變數間的轉換,與基本的檔案開始控制項程式元素:主要控制元件功能與使用(Menu,下拉選單,檔案選單等),資料類型,資料型別、宣告與轉換說明資料型別及涵義資料型別宣告與轉換影像與向量資料的案例行動資料型別宣告資料間轉換與運算資料內部元素或性質的處理易犯錯誤1.資料的型別依資料值的可變性分變數其記憶空間內的值可以置換DimAAsIntegerA=123A=100常數其記憶空間內的值宣告後不可以置換ConstA=100資料的型別依資料值的可變性分同樣的記憶體內容,會因不同的資料型別(
2、Type)而有不同的詮釋值(value)字串(String):存文字,長度不定(可存放0至大約二十億個Unicode字元)資料的型別數值:存數字,長度以次類型而定短整數(Short):長度2bytes(-32,768~32,767)整數(Integer):長度4bytes(-2,147,483,648~2,147,483,647)長整數(Long):長度8bytes(-9,223,372,036,854,775,808~9,223,372,036,854,775,807)單精度浮點數(Single):長度4Bytes(負值時從-3.402823E38~-1.401298E
3、-45;正值時從1.401298E-45到3.402823E+38)雙精度浮點數(Double):長度8Bytes(負值從-1.79769313486231570E+308~-4.94065645841246544E-324;正值時從4.94065645841246544E-324~1.79769313486231570E+308)資料的型別布林(Boolean):存T/F值,長度視實作平台而定日期(Date):存時間值,長度8Byte(Date常值必須用數字符號(##)括起來而且必須以格式M/d/yyyy指定日期值,例如#5/31/1993#)不定型(Objec
4、t):保留參考物件的4Bytes位址,可彈性存各類型資料最有效率的資料型別針對從不包含分數的變數來說,整數資料型別的效率要比非整數型別的效率高。在VisualBasic中,Integer是最有效率的數字型別(NumericType)而對於分數來說,Double是最有效率的資料型別,因為目前平台上的處理器是以雙精度浮點數(Double)執行浮點運算。然而,Double作業不會像Integer的整數類資料型別一樣快依資料結構分單一資料(Scalar):單一項目存在的資料例,DimAAsInteger結構化資料組合資料(Structure):一單元中有不同之次資料項組合ex.
5、要先宣告userdefinedtype如下:StructurePointXYDimXAsDoubleDimYAsDoubleEndStructure之後,才可以用PointXY作為一結構性的點資料型別ex.DimPoint1AsPointXY為一點資料的型別資料的型別依資料長度固定否分以陣列的長度是否可以動態宣告變化其長度而言固定:不能動態更換長度例,DimA(10)AsInteger動態:可以動態宣告更換長度,ex:ReDimA(10)AsIntegerI=100ReDimA(I)AsIntegerex:DimA()AsIntegerI=100ReDimA(I)AsIn
6、teger資料的型別資料的含意資料皆存在特定的記憶空間中,不同的資料型別表示了其記憶體單元的大小、排列的對應與內容的詮釋(見圖1)。圖1、共16bytes的記憶體其可為:16字元的String、4個Integer、2個Long、4個Single、2個Double,亦可以是16個Boolean元素的陣列資料型別及含意2.資料型別宣告與轉換資料型別宣告a.資料型別宣告處在程式開始處宣告例,DimA(10)AsInteger在程式中宣告,例ReDimA(10)AsIntegerI=100ReDimA(I)AsInteger在函式、參數、資料前宣告例,DimBAsInteger=
7、12DimSasString=“123”b.資料型別宣告符號布林:Boolean字串:String數值:整數:Integer長整數:Long單精度浮點數:Single雙精度浮點數:Double日期:Date不定型:Object資料型別宣告與轉換資料間轉換與運算自行轉換法則存入低精度資料時高低精度資料同時運作時強迫轉換加入Type強轉函數(如CStr.CInt,CDbl等)但是若轉換內容超出此函數的資料型態允許的範圍,則會發生錯誤。例如:DimsAsStringDimbAsIntegerPrivateSubCommand1_Cl