Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];

Вниз

Будильник   Найти похожие ветки 

 
Quattro ©   (2005-07-20 01:59) [0]

Ещё раз добрый день!....вот ещё вопрос возник...в МаскЭдит ставишь некое время...как только это время наступило происходят некие действия....на форме Таймер, МаскЭдит, и кнопка...почему то некие действия не хотят происходить=)...теряюсь в догадках.=)..прошу вашей консультации..вот то что  я написал...
var
s:TDateTime;

procedure TForm1.Timer1Timer(Sender: TObject);
var
SysTime:TDateTime;
begin
Label1.Caption:="Текущее время : "+ TimeToStr(Now);
SysTime:=Time;
if s = SysTime then
begin
Label2.Caption:="Иц воркинг!";
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
s:=StrToTime(MaskEdit1.Text);
end;


 
alex-drob   (2005-07-20 02:02) [1]

Попробуй так:
if timetostr(s)= timetostr(SysTime) then
Должно получится.


 
Quattro ©   (2005-07-20 02:24) [2]

2alex-drob о чудо!!заработало....а не мог бы кратенько расказать..почему в первоначальном ваинте не работало??


 
Джо ©   (2005-07-20 02:26) [3]

А нафига с текстом сравнивать?...

Бросаешь на форму:
 Button1,
 DateTimePicker1,
 Timer1.


procedure TForm1.FormCreate(Sender: TObject);
begin
 Timer1.Enabled := False;
 DateTimePicker1.Kind := dtkTime;
 DateTimePicker1.DateTime := Now;
 Button1.Caption := "Start"
end;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
 // запускаем/останавливаем таймер
 Timer1.Enabled := not Timer1.Enabled;
 // надпись на кнопке в зависимости от состояния
 if Timer1.Enabled then
   Button1.Caption := "Stop"
 else
   Button1.Caption := "Start";
end;
...
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 if Now>=DateTimePicker1.DateTime then
 begin
   Timer1.Enabled := False; // выключим во избежание двойного срабатывания
   ShowMessage ("Alarm!");
 end;
end;



 
Defunct ©   (2005-07-20 02:27) [4]

> Quattro ©   (20.07.05 01:59)  
и никогда не получится.
Минимальный квант системного времени равен 10ms (см Рихтера), в системе туева куча потоков, которые работают разделяю процессорное время на равне с вашим потоком, поэтому нет никакой гарантии, что в заданное вами время, будет выполняться именно ваш поток. Следовательно, будильник должен проверять время на БОЛЬШЕ РАВНО, а НЕ НА РАВЕНСТВО

if SysTime >= S then
  Label2.Caption:="thinking"s good";


 
Quattro ©   (2005-07-20 02:42) [5]

Господа!!Большое вам спасибо!!=))



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.058 c
1-1121966481
Андрей Молчанов
2005-07-21 21:21
2005.08.07
Освобождение pidl


1-1121862001
Alex_Bredin
2005-07-20 16:20
2005.08.07
"Залипающая" кнопка


14-1121751761
Leya
2005-07-19 09:42
2005.08.07
Изменить расширение


1-1121853689
vigo
2005-07-20 14:01
2005.08.07
Как разделить Caption TButton a


1-1121345438
dRake
2005-07-14 16:50
2005.08.07
Проблема с классами...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский