![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Преобразование минуты:секунды в секунды [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 секунд.