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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.06.2011, 22:41
link993 link993 вне форума
Прохожий
 
Регистрация: 08.05.2011
Сообщения: 36
Репутация: 10
Восклицание как осуществить передачу команды между двумя програмами (Sockets)

Ув. Pilot Red, подскажи как осуществить передачу команды между двумя програмами (Sockets). Пробовал писать игру не получилось...
Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  DoubleBuffered := True; // двойная буфферизация, чтобы не моргали компоненты на форме
if Key = VK_RIGHT then
  Shape1.Left := Shape1.Left + 1; // перемещаем вправо
if Key = VK_LEFT then
  Shape1.Left := Shape1.Left - 1; // перемещаем влево
if Key = VK_DOWN then
  Shape1.Top := Shape1.Top + 1; // перемещаем вверх
if Key = VK_UP then
  Shape1.Top := Shape1.Top - 1;  // перемещаем вниз
end;

Мне надо сделать так:

if Key = VK_UP then cокет посылает всем клиентам сообщение (команду) VK_UP , а клиенты уже на нее реагируют и двигают shape1 на своей форме вперед.
__________________
Я не поэт, но я скажу стихами: "Пошли вы нах*(пииии)уй мелкими шажками" Люди эт я шучу...
Ответить с цитированием
  #2  
Старый 05.06.2011, 01:31
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Цитата:
Сообщение от link993
Ув. Pilot Red, подскажи как осуществить передачу команды между двумя програмами (Sockets). Пробовал писать игру не получилось...
Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  DoubleBuffered := True; // двойная буфферизация, чтобы не моргали компоненты на форме
if Key = VK_RIGHT then
  Shape1.Left := Shape1.Left + 1; // перемещаем вправо
if Key = VK_LEFT then
  Shape1.Left := Shape1.Left - 1; // перемещаем влево
if Key = VK_DOWN then
  Shape1.Top := Shape1.Top + 1; // перемещаем вверх
if Key = VK_UP then
  Shape1.Top := Shape1.Top - 1;  // перемещаем вниз
end;

Мне надо сделать так:

if Key = VK_UP then cокет посылает всем клиентам сообщение (команду) VK_UP , а клиенты уже на нее реагируют и двигают shape1 на своей форме вперед.

Завтра попробую что-нибудь накатать. Сегодня не получиться так как уже под пивандрием
Ответить с цитированием
  #3  
Старый 05.06.2011, 13:26
link993 link993 вне форума
Прохожий
 
Регистрация: 08.05.2011
Сообщения: 36
Репутация: 10
Восклицание

Цитата:
Сообщение от Pilot_Red
Завтра попробую что-нибудь накатать. Сегодня не получиться так как уже под пивандрием

Спасибо большое)))
__________________
Я не поэт, но я скажу стихами: "Пошли вы нах*(пииии)уй мелкими шажками" Люди эт я шучу...
Ответить с цитированием
  #4  
Старый 05.06.2011, 17:33
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Цитата:
Сообщение от Pilot_Red
так как уже под пивандрием
Странно, на меня спиртосодержащие напитки действуют как катализаторы мозговой деятельности. Даже оптимизировать ничего не надо - сразу идеальный код рождается
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #5  
Старый 05.06.2011, 17:59
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Цитата:
Сообщение от DJ PhoeniX
Странно, на меня спиртосодержащие напитки действуют как катализаторы мозговой деятельности. Даже оптимизировать ничего не надо - сразу идеальный код рождается
Так такая же фигня, входишь в транс, начинаешь писать, а утром встаешь и ни хрена не понимаешь
Тем не менее, вчера уже кондиция нормальная была )
Ответить с цитированием
  #6  
Старый 05.06.2011, 18:10
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Цитата:
Сообщение от Pilot_Red
ни хрена не понимаешь
Это да, но ведь оно ещё и работает
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #7  
Старый 05.06.2011, 18:35
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

раньше на меня пивас тоже так действовал, а потом начал действовать как снотворное, чуть выпил и уже ничо делать не охото, только спать...старею...
__________________
взялся из неоткуда, ничего не прошу, помогаю просто так
ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя
Ответить с цитированием
  #8  
Старый 05.06.2011, 19:34
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

запускаешь сервер, запускаешь несколько клиентов, вводишь ip-шник, подключаешься.
Управляя стрелками на серваке любуешься тем, как послушно двигаются клиентские Shape-ки
З.Ы.
Это сделано в качестве примера, чтобы понять как взаимодействуют ClienSocket и ServerSocket, так что само собой доработка за ВАМИ!

Последний раз редактировалось Pilot_Red, 14.06.2012 в 22:25.
Ответить с цитированием
  #9  
Старый 06.06.2011, 00:06
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

пример делался по пожеланию:
Цитата:
Сообщение от link993
if Key = VK_UP then cокет посылает всем клиентам сообщение (команду) VK_UP , а клиенты уже на нее реагируют и двигают shape1 на своей форме вперед.

В общем ты хочешь чтобы клиенты двигались по полю и, при этом они должны видеть друг друга.

там немного по другому будет.
сервер будет принимать от клиентов команды, их обрабатывать и отсылать им ответы (например координаты).

Например:
Я один из клиентов. хочу двигаться вверх, нажимаю соответствующую клавишу. к серверу летит соответствующая команда. Сервер в свою очередь принимает ее, рассчитывает мои координаты. и отсылает их всем активным клиентам включая и мне. каждый клиент принимает эти координаты и на основе их рисует кружочки, квадратики в общем клиентов. Это одна из вариаций. Решений может быть много. Например клиент сам рассчитывает свои координаты и их соответственно отправляет на сервак. Но тогда клиента можно взломать каким-нибудь ArtMoney..

Как я писал выше тот пример, который я выслал, это некая почва для размышления. Так что разбирайся
Ответить с цитированием
  #10  
Старый 06.06.2011, 09:55
link993 link993 вне форума
Прохожий
 
Регистрация: 08.05.2011
Сообщения: 36
Репутация: 10
Восклицание

Pilot_Red, еще раз спасибо! Буду думать как сделать...
__________________
Я не поэт, но я скажу стихами: "Пошли вы нах*(пииии)уй мелкими шажками" Люди эт я шучу...
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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