Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Обратный отсчет


Автор: PEMiKC 15.4.2006, 10:22
Доброго времени суток.
Возник следущий вопрос:
нужно зделать программу, которая считала бы сколько дней осталось до определенной даты (Эта дата вводиться 1 раз с клавиатуры). Нужно, чтобы программа всегда появлялась последней при запуске винды и показывала сколько осталось в часах, днях. Вот такая программа нужна. Кто может подсказать как зделать такую программу?
ЗЫ Возможно ли потом зделать интерфейс для винды через Delphi???

Автор: Serkys 15.4.2006, 12:09
Считываешь с клавы дату, сохраняешь её в файл. Затем при запуске программы считываешь эту зату из файла и сравниваешь эту дату с текущей. Всё элементарно. Только для работы с датой её лучше перевести в количество секунд с определённого момента (вроде unix time).

Цитата(PEMiKC @ 15.4.2006, 11:22 Найти цитируемый пост)
всегда появлялась последней при запуске винды

Запихиваешь в автозагрузку вручную.

Цитата(PEMiKC @ 15.4.2006, 11:22 Найти цитируемый пост)
Возможно ли потом зделать интерфейс для винды через Delphi???

Так сразу пиши на делфи, в чём проблема-то?

Автор: PEMiKC 15.4.2006, 12:31
Цитата

Так сразу пиши на делфи, в чём проблема-то?

Да в том проблема что ещё не очень хорошо знаю Делфи... smile
Как сровнять с текущей?? Там фунция должна быть? Не подскажешь?

Автор: PEMiKC 15.4.2006, 22:33
Уже зделал чтобы читало дату с клавиатуры и сохраняло в файл. А вот теперь как сравнить с текущей??? И итог выйдет как разница что-ли??

Автор: ISMD 16.4.2006, 00:38
Функции, возвращающие текущую дату: GetDate (Pascal) >> Date (Delphi)
Хорошая идея по поводу перевода всех значений в секунду, но будут проблемы с високосными годами при переводе в фомат ДД/ММ/ГГГГ. Поэтому можно отнимать значения соответствующих переменных.

P. S. Завтра выложу функцию определения високосности года

Автор: Serkys 16.4.2006, 00:39
Цитата(PEMiKC @ 15.4.2006, 23:33 Найти цитируемый пост)
Уже зделал чтобы читало дату с клавиатуры и сохраняло в файл. А вот теперь как сравнить с текущей???

Переводишь в дату в секунды и оперируешь с ними.
Код

//sec_kon - дата конечного события в секундах
//sec_nach - настоящее время в секундах
//sec - время до наступления события в секундах
sec:=sec_kon-sec_nach;

Формулу перевода даты в секунды придумай сам - устал я что-то, не хочу думать. Может завтра напишу, если не забуду.
Чтобы числа совсем астрономическими не получались, можешь sec_nach принимать за ноль, а sec_kon - количество секунд с sec_nach до конечного события.

З.Ы. Объяснил я, конечно, путано, но постарайся разобраться.
З.З.Ы. А код писать не буду. Не хочу. Не сегодня.
Добавлено @ 00:41
Цитата(ISMD @ 16.4.2006, 01:38 Найти цитируемый пост)
P. S. Завтра выложу функцию определения високосности года

Давай. Будем ждать.

Автор: PEMiKC 16.4.2006, 12:35
Цитата

Хорошая идея по поводу перевода всех значений в секунду, но будут проблемы с високосными годами при переводе в фомат ДД/ММ/ГГГГ.
Я думаю для начала можно зделать, чтобы считало в одном году. То есть задавался текущий год. (Только дата не такая smile ) А потом уже можно было бы зделать для разницы с годами. 

Автор: PEMiKC 19.4.2006, 21:48
Цитата

Функции, возвращающие текущую дату: GetDate (Pascal) >> Date (Delphi)
С этим никак не розберусь... smile
I NEED HELP 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)