Форум: "Начинающим";
Текущий архив: 2009.05.24;
Скачать: [xml.tar.bz2];
Внизв определенное время запуск Найти похожие ветки
← →
Женя (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;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.006 c