Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Как вычислить кол-во прошедших дней. Delphi

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Как вычислить кол-во прошедших дней. Delphi
Имя
Сообщение << Старые топики   Новые топики >>
Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 18:27:19.023333   
FlipLab Software

Сообщений: 179
Оценки: 0
Присоединился: 2007-02-08 01:50:01.693333
Как вычислить кол-во прошедших дней с какой-то определённой точки отсчёта?
Post #: 1
RE: Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 18:31:08.203333   
Flint_ta

Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
GetSystemTime, первый раз сохранишь где нибудь. Второй раз GetSystemTime сравнишь с тем что сохранил.
Post #: 2
RE: Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 18:38:39.210000   
FlipLab Software

Сообщений: 179
Оценки: 0
Присоединился: 2007-02-08 01:50:01.693333
Так и делаю, но в итоге получается дребедень
Post #: 3
RE: Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 18:47:29.760000   
Flint_ta

Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
Функция GetSystemTime извлекает текущую системную дату и время. Системное время выражается в универсальном скоординированном времени (UTC).

VOID GetSystemTime(

    LPSYSTEMTIME lpSystemTime    // адрес структуры системного времени
   );


Параметры

lpSystemTime – указывает на структуру типа SYSTEMTIME, которая получает системную дату и время.

——————————————

Структура SYSTEMTIME хранит дату и время используя отдельные поля для месяца, дня, года, дня недели, часа, минут, секунд и миллисекунд. typedef struct _SYSTEMTIME
{
WORD wYear; // Указывает текущий год
WORD wMonth; // Текущий месяц; Январь = 1, Февраль = 2, и так далее
WORD wDayOfWeek; // Текущий день недели; Воскресенье = 0, Понедельник = 1, и так далее.
WORD wDay; // Текущий день месяца.
WORD wHour; // Час.
WORD wMinute; // Минуты.
WORD wSecond; // Секунды.
WORD wMilliseconds; // Миллисекунды.
} SYSTEMTIME;

Post #: 4
RE: Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 18:54:25.030000   
FlipLab Software

Сообщений: 179
Оценки: 0
Присоединился: 2007-02-08 01:50:01.693333
Напиши в Delphi как реализовать. Как записать и как считать
Post #: 5
RE: Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 19:02:00.043333   
Flint_ta

Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
Как в делфи реализовать не знаю :)

Каждый word =  2 байта, в итоге получится 16 байт. Выдели 16 байт по переменную и передай ее функции GetSystemTime
После работы GetSystemTime переменная будет равна типа D7 07 0C 00 06 00 01 00 0F 00 38 00 0E 00 13 02
13 02 милисекунды
0E 00 секунды
00 38 минуты
00 0F часы

и т. д.

Все это в HEX!
+ Часы указываются без поправки на часовой пояс

Post #: 6
RE: Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 19:09:28.010000   
FlipLab Software

Сообщений: 179
Оценки: 0
Присоединился: 2007-02-08 01:50:01.693333
походу понял
Post #: 7
RE: Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 19:22:08.036666   
FlipLab Software

Сообщений: 179
Оценки: 0
Присоединился: 2007-02-08 01:50:01.693333
если ещё у коо будут идеи пишите
Post #: 8
RE: Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 19:40:56.843333   
spikky

Сообщений: 211
Оценки: 0
Присоединился: 2008-10-26 14:50:23.676666
Примерно так:
var
  st: SYSTEMTIME;
begin
  GetSystemTime(st);
  ShowMessage(IntToStr(st.wDay));
end;

увидишь мессадж с номером текущего дня


Post #: 9
RE: Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 20:10:58.773333   
FlipLab Software

Сообщений: 179
Оценки: 0
Присоединился: 2007-02-08 01:50:01.693333
ну ты гений) Надо записать дату запуска программы в файл, а потом через некоторое время считать и сравнить, результатом должно быть кол-во прошедших дней.
Post #: 10
RE: Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 20:37:21.256666   
IkeT

Сообщений: 101
Оценки: 0
Присоединился: 2008-12-07 23:54:11.183333
а смысл это делать с системным временем? как я понял надо сделать триал версию?
Post #: 11
RE: Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 21:14:21.480000   
spikky

Сообщений: 211
Оценки: 0
Присоединился: 2008-10-26 14:50:23.676666
А у меня почему-то ассоциация возникла с Новым Годом. Типа, написать прогу которая будем красиво выводить до НГ остало Х дней =))
Post #: 12
RE: Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 21:18:10.860000   
alexbozhko

Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
function DaysBetween(const ANow, AThen: TDateTime): Integer;

Реализована в модуле DateUtils
Post #: 13
RE: Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 22:15:39.086666   
FlipLab Software

Сообщений: 179
Оценки: 0
Присоединился: 2007-02-08 01:50:01.693333
Странное число какоето она возвращает) 25.12.2008 по сегодня. возвратила 39807. должен быть ноль)
Post #: 14
RE: Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 22:30:00.780000   
spikky

Сообщений: 211
Оценки: 0
Присоединился: 2008-10-26 14:50:23.676666
Код в студию.. )
Post #: 15
RE: Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 22:41:42.780000   
spikky

Сообщений: 211
Оценки: 0
Присоединился: 2008-10-26 14:50:23.676666
Вот написал такую процедурку:
procedure TForm1.Button1Click(Sender: TObject); var &nbsp; NYDate: TDateTime; begin &nbsp; NYDate:=EncodeDateTime(2009,1,1,0,0,0,0); &nbsp; ShowMessage('До нового года осталось '+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IntToStr(DaysBetween(NYDate,Date))+ ' дней'); end; Вроде работает..
Post #: 16
RE: Как вычислить кол-во прошедших дней. Delphi - 2008-12-25 22:47:01.106666   
FlipLab Software

Сообщений: 179
Оценки: 0
Присоединился: 2007-02-08 01:50:01.693333
всё решил проблему
Post #: 17
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Как вычислить кол-во прошедших дней. Delphi







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.