vb用户自定义的数据类型
- 格式:docx
- 大小:15.67 KB
- 文档页数:2
一、定义变量类型(如:public 变量名as 数据类型):Public声明全局变量,整个工程(project)可访问dim声明普通局部变量如果定义在事件内部(即在Private Sub ****()程序内),程序执行跳出事件后,数据会丢失如果定义在模块内部(即程序最顶部),程序执行跳出事件后,数据则得以保留static声明静太局部变量其值会保留程序运行到其定义处时不会将其值再次初始化private在窗体模块或过程中声明局部变量为私有变量,不能跨模块使用,用于模块(form)中,是私有的,申请的变量一直存在,除非你移除了本模块VB变量的规则:1 不能以数字开头2 不能带有系统保留字3 可以是数字字母结合的方式4 名字只能由字母、数字和下划线组成5 首字只能是英文字母或汉字(仅限中文版)Abs 就是个系统保留字它的含义是取得绝对值二、VB中常用的数据类型:一、整数值:1、整型(Integer)---% (-32,768至32,767之间2、长整型(Long)---& (-2,147,483,648至2,147,483,647之间二、浮点数:由符号、指数及尾数组成12.45E+5 :表示单精度数12.45*10^512.3456D+5 :表示双精度数12.3456*10^51、单精度型(Single)---!2、双精度型(Double)---#三、其他:1、货币型(Currncy)---$2、字符串型(String)---@3、布尔型(boolean)(真:true / 假:false4、日期型(date) #mm/dd/yyyy# (1/1/100至12/31/9999当需要特别指明常量是哪一种类型时,课在数据的后面加类型说明符,如:12.34#为双精度、456.78@为货币型三、自定义数据类型用户可以定义自己的数据类型,使用关键字“Type”,方法是:Type 【数据类型名】<属性名> As <数据类型><属性名> As <数据类型>···End Type下面的程序就可以调用此数据类型了如:定义一个学生资料数据:(包括班级、姓名、学号)Private Type studentbangji As Stringxingming As Stringxuehao As StringEnd TypePrivate Sub Command1_Click()Dim zhangsan As studentzhangsan.bangji = "软件101"zhangsan.xingming = "张三"zhangsan.xuehao = "12345678"End Sub。
“&”表示长整型数据。
如-334&,67785649&。
整数(Interger)和长整数(Long)均用于保存整数,其可以是正整数、负整数或者0。
例如:369、-369、+369均表示整数,而369.0就不是整数;-9993977、12345678均表示长整数,而123,456则是非法数。
整型数的运算速度快、精确,且占用存储空间较小,但表示数的范围也较小。
3.单精度数(Single)。
单精度数是带小数点的实数,有效数字为7位,在机器内用4个字节存储。
通常以指数形式表示,指数部分用“E”或“e”表示。
在VB中数尾常加“!”表示单精度数据,也可省略。
如-234.78,45.56!,2.67e+3,-2.89E-2。
单精度数有多种表示形式:±n.n(小数形式)、±n E ±m(指数形式)、±n.n E ±m (指数形式)。
例如:123.45、0.12345E+3、123.45!都是同值的单精度数。
如果某个数的有效数字位数超过7位,当把它定义为单精度变量时,超出的部分会自动四舍五入。
4.双精度数(Double)。
双精度数也是带小数点的实数,有效数字为15或16位,在机器内用8个字节存储。
通常以指数形式表示,指数部分用“D”或“d”表示。
在VB 中数尾常加“#”表示双精度数据,也可省略。
如-374.778#,5.678D+2,-2.67e+3#。
5.货币型数据(Currency)。
货币型数据是为是一种专门为处理货币而设计的数据类型,是一种特殊的小数。
,它的精度要求较高,用8个字节存储,保留小数点右边4位和小数点左边15位,如果数据定义为货币型,且其小数点后超过4位,那么超过的部分自动四舍五入。
在VB中数尾常加“@”表示货币型数据。
如3.4@,565@。
6.字节型数据(Byte)。
字节型数据用来存储二进制数,是范围在0~255之间的无符号整数,不能表示负数,在机器内用一个字节存储。
VB数据类型VB数据类型数据:是指能够输入到计算机中,并能够被计算机识别和加工处理的符号的集合。
是程序处理的最小对象。
例:数值、字符、图形、图像和声音等都是数据。
数据在程序中以常量或变量的方式被引用,不同的数据特点有不同的存储要求和处理算法,数据类型这一概念可以用来区别不同的数据特点。
VB中有系统定义的基本数据类型,而且允许用户根据需要定义自己的数据类型。
1.基本数据类型(11种)数据类型类型名存储空间范围类型说明符整型 Integer 2字节 -32768~32767 %长整型 Long 4字节 -2147483648~2147483647 &单精度型 Single 4字节 -3.402823E38~-1.401298E-451.401298E-45~3.402823E38 !双精度型 Double 8字节 #货币型 Currency 8字节-922337203685477.5808~922337203685477.5807 @字节型 Byte 1字节 0~255字符串型 String 1~65535字节 $布尔型 Boolean 2字节 True 或False日期型 Date 8字节 100.1.1~9999.12.31对象型 Object 4字节任何对象的引用可变类型 Variant 可以成为上边所有类型2.1.1 常量常量:在程序的执行过程中,其值保持不变的量。
分常数和符号常量。
1.一般常数*数值常数:123,1.23,1.0E2,12.5D3*字符串常数:”abc”,”你好”*逻辑常数:True False*日期常数:(用#括起来),#15/9/2002# #January 1,1993# #1 Jan 93# #2002-9-9 10:30:30 pm#常数的类型:在常数的后加类型说明符指定常数的类型如:-58& 3.1# 3.1@2.符号常量符号常量:在程序中用标识符表示的常数。
VB中的数据类型
1.Boolean 布尔型,这种类型,只有真、假(即true or false)两个值,它占⽤两个字节。
2.Byte 字节型他占⽤⼀个字节,他的范围是0—255
3.Integer 整型它占⽤两个字节,通常⽤%来表⽰,例a%;它占⽤2个字节(C语⾔中为4个字节),它的范围是0----32768/32767
4.Long 长整型它占⽤4个字节,它的简写符号是&,它的范围是-2147483648到2147483647。
对于整型和长整型,我们通常会选⽤长整型,尽管长整型⽐较⼤,但是相对于整型会⽐较快,因为CPU⼀般是32位的,长整型可以⼀次把数据存储到寄存器⾥或CPU⾥⾯,还有长整型的兼容性⽐较好。
5.Single 单精度浮点 4个字节。
范围⽐较⼤,但是精度很⼩,在科学计算时,不⽤改精度,它的符号是!
6.double 双精度浮点 8个字节,符号式#,它的精度远远⼤于单精度浮点。
7.String 字符串 a.可变长字符串,⽤于读取⽂件,⽂本查找等。
B.定长字符长
8.Date ⽇期形式是 #…………#,如20011年11⽉11⽇可表⽰为 #2011/11/11#
9. Currency @表⽰符
10. User Defined
11.Variant 可变类型在VB下,变量可以不声明,不同于以上类型,赋值后,可以对他进⾏其他类型的赋值,例如原先是⼀个字符串,后来再给他赋为⽇期。
Variant类型的格式:
类型变量(如整型)相应数据、地址
Variant的缺点是占⽤内存较⼤,速度慢;⽅便之处是使⽤灵活
VB中的数据类型并不是孤⽴的,他们之间可以⽤转换函数来相互转换。
vb中的数据类型⼀、数据类型概述数据:计算机能够处理数值、⽂字、声⾳、图形、图像等信息,均称为数据。
数据类型:根据数据描述信息的含义,将数据分为不同的种类,对数据种类的区分规定,称为数据类型。
数据类型的不同,则在内存中的存储结构也不同,占⽤空间也不同VB的基本数据类型:数值型数据(主要数据类型)⽇期型字节型货币型逻辑型字符串型对象型变体型⼆、数值数据类型数值类型分为整数型和实数型两⼤类。
1、整数型整数型是指不带⼩数点和指数符号的数。
按表⽰范围整数型分为:整型、长整型(1)整型(Integer,类型符%)整型数在内存中占两个字节(16位)⼗进制整型数的取值范围:-32768 ~ +32767例如:15,-345,654%都是整数型。
⽽45678%则会发⽣溢出错误。
(2)长整型(Long,类型符&)长整数型在内存中占4个字节(32位)。
⼗进制长整型数的取值范围:-2147483648 ~ +2147483647例如:123456,45678&都是长整数型。
2、实数型(浮点数或实型数)实数型数据是指带有⼩数部分的数。
注意:数12和数12.0对计算机来说是不同的,前者是整数(占2个字节),后者是浮点数(占4个字节)实数型数据分为浮点数和定点数。
浮点数由三部分组成:符号,指数和尾数。
在VB中浮点数分为两种:单精度浮点数( Single )双精度浮点数( Double )(1)单精度数(Single,类型符!)在内存中占4个字节(32位),,有效数字:7位⼗进制数取值范围:负数 -3.402823E+38 ~ -1.401298E-45正数 1.401298E-45 ~ 3.402823E+38在计算机程序⾥⾯不能有上标下标的写法,所以乘幂采⽤的是⼀种称为科学计数法的表达⽅法这⾥⽤E或者e表⽰10的次⽅(E/e⼤⼩写都可以)⽐如:1.401298E-45表⽰1.401298的10的负45次⽅vb⾥⾯可以这样表⽰:8.96E-5例:21e5(正号省略)表⽰:21乘以10的5次⽅的⼀个单精度数(2)双精度数(Double,类型符#)Double类型数据在内存中占⽤8个字节(64位)Double型可以精确到15或16位⼗进制数,即15或16位有效数字。
(六)VB的数据类型一、标识符:是编程中为常量、变量、过程、函数、类等定义的名称。
必须满足:1、必须以字母开头,由字母、数字和下划线组成。
2、字母不区分大小写。
3、标识符的总长度一般不超过40个字符,变量名长度可达255个字符4、标识符不能与VB的保留字同名。
二、常量:在程序运行过程中,其值不能改变的量。
1、系统内在常量:执行菜单:“视图”\“对象浏览器”可在列表中找你需要的系统内在常量,选中后,会显示该常量的功能和值。
2、自定义常量:[ Public / Private ] Const <常量名> [As <类型>] = <表达式>声明常量的位置,在标准模块的声明段。
Public表示整个程序有效。
Private表示在本模块有效。
三、变量:程序运行时,其值可以改变(或重新赋值)的量。
1、< Dim / Static / Public / Private > <变量名> [As <类型> ]·Dim:(局部)在过程内部声明,且本过程有效,在执行期间存在。
·Static:(静态)在过程内部声明,本过程有效,在程序运行中一直存在。
·Public:(公共)在模块的通用声明段声明,各模块公用,整个程序有效。
·Private:(私有)在模块的窗体声明段声明,本模块的各过程可用。
2、VB允许使用未声明过的变量,称为隐式声明,其变量类型为变体型(Variant)3、如在模块的声明段加入Option Explicit语句,或执行菜单:“工具”\“选项”\“编辑器”选项卡\复选“要求变量声明”,则将不能使用隐式声明方式。
四、数据类型:1、数字型:(1)Integer (整型) 2B(2)Long (长整型) 4B(3)Single (单精度浮点型) 4B(4)Double (双精度浮点型) 8B(5)Currency (货币型) 8B(6)Byte (字节型) 1B2、逻辑型:Boolean (布尔型) 2B3、日期型:Date 范围100 –1–1 ~ 9999 –12 –31 8B(用 # 号括起)4、字符型:String (变长字符串) 10B + 串长String * <长度值> (定长字符串)串长5、对象型:(任何对象引用)Object 4B注:变量赋值必须用Set语句: Set <变量> = <对象>6、变体型:(可代表除定长字符串型和用户自定义型外的任何类型)Variant 22B + 串长7、用户自定义型:(User-defined)申请的各种类型长度和五、数据类型的转换函数:(x为数值)Cbyte(x) Cbool(x) Ccur(x) Cdbl(x) Cdate(x) Cint (x)Clng(x) Csng(x) Cstr(x) Cvar(x) Cverr(x)六、运算符:1、算术运算符:(按运算级高低)^ ,–, * / , \ , MOD , + –2、字符串运算符:+ , &3、关系运算符:< ,> ,= ,> = ,< = ,< > ,like ,islike:左边字符串是否在右边字符串范围内,是则为True。
一、数据类型概述数据:计算机能够处理数值、文字、声音、图形、图像等信息,均称为数据。
数据类型:根据数据描述信息的含义,将数据分为不同的种类,对数据种类的区分规定,称为数据类型。
数据类型的不同,则在内存中的存储结构也不同,占用空间也不同VB的基本数据类型:数值型数据(主要数据类型)日期型字节型货币型逻辑型字符串型对象型变体型二、数值数据类型数值类型分为整数型和实数型两大类。
1、整数型整数型是指不带小数点和指数符号的数。
按表示范围整数型分为:整型、长整型(1)整型(Integer,类型符%)整型数在内存中占两个字节(16位)十进制整型数的取值范围:-32768 ~ +32767例如:15,-345,654%都是整数型。
而45678%则会发生溢出错误。
(2)长整型(Long,类型符&)长整数型在内存中占4个字节(32位)。
十进制长整型数的取值范围:-2147483648 ~ +2147483647例如:123456,45678&都是长整数型。
2、实数型(浮点数或实型数)实数型数据是指带有小数部分的数。
注意:数12和数12.0对计算机来说是不同的,前者是整数(占2个字节),后者是浮点数(占4个字节)实数型数据分为浮点数和定点数。
浮点数由三部分组成:符号,指数和尾数。
在VB中浮点数分为两种:单精度浮点数(Single )双精度浮点数(Double )(1)单精度数(Single,类型符!)在内存中占4个字节(32位),,有效数字:7位十进制数取值范围:负数-3.402823E+38 ~ -1.401298E-45正数1.401298E-45 ~ 3.402823E+38在计算机程序里面不能有上标下标的写法,所以乘幂采用的是一种称为科学计数法的表达方法这里用E或者e表示10的次方(E/e大小写都可以)比如:1.401298E-45表示1.401298的10的负45次方vb里面可以这样表示:8.96E-5例:21e5(正号省略)表示:21乘以10的5次方的一个单精度数(2)双精度数(Double,类型符#)Double类型数据在内存中占用8个字节(64位)Double型可以精确到15或16位十进制数,即15或16位有效数字。
vb语言常见数据类型
在 VB 语言中,常见的数据类型有:
1. Integer(整数)- 表示整数值,范围为 -32,768 到 32,767。
2. Long(长整数)- 表示长整数值,范围为 -2,147,483,648 到2,147,483,647。
3. Single(单精度浮点数)- 表示单精度浮点数值,可以存储
小数点后 7 位有效数字。
4. Double(双精度浮点数)- 表示双精度浮点数值,可以存储
小数点后 15 位有效数字。
5. String(字符串)- 表示一个或多个字符组成的文本字符串。
6. Boolean(布尔值)- 表示逻辑值,只能是 True 或 False。
7. Date(日期/时间)- 表示日期和时间值。
8. Object(对象)- 表示任意数据类型的对象引用。
此外,还有一些特殊的数据类型,如:
1. Array(数组)- 表示多个值的集合,可以是任意其他数据类型的组合。
2. Variant(变体)- 表示可以存储任意数据类型的值,可以根
据需要自动进行类型转换。
3. Byte(字节)- 表示无符号整数值,范围为 0 到 255。
4. Decimal(十进制数)- 表示精确的十进制数值,用于进行精确的金融计算。
5. Currency(货币)- 表示货币金额值,具有4 位小数的精度。
VB的数据类型一、引言VB是Visual Basic的简称,是一种基于事件驱动的编程语言,常用于Windows平台上的应用程序开发。
在VB中,数据类型是非常重要的概念,决定了变量可以存储的数据的种类和范围。
本文将详细介绍VB中常见的数据类型及其特点和用法。
二、数据类型的分类在VB中,数据类型可以分为两类:基本数据类型和用户自定义数据类型。
2.1 基本数据类型VB中常见的基本数据类型包括整型、浮点型、字符串型、布尔型和日期型。
2.1.1 整型(Integer)整型用于表示整数,可以存储正整数、负整数和零。
在VB中,整型变量的取值范围为-2,147,483,648到2,147,483,647。
2.1.2 浮点型(Single和Double)浮点型用于表示带有小数部分的数值。
在VB中,有两种浮点型数据类型:Single 和Double。
Single类型可以表示较小的浮点数,而Double类型可以表示更大范围和更高精度的浮点数。
2.1.3 字符串型(String)字符串型用于存储文本类型的数据。
在VB中,字符串是以双引号括起来的一系列字符。
字符串可以进行连接、截取和比较等操作,是处理文本数据非常常用的数据类型。
2.1.4 布尔型(Boolean)布尔型用于表示两个可能的取值:True和False。
在VB中,布尔型主要用于判断条件和控制程序的流程。
例如,可以使用布尔型变量来表示一个开关的状态。
2.1.5 日期型(Date)日期型用于存储日期和时间。
在VB中,日期型变量可以表示从公元1年1月1日到公元9999年12月31日的日期范围。
可以进行日期的加减、比较和格式化等操作。
2.2 用户自定义数据类型除了基本数据类型,VB还支持用户自定义数据类型。
用户可以使用Structure关键字来定义一个包含多个字段的数据类型。
例如:Structure PersonDim Name As StringDim Age As IntegerDim Gender As BooleanEnd Structure上述代码定义了一个名为Person的数据类型,包含了Name、Age和Gender三个字段。
vb 定义结构体的方法以VB定义结构体的方法在VB(Visual Basic)编程语言中,结构体是一种用户自定义的数据类型,用于封装一组相关的数据。
结构体可以包含不同类型的数据,如整数、浮点数、布尔值等,并可以在程序中使用。
本文将介绍在VB中定义结构体的方法,以及如何使用结构体来组织和管理数据。
定义结构体的语法如下:```Public Structure MyStructPublic Field1 As IntegerPublic Field2 As String' 添加其他字段...End Structure```在上述代码中,`MyStruct`是结构体的名称,可以根据实际需求进行命名。
结构体中的字段被定义为`Public`,表示可以在结构体外部访问。
`As Integer`和`As String`表示字段的数据类型,可以根据需要选择合适的数据类型。
结构体中可以定义多个字段,用于存储不同类型的数据。
例如,可以定义一个表示学生信息的结构体,包含学生的姓名、年龄和成绩等字段:```Public Structure StudentPublic Name As StringPublic Age As IntegerPublic Score As DoubleEnd Structure```定义好结构体后,可以在程序中声明结构体的变量,并对其进行赋值。
例如,可以声明一个名为`student1`的结构体变量,并给其字段赋值:```Dim student1 As Student = "张三"student1.Age = 18student1.Score = 95.5```通过结构体变量,可以方便地访问和修改结构体中的字段值。
例如,可以输出学生的姓名、年龄和成绩:```Console.WriteLine("姓名:" & )Console.WriteLine("年龄:" & student1.Age)Console.WriteLine("成绩:" & student1.Score)```在使用结构体时,可以根据需要创建多个结构体变量,并对其进行操作。
用户自定义的数据类型------记录
保存多个相同或不同类型数值的结构称为记录(record)。
在VISUAL BASIC 中定义记录,用Type语句,其语法如下:
Type varType
Variable1 As varType
Variable2 As varType
…
Variablen As varType
End Type
例如定义一个名为CheckRecord的记录:
Type CheckRecord
CheckNumber as Integer
CheckDate as Date
CheckAmount as Single
End Type
CheckRecord结构可以像普通变量类型一样使用。
要定义这个类型的变量,使用如下语句:
Dim check1 As CheckRecord
要对结构的各个字段访问,可使用如下语句:
check1. CheckNumber=123
check1. CheckDate=#08/14/1996#
check1. CheckAmount=240.00
例:
简单例(自定义类型1.frm)
数组自定义类型1.FRM
用一维数组存放学生年龄。
并可通过学生姓名输入或显示该学生的年龄。
Private Type StudentInformation
StudentAge As Integer
StudentName As String
End Type
Dim N As Boolean
Dim Information(1 To 4) As StudentInformation
Dim infIndex As Integer
Dim stuName As String
Private Sub cmdInputname_Click()
For i = 1 To 4
Information(i).StudentName = InputBox("PL input name")
Next i
End Sub
Private Sub cmdInput_Click()
infIndex = 1
N = False
stuName = txtName.Text
Do While infIndex <= 4
If Information(infIndex).StudentName = stuName Then Information(infIndex).StudentAge = Val(txtAge.Text)
N = True
Exit Do
End If
infIndex = infIndex + 1
Loop
If N = False Then
MsgBox "invalid student name", vbInformation, "data error" End If
txtName.Text = ""
txtAge.Text = ""
End Sub
Private Sub cmdOutput_Click()
infIndex = 1
N = False
stuName = txtName.Text
Do While infIndex <= 4
If Information(infIndex).StudentName = stuName Then txtAge.Text = Information(infIndex).StudentAge
N = True
Exit Do
End If
infIndex = infIndex + 1
Loop
If N = False Then
MsgBox "invalid student name", vbInformation, "data error" End If
End Sub
Private Sub cmdExit_Click()
End
End Sub。