第一章、VB6变量与声明

本文介绍了VB6中内置数据类型(如String, Integer, Long, Single, Double等)及其特性,以及关键字修饰符的使用。作者以实用和通俗的方式讲解了变量声明、作用域和自定义数据类型。适合初学者和进阶者阅读,鼓励互动交流。
摘要由CSDN通过智能技术生成

日期: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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Commas.KM

码路共同进步,感恩一路有您

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值