Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Выполнение программы через промежуток времени.

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Pascal/Delphi только в данном разделе

Ответ
 
Опции темы
Старый 16.07.2012, 22:17   #1
 Разведчик
Аватар для cooller1995
 
cooller1995 никому не известный тип
Регистрация: 01.01.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Выполнение программы через промежуток времени.

Здравствуйте, подскажите как сделать так что бы программный код выполнялся каждые 15минут-2часа(рандомно) но не более 30 раз в сутки.
И возможно ли такое вообще?
  Ответить с цитированием
Старый 17.07.2012, 12:57   #2
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: Выполнение программы через промежуток времени.

Sleep + Условие на колличество выполнений
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 17.07.2012, 18:49   #3
Заблокирован
 Разведчик
Аватар для simsonbart1
 
simsonbart1 неизвестен в этих краяхsimsonbart1 неизвестен в этих краяхsimsonbart1 неизвестен в этих краяхsimsonbart1 неизвестен в этих краяхsimsonbart1 неизвестен в этих краяхsimsonbart1 неизвестен в этих краяхsimsonbart1 неизвестен в этих краяхsimsonbart1 неизвестен в этих краяхsimsonbart1 неизвестен в этих краях
Регистрация: 20.05.2012
Сообщений: 25
Популярность: -1170
Сказал(а) спасибо: 70
Поблагодарили 20 раз(а) в 15 сообщениях
 
По умолчанию Re: Выполнение программы через промежуток времени.

А можно и гораздо проще на форму таймер кинуть
  Ответить с цитированием
Старый 17.07.2012, 21:44   #4
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: Выполнение программы через промежуток времени.

Я про цикл забыл написать...
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 17.07.2012, 22:51   #5
 Старший сержант
Аватар для Sinyss
 
Sinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака Норриса
Регистрация: 29.07.2011
Сообщений: 197
Популярность: 8989
Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
Отправить сообщение для Sinyss с помощью Skype™
 
По умолчанию Re: Выполнение программы через промежуток времени.

Цитата:
Сообщение от simsonbart1Посмотреть сообщение
А можно и гораздо проще на форму таймер кинуть

А вот это я считаю *****-методом....
Зачем использовать визуальные компоненты если есть встроенные классы, которые намного проще и очевидней вызвать в коде, чем на форме и потом отслеживать что-куда-и-почему...
  Ответить с цитированием
Старый 18.07.2012, 00:56   #6
Заблокирован
 Разведчик
Аватар для simsonbart1
 
simsonbart1 неизвестен в этих краяхsimsonbart1 неизвестен в этих краяхsimsonbart1 неизвестен в этих краяхsimsonbart1 неизвестен в этих краяхsimsonbart1 неизвестен в этих краяхsimsonbart1 неизвестен в этих краяхsimsonbart1 неизвестен в этих краяхsimsonbart1 неизвестен в этих краяхsimsonbart1 неизвестен в этих краях
Регистрация: 20.05.2012
Сообщений: 25
Популярность: -1170
Сказал(а) спасибо: 70
Поблагодарили 20 раз(а) в 15 сообщениях
 
По умолчанию Re: Выполнение программы через промежуток времени.

Цитата:
Сообщение от SinyssПосмотреть сообщение
А вот это я считаю *****-методом....
Зачем использовать визуальные компоненты если есть встроенные классы, которые намного проще и очевидней вызвать в коде, чем на форме и потом отслеживать что-куда-и-почему...

Ну низнаю каждому нравится по своему на мой вид зачем писать весь этот громоздкий код когда одним таймером можно отделаться
  Ответить с цитированием
Старый 18.07.2012, 01:30   #7
 Старший сержант
Аватар для Sinyss
 
Sinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака Норриса
Регистрация: 29.07.2011
Сообщений: 197
Популярность: 8989
Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
Отправить сообщение для Sinyss с помощью Skype™
 
По умолчанию Re: Выполнение программы через промежуток времени.

Цитата:
Сообщение от simsonbart1Посмотреть сообщение
Ну низнаю каждому нравится по своему на мой вид зачем писать весь этот громоздкий код когда одним таймером можно отделаться

А представь что у тебя кода не 10 строчек, а 10к, таймер может использоваться в 100 местах(допустим) писал ты этот код допустим 3 месяца назад и тут тебе надо что то поправить...
Итого, мы имеем:
1) 100 таймеров на форме, какой из них отвечает за то что тебе надо поправить - неизвестно.
2) 10к строк кода, каждая из которых может менять состояние таймера от того что есть в граф. элементе.
3) Ты не имеешь понятия в какой последовательности выполняется твой код, потому что писал его хз когда...
Ты не знаешь, к чему приведет изменение этого кода(может он связан с кодом в других местах).

PS: Этот "громоздкий код" занимает 2-3 строчки но упрощает твою жизнь значительно. И 10к строчек для нормального проекта это очень мало....
  Ответить с цитированием
Пользователь сказал cпасибо:
simsonbart1 (18.07.2012)
Старый 18.07.2012, 10:46   #8
 Разведчик
Аватар для cooller1995
 
cooller1995 никому не известный тип
Регистрация: 01.01.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Выполнение программы через промежуток времени.

одним таймером однозначно не отделаться..
а вот:
Цитата:
Сообщение от VeTaL_UAПосмотреть сообщение
Sleep + Условие на колличество выполнений

вполне подходит, только подскажите пожалуйста как задать это самое условие.
  Ответить с цитированием
Старый 18.07.2012, 12:04   #9
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: Выполнение программы через промежуток времени.

Давай начнём с рандома. Чтобы вывести рандомное число между 15 минутами (900000мс) и 2 часами (7200000мс) можно заюзать такой код:
Код:
var
s:integer;
begin
s:=900000+random(6300001);
end;
Почему 6300001? Да потому что 7200000-900000=6300000, а функция random(a) выбирает число от 0 до a-1.

Дальше делаем цикл со sleep:
Код:
var
i:integer;
begin
 for i:=0 to 29 do
  begin
  {тут код программы}
  Sleep(900000+random(6300001));
  end;
end;
29 потому что 30-1-29.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Пользователь сказал cпасибо:
simsonbart1 (18.07.2012)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Программа] Отправка запросов через заданный промежуток времени xFroLx Социальные сети 11 02.03.2014 15:27
[Помогите!] как остановить выполнение многопоточной программы ? *Хalyava* Вопросы и ответы, обсуждения 4 31.05.2012 10:28
[Помогите!] ЧТо за ссылка с возвратом акка даже через большой промежуток времени? --Mirkо-- Общение и обсуждение 5 21.11.2011 19:03
[Помогите!] Как программно остановить выполнение программы. *Хalyava* Вопросы и ответы, обсуждения 2 28.10.2011 13:55

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 18:40.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net