| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Вызов процедуры в процедуре |
| Автор: Kbl4AH 28.7.2008, 09:58 |
| Здравствуйте, уважаемые. Подскажите, пожалуйста, как вызвать стандартную процедуру из другой стандартной процедуры? Например, как вызвать procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char) внутри procedure TFLogon.RadioGroup1Click(Sender: TObject) ? То есть мне нужно, чтобы при клике на радиогруп выполнился код, находящийся в теле процедуры едиткейпресс. Заранее признателен. |
| Автор: sai_NT 28.7.2008, 10:17 | ||
| Перенеси весь код процедуры TForm1.Edit1KeyPress(Sender: TObject; var Key: Char) в отдельную процедуру, и размести ее в секции импламентейшн модуля формы Form1 и обзови допустим MyEditKeyPress, также объяви заголовок процедуры в секции интрерфейса. Далее такой вызов (пишу без Делфи, по памяти):
|
| Автор: Kbl4AH 28.7.2008, 10:26 |
| Прикольно! А если описание процедуры посложнее и не всегда понятно какой параметр указать? Например, если вызвать procedure FormClose(Sender: TObject; var Action: TCloseAction) вышеописанным путем, а не по Close. В таком случае какие параметры нужно указывать? |
| Автор: Poseidon 28.7.2008, 11:07 | ||||||||
Если универсально и передаваемые параметры не используются, то где-то так:
PS. Никогда так не делай. Это я тебе так... справочно показал. Использовать не следует! |
| Автор: Kbl4AH 28.7.2008, 12:40 |
| Спасибо! |
| Автор: sai_NT 28.7.2008, 13:09 | ||||||
Обрати внимание на то, что процедуры в разных модулях: TForm1 и TFLogon, а значит вышепредставленный код не пройдет. |
| Автор: Poseidon 28.7.2008, 13:34 | ||||
Это ты уже придераешься. Написано же 2в общем случае".
|
| Автор: sai_NT 28.7.2008, 13:49 | ||
Ни в коем случае =), просто поддерживаю мнение г-жи Riply по поводу того, что этот код потом могут копипастить. |
| Автор: pseud 28.7.2008, 14:30 | ||
тем более надо писать немного ошибочный код. чтоб чел немного и сам подумал. для его же пользы |
| Автор: Dobermann 28.7.2008, 14:44 | ||
Эх...как же меня это по началу бесило!!! Но действительно, польза огромнейшая!!! |
| Автор: Kbl4AH 29.7.2008, 07:44 |
| Ребят, не ссорьтесь. Недоглядел и забыл изменить название формы в одном месте. А насчет думать... Если вопрос звучит в общих чертах, то и ответить можно также - чел дальше сам докумекает, главное идея... А если в вопросе конкретный код, то и ответить нужно по возможности учитывая конкретный код... А насчет копипастить... Не совсем уж я глупый, могу различить для какой формы процедура описана;) Еще раз спасибо за ликбез! |