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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2009, 08:46   #1
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию Определить разность дат

Помогите определить количество дней между датами. Я использую вот этот код
Код:
var  data_begin,data_kod: TDate;
   begin
data_kod := StrToDateTime(sDateEdit1.Text)  ;
data_begin:=Date-data_kod;
ShowMessage('Осталось '+DateToStr(data_begin));
Aleksandr вне форума Ответить с цитированием
Старый 05.06.2009, 09:14   #2
Toxa
Форумчанин Подтвердите свой е-майл
 
Аватар для Toxa
 
Регистрация: 01.12.2006
Сообщений: 514
По умолчанию

вместо ShowMessage('Осталось '+DateToStr(data_begin));
надо ShowMessage('Осталось '+INTToStr(data_begin));

результат Date-data_kod этого выражения выдается в милисекундах
Пишу на Delphi за еду
Toxa вне форума Ответить с цитированием
Старый 05.06.2009, 09:21   #3
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

Выдает ошибку при компиляции.
Aleksandr вне форума Ответить с цитированием
Старый 05.06.2009, 09:42   #4
MasterofCDM
Пользователь
 
Регистрация: 02.07.2008
Сообщений: 94
По умолчанию

Я делал так:
Код:
    d := DateTimePicker1.Date;
    while d <  DateTimePicker2.Date do
    begin
        i := i + 1;
        d := d + 1;
    end;
d - это TDate, а i - количество дней (Integer).
MasterofCDM вне форума Ответить с цитированием
Старый 05.06.2009, 10:09   #5
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

не получается.
Aleksandr вне форума Ответить с цитированием
Старый 05.06.2009, 10:13   #6
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

Получилось
ShowMessage('Осталось '+IntToStr(Trunc(data_begin)));
Aleksandr вне форума Ответить с цитированием
Старый 05.06.2009, 10:40   #7
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

есть модуль dateutils , в котором есть функция daysbeetwen (или как- то так)
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 05.06.2009, 10:50   #8
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

зачем подключать разніе моули.. можна просо
конечкая_дата - начальная_дата
и мы подучим желаемое..если в датах еще и время прописано - то его можна отсеять простым div 1.. если еще чтото не нравится.. и нада чтобы все это выглядело в виде целого числа, а не дробного, - то можна восполдьховаться функцыей round..
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 05.06.2009, 11:01   #9
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
зачем подключать разніе моули..
затем, что велосипеды давно изобретены и оттестированы, в отличие от того что изобретаете вы.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 05.06.2009, 14:36   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
затем, что велосипеды давно изобретены и оттестированы
ну, начнём с того модуль DateUtils появился только в Delphi 6 (а мы, например, до сих пор используем на работе Delphi 5)

и второе, если "велосипед" использовать грамотно, то почему бы и нет.

p.s. в DateUtils.pas
Код:
  DaysBetween = Trunc(DaySpan(ANow, AThen))

DaySpan = 
  if ANow < AThen then
    Result := AThen - ANow
  else
    Result := ANow - AThen;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разность между максимальным и минимальным значениями StudeHt Помощь студентам 7 23.04.2009 22:26
Разность max min Си++ Где ошибка? Медина Помощь студентам 18 20.04.2009 00:03
Как определить разность знаков у переменных бедный_студент Помощь студентам 11 22.03.2009 15:22
Разность двух таблиц exile БД в Delphi 4 16.03.2009 09:27
Разность между max и min значениями Иван 883 Паскаль, Turbo Pascal, PascalABC.NET 2 16.02.2009 23:24