Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
Delphi
(Модератор:
x77
) > Тема:
Отсчет времени(СРОЧНО!)
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Отсчет времени(СРОЧНО!) (Прочитано 9027 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
MS
Помогающий
Offline
Пол:
Отсчет времени(СРОЧНО!)
«
:
08-03-2007 11:05 »
Подскажите, как посчитать оставшееся время до введеного, если часы, минуты и секунды вводим как отдельные переменные.
Заранее спасибо.
Записан
Ничто так не ограничивает полёт мысли программиста, как компилятор
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: Отсчет времени(СРОЧНО!)
«
Ответ #1 :
08-03-2007 11:43 »
в API есть функция
void GetLocalTime(
LPSYSTEMTIME lpSystemTime
);
она подойдёт для данной задачи, я полагаю )
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
MS
Помогающий
Offline
Пол:
Re: Отсчет времени(СРОЧНО!)
«
Ответ #2 :
08-03-2007 11:57 »
А нельзя коддинг хотя бы примерно.
Записан
Ничто так не ограничивает полёт мысли программиста, как компилятор
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
Re: Отсчет времени(СРОЧНО!)
«
Ответ #3 :
08-03-2007 12:49 »
MS
, Сведи все в одну переменную. Примерно так
Твоя_Переменная = Час*3600+Минута*60+Секунды;
Затем отнимай эти переменные и обратно разворачивай
Секунды = Твоя_переменная mod 60;
Твоя_переменная = Твоя_переменная div 60;
Минуты = Твоя_переменная mod 60;
Твоя_переменная = Твоя_переменная div 60
Часы = Твоя_переменная
Данные выводы верны, если мы ведем счет в пределах одного дня. Как сделать с учетом дней, месяцев и годов подумай сам.
Записан
Не будите спашяго дракона.
Джаффар (Коша)
zubr
Гость
Re: Отсчет времени(СРОЧНО!)
«
Ответ #4 :
09-03-2007 04:56 »
Просто отнимаешь от одного времени другое (переменные типа TDateTime - это вещественные переменные). Если надо преобразовать в TDateTime из отдельных часов, минут, секунд, пользуемся функцией EncodeDateTime. Затем, чтобы определить сколько осталось часов, минут, секунд, полученную разницу преобразовываем с помощью функции DecodeDateTime. Есть еще функция CompareDateTime, позволяющая сравнивать время, но она только показывает больше, меньше, равно.
З.Ы. Все вышеназванные функции находятся в модуле DateUtils (для Delphi6-7).
Записан
MS
Помогающий
Offline
Пол:
Re: Отсчет времени(СРОЧНО!)
«
Ответ #5 :
10-03-2007 13:27 »
Всем большое спасибо, очень помогли.
Записан
Ничто так не ограничивает полёт мысли программиста, как компилятор
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
Delphi
(Модератор:
x77
) > Тема:
Отсчет времени(СРОЧНО!)
Загружается...