Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
2 / 2 / 0
Регистрация: 16.03.2015
Сообщений: 14

Нажатие кнопки на сервере через клиент

19.06.2016, 20:37. Показов 998. Ответов 10

Студворк — интернет-сервис помощи студентам
Среда разработки Rad studio C++Builder 10 Seattle, есть приложение на android устройстве (клиент) и сервер на пк. android приложение подключается к серверу и через кнопку передает сообщение в поле на сервер. Для взаимодействия клиента и сервера использую IdTCPServer и IdTCPClient.
Как можно передать события нажатия кнопки, то есть по нажатию кнопки в клиенте кнопка нажималась бы на сервере?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.06.2016, 20:37
Ответы с готовыми решениями:

Нажатие кнопки через время
Как сделать, что бы через определенный промежуток времени была нажата кнопка. Например через 10 секунд после нажатия кнопки выполнилось...

Нажатие кнопки приводит к изменению цвета формы и заголовка кнопки
Помогите пожалуйста так сделать : "Нажатие кнопки приводит к изменению цвета формы на синий, а надпись на кнопке меняется".

Нажатие кнопки через консоль в браузере
Здравствуйте! В общем, столкнулся с проблемой, что некоторых пользователей нельзя добавлять в Steam в друзья. Дело в том, что они...

10
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
19.06.2016, 20:49
MrOtis, очевидно послать сообщение "дорогой, нажми вот эту кнопку" или нужна серебряная пуля? Мне такая не известна
0
2 / 2 / 0
Регистрация: 16.03.2015
Сообщений: 14
19.06.2016, 20:57  [ТС]
Цитата Сообщение от vxg Посмотреть сообщение
MrOtis, очевидно послать сообщение "дорогой, нажми вот эту кнопку" или нужна серебряная пуля? Мне такая не известна
Вы не правильно меня поняли мне не нужно сообщение слать, на форме сервера есть кнопка, нужно чтобы она нажалась когда я нажимаю кнопку на клиенте.
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
20.06.2016, 07:33
MrOtis, и как сервер узнает о необходимости сделать Button1->Click() без сообщения? Телепатически?
0
2 / 2 / 0
Регистрация: 16.03.2015
Сообщений: 14
20.06.2016, 11:22  [ТС]
это я понимаю, что нужно Button1->Click() чтобы кнопка нажалась, но как сервер должен понять что я хочу кнопку нажать а не передають просто текст
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
20.06.2016, 11:52
Цитата Сообщение от MrOtis Посмотреть сообщение
как сервер должен понять
сервер: шлет сообщение вида "Form1 Button1 Click"
клиент: ищет форму Form1 ищет на ней кнопку Button1 вызывает ее метод Click
0
2 / 2 / 0
Регистрация: 16.03.2015
Сообщений: 14
20.06.2016, 12:53  [ТС]
Пробую сделать так
на сервере:
C++
1
2
3
4
void __fastcall TForm1::IdTCPServer1Execute(TIdContext *AContext)
{
AContext->Connection->IOHandler->ReadLn(enUTF8);
}
На клиенте:
C++
1
2
3
4
5
void __fastcall TForm1::Button5Click(TObject *Sender)
{
if(!IdTCPClient1->Connected() ) IdTCPClient1->Connect();
IdTCPClient1->IOHandler->WriteLnRFC("Form1->Button1->Click();",enUTF8);
}
Но ничего не происходит, не подскажете что я делаю не так?
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
20.06.2016, 12:55
Цитата Сообщение от MrOtis Посмотреть сообщение
Но ничего не происходит, не подскажете что я делаю не так?
я вижу как вы читаете строчку из потока на сервере но не вижу как сервер на нее реагирует - где тот самый вызов?
0
2 / 2 / 0
Регистрация: 16.03.2015
Сообщений: 14
20.06.2016, 13:09  [ТС]
Цитата Сообщение от MrOtis Посмотреть сообщение
AContext->Connection->IOHandler->ReadLn(enUTF8);
Ну, по идее должен быть он

Добавлено через 1 минуту
ой, не то,

Добавлено через 11 минут
немного напутал с кнопками у меня были не обычные кнопки а SpeedButtonы, но суть не в етом
Получилось когда сделал так:
C++
1
2
AContext->Connection->IOHandler->ReadLn(enUTF8);
SpeedButton1->Click();
но тогда передача передача
C++
1
IdTCPClient1->IOHandler->WriteLnRFC("Form1->Button1->Click();",enUTF8);
а именно Form1->Button1->Click(); не имеет смысла так как сервер реагирует не на конкретное сообщение а на любое
тогда через ифы делать условие если сообщение такое то нажимается та то кнопка?
1
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
20.06.2016, 13:37
Цитата Сообщение от MrOtis Посмотреть сообщение
тогда через ифы делать условие если сообщение такое то нажимается та то кнопка?
в точку
1
2 / 2 / 0
Регистрация: 16.03.2015
Сообщений: 14
20.06.2016, 14:16  [ТС]
Кое как работает, но сервер подлагивает и не закрывается даже после отключения клиента бывает выдает ошибки типа error creating window device context и abnormal program termination. Буду разбираться.
Но это уже другая история.
Спасибо за помощь
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.06.2016, 14:16
Помогаю со студенческими работами здесь

Нажатие чужой кнопки через SendMessage
Допустим есть hwnd кнопки в другом окне, как использую SendMessage ее нажать?

Открытие PDF файла через нажатие кнопки
Как открыть PDF файл в среде Lazarus стандартными средствами Windows (у меня по умолчанию Chrome, это не важно), на событие нажатия кнопки,...

Изменение языка приложения через нажатие кнопки
Здравствуйте! Есть приложение, в нём есть кнопка "Язык", и я хочу, чтобы по нажатии на кнопку выскакивала менюшка с выбором языка. Как это...

Автоматическое нажатие кнопки через определенное время
Как сделать так, чтобы кнопка сама нажималась через некоторое время? Через таймер или как там. На форме кнопка "Обновить...

Добавление в базу данных через нажатие кнопки
вопрос вот в чем, при добавлении в БД из формы, в таблице создается новая строка но все значения пустые в этой форме ввожу значения ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru