|
Вопрос # 3 246/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
Вопрос может показаться некоторым простым,есть какое-то кол-во секунд например - 1395,как перевести их в формат чч:мм:сс,есть ли стандартная дельфи-функция для этого, так как простое деление и т.п. я и сам знаю.
 |
Вопрос задал: Anatol_rus (статус: Посетитель)
Вопрос отправлен: 2 октября 2009, 23:49
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: Егор
Здравствуйте, Anatol_rus!
процедура DecodeTime переводит переменную типа дата-время в часы, минуты, секунды, миллисекудны
функция EncodeTime выполняет обратное преобразование
Приложение: Переключить в обычный режим- var
- h, m, s, ms : Integer;
-
-
- ...
- h:=0;
- m:=0;
- s:=1395;
- ms:=0;
- DecodeTime(EncodeTime(h,m,s,ms),h,m,s,ms);
- writeln('h=',h);
- writeln('m=',m);
- writeln('s=',s);
- writeln('ms=',ms);
- ...
-
-
 |
Ответ отправил: Егор (статус: 10-ый класс)
Время отправки: 3 октября 2009, 08:48
|
Ответ #2. Отвечает эксперт: min@y™
А вот типа:
function SecondsToTimeStr(const ASeconds: Cardinal): string;
var
H, M, S: Word;
begin
H:= ASeconds div 3600;
M:= (ASeconds mod 3600) div 60;
S:= ASeconds mod 60;
Result:= TimeToStr(EncodeTime(H, M, S, 0));
end;
Код отлаживал, ошибки невозможны.
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 3 октября 2009, 09:04
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 4 октября 2009, 10:09; участников в обсуждении: 2.
3 октября 2009, 09:39: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » Алгоритмы, преобразования модератором Ерёмин А.А.
|
Anatol_rus (статус: Посетитель), 3 октября 2009, 12:22 [#1]:
H:= ASeconds div 3600;
M:= (ASeconds mod 3600) div 60;
S:= ASeconds mod 60;
Result:= TimeToStr(EncodeTime(H, M, S, 0));
- а без деления нет системной функции? чтоб сразу подставлять секунды а он выдавал в формате чч:мм:сс?
|
|
min@y™ (статус: Доктор наук), 4 октября 2009, 10:09 [#2]:
Цитата (Anatol_rus):
а без деления нет системной функции? чтоб сразу подставлять секунды а он выдавал в формате чч:мм:сс?
Системную не знаю. Чем эта не устраивает?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|