Всем привет. Пишу игру крестики-нолики онлан. Есть сервер и клиент, но работать игра не хочет. Игрок 1 сервер, игрок 2 клиент. Делаю так когда игрок 2 нажимает button1: Code: procedure TForm1.Button1Click(Sender: TObject); begin Button1.Caption := '0'; Button1.Enabled := false; ClientSocket1.Socket.SendText('a'); end; На сервере делаю так: Code: procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); begin Memo1.Lines.Add(Socket.ReceiveText()); if Socket.ReceiveText() = 'a' then begin Button1.Caption := '0'; Button1.Enabled := false; end else if Socket.ReceiveText() = 'b' then begin Button2.Caption := '0'; Button2.Enabled := false; end else if Socket.ReceiveText() = 'c' then begin Button3.Caption := '0'; Button3.Enabled := false; end else if Socket.ReceiveText() = 'd' then begin Button4.Caption := '0'; Button4.Enabled := false; end else if Socket.ReceiveText() = 'e' then begin Button5.Caption := '0'; Button5.Enabled := false; end else if Socket.ReceiveText() = 'f' then begin Button6.Caption := '0'; Button6.Enabled := false; end else if Socket.ReceiveText() = 'g' then begin Button7.Caption := '0'; Button7.Enabled := false; end else if Socket.ReceiveText() = 'h' then begin Button8.Caption := '0'; Button8.Enabled := false; end else if Socket.ReceiveText() = 'j' then begin Button9.Caption := '0'; Button9.Enabled := false; end end; Но кнопка 1 на сервере не блокируется и название на 0 не меняется. Так со всеми кнопками. В чем ошибка?
не пробовали в procedure TForm1.ServerSocket1ClientRead обозначить строковую переменную, записать в нее значение Socket.ReceiveText() и потом уже с ней оперировать?
да. делал так: Code: procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var bukva: string; begin bukva := Socket.ReceiveText(); ...... У меня анализ не правильный какой-то. Как по-другому не придумал.
Справился Code: var param: string; begin param := Socket.ReceiveText(); case ANSIIndexText( param , ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j']) of 0: begin Button1.Caption := '0'; Button1.Enabled := false; end; ..........