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

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

Тема: проблема с TDateTime [D6, WinXP]


Страницы:   1 2 3

msm ©   (2005-02-02 16:35:00) 

Где ошибка, оно ни фига не бип?

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.


Jay1982   (2005-02-02 17:18:00) [21]

ALS ©   (02.02.05 17:15) [20]
Только не нуля ж меньше, а скажем 0.01


Reindeer Moss Eater   (2005-02-02 17:17:00) [22]

А посмотреть что там в переменной на момент проверки и хлопнуть себя по лбу - это не для нас.


ALS   (2005-02-02 17:15:00) [23]


Ostatok := Srabotka - Time;
Label1.Caption:=TimeToStr (Ostatok);
If Ostatok <= 0 then
begin
 Timer1.Enabled := False;
 beep;
end;


Reindeer Moss Eater   (2005-02-02 17:15:00) [24]

Применить вместо знака равно знак меньше или равно


msm   (2005-02-02 17:14:00) [25]

>DVM ©   (02.02.05 17:03) [10]
Не помогает, пробовал.


msm   (2005-02-02 17:13:00) [26]

>Johnmen ©   (02.02.05 17:10) [15]
Полностью согласен, а как быть в такой ситуации?


Reindeer Moss Eater   (2005-02-02 17:10:00) [27]

Ostatok:=Srabotka - Time;
Label1.Caption:=TimeToStr (Ostatok);
If  Srabotka = Time then beep;


В первой строке Time имеет одно значение.
А в третьей - совсем другое.


Johnmen   (2005-02-02 17:10:00) [28]

Всё от того, что в DateTimePicker1.Timeлежит и время и дата, и => дальнейшие действия приобретают другой оттенок...:)


Reindeer Moss Eater   (2005-02-02 17:07:00) [29]

Посмотри внимательно на свой код, а про это будешь потом думать.


msm   (2005-02-02 17:06:00) [30]

>Reindeer Moss Eater ©   (02.02.05 17:02) [9]

А для Вас, похоже, procedure TForm1.Button1Click = procedure TForm1.Timer1Timer(Sender: TObject) ?


Reindeer Moss Eater   (2005-02-02 17:04:00) [31]

Точность здесь не при чем.
Парень запутался в своих переменных.


Virgo_Style   (2005-02-02 17:04:00) [32]


> Почему Srabotka <> Time, хотя Ostatok (Srabotka-Time) =
> 0:00:00 ?


Вопрос на сообразительность: равно ли число "пи" 3.1415926?
Ответ - Нет. Где-то в тысячных (десяти-, милионных...) не равно. Как и у тебя.
Проверяй Abs(разность)<точность.


DVM   (2005-02-02 17:03:00) [33]

тогда уж
var MyTime ....

....
MyTime:=Time;
Ostatok:=Srabotka - MyTime;
Label1.Caption:=TimeToStr (Ostatok);
If  Srabotka = MyTime then beep;


Reindeer Moss Eater   (2005-02-02 17:02:00) [34]

А причем здесь остаток?

Мой рост + 300 000 км = расстояние до луны.
Почему же я ниже чем луна?
Странно да?

Srabotka:= Time+ Interval;
If   Srabotka= Timethen beep;


DVM   (2005-02-02 17:01:00) [35]

Ostatok:=Srabotka - Time;
Label1.Caption:=TimeToStr (Ostatok);
If  Srabotka = Timethen beep;
Два выделенных Time - по-идее разные Time


DVM   (2005-02-02 16:59:00) [36]


> Почему Srabotka <> Time - этого то я и не понимаю

не надо полагаться на таймеры.


msm   (2005-02-02 16:58:00) [37]

Почему Srabotka <> Time, хотя Ostatok (Srabotka-Time) = 0:00:00 ?


Reindeer Moss Eater   (2005-02-02 16:55:00) [38]

Чего поподробнее?


msm   (2005-02-02 16:54:00) [39]

А поподробнее можно?
А то получается, что 3<>2 т.к. 3<>2


Reindeer Moss Eater   (2005-02-02 16:49:00) [40]

Почему Srabotka <> Time - этого то я и не понимаю

Они не равны потому что они разные.


Страницы:   1 2 3

Наверх

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