ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

27.04.2008, 16:42
|
|
Познающий
Регистрация: 01.03.2008
Сообщений: 68
Провел на форуме: 140772
Репутация:
72
|
|
Последний раз редактировалось De-visible; 27.04.2008 в 16:48..
Причина: на вопрос прозвучало уже два ответа
|
|
|

27.04.2008, 17:01
|
|
Познающий
Регистрация: 04.01.2008
Сообщений: 62
Провел на форуме: 490685
Репутация:
30
|
|
Сообщение от De-visible
так:
Код:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key= vk_return then
//Твой код:)
end;
??
Как-то оно не совсем так :-). Только что попробовал, действительно, если я нажму Enter, строка попадет в TMemo. Но после нажатия любой клавиши строка тоже будет выводится
Сообщение от De-visible
Эмуляция нажатия enter
http://articles.org.ru/cfaq/index.php?qid=2112&frommostrecent=yes
Мало что с этого понял.
Как же назначить один обработчик двум событиям?
|
|
|

27.04.2008, 17:12
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
А так:
Код:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
//Отлавливаем нажатие Enter
if key = #13 then button1.click;
end;
end;
А в button1.click впиши необходимые действи....
Последний раз редактировалось De-visible; 27.04.2008 в 17:17..
|
|
|

27.04.2008, 17:29
|
|
Познающий
Регистрация: 01.03.2008
Сообщений: 68
Провел на форуме: 140772
Репутация:
72
|
|
Как-то оно не совсем так :-). Только что попробовал, действительно, если я нажму Enter, строка попадет в TMemo. Но после нажатия любой клавиши строка тоже будет выводится
Да неможет быть, должно все работать, покажи свой код, что ты там намутил.
|
|
|

27.04.2008, 18:36
|
|
Познающий
Регистрация: 04.01.2008
Сообщений: 62
Провел на форуме: 490685
Репутация:
30
|
|
Сообщение от De-visible
А так:
Код:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
//Отлавливаем нажатие Enter
if key = #13 then button1.click;
end;
end;
А в button1.click впиши необходимые действи....
Выдает ошибку: "Incompatible types"
button1 .click - разве здесь нужна точка?
Если нет, то выдает еще одну ошибку: "Not enough actual parameters"
И если мы вызываем процедуру, разве не нужно ставить скобки "()" после ее названия?
key = #13 - почему здесь написано "=", а не ":="
Сообщение от Metall
Как-то оно не совсем так :-). Только что попробовал, действительно, если я нажму Enter, строка попадет в TMemo. Но после нажатия любой клавиши строка тоже будет выводится
Сообщение от Dr.KoD
Да неможет быть, должно все работать, покажи свой код, что ты там намутил.
Извините. Действительно работает.
Последний раз редактировалось Metall; 27.04.2008 в 19:40..
|
|
|

27.04.2008, 19:00
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от Metall
Выдает ошибку: "Incompatible types"
button1.click - разве здесь нужна точка?
Если нет, то выдает еще одну ошибку: "Not enough actual parameters"
И если мы вызываем функцию, разве не нужно ставить скобки "()" после ее названия?
key = #13 - почему здесь написано "=", а не ":="
Извините. Действительно работает.
":=" - значит присвоить.
"=" - логический оператор.
да, там нужна точка, т.к. click, это метод обьекта Button1.
Вот я читаю строчку
if key:=#13 then ...
если присвоить кею - #13 то
if key = #13 then ...
если кей равен 13 то
Чувствуешь разницу?? ЗЫ Первая неправильная.
Последний раз редактировалось z01b; 27.04.2008 в 19:04..
|
|
|

27.04.2008, 19:13
|
|
Познающий
Регистрация: 04.01.2008
Сообщений: 62
Провел на форуме: 490685
Репутация:
30
|
|
Сообщение от z01b
":=" - значит присвоить.
"=" - логический оператор.
Вот я читаю строчку
if key:=#13 then ...
если присвоить кею - #13 то
if key = #13 then ...
если кей равен 13 то
Чувствуешь разницу?? ЗЫ Первая неправильная.
Да, спасибо.
Сообщение от z01b
да, там нужна точка, т.к. click, это метод обьекта Button1
Но нам ведь нужно вызвать процедуру Button1Click :-\ ? Или я что-то не так понял?
Код у меня не работает.
|
|
|

27.04.2008, 19:56
|
|
Познающий
Регистрация: 04.01.2008
Сообщений: 62
Провел на форуме: 490685
Репутация:
30
|
|
Спасибо, работает.
Только не совсем понятно, зачем здесь >>> button1.click точка?
Мы же должны просто вызвать процедуру, с названием Button1Click
|
|
|

27.04.2008, 20:04
|
|
Познающий
Регистрация: 01.03.2008
Сообщений: 68
Провел на форуме: 140772
Репутация:
72
|
|
Мда, ты набери ручками Batton1 поставь точку и посмотри, что стоит чуть левее слова Click!!! Это и есть процедура, т.е. ты как бы программно кликнеш по кнопке!!!
|
|
|

27.04.2008, 20:09
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
Вот взгляни 
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|