Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Преобразование минуты:секунды в секунды [D6, WinXP]


msm ©   (2005-08-07 02:13:00) 

Помогите, пожалуйста, разобраться ...
Надо преобразовать величины вида "00:01" ... "999:59" (минуты:секунды) в общее количество секунд. Как это можно сделать?


Lexa   (2005-08-07 04:39:00) [1]

Я мал и глуп...:)


Юрий Зотов   (2005-08-07 04:05:00) [2]

> Lexa ©   (07.08.05 03:26) [6]

Result := Trunc(Frac(Time) * 86400)

И все.


Lexa   (2005-08-07 03:26:00) [3]

function TimeToSec(Time: TDateTime): integer;
var
h,m,s,ms:word;
begin
DecodeTime(Time, h, m, s, ms);
h := h*3600;
m := m*60;
Result := h + m + s;
end;


Lexa   (2005-08-07 03:14:00) [4]

procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word);


Adder   (2005-08-07 02:39:00) [5]

>
А как разложить "999:59" на две переменные: минут=999 и секудн=59


Ну, например, воспользоваться функциями Copy, Pos и StrToInt:

var sFull,sMinut,sSecund:string;
    Minut,Secund:integer;
.........
sFull:='999:59';
sMinut:=Copy(sFull,1,Pos(':',sFull)-1);
sSecund:=Copy(sFull,Pos(':',sFull)+1,Length(sFull)-Pos(':',sFull));

Minut:=StrToInt(sMinut);
Secund:=StrToInt(sSecund;)


И подумать над Eraser ©   (07.08.05 02:30) [3] - может, есть более красивый способ?


Eraser   (2005-08-07 02:30:00) [6]

msm   (07.08.05 02:18) [2]

А откуда взялись эти цифры? Может есть более красивый способ, чем поиск двоиточия в данной строке...


msm   (2005-08-07 02:18:00) [7]

А как разложить "999:59" на две переменные: минут=999 и секудн=59


Джо   (2005-08-07 02:14:00) [8]

В одной минуте - 60 секунд.


Наверх

Титульная страница Поиск, карта сайта Написать письмо