ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

[Delphi] Расчет времени
  #1  
Старый 06.05.2009, 15:03
Аватар для Lord NightKon
Lord NightKon
Познающий
Регистрация: 27.03.2008
Сообщений: 30
Провел на форуме:
345913

Репутация: 10
По умолчанию [Delphi] Расчет времени

Приветствую всех.
Как известно - скоро у студентов сдача курсачей (запара ещё та =) ), но вот решить задание кусовой нет ни возможности, ни навыков (как преподают, особенно в начале, вы наверняка знаете), вот по этому прошу помощи в написании кода на Дэлфи.

Задача такова; написать программу, проводящую расчет времени (дней, часов, минут, секунд) между двумя датами учитывая все календарные правила (высокосный год, последние числа месяцов и т. д.). Формат даты: 15.01.2000 14:37:52 (ДД. ММ. ГГГГ). Временные рамки 1960 г. - 2020 г.

Пример: расчитать время между 01.01.2000 и 31.10.2009.
Решение: между 01.01.2000 и 31.10.2009 N-коичество дней, N-количество часов, N-коичество минут, N-коичество секунд.

Все. Буду благодарен всем за помощь в решении задачи. Спасибо.

Последний раз редактировалось Lord NightKon; 06.05.2009 в 15:05..
 
Ответить с цитированием

  #2  
Старый 06.05.2009, 16:37
Аватар для Gar|k
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме:
991929

Репутация: 395


По умолчанию

чето помнится писал прогу для вычисления дней до денюхи )

Код:
// походу возвращает скока дней - передаешь день dd и месяц m (от 1 до 12)
// високосные года не учитывает
function dnei(dd,m:integer):integer;
var k,d:integer;
begin
for k:=1 to m do
begin
d:=31;
if k=2 then d:=29;
if (k=4) or (k=6) or (k=9) or (k=11) then d:=30;
dd:=dd+d;
end;
dnei:=dd;
end;

// а тут типа берется текущая дата и вычитается...
procedure TForm1.Button1Click(Sender: TObject);
var dat:TDateTime;
a,b:integer;
begin
dat:=date;
a:=dnei(strtoint(edit1.Text),combobox1.ItemIndex);
b:=dnei(strtoint(FormatDateTime('d',dat)),strtoint(FormatDateTime('m',dat))-1);

if a<b then a:=a+365;
label2.Caption:='Дней до денюхи осталось: '+inttostr(a-b);
end;
ну для минут и ваще времени можно умножить еще на 24 потом на 60... и тд

гуру кодеры делфисты не ругайтеся - это лучше чем ничего! )
 
Ответить с цитированием

  #3  
Старый 06.05.2009, 16:54
Аватар для zerokko
zerokko
Познающий
Регистрация: 28.03.2009
Сообщений: 52
Провел на форуме:
667098

Репутация: 32
Отправить сообщение для zerokko с помощью ICQ Отправить сообщение для zerokko с помощью AIM Отправить сообщение для zerokko с помощью Yahoo
По умолчанию

Мля... Мне в 10 классе на 10 такую же задачку сказали решать, только реализация на паскале)))0 Задача была выполнена... могу найти код, если надо =)))
 
Ответить с цитированием

  #4  
Старый 06.05.2009, 17:37
Аватар для Lord NightKon
Lord NightKon
Познающий
Регистрация: 27.03.2008
Сообщений: 30
Провел на форуме:
345913

Репутация: 10
По умолчанию

2zerokko - однозначно нужно - пожалуйста посмотри код

2Gar|k - спасибо за помощь, теперь есть от чего оттолкнуться
 
Ответить с цитированием

  #5  
Старый 06.05.2009, 17:48
Аватар для W!z@rD
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

Цитата:
Сообщение от Lord NightKon  
Приветствую всех.
Как известно - скоро у студентов сдача курсачей (запара ещё та =) ), но вот решить задание кусовой нет ни возможности, ни навыков (как преподают, особенно в начале, вы наверняка знаете), вот по этому прошу помощи в написании кода на Дэлфи.

Задача такова; написать программу, проводящую расчет времени (дней, часов, минут, секунд) между двумя датами учитывая все календарные правила (высокосный год, последние числа месяцов и т. д.). Формат даты: 15.01.2000 14:37:52 (ДД. ММ. ГГГГ). Временные рамки 1960 г. - 2020 г.

Пример: расчитать время между 01.01.2000 и 31.10.2009.
Решение: между 01.01.2000 и 31.10.2009 N-коичество дней, N-количество часов, N-коичество минут, N-коичество секунд.

Все. Буду благодарен всем за помощь в решении задачи. Спасибо.
прикольные у вас курсачи, укладываются в одну строку... =\
Преподы отжигают.

PHP код:
ShowMessage(intToStr(DaysBetween(StrToDate(Edit1.Text), StrToDate(Edit2.Text)))); 
P.S. не забудь подключить стандартный модуль DateUtils;

Проверял в Delphi 7
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #6  
Старый 07.05.2009, 09:59
Аватар для Lord NightKon
Lord NightKon
Познающий
Регистрация: 27.03.2008
Сообщений: 30
Провел на форуме:
345913

Репутация: 10
По умолчанию

нужно ещё и время выщитать
 
Ответить с цитированием

  #7  
Старый 07.05.2009, 10:40
Аватар для Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от Gar|k  
чето помнится писал прогу для вычисления дней до денюхи )

ну для минут и ваще времени можно умножить еще на 24 потом на 60... и тд

гуру кодеры делфисты не ругайтеся - это лучше чем ничего! )
Не учитываются високосные годы и поправки григорианского календаря.
 
Ответить с цитированием

  #8  
Старый 07.05.2009, 20:29
Аватар для W!z@rD
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

нет, однако наглые студенты.

не хватает сил посмотреть какие функции содержит модуль DateUtils???
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #9  
Старый 20.05.2009, 00:46
Аватар для /^scriptor$/
/^scriptor$/
Новичок
Регистрация: 11.04.2009
Сообщений: 13
Провел на форуме:
34367

Репутация: 0
По умолчанию

год високосный если, если остаток от деления на 4 равен нулю
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С каккого времени? GrinGoO SЕО - тонкости, методы раскрутки 5 29.03.2009 00:18
SE XPeria X1 просмотр времени разговоров. UnDRaux Сотовый фрикинг 5 17.02.2009 16:14
youtube- сколько по времени обрабатывается видео. MrTrick Болталка 1 01.02.2009 18:10
[Delphi] Добавить многопоточность бруту Navern С/С++, C#, Delphi, .NET, Asm 7 09.02.2007 10:19
Обзор Файловых Серверов NIGHT_WOLF Чужие Статьи 9 22.04.2006 23:13



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ