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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2014, 21:14   #1
Roman123654789
Пользователь
 
Регистрация: 20.04.2012
Сообщений: 35
По умолчанию Как программно нажимать button до тех пор пока label не изменится

Как программно нажимать button до тех пор пока label не изменится.
Заранее спасибо
Roman123654789 вне форума Ответить с цитированием
Старый 19.05.2014, 22:16   #2
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,894
По умолчанию

<offtop>
Сегодня вроде не первое апреля?
</offtop>
northener вне форума Ответить с цитированием
Старый 19.05.2014, 22:29   #3
Lardes
Форумчанин
 
Аватар для Lardes
 
Регистрация: 19.08.2011
Сообщений: 329
По умолчанию

Код:
if Label.Caption <> 'изменился' then
  Button.Click;
UPD. А так да, жестокий вопрос

Последний раз редактировалось Lardes; 19.05.2014 в 22:34.
Lardes вне форума Ответить с цитированием
Старый 19.05.2014, 22:52   #4
Roman123654789
Пользователь
 
Регистрация: 20.04.2012
Сообщений: 35
По умолчанию

Цитата:
Сообщение от Lardes Посмотреть сообщение
Код:
if Label.Caption <> 'изменился' then
  Button.Click;
UPD. А так да, жестокий вопрос
программа зависает и не реагирует
Roman123654789 вне форума Ответить с цитированием
Старый 19.05.2014, 23:20   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от Roman123654789 Посмотреть сообщение
программа зависает и не реагирует
Шедеврально ++
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.05.2014, 23:22   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
программа зависает и не реагирует
Все правильно. Именно так и должна работать программа по заданию
Цитата:
программно нажимать button до тех пор пока label не изменится.
Меняй задание. Уточняй, тогда и ответы будут другие.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.05.2014, 00:04   #7
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Цитата:
Как программно нажимать button до тех пор пока label не изменится
Если я тебя ударю монтировкой, у тебя какой шнурок развяжется? (с)
doktor255 вне форума Ответить с цитированием
Старый 20.05.2014, 09:12   #8
STRELOK-2007
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 144
По умолчанию

Кидаешь на форму TTimer, ставишь интервал какой нужен (скажем 500мс), в событие onTimer ставишь тот код. Все.

Код можно модифицировать так, что бы таймер отключался:
Код:
if Label.Caption <> 'изменился' then
 Button.Click
else
 Timer.Enabled:= False;
И да, запуск таймера так:
Код:
Timer.Enabled:= True;
P.S.
Можно еще все это дело сделать в отдельном потоке.
STRELOK-2007 вне форума Ответить с цитированием
Старый 20.05.2014, 16:09   #9
Roman123654789
Пользователь
 
Регистрация: 20.04.2012
Сообщений: 35
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Все правильно. Именно так и должна работать программа по заданию

Меняй задание. Уточняй, тогда и ответы будут другие.
У меня просто проблема с бд, когда я ввел данные в таблицу, нажимаю рассчитать оно сразу все обсчитывает, а когда я сли что-то редактирую в той таблице и снова нажимаю рассчитать то тогда он не рассчитывает а через некоторое время если снова нажать тогда уж все нормально, вот и не знаю почему у меня такая проблема.

Вот код кнопки:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var s: real;
    n: integer;
begin
s:=0;
form3.dbedit2.DataField:='';
form3.dbedit1.DataField:='';
form3.dbedit3.DataField:='';
dbgrid1.Visible:=true;
dbgrid2.Visible:=false;
with form1.ADOQuery1  do
begin
  close;
SQL.Clear;
 Sql.Add('SELECT * from запрос2');
 open;
end;

dbgrid1.Columns[3].Visible:=false;
ADOquery1.First;
for n:=1 to ADOquery1.RecordCount do begin
    s := s + ADOquery1.FieldByName('Ціна').AsFloat;
    ADOquery1.Next;
    Label1.Caption :=FloatToStr(s);
end;
label1.Visible:=true;
label2.Visible:=true;
label4.Visible:=true;
Label4.Caption :='Введено пігментів: '+inttostr(ADOQuery1.RecordCount);
end;

Последний раз редактировалось Roman123654789; 20.05.2014 в 16:12.
Roman123654789 вне форума Ответить с цитированием
Старый 20.05.2014, 20:13   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А что ты там такое расчитываешь? Давай колись. Да поподробнее. В каждый каппилярчик.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дано: q =3; dq=-0.2. F вычислять по формуле: f:=√1+0.5*q -1/q+1; Считать до тех пор, пока подкоренное выражение больше Punk_Killer Паскаль, Turbo Pascal, PascalABC.NET 3 01.04.2013 04:51
Считать до тех пор, пока подкоренное выражение больше 0. Определить k - количество вычисленных F. Циклы. KatruKot Паскаль, Turbo Pascal, PascalABC.NET 2 14.06.2011 13:17
Элементы заданной матрицы A(N, N) переписывайте построчно в одномерный массив до тех пор, пока не встрети Bleize Помощь студентам 3 27.12.2010 23:13
Ваше сообщение не будет отображено до тех пор, пока модератор не проверит его. GoodDA О форуме и сайтах клуба 5 24.08.2010 01:24
Машина случайным образом генерирует натуральные числа в промежутке [0, 1, 2, … 10] до тех пор, пока не 0 JustinTI Помощь студентам 3 21.12.2008 14:31