Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.10.2011, 16:29
Eridanus Eridanus вне форума
Прохожий
 
Регистрация: 11.09.2011
Сообщения: 39
Репутация: -2229
Восклицание IdTCPClient1

как с помощью IdTCPClient1 отправлять сообщения? напишите код плиз и объясните почему этот код построен так!


Все заранее большое спасибо.
Ответить с цитированием
  #2  
Старый 22.10.2011, 16:49
Аватар для DelphiM0ZG
DelphiM0ZG DelphiM0ZG вне форума
Новичок
 
Регистрация: 22.10.2011
Сообщения: 62
Репутация: 666
По умолчанию Работа с IdTCPClient

Для начала нужно настроить IdTCPClient: Host - IP-адрес сервера, Port - целое число, кроме нуля (на сервере порт должен быть таким же, например 1234). Все эти свойства, конечно же, можно установить и программно. Подключаем клиент к серверу таким кодом:
Код:
IdTCPClient1.Host:=LabeledEdit1.Text; // IP-сервера
IdTCPClient1.Connect; // подключение
Соответственно, отключение:
Код:
IdTCPClient1.Disconnect;
Пример отправки сообщений продемонстрирую на событии нажатия мыши на компоненте Image:
Код:
procedure TClientMainForm.Image1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  If (Button=mbLeft) Then
    IdTCPClient1.WriteLn('left_down')
  Else If (Button=mbRight) Then
    IdTCPClient1.WriteLn('right_down')
  Else If (Button=mbMiddle) Then
    IdTCPClient1.WriteLn('middle_down');
end;
Теперь приложение-сервер. Устанавливаем на форму приложения-сервер IdTCPServer. Код на кнопку "Создать сервер":
Код:
  IdTCPServer1.Bindings.Add; // добавляет подключение
  IdTCPServer1.Bindings.Items[0].IP:=LabeledEdit1.Text; // IP-адрес клиента
  IdTCPServer1.Bindings.Items[0].Port:=1234; // порт клиента
  IdTCPServer1.Active:=True; // активизирует сервер
Код на кнопку "Отключить сервер":
Код:
  IdTCPServer1.Active:=False;
  IdTCPServer1.Bindings.Delete(0);
Код на выполнение сервера (на событие OnExecute компонента IdTCPServer)
Код:
procedure TMainServerForm.IdTCPServer1Execute(AThread: TIdPeerThread);
Var
  Str: String; // строка
  Poz: TPoint; // позиция мышки
begin
  With AThread.Connection Do
    Begin
      Str:=ReadLn;

  // --------------Нажатие кнопок мыши------------------

      If (Str='left_down') Then  // проверяю сообщение клиента
        Begin
          GetCursorPos(Poz);
          Mouse_event(MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTDOWN,
            Poz.X, Poz.Y, 0, 0); // событие
        End;
      If (Str='right_down') Then
        Begin
          GetCursorPos(Poz);
          Mouse_event(MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_RIGHTDOWN,
            Poz.X, Poz.Y, 0, 0);
        End;
      If (Str='middle_down') Then
        Begin
          GetCursorPos(Poz);
          Mouse_event(MOUSEEVENTF_ABSOLUTE Or                MOUSEEVENTF_MIDDLEDOWN,
            Poz.X, Poz.Y, 0, 0);
        End;
  End;
end;
Сервер будет нажимать на кнопки мыши на управляемом компьютере. Думаю этого кода достаточно для ответа. По аналогии можно написать код на многие другие действия.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:53.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025