Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.24;
Скачать: CL | DM;

Вниз

в определенное время запуск   Найти похожие ветки 

 
Женя   (2009-04-05 19:12) [0]

как запустить программу копирование в определенное время ежедневно!


 
Женя   (2009-04-05 19:18) [1]

есть лит-ра на этот счет как с временем в делфи работать?


 
Сергей М. ©   (2009-04-05 19:37) [2]

Для этого Делфи совсем не нужен - в Windows есть стандартный планировщик заданий, остается только настроить его требуемым образом


 
AndreyV ©   (2009-04-05 19:41) [3]

> [1] Женя   (05.04.09 19:18)
> есть лит-ра на этот счет как с временем в делфи работать?

Взять ещё литру и разобраться с планировщиком Windows


 
Женя   (2009-04-05 20:05) [4]

то что он есть это я знаю! как это можно в делфи сделать?
хорошо можно при помощи делфи настроить планировщик заданий??


 
Игорь Шевченко ©   (2009-04-05 20:06) [5]


> хорошо можно при помощи делфи настроить планировщик заданий?
> ?


можно. скачав с www.delphi-jedi.org API для планировщика


 
AndreyV ©   (2009-04-05 20:10) [6]

> [4] Женя   (05.04.09 20:05)
> то что он есть это я знаю! как это можно в делфи сделать?

Из своего приложения? По событию TTimer, сверять системное время с заданным, при превышении запускать копирование.


 
Женя   (2009-04-05 20:12) [7]

спасибо!


 
{RASkov} ©   (2009-04-05 22:00) [8]

> Взять ещё литру и разобраться с планировщиком Windows

лучше:
Взять ещё "литру" и сообразить на двоих...)


 
Женя   (2009-04-06 14:46) [9]


> можно. скачав с www.delphi-jedi.org API для планировщика

а можно ссылку, а то не дружу с англиЦким.
и как это реализовать?? где можно почитать про это, а то я полный ламер!


 
Женя   (2009-04-06 14:49) [10]


> Взять ещё "литру" и сообразить на двоих...)

а лучше не одну, да и на троих веселее


 
Женя   (2009-04-06 14:55) [11]

короче нужно из делфи назначить задание в Windows как это сделать?


 
Женя   (2009-04-06 14:59) [12]


> можно. скачав с www.delphi-jedi.org API для планировщика

ftp://ftp.delphi-jedi.org/api/TaskScheduler.zip это он?


 
Сергей М. ©   (2009-04-06 15:00) [13]

В командной строке набери

at ?

Определись с ком.строкой - с какими параметрами тебе нужно вызвать приложение at, чтобы реализовать задуманное.

Остается только сделать то же самое, но программно.

Для этого существует ф-ция ShellExecute() - читаешь справку к ней.


 
Женя   (2009-04-06 15:04) [14]

код                Порядковый номер запланированной задачи.

т.е. задача должна существовать, так?
мне надо создать новую!


 
Сергей М. ©   (2009-04-06 15:18) [15]


> задача должна существовать, так?


Должна, если ты требуешь от AT ее отмены.


> мне надо создать новую

Что мешает ?


 
Женя   (2009-04-06 15:26) [16]

так как это делать? можешь показать примерно?
и где это всё можно прочитать?


 
Сергей М. ©   (2009-04-06 15:41) [17]


> где это всё можно прочитать?

http://support.microsoft.com/kb/313565/ru


 
12   (2009-04-06 15:59) [18]

>at /?
Команда AT предназначена для запуска команд и программ в указанное время
по определенным дням. Для использования команды AT необходимо, чтобы была
запущена служба расписаний.

AT [\\имя_компьютера] [ [код] [/DELETE] | /DELETE [/YES]]
AT [\\имя_компьютера] время [/INTERACTIVE]
   [ /EVERY:день[,...] | /NEXT:день[,...]] "команда"

\\имя_компьютера   Имя удаленного компьютера. Если этот параметр опущен,
                  используется локальный компьютер.
код                Порядковый номер запланированной задачи.
/delete            Отмена запланированной задачи. Если код задачи опущен,
                  отменяются все задачи, запланированные для указанного
                  компьютера.
/yes               Отмена запроса на подтверждение при отмене всех
                  запланированных задач.
время              Время запуска команды.
/interactive       Разрешение взаимодействия задачи с пользователем,
                  работающим на компьютере во время запуска задачи.
/every:день[,...]  Запуск задачи осуществляется по указанным дням недели или
                  месяца. Если дата опущена, используется текущий день
                  месяца.
/next:день[,...]   Задача будет запущена в следующий указанный день недели
                  (например в следующий четверг). Если дата опущена,
                  используется текущий день месяца.
"команда"          Команда Windows NT или имя пакетного файла.


at 15:59 "c:\time_start.bat"


 
Женя   (2009-04-06 17:28) [19]

как при помощи ShellExecute()
передать параметры в командную строку?
вообщем открыть ее и закинуть такую строку at 23:00 /every:M,T,W,Th,F,S,Su C:\Demo\backup.bat", nil, SW_SHOWNORMAL


 
Женя   (2009-04-06 17:29) [20]

ShellExecute(Handle, "open","C:\WINDOWS\system32\cmd.exe","at 23:00 /every:M,T,W,Th,F,S,Su C:\Demo\backup.bat", nil, SW_SHOWNORMAL);

так не хочет!


 
Игорь Шевченко ©   (2009-04-06 17:36) [21]


> так не хочет!


зараза


 
Женя   (2009-04-06 17:38) [22]


> Игорь Шевченко ©   (06.04.09 17:36) [21]
> > так не хочет!зараза

ещё какая!


 
Женя   (2009-04-06 17:39) [23]


> Игорь Шевченко ©   (06.04.09 17:36) [21]
> > так не хочет!зараза

лучше скажи как!


 
Женя   (2009-04-06 18:04) [24]

ну так можно это сделать или нет?


 
Игорь Шевченко ©   (2009-04-06 18:15) [25]


> лучше скажи как!


Я уже все сказал - изучить API планировщика.

И не спамь


 
12   (2009-04-06 18:18) [26]

нафиг cmd ?

uses ShellAPI

ShellExecute(Handle, "open","at"," 23:00 /every:M,T,W,Th,F,S,Su "C:\Demo\backup.bat"", nil, SW_SHOWNORMAL);


 
Женя   (2009-04-06 18:20) [27]

12 спасибо!!!

а может про таймер расскажешь?

как допустим в 13.20 выполнить эту команду не используя назначения задач?


 
Ega23 ©   (2009-04-06 18:25) [28]


> как допустим в 13.20 выполнить эту команду не используя
> назначения задач?


Сначала тебе нужно прочитать, что такое время. Что такое UTC, что такое часовой пояс. Что такое синхронизация времени. Что такое "13.20".


 
12   (2009-04-06 18:28) [29]

2ega
а я - вредный :)

... onTimer

begin
if abs(time - strtotime("13:20:00")) <    strtotime("00:00:02")  
then ...


 
Ega23 ©   (2009-04-06 18:32) [30]


> if abs(time - strtotime("13:20:00")) <    strtotime("00:00:02")  


1. TimeFormat на разных машинах может быть разный.
2. Если интервал таймера меньше двух секунд, то может быть "ой".
3. Время может быть синхронизовано с внешним источником аккурат в дельте таймера (ну это маловероятно).
3. Время может быть переведено ручками (а вот это уже вполне вероятно).


 
12   (2009-04-06 18:37) [31]

4. Отключение электричества
5. Прямое попадание Тополь-М


 
Женя   (2009-04-06 18:57) [32]

12
спасибо большое пойду пробовать!!!!
вот только защиту от Тополь-М напишу!!!
жжешь


 
Ega23 ©   (2009-04-06 19:04) [33]


> жжешь


Нормальный вариант. Комп может быть перезагружен. На компе могут войти под другой учётной записью. Комп может быть выключен на несколько дней.
А программа, по-идее, должна сделать то, что ей положено.

Про переходы на зимнее-летнее время (а твои 3:00 как раз в это дело попадают) я уже говорил.

И всё это для простейшей программки с таймером.


 
Anatoly Podgoretsky ©   (2009-04-06 19:43) [34]


> как допустим в 13.20 выполнить эту команду не используя
> назначения задач?

Надо Женя, надо!


 
AndreyV ©   (2009-04-06 19:48) [35]

> [33] Ega23 ©   (06.04.09 19:04)
> И всё это для простейшей программки с таймером.

Да для ежедневного бэкапа системное время и подойдёт по такой схеме:

// Здесь получим значение LastBackupDateTime из реестра или откуда ещё
if (Now() > (Date() + BackupTime) and ((BackupDateTime - LastBackupDateTime) > 1) then
begin
 Backup;
 LastBackupDateTime = Now();
 // Здесь сохраним значение LastBackupDateTime в реестр или куда ещё
end;


 
Женя   (2009-04-06 21:37) [36]


> Ega23 ©   (06.04.09 19:04) [33]
>Нормальный вариант. Комп может быть перезагружен.


добавить её в автозапуск соответственно настройки из файла прочитает!
а перехода на летнее зимнее время в казахстане нет ;) отменили!
да и не надо так сильно голову заморачивать на этот счет

всем спасибо разобрался маломальски!


 
Ega23 ©   (2009-04-07 10:09) [37]


> а перехода на летнее зимнее время в казахстане нет ;) отменили!


В Кзахстане - да, давно уже отменили. Но от Усть-Каменогорска до Барнаула - 250 км всего...


> добавить её в автозапуск соответственно настройки из файла
> прочитает!


У тебя может не хватить прав добавить её в автозапуск для всех пользователей.


> да и не надо так сильно голову заморачивать на этот счет


Это очень хороший пример для остуживания горячих голов. Дескать - 5 минут и готово


 
Плохиш ©   (2009-04-07 11:06) [38]

Прикольно, в "казахстане" закончились вакансии сантехников и дворников, всех теперь в программеры отправляют :-))



Страницы: 1 вся ветка

Текущий архив: 2009.05.24;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.017 c
15-1236782150
Urk
2009-03-11 17:35
2009.05.24
Когда выйдет Update 3 для Delphi 2009?


15-1237840569
alexander-rsh
2009-03-23 23:36
2009.05.24
Медиаплеер


15-1237892901
alexander-rsh
2009-03-24 14:08
2009.05.24
Сохранени е в IniFile


2-1238941348
Дмитрий
2009-04-05 18:22
2009.05.24
Помогите понять код на си


2-1239340712
И. Павел
2009-04-10 09:18
2009.05.24
Отслеживание смены форматов.