Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1236982065
вопро про кладовку
2009-03-14 01:07
2009.05.24
А что с кладовкой? Ничего не скачать, не посмотреть нельзя.


10-1157968431
silversmith
2006-09-11 13:53
2009.05.24
Ерунда при работе с Word.Application


2-1238466628
8shar
2009-03-31 06:30
2009.05.24
ID скрытого процесса


11-1200582121
MTsv DN
2008-01-17 18:02
2009.05.24
Странная вещь...


15-1237486668
Andryk
2009-03-19 21:17
2009.05.24
Профессионализм не пропьешь :)))))





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский