Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];

Вниз

Как вывести время техпроцесса в чч:мм:сс, если оно превышает 24 ч   Найти похожие ветки 

 
Key999   (2007-04-25 17:41) [0]

Здравствуйте. Мастера, не подскажите, как лучше вывести в поле время техпроцесса, если оно превышает 24 часа. Используемый мною для этого код таков: IntToStr((timeproc div 3600)+RightStr(FormatDateTime("hh:mm:ss",timeproc/86400),6), где timeproc в секундах. Понимаю что это не оптимально. Но есть-ли для функции FormatDateTime в дельфи какой-нибудь формат, позволяющий без искажений отобразить такое, например, время "121:00:00"?


 
DVM ©   (2007-04-25 17:57) [1]


> позволяющий без искажений отобразить такое, например, время
> "121:00:00"?

ну это же неправильно, тут явно надо сутки выделить

Вот я тут использую нечто подобное, правда для разницы между датами, но суть понятна:

function FormatBetweenDates(Date1, Date2: TDateTime): string;
var
 days, hours, minutes, seconds: int64;
begin
 days := DaysBetween(Date1, Date2);
 hours := HoursBetween(Date1, Date2) - days * 24;
 minutes := MinutesBetween(Date1, Date2) - days * 24 * 60 - hours * 60;
 seconds := SecondsBetween(Date1, Date2) - days * 24 * 3600 - hours * 3600 - minutes * 60;
 result := IntToStr(days) +  " äí. " + IntToStr(hours) + " ÷. " + IntToStr(minutes) + " ì. " + IntToStr(seconds) + " ñ. ";
end;


 
Desdechado ©   (2007-04-25 17:57) [2]

Это не время, а длина временнOго интервала.


 
key999   (2007-04-25 18:20) [3]

To: DVM & Desdechado
В том-то и дело, что мне дни выделять не надо. Есть прибор, с которого я принимаю данные о прошедшей длительности техпроцесса и эти значения я принимаю как время программное. На базе этого программного, а также реального времени программа дает команду различным перифирийным устройствам на выполнение некоторых действий. Мне просто надо как-то по-человечески отобразить это программное время, но размерность такова "часы:минуты:секунды". Просто в технологической карте так прописано, и дни никто не поймет. А за идею СПАСИБО


 
Плохиш ©   (2007-04-25 18:32) [4]


> Key999   (25.04.07 17:41)  


> key999   (25.04.07 18:20) [3]

За час 20 можно уже было несколько десятков таких функций написать...


 
antonn.pda   (2007-04-25 18:33) [5]

хранить время в секундах. а дальше просто:
часы=сек div 60*60
мин=(сек-часы*60*60) div 60
секк=(сек-часы*60*60-мин*60) div 60

вывод=часы.мин.секк


 
key999   (2007-04-25 19:02) [6]

>Плохиш ©
20? Таких? За час? Маловато будет... Это просто время просмотра... ;-) Всем СЭНКС



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

Форум: "Начинающим";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.043 c
9-1149650179
kinder_help
2006-06-07 07:16
2007.05.13
Помогите пожалуйста сделать рулетку!!!


2-1177050341
Venja
2007-04-20 10:25
2007.05.13
Графика


15-1176349479
Slider007
2007-04-12 07:44
2007.05.13
С днем рождения ! 12 апреля


15-1176552575
Иксик
2007-04-14 16:09
2007.05.13
Посоветуйте платежные системы для web сайтов, которые принимают


2-1176971469
pasha_golub
2007-04-19 12:31
2007.05.13
Не могу закрыть MDIChild окно





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский