Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.23;
Скачать: CL | DM;

Вниз

Функция для работы со временем (TDateTime)   Найти похожие ветки 

 
B@BY ©   (2005-09-30 16:29) [0]

Здравствуйте мастера! Мне необходима процедура которая возвращает общее, пройденное и оставшееся время. Для этого использую как входные данные: s_t - начальное время работы, s_s - кол. сделаных операций, s_o - общее количество операций.

На VB у меня все отлично работало:
Public Sub Stat(s_t As String, s_s As Integer, s_o As Integer)
Dim Sa As String
Sa = Int(Int(Timer - s_t) * s_o / (s_s + 1))
StatT = vbCrLf & Sa & vbCrLf & Int((Timer - s_t)) & vbCrLf & Int(Sa - Int(Timer - s_t))
End Sub


Но вот на Delphi у меня ни как не получается сделать данную процедуру так как разница между начальным и текущем временем высчитывается в формате TDateTime (a:=TimeToStr(Now-s_t);) а не Integer(Double).
На данный момент у меня получилось так:
procedure Stat(s_t: TDateTime; s_s: Integer; s_o: Integer);
var
 a:string;//пройденное время
 b:string;//общее время
 c:string;//оставщееся время
begin
 a:=TimeToStr(Now-s_t);// возращает в формате 00:00:00 (вот если бы это было в формате Integer...)
 //b:=IntToStr(StrToInt(a) * s_o div s_s);//не работает т.к. а=00:00:00
 //c:=IntToStr(StrToInt(b)-StrToInt(a));
 StatT:= a + "---" b + "---" + c;
End;


Подскажите как нужно сделать чтобы эта процедура работала. Результат меня устроит и простым количеством секунд и (если получится) в формате 00:00:00.

P.S. А может мне достаточно переменную a преобразовать какой нибудь функцией из TDateTime в Integer. Но вот только какой...


 
clickmaker ©   (2005-09-30 16:40) [1]

разница в часах
(Time1 - Time2) * 24
в минутах
* 24 * 60
ну и т.д.


 
B@BY ©   (2005-09-30 17:26) [2]

> (Time1 - Time2) * 24 Не подходит т.к. это просто увеличивает разницу в 24 раза...
А мне необходимо что бы работала эта строчка: b:=IntToStr(StrToInt(a) * s_o div s_s);
а мне на эту строку выдается ошибка: "0:00:03" is not a valid integer value. ...


 
clickmaker ©   (2005-09-30 17:28) [3]


> B@BY ©   (30.09.05 17:26) [2]

не понял... тебе че надо-то? Разницу получить? Я и написал, как


 
Sashka ©   (2005-10-01 18:42) [4]

Открой хелп и прочитай там что такое TDateTime.



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

Текущий архив: 2005.10.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.081 c
6-1120433369
Galiaf
2005-07-04 03:29
2005.10.23
Как узнать номер отключившегося клиента в TServerSocket?


2-1127750520
Гость22
2005-09-26 20:02
2005.10.23
Как динамически добавить подменю в MainMenu?


2-1128073245
Andrey235
2005-09-30 13:40
2005.10.23
Как сохранить информацию?


14-1128424032
syte_ser78
2005-10-04 15:07
2005.10.23
avi в vob


11-1109449924
Shanker
2005-02-26 23:32
2005.10.23
Координаты окна, размер окна