| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Выполнить процедуру |
| Автор: SlaUr 11.6.2004, 09:52 | ||
| Как мне из другого места программы выполнить процедуру типа TForm1.Button1Click(Sender: TObject); Сейчас я делаю так - Создаю отдельную процедуру ,в TForm1.Button1Click прописываю ее и из другого места программы тоже вызываю эту новую процедуру.А можно ли как-то вызвать сразу TForm1.Button1Click? Вот пример того как делаю подобные вещи я:
А можно ли из Button2Click вызвать Button1Click? |
| Автор: ~FoX~ 11.6.2004, 10:04 | ||
Читайте хелп!!! Блин я плакаль!!! |
| Автор: SlaUr 11.6.2004, 10:21 |
| ~FoX~ Вы плакали :-) а я об этом не знал - я вообще еще многие простые вещи не знаю . Спасибо за ответ. Иногда стыдно задавать может элементарные вопросы,но что делать приходится (спросить то больше не у кого - только в форуме) . Не видел книг по вот таким элементарным вещам,во всех книгах в основном расматриваются VCL и например Базы данных. |
| Автор: SlaUr 11.6.2004, 10:33 | ||
~FoX~
Ваш код не компелируется . |
| Автор: AriX 11.6.2004, 10:35 |
| ~FoX~ че ты плачешь? код-то вообще неправильный... надо в скобочках параметр передавать SlaUr можешь сделать так Button1.Click; проще будет и лучше по-моему |
| Автор: Girder 11.6.2004, 10:53 |
| Button1Click(Self); |
| Автор: SlaUr 11.6.2004, 10:56 |
| AriX Спасибо , решение действительно очень простое и действенное.Но все же как запустить Button1Click () с передачей параметров ? p.s. Пока писал вопрос Girder уже писал ответ .Вопрос снимается .Всем спасибо. |
| Автор: ~FoX~ 11.6.2004, 11:09 |
| 2All Люди вы вообще о чем говорите то!??? Если человек не умеет вызывать процедуру..........ему не на делфи писать надо!!! 2SlaUr 1. Книги?? Да в делфи хелп встроенный обширный!!! 2. В жизни не поверю, что в книге по программированию нет примера вызова процедуры\функции (с параметроми и без)!!! 3. Собственную процедуру вызвать можешь, а чужую с единственным параметром - не можешь? ========================================================= Да и вообще все куда проще - в объект инспекторе на событие OnClick у Button2, выбрсть Button1OnClick. Уж это то можно было допереть своими мОзгами!!! З.Ы. Прошу прощения за излишнюю эмоцианальность! Ни кого не хотел обидеть! |
| Автор: SlaUr 11.6.2004, 11:23 |
| ~FoX~ Про Button1Click я спросил так для примера , мне было нужно было знать как вообще вызывать процедуры с входными параметрами (Sender: Tobject) вот и все.Сами подумайте зачем мне дублировать кнопки? И вообще в форуме люди могут задать любой вопрос.Если вам вопрос кажется слишком примитивным можете не отвечать.Найдутся другие люди которые обьязательно помогут.Ищите для себя вопросы ,достойные ваших обширных знаний. |
| Автор: Shishkin 12.6.2004, 14:37 |
| B инспекторе обьектов зайди в закладку events, а в ней найди onclick. Там будет ниспадающий список из возможных процедур, выбери Button1Click |
| Автор: youri 12.6.2004, 14:51 |
| ~FoX~ Ты же сам не знал, как это сделать, а выпендриваешься |
| Автор: Jey_k 13.6.2004, 21:30 | ||
Иногда вызов тела процедуры по нажатию кнопки бывает нужен другой процедуре. Часто сталкивался. Не переписывать же код в самом-то деле, а Label и goto стараюсь не использовать SUX это |
| Автор: x77 13.6.2004, 22:59 |
| по моему скромному мнению, Slaur делал изначально абсолютно правильно. если у меня обработчики используют один и тот же код, я всегда выношу его в отдельную процедуру и вызывают её в обработчиках. использовать один и тот же обработчик - не совсем удобно. может понадобиться потом добавить в один из них что-то индивидуальное. при выносе кода в отдельную процедуру, это делается без проблем. а вот при использовании одного обработчика на всех - придётся либо извращаться, либо опять таки, выносить общий код отдельно. |
| Автор: Monty 13.6.2004, 23:00 | ||||||
НЕ тебе решать на чем ему писать!
Что верно, то верно Добавлено @ 23:03
я выношу это когда у меня одно и тоже более трех раз используется |
| Автор: x77 13.6.2004, 23:03 |
| я программлю уже больше шести лет. профессионально, я имею в виду, т.е. за деньги. а балуюсь вообще со школы, т.е. уже лет 8-10. и вот на днях узнал, что к элементу набора данных можно при желании обратиться по индексу.... все мы пальцы гнуть умеем, и рассуждать кому на чём писать.... если я знаю ответ, я его пишу, даже если он 100 раз был в факе или ещё где-то. Короче. ~FOX~, будь проще, и коллектив к тебе потянется |
| Автор: Jey_k 14.6.2004, 10:17 |
| Осуждать мы все умеем, вот толко помочь не всегда. И кстати дельфя и для начинающих подходит чего о сях не скажешь |
| Автор: SlaUr 15.6.2004, 07:44 |
| Программирую от случая к случаю лет 7 (в delphi 2 года),полностью самоучка, и все недосуг было разобраться как запускать процедуры у которых параметр (Sender: TObject).В общем то меня только это и интересовало (может надо было задать конкретно такой вопрос а не приводить пример с кнопками). Кстати делая последнюю прогу пришел к выводу что все таки я делал правильно (как уже сказал X77)- выносил общие процедуры в отдельные , потому что например решил переделать назначение кнопки и обнаружил что вызов процедуры этой кнопки используется в других местах-пришлось все переделывать. p.s.О последней моей прогрмме (может кому пригодится) http://slaur.narod.ru/delphi/button/mybutton.rar Программа служит для просмотра и выбора кнопок из вашей коллекции (формата BMP) (стандартными средствами мне надоело это делать).Имеет возможность отыскивать и удалять одинаковые файлы .Она простенькая но по моему полезна. p.p.s А вобще этот вопрос скорее для просвещения , программист всегда сможет вывернутся даже не зная как делать правильно.Например делая последнюю прогу я вывернулся-программа работает ,но меня интересует может существует более правильный путь и поэтому я создал новый топик в форуме http://forum.vingrad.ru/index.php?act=ST&f=2&t=24478&unread=1 |
| Автор: Calypso 30.6.2004, 11:54 |
| Гениально!!!!!!!! Form1.ButtonXClick(nil); |
| Автор: Guest 30.6.2004, 14:43 |
| Действительно гениально!!!! Особенно если внутри что-то типа: if Sender is TXXXXX then Гениальней не придумаешь. Calypso, ты про наследование и полиморфизм что-нибудь слышал???? |
| Автор: decoder 1.7.2004, 11:19 |
| А что, если симитировать нажатие кнопки SendMessage'эм - глюпо, но тоже вариант... P.S. Правильно фокси! С такими мозгами надо не на Delphi писать... а сразу на машинном коде - зачем тратить драгоценные ресурсы своих мозгов на изучение какого-то там дэлфи. Дэлфи для амматоров, ну а какой слаур амматор-семь лет программировать: уже вызывает уважение. А вообще, будущее именно за такимиодиночками: в то время, как монополистические организации - та же Майкрософт - лишь замедляют прогресс, безкорыстная молодёжь восполняет эти утраты в "скорости прогрессирования". P.P.S. Я вообще программирую всего год, большую часть которогоя потратил на изучение этого злосчастного ВэБэ. Но на мои вопросы, как бы глупо они не звучали, отвечают и не кривятся. А вообще, errare humanum est, что в переводе с латинского означает: человеку свойственно ошибаться... |
| Автор: dr.ZmeY 1.7.2004, 11:52 |
| Модератор: 2all все эмоции во флейм или в личную переписку, ответ на поставленный вопрос был дан исчерпывающий, и прошу модератора раздела закрыть тему... |