0

私は文字をスクランブルしたので、毎回異なり、辞書のすべての単語を含む txt ファイルがあります。私はこれに不慣れで、VBを独学しようとしていますが、これで私は得たので、本当に助けが必要です.

基本的に、プレーヤーがテキストボックスに入力したものが、文字列と txt ファイルを比較して実際の単語であることを確認することにより、スクランブルされた 8 文字で見つかる単語であることを確認するにはどうすればよいですか? 単語は、8 未満である限り、任意の長さにすることができます。

子音用と母音用の 2 つの配列があるため、プレーヤーは母音ボタンまたは子音ボタンのいずれかをクリックしてスクランブル文字を作成します。

例: KEEIAQWL LEAK という単語が存在します。:)

4

1 に答える 1

1

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

これにより、文字は 1 回しか使用できないようになります。つまり、"BO" から "BOOB" を使用することはできません。

于 2013-07-16T12:00:20.927 に答える