vb编程,莫尔斯电码

要求编一个莫尔斯电码的程序,要求输入一个词,能输出莫尔斯电码,有一个小问题请教高手,我在输入栏里输入一个单词,怎么能取到每个字母的值,就是翻译应该是逐字母翻译,输入好比“word”,怎么样让第一个定义的变量取到w为值,怎么样让第二个取到o,以此类推?应该定义多少变量呢?因为输入的单词的长短不一样啊?不懂。。。
谢谢一楼,很有用,但是如果输入的是句子怎么办?我想把句子中没一个单词一次赋值,如下代码怎么改?

第1个回答  2009-12-04
谢谢,对于你补充的问题:
你可以先计算有多少个空格,然后根据空格数+1来确定单词数
UBound(Split(Text1.Text, " ")) + 1 '//这个是单词数目
Dim P() As String
P = Split(Text1.text, " ")
dim j as integer
for j=0 to UBound(Split(Text1.Text, " "))
redim arr(len(P(j)))
dim i as integer
for i=1 to len(P(j))
arr(i)=mid(P(j),i,1) '///分别取每位上的字符
next i
next j本回答被提问者采纳
第2个回答  2021-02-09
如何将一段长字符转换为摩斯电码:
'Text To Morse Code
Dim i ,Text ,Morse
Text = "欲转换的文本" Rem 仅限英文和标点
Text =Ucase(Text ) Rem 全部转为大写
For i =1 To Len (Text)
Select Case Asc (Mid (Text ,i ))
Rem 将文本内的第i个字符转换为ASCII 编码
Case 65
Morse =Morse & "·-"
Rem "·-"是A 对应的摩斯电码
Case 66
Morse =Morse & "-···"
Rem B
.........
Case 90
Morse = Morse & "--··"
Rem Z
Case 10 Rem 空格
Morse = Morse & " "
Case 13 Rem 换行符的ASCII 编码
Morse =Morse & VBCrLf
.........省略,以此类推
Case Else
End Select
Next
第3个回答  2009-12-04
tt=text1.text
bb=""
for i=1 to len(tt)
a=ms(mid(tt,1,1))
bb=bb & a
next
private function ms(t) as string
电码转换
转换后的结果a
ms=a
end function
程序执行完 bb就是把text1.text转换后的电码。
句子也是直接转就行啊。反正是按字符一位一位的走呢。

我的这个做法就是把你传过来的句子按字一位一位的转,传词还是句都一样的。
相似回答