天天看点

第一章、VB6变量与声明一、内置数据类型的介绍二、关键字之修饰符介绍三、内置数据类型的声明四、自定义数据类型的定义与声明

日期:2021年04月22日

作者:Commas

注释:网络上没有一个比较系统的VB6或者VBA的教程,于是打算利用中午休息的时间写一写这方面的教程,不喜欢写得很文绉绉,一切都以常用为前提进行介绍。因为要覆盖更多读者,所以本系列文章有些地方可能会介绍比较地通俗易懂,当然也会包含一些比较有意思的知识点,不喜勿喷,有问题敬请指出,有疑惑欢迎留言,大家一起讨论,共同进步,谢谢大家(^ _ ^) (^ _ ^)

目录

文章目录

  • 一、内置数据类型的介绍
  • 二、关键字之修饰符介绍
  • 三、内置数据类型的声明
  • 四、自定义数据类型的定义与声明

一、内置数据类型的介绍

类型 类别 常用级别 说明
String 字符串 ♥♥♥♥♥ 默认是

定长字符串

,当字符超过2^16个时,变为

变长字符串

,届时字符拼接效率会变得非常低
Integer 数值(整型) ♥♥♥♥♥ 2^16(2个字节),

范围:-32,768 到 32,767

Long 数值(长整型) ♥♥♥♥♥ 2^32(4个字节),

范围: -2,147,483,648 到 2,147,483,647

Single 数值(单精度浮点) ♥♥♥♥♥ IEEE 32 位(4 个字节)浮点数值的形式,单精度浮点数,

负数范围是从 -3.402823E38 到 -1.401298E-45,正数从1.401298E-45 到 3.402823E38,和 0

Double 数值(双精度浮点) ♥♥♥♥♥ IEEE 64 位(8 个字节)浮点数值的形式,双精度浮点数,

负数范围是从 -1.79769313486232E308 到 -4.94065645841247E-324,正数从 4.94065645841247E-324 到 1.79769313486232E308,和 0

Boolean 布尔型 ♥♥♥♥♥ 16 位(2 个字节)的数值形式,但只能是

True

或是

False

Currency 货币 ♥♥

范围: -922,337,203,685,477.5808 到 922,337,203,685,477.5807

Date 日期 ♥♥♥ IEEE 64 位(8 个字节)浮点数值形式,其可以表示的

日期范围从 100 年 1 月 1 日到 9999 年 12 月 31 日

,而

时间可以从 0:00:00 到 23:59:59

Object 对象 ♥♥♥♥♥ 存储为 32 位(4 个字节)的地址形式,其为对象的引用。利用

Set

语句,声明为 Object 的变量可以赋值为任何对象的引用。
Variant 变体 ♥♥♥ 是一种特殊的数据类型,除了定长 String 数据及用户定义类型外,可以包含任何种类的数据。Variant 也可以包含 Empty、Error、Nothing 及 Null等特殊值。可以用 VarType 函数或 TypeName 函数来决定如何处理 Variant 中的数据。

字符串有两种:变长与定长的字符串。

变长字符串

最多可包含大约 20 亿 ( 2^31)个字符。

定长字符串

可包含 1 到大约 64K ( 2^16 ) 个字符。

想要了解更多字符串知识,可以翻阅以前写的一篇文章《浅谈VB6字符串拼接效率》

二、关键字之修饰符介绍

声明变量的时候,我们需要使用到修饰符关键字,主要是修饰定义变量的作用域,详细如下表所示:

修饰符 说明
Public 声明变量并分配存储空间,用于

模块级别

,整个工程内全局变量,其它模块也可以访问到
Private 声明变量并分配存储空间,用于

模块级别

,本部模块内全局变量,仅限本模块访问
Dim 声明变量并分配存储空间,作用域视情况而定,常用于

过程级别

中的变量声明
Static 在过程级别中使用,用于声明变量并分配存储空间。在整个代码运行期间都能保留使用 Static 语句声明的变量的值。
一、

过程级别

模块级别

的定义:

过程级别

:描述 Function、Property、或 Sub 过程中的语句。通常先列举声明,其次是赋值和其它可执行的代码。

模块级别

:代码驻留在过程块之外,有过程级别相对;

二、Dim在不同级别中声明,作用域不同,如下:

模块级别

中用 Dim 声明的变量,对该模块中的所有过程都是可用的。

过程级别

中声明的变量,只在过程内是可用的。

由此可得,Dim一般用于

过程级别

中的变量声明,

而在

模块级别

中,我们一般用Public\Private关键字

三、内置数据类型的声明

变量声明语法:

修饰符关键字 变量名称 As 变量类型

[Public\Praivete\Dim\Static] varName As varType

Option Explicit

'【模块级别】:声明变量
Private gIsDebug As Boolean
Public gOpener As Object

Private Sub Form_Load()
On Error Resume Next
    '【过程级别】:声明变量
    Dim intX As Integer, intY As Integer
    Dim lngRow As Long, lngCol As Long
    Dim sUserName As String
    
    '变量赋值
    intX = 1
    intY = 2
    lngRow = 100
    lngCol = 3
    sUserName = "张三"
End Sub
           

四、自定义数据类型的定义与声明

自定义数据类型,并不是多么高深的操作,实际上就是将现有的数据类型,进行一定的排列组合而已,语法如下:
'变量声明语法:
[Public\Praivete] Type 自定义变量类型名称
    类型定义过程
End Type
           

自定义数据类型定义与声明示例如下:

Option Explicit

'自定义数据类型,如:二维坐标(X,Y)
Private Type tPosition
    X As Single
    Y As Single
End Type

Private Sub Form_Load()
On Error Resume Next
    '1)声明
    Dim p1 As tPosition, p2 As tPosition
    
    '2)赋值
    '(0,0)
    p1.X = 0
    p1.Y = 0
    
    '(9,5)
    p2.X = 9
    p2.Y = 5
End Sub

           

版权声明:本文为博主原创文章,如需转载,请给出:

原文链接:https://blog.csdn.net/qq_35844043/article/details/116009499

继续阅读