十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
'把下面代码复制到窗体,添加1个list 和一个command按钮运行就可以了,和一个文本框,数据输入在文本框里
创新互联建站服务项目包括丰顺网站建设、丰顺网站制作、丰顺网页制作以及丰顺网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,丰顺网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到丰顺省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
Private Type English
word As String
count As Long
End Type
'判断是不是英文
Private Function En(ByVal s As String) As Boolean
If s = "" Then En = False: Exit Function
s = LCase(s)
For i = 1 To Len(s)
a = Asc(Mid(s, i, 1))
If a 97 Or a 122 Then En = False: Exit Function
Next
En = True
End Function
'统计数组内各个英文出现次数
Private Function TongJi(ByVal T_txt As String) As English()
s = Split(T_txt, " ")
n = 0
Dim English() As English
ReDim English(0)
For i = 0 To UBound(s)
If s(i) "" And En(s(i)) = True Then
temp = False
For j = 0 To UBound(English)
If English(j).word = "" Then
English(j).word = s(i): English(j).count = 1: Exit For
ElseIf English(j).word = s(i) Then
temp = True: English(j).count = English(j).count + 1: Exit For
End If
Next
If temp = False Then
ReDim Preserve English(n): English(n).word = s(i): English(n).count = 1: n = n + 1
End If
End If
Next
TongJi = English
End Function
Private Sub Command1_Click()
Dim e() As English
e = TongJi(Text1)
Cls
For i = 0 To UBound(e)
If e(i).count 0 Then List1.AddItem e(i).word " 出现过: " e(i).count " 次"
Next
End Sub
1.随机产生英文字母
Randomize() '功 能:初始化随机数发生器
Me.txt1.Text = Chr(Asc("a") + Int(Rnd() * 26))
'Rnd 函数返回小于 1 但大于或等于 0 的值。
'0 = Rnd() * 26 26 是含小数位的数
'Int(Rnd() * 26) 转换为整型,就是0~25的随机数
'Asc("a") 得到a的ASCii数值,是整数97(A是65)
'a~z的ASCii为97~122 ,即为a~z之间的字母为97加(0~25)
'Asc("a") + Int(Rnd() * 26)为97到122的随机数
'Chr()又可以起到转换成字符的功能,Chr(97)表示a (a转换成数值又是Asc("a")=97)
'Chr(Asc("a") + Int(Rnd() * 26))就是a~z的随机数了
Randomize() '再次初始化随机数发生器
Me.txt2.Text = Chr(Asc("A") + Int(Rnd() * 26)) '这里是A~Z的随机数
'也可以换这种写法
Randomize()
Me.txt1.Text = Chr(Int((26 * Rnd()) + 97)) '这里是a~z的随机数
'这是在你知道ASCII码的情况之下(a~z为97~122,A~Z为65~90)
'Rnd()为0~0.9999999.....的随机数
' 26 * Rnd()为0~25.9999...的随机数
'Int((26 * Rnd())为0~25的随机数
'Int((26 * Rnd()) + 97)为97~122的随机数
'Chr(Int((26 * Rnd()) + 97))就是a~z的随机数了
Randomize()
Me.txt2.Text = Chr(Int((26 * Rnd()) + 65)) '这里是A~Z的随机数
'至于同时在一处随机大写或小写,ASCII码的数字又不挨在一起(65-90,97-122),比较麻烦。想写的话,你可以自己想一下怎么办
2.数字怎样转换成ASCII码所对应的字母
Chr()函数将数字转换成ASCII对应的字母,Asc()函数将字母根据ASCII表转换成数字
Chr(97)表示a (a转换成数值又是Asc("a")=97)
3.加到数组,你可以放在一个for循环里
比如
Dim arylst1 As New ArrayList
Dim arr1() As String '数组
Dim str1 As String
For i As Integer = 1 To 15 '比如我想要15个随机字母
Randomize()
str1 = Chr(Int((26 * Rnd()) + 65)) '这里是A~Z的随机数
arylst1.Add(str1)
Next
ReDim arr1(arylst1.Count - 1) '这里是为了比较动态,可以只改变 i 的范围来决定要多少个随机字母
'当然也可以写死,在前面直接定义为 arr1(14),下次要改的时候就要改定义的地方和i的范围,改两个地方
arylst1.CopyTo(arr1)
'就把数值拷贝到数组里面了
sub一般情况下是一个英文前缀,有向下的意思,比如subway(地铁)
submarine(潜水艇)
在计算机中一般是“子……”的意思,比如SubString(子字符串),SubItems(子项)
这儿呢,sub就是指一个“子过程”,一般就简称“过程”,面向对象概念中也叫“方法”。
end
sub标志着子过程的结束,也就是说在sub与end
sub之间,就是这个子过程的内容。
我一开始也是这样,很迷惑,在使用一段时间后,就基本了解了:
Button1_Click是函数名,可以随便改,而Vb6一个字都不能变
sender是System.Object类型的变量,代表控件对象,当此事件对应多个按钮点击事件时,就要用sender来区分,而VB6用控件数组中的index来区分
e是System.EventArgs类型的变量,代表一个委托声明,是包含事件数据的类的基类,用于传递事件的细节,你暂时不用理会这是什么意思,以后慢慢会了解的
简单点说就是对象sender导致了某个事件的发生,事件的内容就是(e)
handles是一个委托,相当于由handles后面的参数间接引发事件,以你的例子就是Button1的Click事件引发这个函数的调用,你还可以添加别的按钮甚至别的事件进来:
Private Sub MyExampleClickEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.DoubleClick, PictureBox1.MouseDown
' Button1单击事件、Button2双击事件、PictureBox1鼠标按下事件共享同一个MyExampleClickEvent过程。