Вопрос № 118442: Доброго времени суток.
Есть PopUpMenu с пунктами: Текущая дата, начало месяца, конец месяца, начало квартала, конец квартала, начало года, конец года
Вопрос, как определить, какой из пунктов выбран?
Не хочется использовать вариант с назна...Вопрос № 118574: В delphi 7 пытаюсь отправить сообщение от tcpclien к tcpserver, оно отправляется, но только один раз. В чём моя ошибка ?
Здесь исходник (5кб)
http://rapidshare.com/files/83953575/Chat.rar.html
http://depositfiles.com/files/3089467...
Вопрос № 118.442
Доброго времени суток.
Есть PopUpMenu с пунктами: Текущая дата, начало месяца, конец месяца, начало квартала, конец квартала, начало года, конец года
Вопрос, как определить, какой из пунктов выбран?
Не хочется использовать вариант с назначением каждому пункту события onClick.
Спасибо
Отвечает: Vas177
Здравствуйте, Дегтярев Антон Александрович!
Назначить событие OnClick можно всем пунктам меню ОДНО и тоже. Делается это просто: выбираем все пункты меню, а в Object Inspector делаем двойной щелчок напротив события OnClick. Можно полученное название переименовать здесь же. Теперь у всех пунктов меню одинаковый обработчик события.
Затем в полученном обработчике события можно делать перебор элементов таким образом:
if Sender = MenuName_1 then
...
else if Sender = MenuName_2 then
...
Можно поступить ещё проще. Заранее во всех пунтках меню в Object Inspector заполнить свойство Tag от 1 до N, где N - количество пунктов меню. Затем в общем обработчике события выбранный пункт идентифицировать с помощью этого свойства:
case TMenuItem(Sender).Tag of
1: ...
2: ...
...
N: ...
end;
Естественно, что у всех пунктов меню должно быть разное значение Tag.
Ответ отправил: Vas177 (статус: 3-ий класс)
Ответ отправлен: 14.01.2008, 16:38 Оценка за ответ: 5 Комментарий оценки: Спасибо, а я както забыл что можно назначить всем пунктам одно событее. То что надо.
Вопрос № 118.574
В delphi 7 пытаюсь отправить сообщение от tcpclien к tcpserver, оно отправляется, но только один раз. В чём моя ошибка ?
Здесь исходник (5кб)
http://rapidshare.com/files/83953575/Chat.rar.html
http://depositfiles.com/files/3089467
Отвечает: Лукьяненко Алексей Валериевич
Здравствуйте, Юрий Анатольевич!
Все дело в том, что событие onAccept возникает при подключении клиента (на одного клиента - один раз). При обработке этого события Вы можете или принячть соединение, или по каким-либо причинам отклонить.
А для приема переданной клиентом информации Вам нужно использовать событие OnClientRead
Ответ отправил: Лукьяненко Алексей Валериевич (статус: 10-ый класс)
Ответ отправлен: 15.01.2008, 13:48 Оценка за ответ: 5 Комментарий оценки: Спасибо, теперь всё работает.
Отвечает: Yumark
Здравствуйте, Юрий Анатольевич!
Я делал так (код в приложении).
Дополнение:
нужно объявить глобальную переменную ForSend, как string/
и в formcreate вставить:
TS.port := 10000;
TS.active := true;
помоему ничего не упустил
надеюсь мой опыт вам пригодиться
З.Ы.: tc - tcpclien, ф ts - tcpserver
Приложение:
Ответ отправил: Yumark (статус: 3-ий класс)
Ответ отправлен: 15.01.2008, 14:21