VB语言基础重要知识点17
- 2019 年 11 月 25 日
- 笔记
之前我们学习过了自动打字的相关知识点,但是发现有些同学不够熟练。与此同时,对于会的同学,如果题目稍加改变以后,还是会出现不少问题。那么,我们今天就一起修改一下这个题目。
我们的目标:将文字正向逐字打印之后,随机变换一种颜色,反向逐渐减少一个字。
目标案例

以上案例,我们需要打印“我们是五月的花海”。
一、开发思路
往返打字程序思路:
1.考虑临界点
明确哪个位置开始一直增加文字,
哪个位置开始一直减少文字。
2.设置临界点标识。
3.根据临界点来实现文字的加减。
文字的加减,采用left函数来实现。
4.颜色设置
设置颜色的函数rgb
参数的值的范围:[0,255]的整数
提问:随机整数怎么写?
0<=rnd<1
0<=int(rnd*256)<=255
int函数:表示向下取整。
int(5.999) 的结果是5
int(-5.111)的结果是-6
二、end if介绍
- if语句中何时可以省略endif
- if语句中,如果执行的then中的语句只有
- 一句话,那么久可以直接连写在then后面,
- 此时不需要endif。
- 如果then中的语句换行写,此时必须要加endif
三、类型补充
1.定义
布尔类型变量boolean
布尔类型的值只有true或者false
2.声明
声明一个布尔类型的变量a
dim a as boolean
3.赋值
为a赋值:
a=true
或者
a=false
界面设计

本节知识源代码:
Dim a As String '存储需要打印的字符串 Dim b As Integer '表示需要打几个字 Dim c As String '临界点标识 Private Sub Form_Load() '初始化窗体的数据 a = "我们是五月的花海" b = 0 '初始化要打的字数 Label1.FontSize = 30 '设置字体大小 End Sub Private Sub Timer1_Timer() Randomize '默认以系统时间随机数种子 If b = Len(a) Then '打完所有字的临界点 c = "减" Label1.ForeColor = RGB(Int(Rnd * 256), Int(Rnd * 256), Int(Rnd * 256)) End If If b = 0 Then '没有字的临界点 c = "加" Label1.ForeColor = RGB(Int(Rnd * 256), Int(Rnd * 256), Int(Rnd * 256)) End If '根据临界点的判断后,进行相应的字数增减 If c = "减" Then b = b - 1 Label1.Caption = Left(a, b) Else b = b + 1 Label1.Caption = Left(a, b) End If End Sub