![]() |
|
|
#1
|
|||
|
|||
|
Всем привет. Возникло небольшое затруднение при чтении справке о функциях и клавишах.
Интересуют возможности подобного плана: Команда или группа команд выполняемых при их активации. Если к примеру мне нужно выполнять одну и туже команду при нажатии разных кнопок или еще чего-то. Я так частично понял что есть отдельные команды, функции которые записываются и потом одной командой вызываются. Образный пример, суть мыслей: Код:
Функция: Строки кода... Кнопка: Строки кода... Вызов функции... // Вот именно эта команда. Выполняется код, доходит до функции, выполняет её и потом продолжает дальше. Строки кода... Вопрос о клавишах. Хочу так же сделать что бы в моей программе при нажатии клавиши или комбинации клавиш вроде Ctrl+A выполнялось заданное действие или вызывалась та самая функция. Если кто понял суть вопроса и может помочь исходным примером в виде кода, буду очень благодарен. Или дайте хотя бы правильную наводку в справке. Ибо я даже не знаю что и искать толком. Было нашел про клавиши, но там оказалось речь идет о глобальном изменении клавиш клавиатуры, совсем не то. |
|
#2
|
||||
|
||||
|
1. Можно выставить у формы
Код:
KeyPreview:=True |
|
#3
|
|||
|
|||
|
Вообще, для этого сделан TActionList и, соотв., TAction.
Там можно назначить 2 комбинации горячих клавишь на одно действие. Хотя никто не мешает создать доп. TAction для других комбинаций и для него указать тот-же обработчик, что и для основного TAction. Код тут привести не получится, т.к. все настраивается в инспекторе объектов и непосредственного программирования не требует. |
|
#4
|
||||
|
||||
|
Решений вообще масса, можно зарегистрировать горячую клавишу, можно описать в ресурсе, можно грузить из файла и использовать любой из ранее предложенных вариантов. Как фантазия подскажет.
|
|
#5
|
|||
|
|||
|
Большое спасибо. С клавишами немного разобрался. По крайней мере смог назначить клавиши и задать им команды.
А с функциями ни кто не знает как быть? Или же они по другому называются... |
|
#6
|
||||
|
||||
|
Честно говоря, я не понял:
Цитата:
|
|
#7
|
|||
|
|||
|
Более детально уже просто некуда.
![]() Выполняем код, и при необходимости что-то сделать ссылаемся на отдельный код. Я её назвал функцией, но возможно она не так называется. Обработав нужные данные, мы продолжаем выполнение нашего скрипта. Я читал статью про функции, но как-то оно не совсем то что нужно. Был пример с вычислением. В функцию отправлялись параметры (числа) они там вычислялись и результат возвращался. Но это не то... |
|
#8
|
||||
|
||||
|
Судя по рисунку, требуется рекурсивная функция.
|
|
#9
|
|||
|
|||
|
Цитата:
|
|
#10
|
||||
|
||||
|
Функция которая вызывает сама себя определённое количество раз или завершает работу по условию.
|
|
#11
|
|||
|
|||
|
Попробуем по другому изъяснится.
![]() |
|
#12
|
|||
|
|||
|
Код:
procedure TForm1.Proc(ANum : Integer);
begin
case ANum Of
1 : Label1.color := $00FF0000;
2 : Label1.color := $0000FF00;
3 : Label1.color := $000000FF;
end;
end;
procedure TForm1.Button1Click(Sender : TObject);
begin
Label1.Caption := 'Text';
Proc(1);
end;
procedure TForm1.Button1Click(Sender : TObject);
begin
Label1.Caption := 'Text';
Proc(2);
end; |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Kaktuz (16.01.2012)
| ||