delphi comparetime



Автор Aleksey Yevgenyevich задал вопрос в разделе Другие языки и технологии

Вопрос по Delphi. Не так легко ка может показаться!! и получил лучший ответ

Ответ от Володя Переведенцев[гуру]
var
time1,time2:string;
begin
{ TODO -oUser -cConsole Main : Insert code here }
time1:='11:34:56'; //образец для проверки, присваиваем сюда параметры диалогового окна.
time2:='11:43:50';
writeln(timetostr(time));
if (strtotime(time1) <= time) and (time <= strtotime(time2)) then writeln('in RANGE')
else writeln('OUT OF RANGE'); меняем на свои процедурки.
readln;
end.
//но тут скорее всего будет бага если интервал времени работы сигнала до начала следующих суток и после начала след суток.

Ответ от Капитан Гугл[гуру]
>ничего не работает
Включи компьютер - заработает.
А если компьютер включен - то описывай по-человечески, что именно ты вводишь и что происходит (если не выводится сообщение, то так и надо писать), мы не телепаты.
И лучше добавь еще else и тоже туда допиши сообщение, чтобы видеть, что код сюда доходит.

Ответ от InStudent.ru[гуру]
В коде условие постоянно истинно, вторую часть условия убери

Ответ от Вован де Морт[гуру]
if (((Frac(Time) >= StrToTime(TimeOT)) and (Frac(Time) <= StrToTime(TimeDO))
or ((Frac(Time) >= StrToTime(TimeDO) and (Frac(Time) <= StrToTime(TimeOT))
если Время >= ВремяОТ и Время <= ВремяДО (понимается как время внутри промежутка)
или Время >= ВремяДО и Время <= ВремяОТ (понимается как время вне промежутка)
по сути это взаимоисключающее условие, которое всегда приводит к срабатыванию then showmessage('!Код работает!')

Ответ от East RX[гуру]
А DateUtils.CompareTime не подходит?
if (CompareTime(Time, TimeOT) >= 0) and (CompareTime(Time, TimeDO) <= 0) then

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Вопрос по Delphi. Не так легко ка может показаться!!
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*