如題:
就是我如果PO一篇文章,
如何將文章的內容的字數統計出來
誰可以告訴我程式如何寫呢?
就是我們老師會給我們一篇文章
要我們運用VB的技巧
把VB的字數統計出來
要把中文跟英文字數統計出來
有點像是WORD裡的字數統計就是了
例如:我愛你 I LOVE YOU
如果我把這些字輸入進去
VB的執行檔會出現:
中文 3 英文8
而且原文要出現
程式越詳細越好
謝謝 感激不盡
2005-12-13 17:38:11 · 3 個解答 · 發問者 ☆泡芙☆ 2 in 電腦與網際網路 ➔ 程式設計
『等待天使』我試過你的程式了,
可是~你給我的程式…我不知道要在哪裡PO我的文章A~。
可能是我說的不夠詳細吧~
我的步驟是:1.在完成的後的視窗能PO上一篇文章
2.PO完文章後能有按鈕按下一步
3.出現的另一個對話框會有
中文 X 英文X
補充
十分感謝你的解答哦~感激不盡
2005-12-14 13:26:32 · update #1
『W.J.S』謝謝你的解答哦!
可是~我要在哪裡PO我的文章呢?
你跟等待天使給我的程式
都無法讓我PO文章的說~"~
不好意思哦~再多多麻煩你們了ㄋㄟ
謝謝哦~
2005-12-14 13:34:34 · update #2
『等待天使』你的程式會把符號跟空格自動算成英文的說 "
2005-12-15 13:21:47 · update #3
『W.J.S』你可以告訴我程式的意思嗎~
麻煩你們二位了~
2005-12-15 13:23:03 · update #4
兩位大大~~~對不起~
今天我們老師熊熊換題型了
就是英文的部份呀~
之前我不是說i love you 算八個字嗎
現在算三個字就是要利用空格跟逗號
分辦出英文字數
例:i love you,very much
轉變出來的字數
2005-12-19 08:46:29 · update #5
會變成五個數字~
各位大大~麻煩你們了
感激不盡呀 "
2005-12-19 08:47:11 · update #6
補充-------
Private Sub Command1_Click()
Dim S As String, S1() As String
S = "i love you,very much"
S1 = Split(Replace(S, ",", " ")) '把逗號改成空格再讀入S1陣列
MsgBox "共有" & UBound(S1) + 1 & "字"
End Sub
-------------
不大懂您的意思,好吧假設您的文章是C:\Text.txt,然後打開vb做一個標準執行檔,在表單上設置一個CommandButton再把以下的Code貼上再執行就可!
Private Sub Command1_Click()
Dim C As Integer, E As Integer, I As Integer, X As Integer, S As String, S1 As String
Open "C:\Text.txt" For Input As #1 '讀取C:\Text.txt
Do Until EOF(1)
Input #1, S1
S = S & S1 '將C:\Text.txt內容讀至S
Loop
For I = 1 To Len(S) '一個字一個字來判斷
'先轉成DBSC+SBCS字串再計算其位元組
X = AscB(StrConv(Mid(S, I, 1), vbFromUnicode))
'若位元組>128就表示其為中文字
If X > 128 Then
C = C + 1
'若位元組65~90(大寫)或97~122(小寫)就表示其為英文字
ElseIf (X > 64 And X < 91) Or (X > 96 And X < 123) Then
E = E + 1
End If
Next
MsgBox S & vbCrLf & "中文字共有 : " & C & " 字" & vbCrLf & "英文字共有 : " & E & " 字"
End Sub
2005-12-14 13:24:39 · answer #1 · answered by W.J.S. 7 · 0⤊ 0⤋
那請問各位大大們
原文不要出現那要怎ㄇ修改呢?
2007-01-03 08:53:05 · answer #2 · answered by kent 1 · 0⤊ 0⤋
Private Sub Command1_Click()
'宣告
Dim C_Num As Integer, E_Num As Integer
'計算中文字數
C_Num = LenB(StrConv(Text1.Text, vbFromUnicode)) - Len(Text1.Text)
'計算英數字的字數
E_Num = Len(Text1.Text) - C_Num
'輸出
MsgBox Text1.Text & VBCrLf & "中文:" & C_Num & " 英文:" & E_Num
End Sub
2005/11/15 補充
在 Form 上放置一個TextBox (Text1) 和一個 CommandButton(Command1)
將Text1的 MultiLine屬性設成True, 將Command1的Caption屬性設為[下一步]
在 Form 空白處點右鍵, 選檢視程式碼, 再貼上上面的 Code 就可以了
執行(F5)後, 就可以將文章PO在 TextBox 上, 再按 CommandButton 就會統計字數
2005/11/16 補充
我是用半形全形來區分, 如果你只要其中的英文字母和數字的話, 就只能用 UniCode 去區分了, 更新程式如下
Private Sub Command1_Click()
Dim ECount As Long '英文字母數目(含大小寫)
Dim NCount As Long '數字數目(0~9)
Dim CCount As Long '中文數目(雙位元字元)
Dim OCount As Long '其它符號和空白數目
Dim i As Long 'flag
Dim tmp As String 'Temp Char
For i = 1 To Len(Text1.Text)
tmp = Mid(Text1.Text, i, 1) '一次抓一個字元
Select Case AscW(tmp)
'英文字母
Case AscW("A") To AscW("Z"), AscW("a") To AscW("z")
ECount = ECount + 1
'數字
Case AscW("0") To AscW("9")
NCount = NCount + 1
'中文
Case Is > 255, Is < 0
CCount = CCount + 1
'其它
Case Else
OCount = OCount + 1
End Select
Next i
'輸出
MsgBox Text1.Text & vbCrLf & _
"中文:" & CCount & " 英文:" & ECount & _
"數字:" & NCount & " 符號:" & OCount
End Sub
2005-12-14 06:19:40 · answer #3 · answered by Brian 5 · 0⤊ 0⤋