![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите народ плиззз!!!! [D5]
АЛЕКСЕЙ СЕРГЕЕВИЧ © (2002-11-03 12:18:00)Привет мастера помогите решить прогблему!!!
Короче проблема такая : Мне надо чтоб время шло назад 2:04:02
2:04:01 2:03:59 2:03:58 и.т.п
Прошу кто может напишите кусок кода плиззззззззззз
sask (2002-11-04 14:46:00) [1]
> в итоге время пойдёт назад со скоростью выполнения операций,
> которые находятся между первым и вторым вызовом ф-ции time
Может прежде, чем что-то критиковать, стоит попробовать у себя запустить сей кусочек кода и посмотреть как это будет выглядеть?
Anatoly Podgoretsky (2002-11-04 14:42:00) [2]Пускай так, но это не решает его задачи, при том тут какой то рандом получается, если запускать в час, в два часа, в 10 часов
1*2-Time
2*2-Time
10*2-Time
Особенно интересен вариант в 0 часов
Сатир (2002-11-04 14:35:00) [3]>так как t1:=Time
очень в этом сомниваюсь, поскольку
t1 := Time();
while True do
begin
Label1.Caption := TimeToStr(t1 - (Time() - t1));
между первым и вторым вызовом ф-ции происходит несколько милисек, которые и вносят различия между t1 и time
то есть, если t1 = time- dt, то
t1-(time-t1) = time-dt-time+time-dt = time - 2*dt
в итоге время пойдёт назад со скоростью выполнения операций, которые находятся между первым и вторым вызовом ф-ции time
sask (2002-11-04 06:42:00) [4]>>2 Ihor Osov"yak © (03.11.02 20:40)
>>2 Hirara © (03.11.02 18:24)
скобки я ставлю, чтобы отличать функцию от
переменной - вот и все (а может и действительно Си сказывается)
>>2 ALL
я всего лишь предложил человеку алгоритм решения (который работает) - как его использовать - дело хозяйское...
Anatoly Podgoretsky (2002-11-03 20:55:00) [5]Сатир © (03.11.02 20:29)
Если раскрыть скобки то time-time+time, так как t1:=Time
Недостаточно начальных данных, но допустим, что от 2:04:02
T1 := Time + StrToTime("2:04:02");
в обработчик OnTimer
begin
Label1.Caption := TimeToStr(T1 - Time);
end;
Ihor Osov'yak (2002-11-03 20:40:00) [6]2 Hirara © (03.11.02 18:24)
Дык человек вчера может со си только спрыгнул, или мечется туда-сюда (ну почти как я, красивый). На уровне рефлекса у сишников скобки после вызова функии/процедуры ставить ...
TTCustomDelphiMaster (2002-11-03 20:39:00) [7]Все правильно товарищи! Что вы кипятитесь?
Геннадий (2002-11-03 20:38:00) [8]А может разместить на форме таймер и в его событии OnTimer (при интервале 1 сек [Interval = 1000]) написать Dec(DateTimePicker1.Time). Ну или DateTimePicker1.Time:= DateTimePicker1.Time - 1. Или минус StrToTime("00:00:01")
Сатир (2002-11-03 20:29:00) [9]если раскрыть скобки, то получится t1 - time + t1 = 2*t1 -time, но таков ли верный ответ?
Anatoly Podgoretsky (2002-11-03 20:19:00) [10]плохо ты в школе учился t1-t1=0 остается -Time
Paul 'Spawn' Rysevets (2002-11-03 20:12:00) [11]to Anatoly Podgoretsky:
если из математики, то получается, что от начального времени t1 отнимается прошешее (Time() - t1).
Математика!!!!
Anatoly Podgoretsky (2002-11-03 18:41:00) [12]Hirara © (03.11.02 18:24)
А мне интересно зачем это
Label1.Caption := TimeToStr( t1- (Time() - t1));
Юрий Зотов (2002-11-03 18:34:00) [13]Я бы тоже хотел запустить время назад. Помолодеть лет так на 20-25. Никто не поможет? Можно даже и со скобками...
Hirara (2002-11-03 18:24:00) [14]sask
мне вот интересно, зачем скобки после Time указываеш? т без них все пашет
sask (2002-11-03 12:48:00) [15]
procedure TForm1.Button1Click(Sender: TObject);
var t1: TTime;
begin
t1 := Time();
while True do
begin
Label1.Caption := TimeToStr(t1 - (Time() - t1));
Application.ProcessMessages;
Sleep(1000);
end;
end;