![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ТАймер [D6, WinXP]
ArchValentin © (2004-09-21 01:55:00)Пацаны, помогите pls, как сдалать таймер обратного отсчёта? (задаю 3 часа, и он попёр: 02:59, 02:58, 02:57.......)
ArchValentin (2004-10-07 13:31:00) [1]Народ, по-любому, кто-то когда-то пытался собрать подобную прогу, поделитесь своими успехами... очень надо, конференция горит, ничё не успеваю...
TUser (2004-10-04 18:21:00) [2]
> Спасиба, конечно, за дискуссию на мою тему, но хоть кто
> нить поделился бы исходничком :(
$50 и я сделаю тебе красивый(по твоему дизайну) таймер обратного отсчета. Плюсы - за особые требования к дизайну.
Drakosha (2004-10-04 17:43:00) [3]а какя разница в которую сторону считает таймер?
нужно выключить через 3 минуты вот и ставь таймер на 3 минуты.
а вот пользователю уже показывай (3 минуты - прошедшее время).
В чём проблема то?
ArchValentin (2004-10-04 17:32:00) [4]Спасиба, конечно, за дискуссию на мою тему, но хоть кто нить поделился бы исходничком :(
А что непонятного в проблемме, я сам не понял, обычный "локер" управление комп. салоном. На серваке считаю время, когда пора выключать другие компы...
jack128 (2004-09-29 18:50:00) [5]Рамиль © (29.09.04 8:50) [13]
Точность не изменится. Хоть 3000 лет 3 года 3 часа 3 минуты 3/1000 сек храни.
Относительная не измениться. А вот абсолютная ;-) Вот тут то мы и потеряем на три тысячных..
Dmy (2004-09-29 18:45:00) [6]Проверил. 1 секунда храниться нормально, а вот 1 тысячная секунды - уже не нормально. Проверял так - поставил баттон и эдит и написал такой незамысловатый код:
procedure TForm1.Button1Click(Sender: TObject);
const
//стянуто с "советов по дельфи" %)
Second = 1000/MSecsPerDay;
var
dt: TDateTime;
begin
dt := StrToDate('10.10.5000');
dt := dt + (Second * 10){ + (3 * MSecsPerDay)}; //если раскомментировать - будут глюки
Edit1.Text := FormatDateTime('d mmm yyyy, hh:nn:ss:zzz', dt);
end;
GuAV (2004-09-29 14:25:00) [7]
> Откуда такие сведения?
Я написал может. Тут предлагают прибавлять эту самую приблизительно одну минуту, за много прибавлений набежит достаточно.
Рамиль © (29.09.04 08:50) [13]
А может там где 3000 лет милисекунд уже не будет ?
Digitman (2004-09-29 09:00:00) [8]
> 1) а если нужно с выводом результата
ну и выводи себе "результат" на здоровье, прямо тут же, в обработчике OnTimer
> 2) мне нужно вести отчёт по работе комп. салонов, а если
> у меня 50 компов? это чё 50 TTimer?
а не думаешь ли ты, что не "по-пацански" не объяснять толком, где, как и при каких условиях должна работать программа ? то ли на каждом из "50 компов", то ли на каком-то одном из них, выполняющем роль станции администратора салона, легендарной персоны с именем АлахАбар ...
Рамиль (2004-09-29 08:50:00) [9]Dmy (29.09.04 8:43) [12]
Точность не изменится. Хоть 3000 лет 3 года 3 часа 3 минуты 3/1000 сек храни.
Dmy (2004-09-29 08:43:00) [10]Это если хранить число такое мелкое 1/1000 сек. А если хранить число 3 часа 3 минуты 3/1000 сек, то тоже будет такая же точность? Что-то не вериться....
Defunct (2004-09-29 05:35:00) [11]> с TDateTime работать не рекомендую, т.к. это число с плавающей точкой, может одна минута в нём представлена с большой погрешностью, лучше целый тип.
Откуда такие сведения?
TDateTime хранит текущую дату/время с точностю до 1/1000 сек.
Германн (2004-09-29 02:26:00) [12]2 ArchValentin (29.09.04 01:53) [9]
Ну все бы ничего!
Но ты "ведешь отчёт по работе комп. салонов"!
75% мои, и решу все твои проблемы! :))
ArchValentin (2004-09-29 01:53:00) [13]Ну всё бы хорошо,1) а если нужно с выводом результата
2) мне нужно вести отчёт по работе комп. салонов, а если у меня 50 компов? это чё 50 TTimer?
ArchValentin (2004-09-29 01:50:00) [14]...а потом АлахАбар :))) спасиба...
Mim1 (2004-09-22 16:24:00) [15]А после установки говорил "The bomb has been plained"? :)
GuAV (2004-09-21 21:57:00) [16]
> Отнимать надо от трех часов по единичке
> (задаю 3 часа, и он попёр: 02:59, 02:58, 02:57.......)
от 3*60 минут по минуте.
но если нужно без вывода промежуточных результатов, то сразу задать ему 3*60*60*1000
с TDateTime работать не рекомендую, т.к. это число с плавающей точкой, может одна минута в нём представлена с большой погрешностью, лучше целый тип.
Anatoly Podgoretsky (2004-09-21 17:12:00) [17]Отнимать надо от трех часов по единичке, но лучше от (Time+3 часа) - Time
jack128 (2004-09-21 17:09:00) [18]ArchValentin (21.09.04 17:07) [3]
декримент = уменьшение на единицу
ArchValentin (2004-09-21 17:07:00) [19]Не понял :( поясните pls.
GuAV (2004-09-21 02:40:00) [20]TTimer
в событии OnTimer - декремент счётчика и вывод его текущего значения. пока оно не 0.