标题:没有实现换行字数的统计,只能在本行计算字数,加了换行的字数,就不行了
取消只看楼主
lijun337
Rank: 1
等 级:新手上路
帖 子:379
专家分:5
注 册:2006-4-12
结帖率:84.62%
 问题点数:0 回复次数:8 
没有实现换行字数的统计,只能在本行计算字数,加了换行的字数,就不行了

没有实现换行字数的统计,只能在本行计算字数,加了换行的字数,就不行了!!!!

请看代码:

Private Sub Text1_Change()
Dim str As String
Dim T As Integer
Dim tx As Integer
T = 0

For tx = 0 To Len(Text1.Text)
Text1.SelStart = tx
Text1.SelLength = 1
str = Text1.SelText
If str = "," Or str = "。" Or str = "!" Or str = "《" Or str = "》" Or str = "“" Or str = "”" Or str = ":" Or str = "(" Or str = ")" Or str = "(" Or str = ")" Or str = ";" Or str = "、" Or str = "?" Or str = "," Or str = "." Or str = "0" Or str = "1" Or str = "2" Or str = "3" Or str = "4" Or str = "5" Or str = "6" Or str = "7" Or str = "8" Or str = "9" Then T = T + 1
Next tx
T = T / 2

If Text1.Text <> "" Then
Text2.Text = Len(Replace(Text1.Text, " ", "")) - T

请教,谢谢!

搜索更多相关主题的帖子: 字数 本行 统计 
2006-05-14 22:11
lijun337
Rank: 1
等 级:新手上路
帖 子:379
专家分:5
注 册:2006-4-12
得分:0 
我将TEXT1里的文字按回车键另起一行,字数增加2,再加一行,字数又增加2
好象换行字数+2???
难道代码哪个地方还少了什么?
2006-05-14 22:21
lijun337
Rank: 1
等 级:新手上路
帖 子:379
专家分:5
注 册:2006-4-12
得分:0 

我只是想统计字数,符号(含逗号、句号或者数字)算汉字字数的一半,然后除以时间,计算打字速度!
但我那代码只能计算比较少的文本字数,
而且换行的文字字数自动加2!

字数比较多的大文本文件的字数,总是发生死机事件,光标不断地在TEXT里来回晃动,左右上下控条左右上下来回不断摆动!
好象死机了!
只好按CTRL+DELE+ALT关闭该程序!

程序还是有问题!

2006-05-15 13:34
lijun337
Rank: 1
等 级:新手上路
帖 子:379
专家分:5
注 册:2006-4-12
得分:0 

是的!
哦!回车键也算字符?
在“If str = ","。。。。。。Then T = T + 1”再添加个“Or str = "CRTL" ”么?
试了下,不行?
怎么写?
教我!
谢谢!

2006-05-15 22:47
lijun337
Rank: 1
等 级:新手上路
帖 子:379
专家分:5
注 册:2006-4-12
得分:0 
“Dim Lens As Integer
Lens=LenB(b)
'LenB是一个求半角字符串长度的函数,这就可以了
至少哪些字符串不取,你可以统计一下无需计算在内的字符的数目减掉就好了”

英文字母和逗号、句号等其他特殊字符均属于半角字符?
汉字属于全角字符?
2006-05-16 17:14
lijun337
Rank: 1
等 级:新手上路
帖 子:379
专家分:5
注 册:2006-4-12
得分:0 
我的意思就是说在:Or str = "“如何填写就可以是回车键字符所代表的代码?

我的意思就是说在我那现成的代码里直接修改添加回车键所代表字符数的代码!
2006-05-16 17:20
lijun337
Rank: 1
等 级:新手上路
帖 子:379
专家分:5
注 册:2006-4-12
得分:0 

现在代码改为如下:

Private Sub Text1_Change()
Dim str As String
Dim T As Integer
Dim tx As Integer
Dim i As Integer
Dim n As Single
T = 0

For tx = 0 To Len(Text1.Text)
Text1.SelStart = tx
Text1.SelLength = 1
str = Text1.SelText
If str = "," Or str = "。" Or str = "!" Or str = "《" Or str = "》" Or str = "“" Or str = "”" Or str = ":" Or str = "(" Or str = ")" Or str = "(" Or str = ")" Or str = ";" Or str = "、" Or str = "?" Or str = "," Or str = "." Or str = "0" Or str = "1" Or str = "2" Or str = "3" Or str = "4" Or str = "5" Or str = "6" Or str = "7" Or str = "8" Or str = "9" Then T = T + 1
Next tx
T = T / 2


For i = 1 To Len(Replace(Text1.Text, " ", "")) - T
If Asc(Mid(Text1.Text, i, 1)) = 13 Then
n = n
Else
n = n + 1
End If
Next i
Text11.Text = n

Command2.SetFocus

End Sub

两种结果:
一、以粘贴文本文字形式显示在TEXT里的结果为,
(:“按照中共安徽省委办公厅、安徽省人民政府办公厅《关于开展县域经济考核评价,促进县域经济发展的实施意”共46。5个字符)

若是在一行里,就是46(实际为46。5),若分成两行就是47,分成三行就是48分成四行就是59,自动加1。。。。)于TEXT里,统计为为回车键字数算1,每按次回车键,就自动加1而不是加2了!

二、以在VB里打开\11.TXT形式并显示到TEXT里的结果为48(只有一行字的话一行,)
分成两行字的话就是49;分成三行字的话就是50;....以此类推.

2006-05-17 15:39
lijun337
Rank: 1
等 级:新手上路
帖 子:379
专家分:5
注 册:2006-4-12
得分:0 
xinfresh帮我再看看!
2006-05-17 22:21
lijun337
Rank: 1
等 级:新手上路
帖 子:379
专家分:5
注 册:2006-4-12
得分:0 

你这好象解决了回车问题!

但空格问题呢?

令s = Replace(Text1.Text, " ", "")

Replace(s, vbCrLf, vbNullString)

这样行么?

2006-05-18 17:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-64202-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.401469 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved