如何调用sub 子程序,我找到一段字数统计的程序,不知如何使用,请帮看看,谢谢

zhy0771 2005-11-25 10:46:34
dim tlComeText'传递变量到toumaoTextLength函数中:::
dim tli,tlText'toumaoTextLength的临时变量:::
dim tlInHtml,tlInHtml1'状态变量,标记是否在小于号大于号之间,是否在&和;之间且在小于号大于号之外:::
dim tlChinese,tlEnglish,tlNumber,tlFuHao'汉字个数,英文个数,数字个数,空格个数:::
Sub toumaoTextLength(tlComeText)
'统计字数用的,绕过HTML字符,只统计实际显示的字数:::
tlInHtml=0
tlInHtml1=0
tlChinese=0
tlEnglish=0
tlNumber=0
tlFuHao=0
For tli=1 to Len(tlComeText)
tlText=Mid(tlComeText,tli,1)
If tlText="<" Then
'碰到小于号,进入HTML代码内部,停止统计:::
tlInHtml=1
ElseIf tlText=">" Then
'离开HTML代码,要开始统计:::
tlInHtml=0
Else
'其它字符,可能是要统计的字符,也可能是HTML代码字符:::
If tlInHtml=0 Then
'在HTML外部,要统计字数:::
If tlText="&" Then
'进入特殊符号之中,统计时要注意,多个字符代表一个字符:::
tlInHtml1=1
ElseIf tlText=";" Then
'分号是特殊符号的结束标志:::
If tlInHtml1=1 Then
'在进入符殊符号后碰到分号,表求离开特殊符号,字符数要加1:::
tlInHtml1=0
tlEnglish=tlEnglish+1
Else
'在特殊符号外面碰到分号,它就是一个分号:::
tlFuHao=tlFuHao+1
End If
ElseIf tlInHtml1=0 Then
'不在特殊符号区域内
If Asc(tlText)<0 Then
tlChinese=tlChinese+1
ElseIf Asc(tlText)>=48 And Asc(tlText)<=57 Then
tlNumber=tlNumber+1
ElseIf (Asc(tlText)>=65 And Asc(tlText)<91) Or (Asc(tlText)>=97 And Asc(tlText)<123) Then
tlEnglish=tlEnglish+1
ElseIf tlText=" " Then
tlEnglish=tlEnglish+1
ElseIf tlText=vbCr Or tlText=vbLf Or tlText=vbCrLf Then
'回车不算字符
Else
tlFuHao=tlFuHao+1
End If
End If
End If
End If
Next
End Sub
...全文
135 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
尚和空四 2005-11-25
  • 打赏
  • 举报
回复
sf
xiaoxingchi 2005-11-25
  • 打赏
  • 举报
回复
<%
dim tlComeText'传递变量到toumaoTextLength函数中:::
dim tli,tlText'toumaoTextLength的临时变量:::
dim tlInHtml,tlInHtml1'状态变量,标记是否在小于号大于号之间,是否在&和;之间且在小于号大于号之外:::
dim tlChinese,tlEnglish,tlNumber,tlFuHao'汉字个数,英文个数,数字个数,空格个数:::
Sub toumaoTextLength(tlComeText)
'统计字数用的,绕过HTML字符,只统计实际显示的字数:::
tlInHtml=0
tlInHtml1=0
tlChinese=0
tlEnglish=0
tlNumber=0
tlFuHao=0
For tli=1 to Len(tlComeText)
tlText=Mid(tlComeText,tli,1)
If tlText="<" Then
'碰到小于号,进入HTML代码内部,停止统计:::
tlInHtml=1
ElseIf tlText=">" Then
'离开HTML代码,要开始统计:::
tlInHtml=0
Else
'其它字符,可能是要统计的字符,也可能是HTML代码字符:::
If tlInHtml=0 Then
'在HTML外部,要统计字数:::
If tlText="&" Then
'进入特殊符号之中,统计时要注意,多个字符代表一个字符:::
tlInHtml1=1
ElseIf tlText=";" Then
'分号是特殊符号的结束标志:::
If tlInHtml1=1 Then
'在进入符殊符号后碰到分号,表求离开特殊符号,字符数要加1:::
tlInHtml1=0
tlEnglish=tlEnglish+1
Else
'在特殊符号外面碰到分号,它就是一个分号:::
tlFuHao=tlFuHao+1
End If
ElseIf tlInHtml1=0 Then
'不在特殊符号区域内
If Asc(tlText)<0 Then
tlChinese=tlChinese+1
ElseIf Asc(tlText)>=48 And Asc(tlText)<=57 Then
tlNumber=tlNumber+1
ElseIf (Asc(tlText)>=65 And Asc(tlText)<91) Or (Asc(tlText)>=97 And Asc(tlText)<123) Then
tlEnglish=tlEnglish+1
ElseIf tlText=" " Then
tlEnglish=tlEnglish+1
ElseIf tlText=vbCr Or tlText=vbLf Or tlText=vbCrLf Then
'回车不算字符
Else
tlFuHao=tlFuHao+1
End If
End If
End If
End If
Next
End Sub

Dim str
str = "我是中国人,japan is pig,哈哈."
Call toumaoTextLength(str)

Response.write "中文 英文 数字 符号<br>"
Response.write tlChinese & " " & tlEnglish & " " & tlNumber & " " & tlFuHao
%>
安迪 2005-11-25
  • 打赏
  • 举报
回复
接收到上一页面的字符串内容,把它放在一个变量里边,然后再你上边给出的代码中在dim定义完了后,加上call toumaoTextLength(上边存放字符串的变量名)这一句,就可以了!

28,405

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧