Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];

Вниз

Функция для работы со временем (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.037 c
14-1128410907
Антоний
2005-10-04 11:28
2005.10.23
Соотношение шфрита и мм.


1-1128254250
Ivanov
2005-10-02 15:57
2005.10.23
добавление Item в TDXImageList


4-1124286067
Anatoly
2005-08-17 17:41
2005.10.23
Функции BitBtl, StretchBLT дают пустую страницу на принтере


2-1127898066
Ольга
2005-09-28 13:01
2005.10.23
ComboBox.ItemIndex:=???


1-1128055083
DrAndrey
2005-09-30 08:38
2005.10.23
Как сделать TComboBox плоским, Ctl3D:= True - не помогает?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский