Книга: Delphi. Учимся на примерах

Разработка серверной программы

Разработка серверной программы

Создайте новый проект Delphi. Разместите на форме главный компонент программы — ServerSocket категории Internet и измените значение его свойства Port на 2801.

Первым делом, обеспечим нашей форме невидимость. Создайте обработчик события формы OnPaint и добавьте в него следующий код:

procedure TForm1.FormPaint(Sender: TObject);
begin
 Form1.Hide;
end;

Для того чтобы активизировать сервер при запуске программы, необходимо обработать событие формы OnCreate:

procedure TForm1.FormCreate(Sender: TObject);
begin
 ServerSocket1.Active:= True; //активизировать сервер
end;

Для того чтобы при выходе из программы сервер отключался, необходимо обработать событие формы OnDestroy:

procedure TForm1.FormDestroy(Sender: TObject);
begin
 ServerSocket1.Active:= False; //отключаем сервер
end;

Теперь осталось только обработать событие OnClientRead компонента ServerSocket. Это событие будет происходить каждый раз, когда будет поступать команда от клиента. Код обработчика этого события имеет следующий вид:

procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
 str, x, y: string; //полученный текст и координаты
  //указателя по X и по Y
 i, j: integer; //счетчики циклов
 begin
 //обнуляем координаты курсора
 х := ' ';
 у := ' ';
 str:= Socket.ReceiveText; //полученный от клиента текст
 for i:=1 to Length(str) do begin
  if str[i] <> '_' then x:= x + str[i]; //координаты по х
  if str[i] = '_' then Break; //разделитель между
   //координатами указателя
 end;
 for j:= i+1 to Length(str) do у:= y+str[j]; //координаты по у
 //устанавливаем новые координаты указателя
 SetCursorPos(StrToInt(x), StrToInt(у));
end;

При получении текста мы считываем в отдельные переменные значение координат указателя по X и по Y. Затем изменяем координаты на те, которые только что получили от клиента.

Теперь программа полностью готова, и для того чтобы протестировать ее, необходимо иметь хотя бы два компьютера, объединенные в локальную сеть или подключенные к Internet.

Оглавление книги


Генерация: 1.328. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз