Форум: "Начинающим";
Текущий архив: 2017.01.15;
Скачать: [xml.tar.bz2];
Внизполучение времени из DateTimePicker Найти похожие ветки
← →
SKIPtr © (2014-12-27 08:11) [0]драсте подскажите как можно из DateTimePicker.Time получить результат чтоб секундах было "00"
← →
MBo © (2014-12-27 10:09) [1]Пикер тут, вобщем-то, ни при чём.
ДУмаю, стоит сформировать строку FormatDateTime и заменить секунды в строек на нули.
Округление до минут во внутреннем формате TDateTime возможно, но ненадёжно.
← →
SKIPtr © (2014-12-27 13:39) [2]а как округлить
← →
MBo © (2014-12-27 13:49) [3]
dt := Now;
dt := Floor(dt * 1440) / 1440 + 1/864000;
← →
MBo © (2014-12-27 13:50) [4]Не проще ли не выводить секунды вовсе?
← →
SKIPtr © (2014-12-27 16:54) [5]спасибо попробую формулу
> Не проще ли не выводить секунды вовсе?
я сочиняю че то вроде планеровщика напоминалки
и он в заданое время должен че то сделать
и вот думаю если там будет 50сек то это почти следующая минута
вот поэтому хочу обнулить
← →
Jeer © (2014-12-27 17:10) [6]Для этого достаточно обычного таймера (TTimer) с установкой срабатывания в 1 минуту.
← →
brother © (2014-12-27 17:27) [7]Можно использовать TDXTimer, он точнее...
← →
SKIPtr © (2014-12-27 18:15) [8]
> Для этого достаточно обычного таймера (TTimer) с установкой
> срабатывания в 1 минуту.
я использую SetWaitableTimer
на TTimer делал там у меня строка текущего времени сравнивалась со строкой установленого времени
а вот решил усовершенствовать
← →
Inovet © (2014-12-27 19:37) [9]> [8] SKIPtr © (27.12.14 18:15)
> на TTimer делал там у меня строка текущего времени сравнивалась
> со строкой установленого времени
Странное решение. Ну если событий запланировано 100500 на 1 сутки, так ладно.
← →
SKIPtr © (2014-12-27 20:49) [10]
> Странное решение. Ну если событий запланировано 100500 на
> 1 сутки, так ладно.
почему страное
таким вариантом как раз только одно задание выполняеться
а вот через SetWaitableTimer можно несколько заданий
← →
Inovet © (2014-12-27 21:39) [11]> [10] SKIPtr © (27.12.14 20:49)
Таймер раз в секунду сравбатывал, и строка времени сравнивалась с текущей строкой времени? Что за строки времени, я догадываюсь.
← →
SKIPtr © (2014-12-28 07:34) [12]а че догадывться строку полусаю через TimeToStr потом сравниваю строки
вот и сравниваю
← →
Inovet © (2014-12-28 12:29) [13]> [12] SKIPtr © (28.12.14 07:34)
Вот я и говорю - странное решение. Почему сразу не выставить таймер на нужное время?
← →
Inovet © (2014-12-28 12:32) [14]Ну и про строки. На кой чёрт в строки преобразовывать и их сравнивать? Сразу нельзя что ли сравнить с учётом заданной погрешности?
← →
SKIPtr © (2014-12-28 16:28) [15]
> нельзя что ли сравнить с учётом заданной погрешности?
а как это сделать
потому что сравнивать строки у которых точность до секунды возможно каждую секунду
а если сравнивать TDateTime то это еще меньше
и мне надо проверять чаще чем через секунду и при этом мало шансов шо оно будет равно
ну если только не округлить до секунд но это вопрос с которого я начал эту тему
← →
sniknik © (2014-12-28 17:22) [16]> и при этом мало шансов шо оно будет равно
кто ж на равно числа с плавающей запятой сравнивает... сказали же погрешность, сколько у тебя там? наприер через 10 сек +- 0.5. ну так добавь к текущему 9.5 сек, и проверяй на на больше этому результату... сработает через 9.6 пройдет, 10.1 тоже пройдет... если нужно еще и верхний предел ограничит (ексепт выдавать) ну так со вторым проверочным с + а не минус т.е. 10.5 сравнивай, уже на меньше для положительного результата и эксепта если не прошло.
← →
Плохиш © (2014-12-28 23:17) [17]Для "планеровщика напоминалки" достаточно операции "больше либо равно", которая прекрасно работает с нецелыми типами, коим и является тип DateTime.
PS. Преобразованию в строку для сравнения явно индус какой-нибуть обучил.
← →
Andy BitOff © (2014-12-29 00:48) [18]Palladin показывал эпичный код, реально существующий: if IntToStr(n) = "2" then Здесь, видимо, из той же серии
← →
Германн © (2014-12-29 02:21) [19]
> Плохиш © (28.12.14 23:17) [17]
>
> Для "планеровщика напоминалки" достаточно операции "больше
> либо равно", которая прекрасно работает с нецелыми типами,
> коим и является тип DateTime.
>
Для любого планировщика.
Но хрен знает что ТС называет планировщиком, раз ему надо
> проверять чаще чем через секунду и при этом мало шансов
> шо оно будет равно
Типичный вопрос XYZ.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2017.01.15;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.054 c