Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ТАймер [D6, WinXP]


Страницы:   1 2

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.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо