C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Планировщик  (Прочитано 3131 раз)
Bugs
Участник


Сказали спасибо: +25/-20
Offline

Сообщений: 389


Планировщик
« : 23 Сентябрь 2013, 12:28:29 »

Здравствуйте программисты, подскажите как реализовать такую штуку.

Хочу отправлять файлы на сервер раз в сутки допустим в 2 часа ночи .

Проблема в том что сутки не сдвигаются после 12 часов ночи.

Колдовство не приводит к результату
Код
OnTimer
 
TDate A = Now().CurrentTime(); // текущая дата
TDate B = DateTimePicker1->Time;
signed char Result = CompareTime(A,B);
switch (Result) {
 case -1:
Form1->Alab->Caption= "A ;
break;
 case 0:
Form1->Alab->Caption= "A = B";
break;
 case 1:
Form1->Alab->Caption= "A > B";
break;
default:
 break;
}
 
 
ClockTime = StrToDateTime(DateToStr(Date())+" "+TimeToStr(Settings->DateTimePicker1->Time +Time()));
 
LTSending->Caption = FormatDateTime("hh:mm:ss",ClockTime);
 

Должно получиться так,  установил время на 2 ночи , и в лейбле пишет осталось мол 16 часов.

Поможите



« Последнее редактирование: 23 Сентябрь 2013, 13:21:37 от Bugs » Записан
POV
Участник


Сказали спасибо: +107/-7
Offline

Сообщений: 640


Re: Планировщик
« Ответ #1 : 23 Сентябрь 2013, 13:44:22 »

Код
bool      Sended = false; // global
 
// ontimer, interval 5 minutes
TTime t1 = Time();
TTime t2 = RecodeTime(t1, 2, 0, 0, 0);
 
if (t1 >= t2  &&  MinuteOf(t1 - t2) 5)
{
if (!Sended)
{
...
Sended = true;
}
}
else
{
Sended = false;
}
Записан
POV
Участник


Сказали спасибо: +107/-7
Offline

Сообщений: 640


Re: Планировщик
« Ответ #2 : 23 Сентябрь 2013, 14:24:22 »

А где в моем примере Декоде?
Записан
Bugs
Участник


Сказали спасибо: +25/-20
Offline

Сообщений: 389


« Ответ #3 : 23 Сентябрь 2013, 14:28:31 »

Не работает всё равно ! 

bool Sended = false; // global

// ontimer, interval 5 minutes
   TTime t1 = Time();
   Label2->Caption = t1;

TTime t2 = EncodeTime(14,41, 0, 0);
SendTime->Caption = t2;

RemainedTime= t1-t2;

   if (t1 >= t2  &&  MinuteOf(t1 - t2)    {

      if (!Sended)
      {
       Label5->Caption = "Самое время " ;
         Sended = true;
      }
   }
   else
   {
      Sended = false;
       Label5->Caption = "рано " ;
   }
 SendOut->Caption = FormatDateTime("hh:mm:ss",RemainedTime);



Если я поставлю в DateTimePicker->Time  в 02:00 Ночи , мне нужно к существующему времени прибавить число часов ? или Как ?
« Последнее редактирование: 23 Сентябрь 2013, 17:12:19 от Bugs » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.112 секунд. Запросов: 22.