入力判定するには?


junjun  2006-12-05 02:37:01  No: 97345

vb6です。ラベル3つとテキストボックス3つをフォーム上に配置して、既存のmoji.xlsファイルから単語(cupなどの英字)をランダムに取得し、単語 空白 単語というふうにラベルに表示しています。
この表示された文字をテキストボックスに入力してもらい、最後の文字まで一致したら終了というふうにしたいのですがどうしたらよいでしょうか?
Keydownを使用して判定したいのですが。

Dim i, j As Integer

Private Sub Command1_Click()
On Error Resume Next
Dim strWork As String
Dim objWork As Object
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("E:\moji.xls")
Set xlSheet = xlBook.Worksheets(1)
Set objWork = Label1

Randomize

n = 0
For n = 0 To 5

i = Int(Rnd * 10) + 1
j = Int(Rnd * 10) + 1

      strWork = " " & xlSheet.Cells(i, j).Value
      If objWork.Width < Me.TextWidth(objWork.Caption) + Me.TextWidth(strWork) Then
            If objWork.Name = "Label1" Then
            Set objWork = Label2
            ElseIf objWork.Name = "Label2" Then
            Set objWork = Label3
            End If
        End If
objWork.Caption = objWork.Caption & strWork

Next n
xlBook.Close
xlApp.Quit

Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing

End Sub


通ってみた  2006-12-05 13:17:33  No: 97346

私だったらChangeイベントを利用するかなぁ

ラベルの文字数とテキストボックスの文字数が同じもしくは超えた場合のみ、ラベルの文字とテキストボックスの文字が一緒か判定すれば済むと思います


junjun  2006-12-06 02:20:11  No: 97347

実際にどのようなプログラムをくむのですか?


レベル1  2006-12-07 00:57:15  No: 97348

>実際にどのようなプログラムをくむのですか?
Private Sub Text1_Change()
    If (Len(Label1.Caption) <> Len(Text1)) Then Exit Sub
    If Label1.Caption = Text1 Then
        MsgBox "OK"
    End If
End Sub
かな・・・


通ってみた  2006-12-08 12:38:36  No: 97349

この程度の日本語→VB言語の変換ができないようでは・・・まだまだ
やってみてから質問をしましょう

逆に質問時のプログラムはどうつくったのか疑問

ついでですが、

>Dim i, j As Integer

これだと変数iはVariant型ですよ


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加