Текущий архив: 2005.02.20;
Скачать: CL | DM;
ВнизТема: проблема с TDateTime Найти похожие ветки
← →
msm (2005-02-02 16:35) [0]Где ошибка, оно ни фига не бип?
var
Form1: TForm1;
Srabotka: TdateTime;
Ostatok: TdateTime;
Interval: TdateTime;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Interval:=DateTimePicker1.Time;
Srabotka:=Time + Interval;
Timer1.Enabled:=True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Ostatok:=Srabotka - Time;
Label1.Caption:=TimeToStr (Ostatok);
If Srabotka = Time then beep;
end;
end.
← →
Reindeer Moss Eater © (2005-02-02 16:38) [1]Или Srabotka <> Time
или таймер не активен
или звука нет
или ты Бетховен.
← →
msm (2005-02-02 16:45) [2]>Или Srabotka <> Time
>или таймер не активен
>или звука нет
>или ты Бетховен.
Почему Srabotka <> Time - этого то я и не понимаю, в этом и есть суть вопроса.
Таймер активен.
Звук есть.
Я не Бетховен т.к. медведь прошелся по двум ухам одновременно :-)))
← →
Reindeer Moss Eater © (2005-02-02 16:49) [3]Почему Srabotka <> Time - этого то я и не понимаю
Они не равны потому что они разные.
← →
msm (2005-02-02 16:54) [4]А поподробнее можно?
А то получается, что 3<>2 т.к. 3<>2
← →
Reindeer Moss Eater © (2005-02-02 16:55) [5]Чего поподробнее?
← →
msm (2005-02-02 16:58) [6]Почему Srabotka <> Time, хотя Ostatok (Srabotka-Time) = 0:00:00 ?
← →
DVM © (2005-02-02 16:59) [7]
> Почему Srabotka <> Time - этого то я и не понимаю
не надо полагаться на таймеры.
← →
DVM © (2005-02-02 17:01) [8]Ostatok:=Srabotka - Time;
Label1.Caption:=TimeToStr (Ostatok);
If Srabotka = Time then beep;
Два выделенных Time - по-идее разные Time
← →
Reindeer Moss Eater © (2005-02-02 17:02) [9]А причем здесь остаток?
Мой рост + 300 000 км = расстояние до луны.
Почему же я ниже чем луна?
Странно да?
Srabotka:=Time + Interval;
If Srabotka = Time then beep;
← →
DVM © (2005-02-02 17:03) [10]тогда уж
var MyTime ....
....
MyTime:=Time;
Ostatok:=Srabotka - MyTime;
Label1.Caption:=TimeToStr (Ostatok);
If Srabotka = MyTime then beep;
← →
Virgo_Style © (2005-02-02 17:04) [11]
> Почему Srabotka <> Time, хотя Ostatok (Srabotka-Time) =
> 0:00:00 ?
Вопрос на сообразительность: равно ли число "пи" 3.1415926?
Ответ - Нет. Где-то в тысячных (десяти-, милионных...) не равно. Как и у тебя.
Проверяй Abs(разность)<точность.
← →
Reindeer Moss Eater © (2005-02-02 17:04) [12]Точность здесь не при чем.
Парень запутался в своих переменных.
← →
msm (2005-02-02 17:06) [13]>Reindeer Moss Eater © (02.02.05 17:02) [9]
А для Вас, похоже, procedure TForm1.Button1Click = procedure TForm1.Timer1Timer(Sender: TObject) ?
← →
Reindeer Moss Eater © (2005-02-02 17:07) [14]Посмотри внимательно на свой код, а про это будешь потом думать.
← →
Johnmen © (2005-02-02 17:10) [15]Всё от того, что в
DateTimePicker1.Time
лежит и время и дата, и => дальнейшие действия приобретают другой оттенок...:)
← →
Reindeer Moss Eater © (2005-02-02 17:10) [16]Ostatok:=Srabotka - Time;
Label1.Caption:=TimeToStr (Ostatok);
If Srabotka = Time then beep;
В первой строке Time имеет одно значение.
А в третьей - совсем другое.
← →
msm (2005-02-02 17:13) [17]>Johnmen © (02.02.05 17:10) [15]
Полностью согласен, а как быть в такой ситуации?
← →
msm (2005-02-02 17:14) [18]>DVM © (02.02.05 17:03) [10]
Не помогает, пробовал.
← →
Reindeer Moss Eater © (2005-02-02 17:15) [19]Применить вместо знака равно знак меньше или равно
← →
ALS © (2005-02-02 17:15) [20]
Ostatok := Srabotka - Time;
Label1.Caption:=TimeToStr (Ostatok);
If Ostatok <= 0 then
begin
Timer1.Enabled := False;
beep;
end;
← →
Reindeer Moss Eater © (2005-02-02 17:17) [21]А посмотреть что там в переменной на момент проверки и хлопнуть себя по лбу - это не для нас.
← →
Jay1982 © (2005-02-02 17:18) [22]ALS © (02.02.05 17:15) [20]
Только не нуля ж меньше, а скажем 0.01
← →
msm (2005-02-02 17:22) [23]>ALS © (02.02.05 17:15) [20]
И этот вариант тоже ни фига не бип.
← →
Jay1982 © (2005-02-02 17:26) [24]См. [20]
Трассировщик это круто :)
← →
Jay1982 © (2005-02-02 17:26) [25]См. [21]
Трассировщик это круто :)
← →
msm (2005-02-02 17:32) [26]Кстати, остаток <= 0 не получается.
В данной ситуации 0:00:02 ... 0:00:01 ... 0:00:00 ... 23:59:59
← →
Reindeer Moss Eater © (2005-02-02 17:32) [27]И этот вариант тоже ни фига не бип.
Это судьба.
← →
Reindeer Moss Eater © (2005-02-02 17:33) [28]В данной ситуации 0:00:02 ... 0:00:01 ... 0:00:00 ... 23:59:59
У тебя же переменные TDateTime
Что ты уперся в один элемент времени?
← →
ALS © (2005-02-02 17:37) [29]Interval:=Frac(DateTimePicker1.Time);
← →
Antonn © (2005-02-02 17:38) [30]msm (02.02.05 16:35)
Interval:=DateTimePicker1.Time;
Srabotka:=Time + Interval;
Timer1.Enabled:=True;
Reindeer Moss Eater © (02.02.05 17:33) [28]
У тебя же переменные TDateTime
Что ты уперся в один элемент времени?
Чему равен Interval?
← →
msm (2005-02-02 17:42) [31]Например, Interval=0:10:00
← →
Reindeer Moss Eater © (2005-02-02 17:44) [32]Это надолго.
← →
DVM © (2005-02-02 17:46) [33]
> msm (02.02.05 17:42) [31]
надо Interval=10:00:00
утро вечера мудренее :)
← →
msm (2005-02-02 17:47) [34]>DVM © (02.02.05 17:46) [33]
Похоже на то ...
← →
msm (2005-02-02 17:48) [35]>ALS © (02.02.05 17:37) [29]
Тогда получается 0:00:02 ... 0:00:01 ... 0:00:00 ... 00:00:01
← →
Reindeer Moss Eater © (2005-02-02 17:51) [36]ShowMessage(FormatDateTime("dd.mm.yyyy hh:nn:ss:zzz",Srabotka)+#13#10+
FormatDateTime("dd.mm.yyyy hh:nn:ss:zzz",Time));
А так же вспомнить, что TDateTime это Double и вспомнить про знак строгого равенства при операциях с Double.
← →
Reindeer Moss Eater © (2005-02-02 17:52) [37]... И не парить здесь мозги окружающим
← →
msm (2005-02-02 17:57) [38]>Reindeer Moss Eater © (02.02.05 17:52) [37]
Я преклоняюсь перед Вашим профессионализмом программиста и интеллигентностью Вашего общения.
← →
Reindeer Moss Eater © (2005-02-02 17:59) [39]Лучше б ты думал, а не преклонялся.
← →
Antonn © (2005-02-02 18:05) [40]msm (02.02.05 17:42) [31]
Например, Interval=0:10:00
А дата? Ты прибавляешь время ко времени, а дата по умолчанию равна 1.1.1899(поправьте, если ошибаюсь). Как задается Ostatok?
If Srabotka = Time then beep; У тебя Srabotka=Time+***. Услови ни как не будет выполнятся. Попробуй If Ostatok = Time then beep;
Страницы: 1 2 вся ветка
Текущий архив: 2005.02.20;
Скачать: CL | DM;
Память: 0.53 MB
Время: 0.057 c