Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.10;
Скачать: CL | DM;

Вниз

Фигня с TDateTime   Найти похожие ветки 

 
Стас   (2003-01-21 14:26) [0]

Здравствуйте!
Тут обнаружил, что переменная данного типа не может хранить больше часов, чем 24. А мне надо суммировать данные за месяц в часах и минутах, которые в сумме превосходят это число и все скидывается на ноль. Как обойти это?


 
Anatoly Podgoretsky   (2003-01-21 14:28) [1]

Потому что она хранит не часы а дни, в дробном виде, но на ноль ничего не скидывается, это у тебя ошибка в программе.


 
Fiend   (2003-01-21 14:30) [2]

единственный способ - ЗАСТРЕЛИТЬСЯ!


 
Стас   (2003-01-22 07:19) [3]

Она может хранить дни и часы. Вроде так. Но 25 часов превращаются в 1 час.


 
Anatoly Podgoretsky   (2003-01-22 07:41) [4]

У тебя ошибка в программе.


 
Max Zyuzin   (2003-01-22 09:09) [5]

>Стас (21.01.03 14:26)
Покажи пожалуйста как ты сумируешь часы в программе..


 
stone   (2003-01-22 09:20) [6]


> Но 25 часов превращаются в 1 час.


25 часов превращаютсяв 1 день и 1 час. Если ты показываешь только время, то дней ты, естественно не увидишь.


 
Chubais   (2003-01-22 10:40) [7]

ААААААААААААААААААААААААААААА!!!!!!!!!!!!!!!!!!!


 
BlackTiger   (2003-01-22 10:50) [8]

Сильно, сильно...
На то оно и DateTime, что бы хранить только 24 часа!
Слабо "56-е число 45-го месяца 56 часов 87 минут 134 секунды"?

Хранить это добро надо в INTEGER (в секундах, минутах, часах), а не в DateTime.


 
Anatoly Podgoretsky   (2003-01-22 10:56) [9]

BlackTiger (22.01.03 10:50)
TDateTime нормально хранит это, нет нужды делать извращение с INTEGER

Стас (22.01.03 07:19)
Хинт: время по милитаристкой шкале индициуется как значение в диапазоте от 00:00:00 до 23:59:00, а у тебя какая шкала?


 
Johnmen   (2003-01-22 11:06) [10]

Чубайс опять обкакался от смеха...:)


 
Chubais   (2003-01-22 11:12) [11]

Johnmen © (22.01.03 11:06)
не, тогда еще не обкакался
прочитал BlackTiger (22.01.03 10:50)
и тогда уж обкакался)))))))))))


 
wman   (2003-01-22 12:24) [12]

Можно юзать DecodeTime и DecodeDate или напрямую работать с
TDateTime:

procedure TForm1.Button2Click(Sender: TObject);
var D1, D2, DT: TDateTime;
DTS: TTimeStamp;
SS, HH: Integer;
begin
D1 := StrToDateTime("10.01.2003 2:00:00");
D2 := StrToDateTime("09.01.2003 1:00:00");
DT := D1 - D2;
SS := Trunc(1440 * (DT - Trunc(DT)));
HH := Trunc(DT)* 24;
HH := HH + SS div 60;
SS := SS mod 60;
Caption := IntToStr(HH) + ":" + FormatFloat("00", SS);
end;


 
Стас   (2003-01-22 14:06) [13]

Да, 25 часов это 1 сутки и 1 час. Но если в таком виде выводить на отчет, то вместо этих суток машина выставляет какую-то определенную дату, а это совсем не нужно.
>wman
Попробую применить, хотя я уже перековырял все на Float, что конечно не так красиво.


 
Johnmen   (2003-01-22 14:12) [14]

>хотя я уже перековырял все на Float, что конечно не так
>красиво.

А чем, по-твоему, TDateTime отличается от float ?


 
stone   (2003-01-22 14:52) [15]

2 Стас (22.01.03 14:06)

Тогда DecodeTime и DecodeDate тебе помогут.



Страницы: 1 вся ветка

Текущий архив: 2003.02.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
14-29081
Dark Elf
2003-01-25 15:38
2003.02.10
Approximator 1.03


4-29164
BlackSun
2002-12-29 00:34
2003.02.10
Обращение к винту


14-29085
Феликс
2003-01-24 01:44
2003.02.10
Кому нравятся модели?


3-28606
Я
2003-01-23 08:55
2003.02.10
Просто тема


1-28875
Whippi
2003-01-30 09:43
2003.02.10
Програма по защите информации. Нужна помощь.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский