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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2009, 19:16   #1
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
Вопрос Как работать с временем?

Работаю с bass.dll, получаем длину трека!

Код:
function SecToStr(const Sec: Integer): PAnsiChar; stdcall;
var
  H, M, S: Integer;
begin
  H := Sec div 3600;
  S := Sec mod 3600;
  M := S div 60;
  S := (S mod 60);
  if H <> 0 then
    Result := PAnsiChar(Format('%2.2d:%2.2d:%2.2d', [H, M, S]))
  else
    Result := PAnsiChar(Format('%2.2d:%2.2d', [M, S]));
end;
Пример:
продолжительность трека = 80 минутам, что равняется 01:20:00, а как сделать так чтобы вывод был 80:00. т.е. часы показывать в минутах.
ZuBy вне форума Ответить с цитированием
Старый 19.10.2009, 19:35   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Колдуйте с этим:
Код:
  H := Sec div 3600;
  S := Sec mod 3600;
  M := S div 60;
  S := (S mod 60);
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 20.10.2009, 06:51   #3
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Alex Cones я знаю что с этим нужно колдовать, я уже пробовал и всё время выдаёт нереальные цифры.
я делил H на 60 полученное прибавлял к M и результат выводил.
где ошибка, почему неправильно?

Последний раз редактировалось ZuBy; 20.10.2009 в 06:54.
ZuBy вне форума Ответить с цитированием
Старый 20.10.2009, 07:25   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

После
Цитата:
M := S div 60;
Напиши M:=M+H*60;
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 20.10.2009, 07:42   #5
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

вообще что то странное выдал, 00:0₣ последнии символ неотображается.
ZuBy вне форума Ответить с цитированием
Старый 20.10.2009, 08:43   #6
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Вот пример можно поэкспериментировать.
Вложения
Тип файла: zip Example.zip (543.0 Кб, 20 просмотров)
ZuBy вне форума Ответить с цитированием
Старый 20.10.2009, 16:41   #7
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Вот эту белиберду:
Цитата:
Result := PAnsiChar(Format('%2.2d:%2.2d:%2.2d ', [H, M, S]))
else
Result := PAnsiChar(Format('%2.2d:%2.2d', [M, S]));
Замени на
Код:
If M<10 Then SM:='0'+IntToStr(M) Else SM:=IntToStr(M);
If S<10 Then SS:='0'+IntToStr(S) Else SS:=IntToStr(S);
Result := PAnsiChar(SM+':'+SS);
P.S. H В таком случае убери.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 22.10.2009, 17:02   #8
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Alex Cones сорри что раньше не ответил.
твой первый пост
Код:
M:=M+H*60;
решил мою задачу.

P.S. просто я чуть ошибся у себя в коде.
Спасибо огромное!
ZuBy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++. Что и как можно внести в DLL и как потом с этим работать? dampirik Помощь студентам 5 21.09.2009 08:19
Обьясните как работать с графикой и как решыть задачу Alex_Fort Помощь студентам 6 12.06.2009 00:05
Как работать с HotKeyManager Михаил Юрьевич Общие вопросы Delphi 3 26.03.2009 22:12
как работать с системным временем Dinarochka Помощь студентам 2 27.05.2008 18:28