admin 管理员组文章数量: 887021
2024年1月26日发(作者:放到xml里)
用VB统计中英文字符个数
王超
2001年 15期
常用的字处理软件都具有字数统计功能,在VB中这是很简单的事。程序如下:
原理:遍历整个文本中的字符,返回它们的ASCII码值即可知道该字符是中文还是
英文,然后统计即可达到目的。
启动VB,新建工程,在窗体加入一个文本框,将其OLEDropMode属性设置为1-Manual(手工),MultiLine属性设为true,ScrollBars属性为3-Both;再加入两个CommandButton控件,一个Name属性为Clearbtn,Caption属性为“清空”,另一个Name属性为Tjbtn,Caption属性为“统计”;再加入两个Label控件,Label1和Label2的Caption属性都为空。
在程序中中加入如下代码:
Private Sub Form_Load()'初始化
= 1
= “”
End Sub
Private Sub Clearbtn_Click()
= “” '清空文本框
End Sub
'当拖放经过文本框时
Private Sub Text1_OLEDragOver(Data As DataObject,Effect As Long,Button As Integer,Shift As Integer,X As Single,Y As Single,State As
Integer)
If mat(vbCFText) Or mat(vbCFFiles) Then
Effect = vbDropEffectCopy And Effect
Exit Sub
End If
Effect = vbDropEffectNone
End Sub
'完成拖动时
Private Sub Text1_OLEDragDrop(Data As DataObject,Effect As Long,Button As Integer,Shift As Integer,X As Single,Y As Single)
If mat(vbCFText) Then
= a(vbCFText)
'当数据类型为文本时
End If
If mat(vbCFFiles) Then
'当数据类型为文件时
Dim vfn
For Each vfn In
dropfile Text1, vfn
'调用子函数,在文本框中打开文件
Next vfn
End If
End Sub
'在文本框中打开文件的子函数
Sub dropfile(ByVal text As TextBox,ByVal strfn$)
Dim ifile As Integer
ifile = FreeFile
Open strfn For Input Access Read Lock Read Write As #ifile
Dim str$,strline$
While Not EOF(ifile) And Len(str) <= 32000
Line Input #ifile,strline$
If str <> “” Then str = str & vbCrLf
str = str & strline
Wend
Close #ifile
rt = Len(text)
gth = 0
t = str
End Sub
'统计按钮被按下时
Private Sub Tjbtn_Click
Dim s As String,temp As String
Dim i As Integer,e As Integer,c As Integer
s =
e = 0
c = 0
For i = 1 To Len(s
temp = Mid$(s,i,1)
If Asc(temp) >= 33 And Asc(temp) <= 126 Then
'若是英文字符
e = e + 1
ElseIf Asc(temp) < 0 Then
'若是中文字符
c = c + 1
End If
Next i
n = “英文字数” & CStr(e
n = “中文字数” & CStr(c
End Sub
版权声明:本文标题:用VB统计中英文字符个数 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1706207022h504049.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论