Vb6 如何在vb中显示字数长度?
因此,我花了几个小时来研究如何在vb中显示字数长度。 例如,如果我在富文本框中键入一个句子,然后单击一个按钮,我希望显示一个表单,列出该句子中一个字母单词、两个字母单词、三个字母单词等的数量。当然,特定长度的字数将在标签中输出 我在网上找到了用于字数统计的短代码:Vb6 如何在vb中显示字数长度?,vb6,Vb6,因此,我花了几个小时来研究如何在vb中显示字数长度。 例如,如果我在富文本框中键入一个句子,然后单击一个按钮,我希望显示一个表单,列出该句子中一个字母单词、两个字母单词、三个字母单词等的数量。当然,特定长度的字数将在标签中输出 我在网上找到了用于字数统计的短代码: dim wordcount as integer dim a as string() = RichText.Text.Split(" ") wordcount = a.length 但是,我不确定这段代码是否可以用来获取字数的长
dim wordcount as integer
dim a as string() = RichText.Text.Split(" ")
wordcount = a.length
但是,我不确定这段代码是否可以用来获取字数的长度。关于如何在标签中输出特定长度的字数,有什么想法吗?谢谢。像这样的东西怎么样:
Private Sub mnuCount_Click()
Const DELIMITERS As String = vbNewLine & " !"",.:;?"
Dim WordCounts(1 To 100) As Long
Dim Msg As String
Dim I As Integer
Dim WordCount As Long
With RTB
.Visible = False
.SelStart = 0
Do
.UpTo DELIMITERS, vNegate:=True
.Span DELIMITERS, vNegate:=True
If .SelLength > 0 Then
WordCounts(.SelLength) = WordCounts(.SelLength) + 1
.SelStart = .SelStart + .SelLength
Else
Exit Do
End If
Loop
.SelStart = 0
.Visible = True
End With
Msg = "Length" & vbTab & "Count"
For I = 1 To 100
If WordCounts(I) > 0 Then
Msg = Msg & vbNewLine _
& CStr(I) & vbTab & CStr(WordCounts(I))
WordCount = WordCount + WordCounts(I)
End If
Next
Msg = Msg & vbNewLine _
& "Grand total:" & vbNewLine _
& vbTab & CStr(WordCount)
MsgBox Msg
End Sub
普拉德尼亚的代码,翻译成VB6:
Option Explicit
Private Sub Command1_Click()
Dim str As String
Dim splitStr() As String
Dim i As Integer
str = "ABC DEF GHIJ KLMNOPQ"
splitStr = Split(str, " ")
MsgBox "Number of words = " & UBound(splitStr) + 1 & vbCrLf & _
"Average Length = " & Len(Replace(str, " ", "")) / (UBound(splitStr) + 1)
End Sub
我也做了一些简化。没有必要通过循环来获得平均值。要得到整个数组的长度,只需删除空格并除以数组中的元素数
但是,如果您想获得每个长度的字数,则必须循环遍历数组,获取每个字数的长度并逐个存储这些值。最好的方法是设置对scrrun.dll Windows脚本运行时的引用,并使用Dictionary对象存储值。欢迎使用stackoverflow。首先,请编辑您的帖子以正确设置代码格式。第二,你不确定代码是否可以使用是什么意思?这对你不管用吗?它是如何失败的?你描述的问题越具体,你得到的答案就越好。在我的表单中,我有一个选项,允许用户确定文本中的字数,换句话说,字数。用户在一个富文本框中键入内容,单击一个按钮后,一个消息框会显示一个包含字数的标签。上面的代码非常适用于此。我遇到的问题是字数的长度。如何确定文本中有多少特定长度的单词,然后将它们显示在标签中?上述代码是否可以与其他代码一起使用以实现此目的?谢谢。我建议你读一读,看看我写你的代码格式时的意思。不,你发布的代码不计算每种长度的字数。它只返回字数-忽略每个单词的长度。如果要计算每种长度的单词数,请在调用Split后遍历a中的数组元素,并计算每个元素中的字母数,然后将这些计数存储在另一个数组中。运行您发布的代码应该清楚地说明它返回了什么,而无需在此处询问。首先,至少花一点力气自己把事情弄清楚是很有用的。