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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2011, 17:20   #1
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию Информирование

Доброго времени времени суток, уважаемые программисты.

Мой вопрос достаточно прост, но мой мозг достаточно туг для него

Дело в том, что я хочу написать информер, например, при считывании значения из Edit1, выполняется сравнение - если, допустим, текст равен 'Ля-ля', тогда beep, но он запускается и не перестаёт пищать до тех пор, пока не закрыть программу. Собственно и вопрос - как сделать так, чтобы, например, сигнал издавался через каждые 5 секунд или т. п???
xRamzeSx вне форума Ответить с цитированием
Старый 28.05.2011, 17:27   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

по таймеру, в чем трабла то?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.05.2011, 17:30   #3
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

Не прёт по таймеру. Я его остановить потом не могу...
xRamzeSx вне форума Ответить с цитированием
Старый 28.05.2011, 17:39   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

значит чтото не правильно делаете.
обычный TTimer нормально работает.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.05.2011, 17:55   #5
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

Код:
procedure TTimer1.Sender.Object
if edit1.Text:= 'Ля-ля'
then beep
end;
Например таймер стоит на 5000, всё-равно трещит через каждую секунду...
xRamzeSx вне форума Ответить с цитированием
Старый 28.05.2011, 20:10   #6
A-IX-2
Форумчанин
 
Аватар для A-IX-2
 
Регистрация: 08.10.2010
Сообщений: 101
По умолчанию

А выключать кто будет? =)
По умолчанию Enabled у таймера в False.

Код:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  If Edit1.Text='Ля-ля' then Timer1.Enabled:=True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  beep;
  Timer1.Enabled:=False;
end;
"Думаешь, будет трудно? Конечно, будет! Но, только закаляя дух, людьми становятся люди!"
A-IX-2 вне форума Ответить с цитированием
Старый 29.05.2011, 11:34   #7
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

Всё хорошо работает, спасибо, но как заставить эту функцию повторяться?

Использую это:
Код:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  if Pos('111', Edit1.Text)>0 then Timer1.Enabled:=True;

  if Pos('222', Edit1.Text)>0 then Timer1.Enabled:=True;

  if Pos('333', Edit1.Text)>0 then Timer1.Enabled:=True;

  if Pos('444', Edit1.Text)>0 then Timer1.Enabled:=True;

end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  repeat
  beep;
  Timer1.Enabled:=False;
  until ...;
end;
Что написать после until???

Последний раз редактировалось xRamzeSx; 29.05.2011 в 11:50.
xRamzeSx вне форума Ответить с цитированием
Старый 29.05.2011, 12:16   #8
A-IX-2
Форумчанин
 
Аватар для A-IX-2
 
Регистрация: 08.10.2010
Сообщений: 101
По умолчанию

Не совсем понял, но если надо несколько раз заставить beep работать, то можно так:

Код:
procedure TForm1.Timer1Timer(Sender: TObject);
  var i: integer;
begin
  beep;
  If i>3 then Timer1.Enabled:=False;
  i:=i+1;
end;
"Думаешь, будет трудно? Конечно, будет! Но, только закаляя дух, людьми становятся люди!"
A-IX-2 вне форума Ответить с цитированием
Старый 29.05.2011, 12:36   #9
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

Спасибо, всё хорошо работает.
xRamzeSx вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Информирование о статусе контакта(алатернатива майл агенту) tokloo Общие вопросы Delphi 2 31.03.2011 09:45
информирование пользователя о % исполнения ADSoft JavaScript, Ajax 2 01.12.2009 03:14