如何从乱序字母中找到单词?Visual Basic 2010

时间:2013-07-16 10:41:18

标签: arrays vba

我已经对这些字母进行了加扰,所以它们每次都不同,并且有一个txt文件,其中包含字典中的所有单词。我是新手,并试图自学VB,但这已经得到了我,所以可以做一些帮助。

基本上,我怎样才能确保播放器进入文本框的内容是一个单词,可以通过与字符串和txt文件进行比较来查找拼写的8个字母,以确定它是真正的单词?单词可以是任意长度,只要它们小于8即可。

我有两个阵列,一个用于辅音,一个用于元音,因此播放器通过点击元音按钮或辅音按钮来创建乱码。

一个例子是: KEEIAQWL 泄漏这个词出现了。 :)

1 个答案:

答案 0 :(得分:1)

一种方法是在用户输入文本框时检查单个字母;如果它们不存在则不添加它们 - 这样您就不需要在字典查找之前检查。

一般方法是查看提交的单词中的每个字符;

available_letters = "KEEIAQWL"
....
entered_word = "leak"
available_letters_temp = available_letters

entered_word = Ucase$(entered_word) '//ensure same case

dim i as long, pos as long
for i = 1 to Len(entered_word)
    '// see if letter ok
    pos = instr(1, available_letters_temp, mid$(entered_word, i, 1))
    if pos = 0 then
        msgboxMid$(entered_word, i, 1) & " is not valid"
    else
        '// ok, remove for future lookups
        mid$(available_letters_temp, pos, 1) = "@"
    end if
Next

这也确保一封信只能使用一次,即不允许来自“BO”的“BOOB”。