Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.08.2009, 22:15   #1
Rebel123
C++ новичок
Форумчанин
 
Аватар для Rebel123
 
Регистрация: 13.06.2009
Сообщений: 160
По умолчанию Интервал Timer'a перевести на Min

Доброго Времени Суток Уважаемые ПРОграммисты. Интересует следующее:
Я хочу назначить Интревалу 5 мин, но как сами знаете 1сек=1000, думаю 5 мин паревно писать и умножать его на калькуляторе! по моему есть способ как-то обозначить его в минутах, если не ошибаюсь надо объявлять переменную (допустим min) типа Integer!? можете мне помочь пожалуйста! буду благодарен!
Rebel123 вне форума Ответить с цитированием
Старый 20.08.2009, 22:18   #2
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Что?

5 мин = 60 сек * 5 = 300 сек.....
300 * 1000 = 300000........

***.Interval := 300000;
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 20.08.2009, 22:58   #3
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Код:
const
  MSecsPerMin = 60 * 1000;

procedure TForm2.FormCreate(Sender: TObject);
begin
  Timer1.Interval := 5 * MSecsPerMin;
end;
s.Creator вне форума Ответить с цитированием
Старый 21.08.2009, 07:32   #4
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
Сообщение от Rebel123 Посмотреть сообщение
Доброго Времени Суток Уважаемые ПРОграммисты. Интересует следующее:
Я хочу назначить Интревалу 5 мин, но как сами знаете 1сек=1000, думаю 5 мин паревно писать и умножать его на калькуляторе! по моему есть способ как-то обозначить его в минутах, если не ошибаюсь надо объявлять переменную (допустим min) типа Integer!? можете мне помочь пожалуйста! буду благодарен!
Ну, друг мой, если тебе нужно на калькуляторе вычислять, сколько в 5 минутах миллисекунд, то в программировании вам явно нечего делать...
Altera вне форума Ответить с цитированием
Старый 21.08.2009, 09:29   #5
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

По моему Rebel123 для себя вопрос поставил правильный, только сформулировал его немного не так.
Дело не в умении переводить минуты в миллисекунды в уме, а в наглядности кода.
Когда откроете даже свой проект годичной давности то одного взгляда на строку
Timer1.Interval := 5 * MSecsPerMin;
хватит чтобы понять что таймер на 5 минут.
s.Creator вне форума Ответить с цитированием
Старый 21.08.2009, 16:04   #6
Rebel123
C++ новичок
Форумчанин
 
Аватар для Rebel123
 
Регистрация: 13.06.2009
Сообщений: 160
По умолчанию

Цитата:
Сообщение от Altera Посмотреть сообщение
Ну, друг мой, если тебе нужно на калькуляторе вычислять, сколько в 5 минутах миллисекунд, то в программировании вам явно нечего делать...
Это не вам решать зачем мне в кодинге разбираться или не разбираться, я же вас об этом не спрашивал! а зачем мне умножать когда можно обозначить в минуты?! и у меня не только 5 мин будет но и 5 часов! 2 часа, 45 мин и т.д! думаю все таки умножение тут будет занимать больше времени нежели просто обозначить в минутах!
Rebel123 вне форума Ответить с цитированием
Старый 21.08.2009, 16:27   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

таймер принимает миллисекунды и точка.

5 часов = 18000000
еще влезет.
можно вообще функу сделать что в нее пишешь час/минуты/секунды/миллисекунды она вернет значение в миллисекундах
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.08.2009, 16:30   #8
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Цитата:
Сообщение от Rebel123 Посмотреть сообщение
просто обозначить в минутах!
Похоже я пасс

Даже если написать функцию или функции ( типа IntervalInMin(colMin: Integer):Integer; ) то без умножения все равно не обойтись.

Последний раз редактировалось s.Creator; 21.08.2009 в 16:34.
s.Creator вне форума Ответить с цитированием
Старый 21.08.2009, 19:59   #9
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Код:
const
  MSecsPerMin = 60 * 1000;

procedure TForm2.FormCreate(Sender: TObject);
begin
  Timer1.Interval := 5 * MSecsPerMin;//такие вычмсления выполняются во время трансляции(компилции) программы а не во время кее выполнения
rnd;
и в прорамму подставляется уже ВЫЧИСЛЕННОЕ значание
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 21.08.2009, 20:21   #10
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
Сообщение от Rebel123 Посмотреть сообщение
Это не вам решать зачем мне в кодинге разбираться или не разбираться, я же вас об этом не спрашивал! а зачем мне умножать когда можно обозначить в минуты?! и у меня не только 5 мин будет но и 5 часов! 2 часа, 45 мин и т.д! думаю все таки умножение тут будет занимать больше времени нежели просто обозначить в минутах!
Вот глупости пишешь ну... Ты пишешь алгоритм, а компьютер за тебя считает. Лучше всё в миллисекунды переводить, ну или в секунды.

Например нужен интервал 8 часов, 32 минуты и 59 секунд. Как перевести его в миллисекунды?
Отвечаю:
Код:
function toMilliSeconds(const aHours, aMinutes, aSeconds: byte): cardinal;
begin
   result := (aHours*3600 + aMinutes*60 + aSeconds)*1000;
end;
...
timer1.interval := toMilliSeconds(8, 32, 59); // интервал получится 30 780 000
Есть ещё что-то не понятное по этой теме?
Altera вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
СУММИРОВАНИЕ ЯЧЕЕК ЧЕРЕЗ ЗАДАННЫЙ ИНТЕРВАЛ provodnikam Microsoft Office Excel 28 18.02.2015 18:20
Интервал ответа Pavelok Работа с сетью в Delphi 3 16.05.2009 22:08
Как ввести в Edit интервал? Котакот Общие вопросы Delphi 5 19.04.2009 17:39
Интервал Таймера... Roof Общие вопросы Delphi 27 08.07.2008 20:19
межстрочный интервал в excel KorvinZ Microsoft Office Excel 2 16.01.2008 17:40