Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/10: Рейтинг темы: голосов - 10, средняя оценка - 4.50
Алексей1990
4 / 4 / 0
Регистрация: 13.04.2013
Сообщений: 65
1

Выполнение определенных действий в заданное время

30.10.2014, 08:18. Просмотров 2033. Ответов 19
Метки нет (Все метки)

есть форма , таймер, лейбел 1. В таймере прописываем Label1.Caption:=TimeToStr(Time);
допустим нужно открыть форму 2 в 11:00 и как время подходит то она открывается, помогите с кодом.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2014, 08:18
Ответы с готовыми решениями:

Выполнение действий по расписанию, в определенное время
как сделать что бы прога отслеживала время и если наступило к примеру 21:00 выполнила какие-то...

Посылка определенных действий определенным программам в трее
Собственно вопрос: можно ли такое реализовать и как? Необходимо чтобы прожка сидела тихонько в трее...

Выполнение действий с очередью
Заполнить очередь 9 случайными вещественными элементами из промежутка . Найти произведение целых...

Выполнение действий в зависимости от введенной даты
помогите составить код по следующему алгоритму: проверяется текущая дата. если дата равна какой...

Выполнение двух действий на одной кнопке
Можно ли сделать выполнение с начало одной команды, а потом второй на одной кнопке. Добавлено...

19
Sergio Leone
2470 / 1115 / 580
Регистрация: 07.06.2014
Сообщений: 3,259
30.10.2014, 08:28 2
решить можно так - назначаете таймеру небольшой интервал (ну, например, раз в 10 секунд Timer1.Interval := 10000.
В процедуре, назначенной на таймер получаете текущее время (см. функцию Now()) , сравниваете полученное значение с требуемым (не забывайте о погрешности - сравнивать надо не на равенство, на то, на сколько отличаются. ну и на то, что время уже прошло.
Если требуемое время пришло, выполняете нужные действия (например, меняете текст лейбы) и выключаете таймер (Timer1.Enabled := false).
всё.
0
Алексей1990
4 / 4 / 0
Регистрация: 13.04.2013
Сообщений: 65
30.10.2014, 08:37  [ТС] 3
привет , можешь помоч с кодом а то я в делфи не очень (((
0
Sergio Leone
2470 / 1115 / 580
Регистрация: 07.06.2014
Сообщений: 3,259
30.10.2014, 09:43 4
Цитата Сообщение от Алексей1990 Посмотреть сообщение
можешь помоч с кодом
не проблема. сейчас примерчик набросаю...

Цитата Сообщение от Алексей1990 Посмотреть сообщение
а то я в делфи не очень (((
"ШО?! Совсем?!!!"
Так может стоит чуток подучить, вполне может в жизни пригодиться!
0
Алексей1990
4 / 4 / 0
Регистрация: 13.04.2013
Сообщений: 65
30.10.2014, 10:10  [ТС] 5
Делал только базу данных, генератор паролей , калькулятор, плеер, программу калорийности продуктов, подсчет калорий для набора массы или снижение веса, скрытая отправка почты , справочник , это что нужно было для себя)))
0
D1973
Модератор
3999 / 2874 / 1391
Регистрация: 21.01.2014
Сообщений: 12,218
Записей в блоге: 3
Завершенные тесты: 1
30.10.2014, 10:20 6
см. соседнюю тему
0
Sergio Leone
2470 / 1115 / 580
Регистрация: 07.06.2014
Сообщений: 3,259
30.10.2014, 10:21 7
Цитата Сообщение от Алексей1990 Посмотреть сообщение
это что нужно было для себя)))
ничего себе - "в делфи не очень"!!

У меня прямо сомнения, в том, что я правильно задание понял.

Ладно, вот обещанный небольшой примерчик:
TimerAlarm.7z
1
Алексей1990
4 / 4 / 0
Регистрация: 13.04.2013
Сообщений: 65
30.10.2014, 10:34  [ТС] 8
приду домой построю то я через телефон сижу ))
0
droider
Universal
Эксперт Pascal/Delphi
4442 / 2475 / 780
Регистрация: 04.10.2012
Сообщений: 9,009
30.10.2014, 11:18 9
Цитата Сообщение от Алексей1990 Посмотреть сообщение
допустим нужно открыть форму 2 в 11:00 и как время подходит то она открывается
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.Timer1Timer(Sender: TObject);
begin
If FormatDateTime('11:00',Time) <= FormatDateTime('hh:mm', Now) then
begin
Timer1.Enabled :=False;
Form2.ShowModal;
end;
 
end;
 
end.
2
NIKOLAYY
824 / 722 / 339
Регистрация: 22.09.2012
Сообщений: 5,000
30.10.2014, 11:19 10
Вот еще простой пример накидал.
Delphi
1
2
3
4
5
6
7
8
9
10
var
  tim1, tim2: TTime; //переменные для времени
begin
  tim1 := Time; // текущее время
  tim2 := StrToTime('16:00:00'); //время которое зададим
  if tim1 < tim2 then
    ShowMessage('Рано ' + TimeToStr(tim1) + ' < ' + TimeToStr(tim2))
  else
    ShowMessage('Пора ' + TimeToStr(tim1) + ' > ' + TimeToStr(tim2))
end;
1
Изображения
 
droider
Universal
Эксперт Pascal/Delphi
4442 / 2475 / 780
Регистрация: 04.10.2012
Сообщений: 9,009
30.10.2014, 11:26 11
Алексей1990, в параметры таймера лезть не надо. Просто создаете для него обработчик OnTimer и прописываете код. Проверено, работает.
0
Алексей1990
4 / 4 / 0
Регистрация: 13.04.2013
Сообщений: 65
30.10.2014, 17:22  [ТС] 12
Спасибо всем кто помог, все работает )))

Добавлено через 50 минут
Еще один вопросик, как добавить звуковой файл когда открывается например form2, а при закрытии form2 он не воспроизводился
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
unit Unit2;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, MmSystem, StdCtrls, Buttons;
 
type
  TForm2 = class(TForm)
    BitBtn1: TBitBtn;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form2: TForm2;
 
implementation
 
{$R *.dfm}
 {$R Sound.RES}
procedure TForm2.FormCreate(Sender: TObject);
begin
PlaySound('1', 1, SND_ASYNC or SND_LOOP);
 
end;
 
end.
Играет даже если закрыть форму, пока не закроешь программу полностью
0
droider
Universal
Эксперт Pascal/Delphi
4442 / 2475 / 780
Регистрация: 04.10.2012
Сообщений: 9,009
30.10.2014, 17:47 13
Продублирую свой ответ.
На OnClose формы (Form2) пропишите
Delphi
1
PlaySound('0', 1, SND_ASYNC or SND_LOOP);
Добавлено через 1 минуту
Если Вы все сделали правильно, будет работать. Вы звук берете из ресурса?
0
Алексей1990
4 / 4 / 0
Регистрация: 13.04.2013
Сообщений: 65
30.10.2014, 17:49  [ТС] 14
нет я его скомпилировал в wav формате Sound.rc Sound.RES компилятор brcc32.exe
0
droider
Universal
Эксперт Pascal/Delphi
4442 / 2475 / 780
Регистрация: 04.10.2012
Сообщений: 9,009
30.10.2014, 17:51 15
Алексей1990, так, это и есть файл ресурса.
0
Алексей1990
4 / 4 / 0
Регистрация: 13.04.2013
Сообщений: 65
30.10.2014, 17:53  [ТС] 16
Все заработало, он останавливается при закрытии, но когда форма закрылась то сщелкает постоянное восклицани и это продолжается пока не закроешь прогу?
0
droider
Universal
Эксперт Pascal/Delphi
4442 / 2475 / 780
Регистрация: 04.10.2012
Сообщений: 9,009
30.10.2014, 17:56 17
Цитата Сообщение от Алексей1990 Посмотреть сообщение
сщелкает постоянное восклицани
откуда восклицание?
0
Алексей1990
4 / 4 / 0
Регистрация: 13.04.2013
Сообщений: 65
30.10.2014, 18:15  [ТС] 18
Звучит как ошибка тинь тинь тинь пока не закроешь прогу

Добавлено через 4 минуты
https://yadi.sk/d/Lwx01tBgcPdwg вот исходник на форум не грузится, как так 11mb весит
0
Eternodiam
0 / 0 / 0
Регистрация: 03.11.2018
Сообщений: 20
02.12.2018, 12:58 19
Огромная благодарность Вам, droider, очень помогли, не пришлось создавать новую тему...
0
droider
Universal
Эксперт Pascal/Delphi
4442 / 2475 / 780
Регистрация: 04.10.2012
Сообщений: 9,009
03.12.2018, 09:25 20
Eternodiam, да не за что
0
03.12.2018, 09:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2018, 09:25

Выполнение разных действий в зависимости от выбора в ComboBox
Такая проблема есть ComboBox с тремя значениями, т.е. три строки 1, 2, 3. Нужно чтобы при выборе 1...

Выполнение действий при выборе ветви TreeView
Доброго времени суток! есть вопрос по треевью, вроде бы прочитал статейку... вроде бы даже что то...

Взаимное выполнение действий между 3 и более объектами
Пишу программу для взаимного выполнения действий между 3 и более объектами К примеру за основу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru