VB: Problem beim Erstellen eines simplen Spiels.

Hallo,
ich habe ein Problem betreffend dieses Programms: http://alius.al.funpic.de/Script-Archiv/VB/X_And_O/

Die Felder sollen geleert werden wenn der in ihnen enthaltende Text ungleich "X" oder "O" ist. Komisch ist nur, dass er das X annimmt, das O aber löscht. Hier der entsprechende Code, der komplette ist auf der genannten Seite zu finden.

Code:
Private Sub Check_If_Entry_Is_False_Timer()
    If Not O_L.Text = "X" Or O_L.Text = "O" Then O_L.Text = ""
    If Not O_M.Text = "X" Or O_M.Text = "O" Then O_M.Text = ""
    If Not O_R.Text = "X" Or O_R.Text = "O" Then O_R.Text = ""
    If Not M_L.Text = "X" Or M_L.Text = "O" Then M_L.Text = ""
    If Not M_M.Text = "X" Or M_M.Text = "O" Then M_M.Text = ""
    If Not M_R.Text = "X" Or M_R.Text = "O" Then M_R.Text = ""
    If Not U_L.Text = "X" Or U_L.Text = "O" Then U_L.Text = ""
    If Not U_M.Text = "X" Or U_M.Text = "O" Then U_M.Text = ""
    If Not U_R.Text = "X" Or U_R.Text = "O" Then U_R.Text = ""
End Sub

Weiß einfach nicht woran es liegt, bin dankbar für jede Hilfe, danke.

mfg $oul
 
Hi, ganz einfach! Dein

Code:
Not
bezieht sich immer nur auf die 1. Abfrage. nach dem
Code:
Or
verliert das Not seine Gültigkeit.
 
Soll heißen du musst die Bedingung einklammern, damit sie als ein Ausdruck vom Not umgekehrt werden kann.

Code:
Private Sub Check_If_Entry_Is_False_Timer()
    If Not (O_L.Text = "X" Or O_L.Text = "O") Then O_L.Text = ""
    If Not (O_M.Text = "X" Or O_M.Text = "O") Then O_M.Text = ""
    If Not (O_R.Text = "X" Or O_R.Text = "O") Then O_R.Text = ""
    If Not (M_L.Text = "X" Or M_L.Text = "O") Then M_L.Text = ""
    If Not (M_M.Text = "X" Or M_M.Text = "O") Then M_M.Text = ""
    If Not (M_R.Text = "X" Or M_R.Text = "O") Then M_R.Text = ""
    If Not (U_L.Text = "X" Or U_L.Text = "O") Then U_L.Text = ""
    If Not (U_M.Text = "X" Or U_M.Text = "O") Then U_M.Text = ""
    If Not (U_R.Text = "X" Or U_R.Text = "O") Then U_R.Text = ""
End Sub
 
Zurück
Oben