Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2009, 19:08   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию Избежать повторного нажатия на кнопку

Такая не задачливая ситуация получилась. Мне нужно избежать повторного нажатия на кнопку.
Что имеем:
При запуске моего приложения идет проверка, если Edit1 не пуст то нажать на Button1, ежели пуст то открыть окно с настройками в котором мы вводим данные в Edit1 и нажимаем OK после чего нажимается Button1. Но если Edit1 не пуст и я просто зашёл в настройки и нажал на OK, то опять происходит нажатие на кнопку. Как этого избежать? Да и самое интересное следом идет закрытие формы.
Перед этим кодом надо что-то прописать, чтобы он был бездейственным если Edit1 заполнен
Код:
Form1.ClientBtnClick(Self);
при этом чтобы смогло произойти следующее действие
Код:
Close;
Shouldercannon вне форума Ответить с цитированием
Старый 26.04.2009, 19:11   #2
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Код:
if edit.text <>'' then close
else begin
// ваши действия
Form1.ClientBtnClick(Self);
end;
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 26.04.2009, 20:10   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Попробую подробнее расписать. При первом запуске надо чтобы при
Код:
Edit1 <> ''
выполнилось
Код:
Form1.ClientBtnClick(Self);
при остальных заходах в Настройки и нажатии на OK чтобы
Код:
Form1.ClientBtnClick(Self);
игнорировалось.

Последний раз редактировалось Shouldercannon; 26.04.2009 в 23:12.
Shouldercannon вне форума Ответить с цитированием
Старый 27.04.2009, 11:12   #4
ScorpioN_T
Пользователь
 
Регистрация: 27.10.2008
Сообщений: 62
По умолчанию

не пробывал поставить просто КАКОЙ нить счетчик...
ну к примеру если у тебя Edit1=' ' - нечему , то счетчик при равняем k:=0
а если Edit1<>' ', то счетчие приравняем другому значению k:=1...
Вот теперь свободно прыгай от этиз ЗНАЧЕНИЙ
и ставь условия не наличие ТЕКСТА, а на счетчик(в данном случае 0 и 1).

На сколько я понял ты хочешь чтоб у тебя НЕ НАЖИМАЛСЯ повторно твоя кнопка...
ТОгда сделай примерно так...

При первой проверке
if edit1.text='' then k:=0;
if edit1.text<>''then k:=1;
if k=0 then
Form1.ClientBtnClick(Self);
else
close;

Ну или что то в этом вроде...
ScorpioN_T вне форума Ответить с цитированием
Старый 27.04.2009, 11:26   #5
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Ещё один способ нашёл. Отслеживать Tag у кнопки если Tag=0 то игнор, если нет, то нажимаем на кнопку.
Shouldercannon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"Поймать" событие нажатия на кнопку Lisi4ka Общие вопросы Delphi 12 27.04.2009 18:14
Время нажатия на кнопку мыши(Время реакции) Кирилл13 Помощь студентам 1 11.04.2009 19:41
Как при постройке графика избежать диления на 0 Zerony Общие вопросы Delphi 9 12.01.2009 18:02
Ошибка повторного соединения. Nemez Microsoft Office Word 5 24.09.2008 07:31
Программирование под Windows (ошибка), как избежать ошибки Unresolved external '_main' referenced fro DeLure Общие вопросы C/C++ 2 02.03.2008 01:35