Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Выполнить процедуру, например TForm1.Button1Click 
:(
    Опции темы
SlaUr
Дата 11.6.2004, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 18.9.2003

Репутация: 3
Всего: 5



Как мне из другого места программы выполнить процедуру типа
TForm1.Button1Click(Sender: TObject);

Сейчас я делаю так - Создаю отдельную процедуру ,в TForm1.Button1Click прописываю ее и из другого места программы тоже вызываю эту новую процедуру.А можно ли как-то вызвать сразу TForm1.Button1Click?
Вот пример того как делаю подобные вещи я:
Код

Procedure Butt1;
begin;
ShowMessage('Press Button1');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Butt1;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Butt1;
end;

А можно ли из Button2Click вызвать Button1Click?

Это сообщение отредактировал(а) SlaUr - 11.6.2004, 09:57
PM MAIL   Вверх
~FoX~
Дата 11.6.2004, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Код

Procedure Form1.Button2Click(Sender: Tobject);
begin
 Button1Click ();
end;

Читайте хелп!!!

sneaky2.gif
Блин я плакаль!!!

Это сообщение отредактировал(а) ~FoX~ - 11.6.2004, 10:04


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
SlaUr
Дата 11.6.2004, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 18.9.2003

Репутация: 3
Всего: 5



~FoX~ Вы плакали :-) а я об этом не знал - я вообще еще многие простые вещи не знаю . Спасибо за ответ.
Иногда стыдно задавать может элементарные вопросы,но что делать приходится (спросить то больше не у кого - только в форуме) .
Не видел книг по вот таким элементарным вещам,во всех книгах в основном расматриваются VCL и например Базы данных.



Это сообщение отредактировал(а) SlaUr - 11.6.2004, 10:31
PM MAIL   Вверх
SlaUr
Дата 11.6.2004, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 18.9.2003

Репутация: 3
Всего: 5



~FoX~
Код
Procedure Form1.Button2Click(Sender: Tobject);
begin
Button1Click ();
end


Ваш код не компелируется .
PM MAIL   Вверх
AriX
Дата 11.6.2004, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 16.6.2003

Репутация: 5
Всего: 19



~FoX~
че ты плачешь? код-то вообще неправильный... надо в скобочках параметр передавать smile.gif))
SlaUr
можешь сделать так

Button1.Click;

проще будет и лучше по-моему
PM MAIL   Вверх
Girder
Дата 11.6.2004, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 31
Всего: 155



Button1Click(Self);


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
SlaUr
Дата 11.6.2004, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 18.9.2003

Репутация: 3
Всего: 5



AriX Спасибо , решение действительно очень простое и действенное.Но все же как запустить Button1Click () с передачей параметров ?

p.s. Пока писал вопрос Girder уже писал ответ .Вопрос снимается .Всем спасибо.

Это сообщение отредактировал(а) SlaUr - 11.6.2004, 10:58
PM MAIL   Вверх
~FoX~
Дата 11.6.2004, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



2All
Люди вы вообще о чем говорите то!???
Если человек не умеет вызывать процедуру..........ему не на делфи писать надо!!!
2SlaUr
1. Книги?? Да в делфи хелп встроенный обширный!!!
2. В жизни не поверю, что в книге по программированию нет примера вызова процедуры\функции (с параметроми и без)!!!
3. Собственную процедуру вызвать можешь, а чужую с единственным параметром - не можешь?
=========================================================
Да и вообще все куда проще - в объект инспекторе на событие OnClick у Button2, выбрсть Button1OnClick. Уж это то можно было допереть своими мОзгами!!!
З.Ы. Прошу прощения за излишнюю эмоцианальность! Ни кого не хотел обидеть!


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
SlaUr
Дата 11.6.2004, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 18.9.2003

Репутация: 3
Всего: 5



~FoX~ Про Button1Click я спросил так для примера , мне было нужно было знать как вообще вызывать процедуры с входными параметрами (Sender: Tobject) вот и все.Сами подумайте зачем мне дублировать кнопки?

И вообще в форуме люди могут задать любой вопрос.Если вам вопрос кажется слишком примитивным можете не отвечать.Найдутся другие люди которые обьязательно помогут.Ищите для себя вопросы ,достойные ваших обширных знаний.

Это сообщение отредактировал(а) SlaUr - 11.6.2004, 11:34
PM MAIL   Вверх
Shishkin
Дата 12.6.2004, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 11.6.2004

Репутация: нет
Всего: нет



B инспекторе обьектов зайди в закладку events, а в ней найди onclick. Там будет ниспадающий список из возможных процедур, выбери Button1Click

Это сообщение отредактировал(а) Shishkin - 12.6.2004, 14:37
PM   Вверх
youri
Дата 12.6.2004, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: нет
Всего: 16



~FoX~
Ты же сам не знал, как это сделать, а выпендриваешься
PM   Вверх
Jey_k
Дата 13.6.2004, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

Репутация: 1
Всего: 61



Цитата(SlaUr @ 11.6.2004, 11:23)
Сами подумайте зачем мне дублировать кнопки?


Иногда вызов тела процедуры по нажатию кнопки бывает нужен другой процедуре.
Часто сталкивался. Не переписывать же код в самом-то деле, а Label и goto стараюсь не использовать SUX это smile.gif


--------------------
PM MAIL WWW   Вверх
x77
Дата 13.6.2004, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 19
Всего: 22



по моему скромному мнению, Slaur делал изначально абсолютно правильно. если у меня обработчики используют один и тот же код, я всегда выношу его в отдельную процедуру и вызывают её в обработчиках. использовать один и тот же обработчик - не совсем удобно. может понадобиться потом добавить в один из них что-то индивидуальное. при выносе кода в отдельную процедуру, это делается без проблем. а вот при использовании одного обработчика на всех - придётся либо извращаться, либо опять таки, выносить общий код отдельно.


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
Monty
Дата 13.6.2004, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Цитата
2All
Люди вы вообще о чем говорите то!???
Если человек не умеет вызывать процедуру..........ему не на делфи писать надо!!!

НЕ тебе решать на чем ему писать! mad.gif ... человек учится как хочет или как может ... я лично всему сам научился без книг, достаточно было исходников или метода тыка smile.gif
Цитата
И вообще в форуме люди могут задать любой вопрос.Если вам вопрос кажется слишком примитивным можете не отвечать.Найдутся другие люди которые обьязательно помогут.Ищите для себя вопросы ,достойные ваших обширных знаний.

Что верно, то верно smile.gif ...
Добавлено @ 23:03
Цитата(x77 @ 13.6.2004, 21:59)
по моему скромному мнению, Slaur делал изначально абсолютно правильно. если у меня обработчики используют один и тот же код, я всегда выношу его в отдельную процедуру и вызывают её в обработчиках. использовать один и тот же обработчик - не совсем удобно. может понадобиться потом добавить в один из них что-то индивидуальное. при выносе кода в отдельную процедуру, это делается без проблем. а вот при использовании одного обработчика на всех - придётся либо извращаться, либо опять таки, выносить общий код отдельно.

я выношу это когда у меня одно и тоже более трех раз используется smile.gif ... ну не очень я люблю разброс по коду smile.gif .... если взять такой стааарый проект (причем большой), то прийдется изрядно по нему попрыгать smile.gif


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
x77
Дата 13.6.2004, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 19
Всего: 22



я программлю уже больше шести лет. профессионально, я имею в виду, т.е. за деньги. а балуюсь вообще со школы, т.е. уже лет 8-10. и вот на днях узнал, что к элементу набора данных можно при желании обратиться по индексу.... smile.gif был в шоке.

все мы пальцы гнуть умеем, и рассуждать кому на чём писать.... если я знаю ответ, я его пишу, даже если он 100 раз был в факе или ещё где-то.

Короче. ~FOX~, будь проще, и коллектив к тебе потянется smile.gif


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
Jey_k
Дата 14.6.2004, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

Репутация: 1
Всего: 61



Осуждать мы все умеем, вот толко помочь не всегда.
И кстати дельфя и для начинающих подходит чего о сях не скажешь


--------------------
PM MAIL WWW   Вверх
SlaUr
Дата 15.6.2004, 07:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 18.9.2003

Репутация: 3
Всего: 5



Программирую от случая к случаю лет 7 (в delphi 2 года),полностью самоучка, и все недосуг было разобраться как запускать процедуры у которых параметр
(Sender: TObject).В общем то меня только это и интересовало (может надо было задать конкретно такой вопрос а не приводить пример с кнопками).

Кстати делая последнюю прогу пришел к выводу что все таки я делал правильно (как уже сказал X77)- выносил общие процедуры в отдельные , потому что например решил переделать назначение кнопки и обнаружил что вызов процедуры этой кнопки используется в других местах-пришлось все переделывать.

p.s.О последней моей прогрмме (может кому пригодится) MyButtons
Программа служит для просмотра и выбора кнопок из вашей коллекции (формата BMP) (стандартными средствами мне надоело это делать).Имеет возможность отыскивать и удалять одинаковые файлы .Она простенькая но по моему полезна.

p.p.s А вобще этот вопрос скорее для просвещения , программист всегда сможет вывернутся даже не зная как делать правильно.Например делая последнюю прогу я вывернулся-программа работает ,но меня интересует может существует более правильный путь и поэтому я создал новый топик в форуме New Question

Это сообщение отредактировал(а) SlaUr - 16.6.2004, 09:44
PM MAIL   Вверх
Calypso
Дата 30.6.2004, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 30.6.2004

Репутация: нет
Всего: нет



Гениально!!!!!!!! thumbs-up.gif Столько шума и пыли а всего - го требовалось:
Form1.ButtonXClick(nil);

PM MAIL   Вверх
Guest
Дата 30.6.2004, 14:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Действительно гениально!!!! Особенно если внутри что-то типа:

if Sender is TXXXXX then

Гениальней не придумаешь. hehe.gif
Calypso, ты про наследование и полиморфизм что-нибудь слышал????
  Вверх
decoder
Дата 1.7.2004, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 18.5.2004
Где: Харьков(хохол, к сожалению)

Репутация: нет
Всего: -1



А что, если симитировать нажатие кнопки SendMessage'эм - глюпо, но тоже вариант...

P.S. Правильно фокси! С такими мозгами надо не на Delphi писать... а сразу на машинном коде - зачем тратить драгоценные ресурсы своих мозгов на изучение какого-то там дэлфи. Дэлфи для амматоров, ну а какой слаур амматор-семь лет программировать: уже вызывает уважение. А вообще, будущее именно за такимиодиночками: в то время, как монополистические организации - та же Майкрософт - лишь замедляют прогресс, безкорыстная молодёжь восполняет эти утраты в "скорости прогрессирования".

P.P.S. Я вообще программирую всего год, большую часть которогоя потратил на изучение этого злосчастного ВэБэ. Но на мои вопросы, как бы глупо они не звучали, отвечают и не кривятся. А вообще, errare humanum est, что в переводе с латинского означает: человеку свойственно ошибаться...
--------------------
Молчать, я вас спрашиваю!
PM MAIL   Вверх
dr.ZmeY
Дата 1.7.2004, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

Репутация: нет
Всего: 60



Модератор: 2all все эмоции во флейм или в личную переписку, ответ на поставленный вопрос был дан исчерпывающий, и прошу модератора раздела закрыть тему...


--------------------
PM MAIL WWW ICQ Skype   Вверх
Страницы: (2) [Все] 1 2 
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0993 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.