vb 判断数据类型的函数_金猪脚本【第二期】教你 0 基础学写脚本 ———— 数据类型...

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想学习按键精灵的朋友可以添加金猪脚本粉丝交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.

f06830c97e9d1abfc356f1eaf1df4700.png

其实,第一期已经跨越了。也就是说,本来第一期应该放在后面的。但是,为了直观的让新手朋友知道自己缺乏的知识,我把它作为了第一期。

第二期,我们来介绍数据类型。

实际来说,按键的数据类型不严谨。

比如我们定义一个变量直接是:

  1. Dim x

复制代码

这样就已经定义了 x 这个变量了。

数组变量如下:

  1. Dim x(2)

复制代码

这儿我们定义了数组名称是x,数组最大下标是2的一个数组变量。

其中的元素包括:x(0), x(1), x(2)这三个。所以,实际上,我们直接定义了一组一共3个变量的数组。这样定义的好处,后面做循环体的时候用得上。到时候再细说。这儿的0,1,2叫做下标。2是最大下标。

但是,如果是VB,那么定义变量,就需要定义其数据类型。比如,定义字符串类型的变量。应该是这样:

Dim x as String

上面只是说明,按键为了让新手更加快速掌握按键,所有把数据类型这个东西忽略了。在定义变量的时候,的确少了很多功夫。但是这儿也会引来了很多问题。非常多的新手朋友忽略了数据类型这个概念,经常出错。比如如下代码:

  1. Dim i,x(2)
  2. i = "a" //我们把 i = "a" 这类以 “=” 号连接的语句叫做赋值语句。通俗些就是在i代表的存储单元里面装”a”。我们这儿先暂时这么理解,后文我会高手大家,什么叫存储单元。
  3. TracePrint x(i)

复制代码

我们定义了两个变量,其中x是数组变量,数组最大下标为2。

然后我们给i赋值”a”,因为上面并没有定义i是什么类型的变量,所以这个赋值语句没毛病。但是,如果我们让i作为数组x的下标之后,就出现问题了。大家复制这段代码去运行,就能发现,提示 脚本 我的脚本1.Q ,第3行:类型不匹配: 'I', 类型不匹配。

如果我们把 i赋值“0”呢?

  1. Dim i, x(2)
  2. i = "a"
  3. x(0)=1
  4. TracePrint x(i)
  5. i = "0"
  6. TracePrint x(i)

复制代码

调试信息如下:

脚本 我的脚本1.Q ,第4行:类型不匹配: 'I',

脚本 我的脚本1.Q ,第6行:1

也就是说,我们的第二句调试语句 TracePrint x(i) 没什么问题。为什么呢?因为当 “0” 赋值给i之后,因为”0”是数字的字符,按键默认的把这个字符转换成了数值。实际上i=”0”在这儿等价于i=0了。

说这些,只是提醒大家数据类型的重要性。调试的时候,很容易因为i的值类型问题,无法通过调试。

一般的,按键类型有几个。

1、 数值型(Integer、Double)。2、字符型(字符串型)(String)。3、布尔型(Boolean)。4、数组(Variant()等等)。

想知道你现在的变量是什么数据类型很简单。用 typename 函数就行了。

  1. Dim i,x(2)
  2. i = "1" //赋值为字符串
  3. TracePrint typename(i)
  4. i = 1 //赋值为整数
  5. TracePrint typename(i)
  6. i = 1.2 //赋值为双精度数
  7. TracePrint typename(i)
  8. TracePrint typename(1=1) //直接调试等式,等式会直接返回布尔型值
  9. TracePrint typename(x) //这儿是调试数组,x是前面定义的数组x(2)

复制代码

数值型,就是数字,包括整数型(Integer)、双精度型(Double)。

字符型,字符型与字符串型。貌似都一样,因为基本没有什么函数限制这个只能字符还是字符串的。比如 “a”,“a123”等等,都是字符串型。

布尔型,布尔型的值只有两个:false(假)和true(真)。且false的序号为0,true的序号是-1。

  1. TracePrint 1=1 //意思是 调试输出 1=1 的值。 1=1 这是个等式,不是赋值语句,作为函数参数出现的 = 号都表达等号的意思。这儿是判断1是否等于1。
  2. MsgBox 1 = 1 //因为调试输出返回的值与弹出框不一样。大家调试下,其实就是上面那两种结果。调试是-1,弹出是true。代表的意思都是 真。
  3. TracePrint 1=2
  4. MsgBox 1 = 2

复制代码

数组:定义方式前面已经说过了。定义x(2),那么X(0), X(1), X(2)都可以赋值,然后调用。

比如:

  1. Dim x(2)
  2. X(0)=1
  3. X(1)=2
  4. X(2)= X(0)+ X(1)
  5. TracePrint X(2)

复制代码

也就是相当于直接定义3个变量。当然,这个下标可以是变量:X(i)这样。

数据类型转换:CBool 函数官方描述:返回表达式,此表达式已转换为 Boolean 子类型的Variant。

  1. MsgBox CBool(-1)
  2. MsgBox CBool(0)
  3. MsgBox CBool(5)

复制代码

调试下发现,第一个返回true。第二个返回false。第三个返回true。其实,就是除了0或者等式结果返回0,比如 CBool(1=0),1=0为假返回0。这时候CBool函数值为0(false)。其他情况都返回-1(true)。 CByte 函数 官方描述:返回表达式,此表达式已被转换为 Byte 子类型的 Variant。

  1. TracePrint CByte(-1)
  2. TracePrint CByte(254.5)
  3. TracePrint CByte(256)
bd0ffafc3c5828c1a3b361bfaa83bce5.png

复制代码

大家调试下。

调试结果如下:

脚本 我的脚本1.Q ,第1行:溢出:'CBYTE',

脚本 我的脚本1.Q ,第2行:254

脚本 我的脚本1.Q ,第3行:溢出:'CBYTE',

这是因为 Cbyte 函数 强制把以上数据转换成字节型(byte型)。而byte型数据范围是0-255。-1和256都溢出(溢出就是数据超出了范围)。

还有其他各种函数,我就不一一列举了。我的命令库 — 标准VB命令 — 函数 — 类型转换函数 里面就可以看到。点击在调试栏就有说明。 如果还有不懂的,可以评论,金猪会一一回复。

81e3bd4f0091242446a8ae0104bca5f1.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值