Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Про планеровщик [D7, Win2k, WinXP]


Chereepovets ©   (2004-08-02 11:58:00) 

Hарод есть, вопрос как сделать так что бы например с понедельника по пятницу,
ровно 8:50, или около того выполнялось одно действие, а в 20:00 другое,
приэтом в субботу и воскресень не выполнядлось ни чего.


Reindeer Moss Eater   (2004-08-03 17:28:00) [1]

А кому надо?
Программистам как раз не надо.
Они в курсе, что многое уже написано.


Cherepovets   (2004-08-03 17:27:00) [2]

ПАриться не чего, но выже программисты, надо юзать свое а не чужое =(


Anatoly Podgoretsky   (2004-08-03 14:51:00) [3]

Это делается без написание единой строчки кода, с помощью штатного планироващика, который кроме того не имеет таких ошибок.


Profi   (2004-08-03 14:44:00) [4]

Чего париться, в DateUtils есть куча всяких функций. Я такой планировщик посал с помощью CheckBox.


Cherepovets   (2004-08-03 13:05:00) [5]

Вот собствеено что я и хотел, всем спосибо вы мне ни чем не поиогли =(
procedure TMainForm.TimerTimer(Sender: TObject);
begin
if (DayOfTheWeek(Date) <> 6) or (DayOfTheWeek(Date) <> 7) then
 begin
 if (HourOf(Time) = HourOf(StrToTime(StartEdit.Text))) and
    (MinuteOf(Time) = MinuteOf(StrToTime(StartEdit.Text))) then
  begin
   MainForm.Caption := 'Модем Stop';
   WinExec('net stop remoteaccess', SW_HIDE);
   MinTimer.Enabled := True;
   Timer.Enabled := False;
  end
 else
  if (HourOf(Time) = HourOf(StrToTime(EndEdit.Text))) and
     (MinuteOf(Time) = MinuteOf(StrToTime(EndEdit.Text))) then
   begin
    MainForm.Caption := 'Модем Start';
    WinExec('net start remoteaccess', SW_HIDE);
    MinTimer.Enabled := True;
    Timer.Enabled := False;
  end;
 end;
end;


Cherepovets   (2004-08-02 12:55:00) [6]

Черт когд малась не тот там должно быть
if (Time > beg) or (Time < en) then
  begin
   Form1.Caption := '8,50';
   WinExec('cmd', SW_SHOW);
  end
 else
  begin
   Form1.Caption := '20,00';
   WinExec('cmd', SW_MINIMIZE);
  end;


Cherepovets   (2004-08-02 12:53:00) [7]

ХА, вот год где я ступил =) Посмотри
function DayOfWeek(d : Integer; m : Integer; y : Integer):Integer;
var
   n : Integer;
begin
   if m>2 then
   begin
       m := m+1;
   end
   else
   begin
       m := m+13;
       y := y-1;
   end;
   n := 36525*y div 100+306*m div 10+d-621050;
   Result := n-n div 7*7+1;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
beg, en : tTime;
begin
beg := StrToTime('08:06');
en := StrToTime('08:08');
if (DayOfWeek(Calendar.Day, Calendar.Month, Calendar.Year) <> 6) or
   (DayOfWeek(Calendar.Day, Calendar.Month, Calendar.Year) <> 7) then
 begin
  if (Time = beg) then
   begin
    Form1.Caption := '8,50';
    WinExec('cmd', SW_SHOW);
   end
  else
   if (Time = en) then
   begin
    Form1.Caption := '20,00';
    WinExec('cmd', SW_MINIMIZE);
   end;
 end;
end;

Это к примеру, где ошибка потому что он начинает запускать окно к примеру множество раз


panov   (2004-08-02 12:52:00) [8]

Ну так в чем проблема?
Пиши программу, по таймеру время проверяй и выполняй остановку и запуск службы.


Cherepovets   (2004-08-02 12:42:00) [9]

Не в том дело.
А в том, что ради инетереса, мне надо тока что бы он звершал одну службу в 8,50 а в 20,00 ее запускал вот и все =)


Ega23   (2004-08-02 12:37:00) [10]

А то плнировщи кеще ставить замарно =)

Он у тебя с системой ставится.


Anatoly Podgoretsky   (2004-08-02 12:37:00) [11]

Планеровщик это который делает планеры или который летает на них.


Cherepovets   (2004-08-02 12:34:00) [12]

А то плнировщи кеще ставить замарно =)


Chereepovets   (2004-08-02 12:33:00) [13]

Зачем что-то грамосткое, когда ндо маленькое и красивое =)


Anatoly Podgoretsky   (2004-08-02 12:10:00) [14]

Можно два задания, а можно повторение настроить


Ega23   (2004-08-02 12:04:00) [15]

А, ты смотри, точно есть! Там на следующем шаге можно "по рабочим дням" поставить.


panov   (2004-08-02 12:03:00) [16]

Да есть, и в WinNT4, и в W2000.
В W2000 совсем просто настраивается. в WinNT4 надо командами с консоли запускать... (AT)


Ega23   (2004-08-02 12:01:00) [17]

А стандартным планировщиком воспользоваться нельзя?
У меня именно таким образом и используется, как в топике описано.


В стандартном, вроде, привязки ко дням недели нет.


panov   (2004-08-02 12:00:00) [18]

А стандартным планировщиком воспользоваться нельзя?
У меня именно таким образом и используется, как в топике описано.


Ega23   (2004-08-02 12:00:00) [19]

Outlook настроить, и всё.
А можно свою написать, дело 5-ти минут.


Наверх

Титульная страница Поиск, карта сайта Написать письмо