'单击名称为Command1的数组中的任意一个按钮时触发此段代码
Select Case Index '检查单击的按钮的下标值
Case 0 To 9
'下标为0至9(包括0和9,即前10个按钮,因为控件数组的下标从0开始)
If FirstNum Then
'如果FirstNum的值是True(从下面的FirstNum = False可以推断出FirstNum是逻辑型(Boolean)变量)
StrNum1 = Str(Index)
'把下标值转换为字符串(Str)并赋值给StrNum1(应当为字符型)变量
FirstNum = False '把FirstNum变量的值设定为False
Else '否则
StrNum1 = StrNum1 + Str(Index)
'把下标值转换为字符串连接到StrNum1后面
End If '结束If判断语句块
Text1.Text = StrNum1
'把名称为Text1的文本框的Text属性(即显示出来的内容)设定为StrNum1的值,也就是把StrNum1显示在名为Text1的文本框中
<还有其他语句,等待插入>
End Select '结束Select Case判断语句块
End Sub '结束过程
Option Explicit '强制显示声明,即变量必须先定义后使用
Dim ss As String '定义变量ss是字符串型,并且默认初始值是空串
Private Sub Command1_Click() '按钮Command1单击事件
ss = ss & UCase("abcdefghijklmnopqrstuvwxyz") 'UCase函数是格式化为大写
ss = ss & "abcdefghijklmnopqrstuvwxyz" '&是字符串连接函数
ss = ss & "0123456789"
ss = ss & "~!@#$%^&*()_+{}|:<>?[]\',./"
'至此,ss="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~!@#$%^&*()_+{}|:<>?[]\',./"
Dim passwordlen As Double '定义变量passwordlen是双精度型,用于设定密码最大长度
Dim icount As Double '定义变量icount是双精,
Dim s1 As String '定义变量s1是字符串型,
Dim i, j As Double '定义变量i是变体型,j是双精度型
Dim count As Double '定义变量count是双精度型号
Dim password() As String '定义动态数组password() 是字符串型,
Dim tempstr As String '定义变量tempstr是字符串型,
passwordlen = Val(Text1.Text) '文本框Text1中的字符型转换为数值型,存到变量passwordlen
If passwordlen < 1 Then '当passwordlen小于1
MsgBox "请输入密码最大长度", vbInformation, "字典生成工具" 'd出对话框
Text1.SetFocus '文本框Text1获得焦点
Exit Sub '退出sub过程
End If
List1.Clear '初始化,清空列表框List1
icount = Len(ss) '把字符创ss的长度值90放入变量icount
For i = 1 To icount 'for循环,初值是1,终值是90,步进是1
ReDim Preserve password(i) '重新定义动态数组password()的下届是i(上界是0),Preserve是保留不替换
password(i) = Mid$(ss, i, 1) '数组password的每一个元素是字符串ss中第i的位置取一个
List1.AddItem password(i) '把数组的所有元素显示到列表框List1中
Next i
For i = 2 To passwordlen '从2到密码最大长度passwordlen
password = zuhe(password, icount, ss) '调用函数zuhe
Next i
End Sub
Public Function zuhe(temp() As String, icount As Double, ss As String) As String() '定义函数zuhe
'有3个自变量:数组temp()是字符串型,icount是双精确型, ss是字符串型
Dim count As Double '定义变量count是双精度型
Dim s1 As String '定义变量s1是字符串型,
Dim i As Double '定义变量i是双精度型
Dim j As Double '定义变量j是双精度型
count = UBound(temp) '把数组temp() 的下届存到变量count
Dim password() As String '定义数组password()是字符串型,
Dim iindex As Double '定义变量iindex是双精度型
iindex = 1 '给iindex赋予初值1
Dim tempstr As String '定义变量tempstr是字符串型,
For i = 1 To count
For j = 1 To icount
s1 = Mid$(ss, j, 1) 'mid函数是从字符串ss中第j位取1位,然后赋值给变量s1
DoEvents '延时函数,防止程序假死的,
ReDim Preserve password(iindex) '重新定义动态数组password()
password(iindex) = temp(i) & s1 '数组temp(i)和字符串s1连接后赋值给数组password()
List1.AddItem password(iindex) '把数组password()的元素显示在列表框List1里面
Next j
Next i
zuhe = password '把数组password赋值给变量zuhe,作为本函数的函数值
End Function
3.1 VB编码规则
1. 语言元素
VB的语言基础是BASIC语言,VB程序的语言元素主要由:
关键字(如: Dim、Print、Cls)
函数(如:Sin()、Cos()Sqr())
表达式(如:Abs(-23.5)+45*20/3 )
语句(如:X=X+5 、 IF……ELSE……END IF)等组成。
2. VB代码书写规则
(1) 程序中不区分字母的大小写,Ab 与AB等效;
(2) 系统对用户程序代码进行自动转换:
1) 对于VB中的关键字,首字母被转换成大写,其余转换成小写
2) 若关键字由多个英文单词组成,则将每个单词的首字母转换成大写
3) 对于用户定义的变量、过程名,以第一次定义的为准,以后输入的自动转换成首次定义的形式
3. 语句书写规则
(1)在同一行上可以书写多行语句,语句间用冒号(:)分隔
(2)单行语句可以分多行书写,在本行后加续行符:空格和下划线 _
(3) 一行允许多达255个字符
4. 程序的注释方式
(1)整行注释一般以 Rem开头,也可以用撇号 ';
(2)用撇号 ' 引导的注释,既可以是整行的,也可以直接放在语句的后面,最方便;
(3)可以利用“我”工具栏的“设置注释块”、“解除注释块”来将设置多行注释。
5. 保留行号和标号
VB源程序接受行号与标号,但不是必须的(早期的BASIC语言中必须用行号)。
标号是以字母开始以冒号结束的字符串,一般用在GOTO语句(现在很少用)中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)