Форум: "Начинающим";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
ВнизТаймер Найти похожие ветки
← →
Sp1r1t (2006-11-06 19:43) [0]type
Thr = class(TThread)
procedure Execute; override;
end;
MyTimer = class(TTimer);
var
Time : MyTimer;
implementation
procedure Thr.Execute;
begin
Time.Interval:=500;
Time:=MyTimer.Create(Time);
{
Здесь мне надо запустить таймер и написать
действия которые он будет выполнять. Как это
сделать?
}
Time.Destroy;
end;
end.
← →
Percent (2006-11-06 19:49) [1]Что это за бред?
← →
Ketmar © (2006-11-06 19:57) [2]осень...
← →
Sp1r1t (2006-11-06 20:04) [3]Какая разница што это. Вы мне скажите пожалуйста как запустить таймер и как написать обработчик события OnTimer
← →
Percent (2006-11-06 20:09) [4]Какая разница што это.
Это %ля ващще!
Жжош!
Вы мне скажите пожалуйста как запустить таймер и как написать обработчик события OnTimer
Берешь будильник.
Открываешь окно.
Запускаешь будильник в окно.
Идешь спать.
То есть, или ты забываешь, что такое программирование вообще, или уходишь в "Начинающим".
Другого тебе пока не дано.
Смирись.
← →
Sp1r1t (2006-11-06 20:12) [5]Шо тут такого конченого? Сказать можешь? можь ты не чихлишь шо я делаю и что хочу
← →
Percent (2006-11-06 20:20) [6]можь ты не чихлишь шо я делаю и что хочу
Ты же сам не говоришь: "Какая разница што это." - твое?
А вот за это:Time.Interval:=500;
Time:=MyTimer.Create(Time);
тебе - в начинающие.
И еще. Ты можешь обїяснить, зачем тебе в потоке таймер?
← →
Sp1r1t (2006-11-06 20:25) [7]Ну може я плохо придумал работать с Объектом - ну это пока сырой/обобщенный код. Дело не в том. Я хочу знать как обратиться к методу OnTimer. Мне нужно чтобы создавался отдельный поток, который будет генерировать числа с заданным интервалом времени.
← →
Sp1r1t (2006-11-06 20:28) [8]Т.е не обратиться а написать обработчик метода OnTimer
← →
Percent (2006-11-06 20:42) [9]Зачем тебе поток?
← →
RASkov (2006-11-06 21:56) [10]> [8] Sp1r1t (06.11.06 20:28)
> Т.е не обратиться а написать обработчик метода OnTimerprocedure OnTime(Sender: TObject);
.....
procedure TForm1.Button4Click(Sender: TObject);
var tm: TTimer;
begin
tm:=TTimer.Create(self);
tm.Interval:=2000;
tm.OnTimer:=OnTime;
end;
procedure TForm1.OnTime(Sender: TObject);
begin
ShowMessage("Ну нахрена в потоке таймер");
end;
> Мне нужно чтобы создавался отдельный поток, который будет
> генерировать числа с заданным интервалом времени.
Отдельный поток это и есть "таймер". И дополнительно в нем создавать еще таймер нет смысла.
← →
RASkov (2006-11-06 21:58) [11]> procedure TForm1.Button4Click(Sender: TObject);
> var tm: TTimer;
> begin
> tm:=TTimer.Create(self);
Не совсем верно.... или совсем не верно.... Вообщем так не надо. Просто после выхода из процедуры Button4Click потеряется ссылка на Таймер.
← →
Ketmar © (2006-11-06 22:03) [12]>[11] RASkov 6-Nov-2006, 21:58
>Просто после выхода из процедуры Button4Click
>потеряется ссылка на Таймер.
ну и фиг с ним. форма при умирании и таймер пришибёт.
← →
RASkov (2006-11-06 22:07) [13]> [12] Ketmar © (06.11.06 22:03)
Но нельзя будет изменить, например Interval:)
← →
Ketmar © (2006-11-06 22:08) [14]>[13] RASkov 6-Nov-2006, 22:07
>Но нельзя будет изменить, например Interval:)
неправда.
← →
RASkov (2006-11-06 22:11) [15]> [14] Ketmar © (06.11.06 22:08)
procedure TForm1.OnTime(Sender: TObject);
begin
(Sender as TTimer).Interval:=1500;
end;
:)) или как еще?
← →
Ketmar © (2006-11-06 22:13) [16]>[15] RASkov 6-Nov-2006, 22:11
>:)) или как еще?
или свойство Components ещё.
← →
MetalFan © (2006-11-06 22:20) [17]> [15][16]
ну пошли извращенства)))
кто там мне говорил через горло в попе у соседа ковыряться? ;)
← →
Sp1r1t (2006-11-07 00:59) [18]спасибо RASkov - все работает. То я шото правда загнул нащет таймера в потоке. :D
← →
Германн © (2006-11-07 01:39) [19]<offtop>
Хорошо, что хоть кто-то понял, что доппотоки не есть панацея. Теперь бы вот как-нибудь убедить всех, кто работает с СОМ-портом в этом!
</offtop>
← →
Сергей М. © (2006-11-07 08:53) [20]
> Sp1r1ttype
TMyThread = class(TThread)
private
procedure DoTimer(Sender: TObject);
protected
procedure Execute; override;
end;
..
var
MyTimer : TTimer;
implementation
procedure TMyThread.DoTimer;
begin
Windows.Beep(1000, 200);
end;
procedure TMyThread.Execute;
var
Msg: TMsg;
begin
try
MyTimer:=TTimer.Create(nil);
try
MyTimer.Interval:=500;
MyTimer.OnTimer := DoTimer;
MyTimer.Enabled := True;
while not Terminated do begin
if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
DispatchMessage(Msg);
Sleep(0);
end;
finally
MyTimer.Free;
end;
except
MessageBox(0, "Грабли !", "", mb_ok or mb_setforeground);
end;
end;
...
var
MyThread: TMyThread;
..
MyThread := TMyThread.Create(False);
ShowMessage("Поток с таймером создан, послушай как он бибикает. Как надоест, жмакни ОК для прекращения этого безобразия ...");
MyThread.Free;
← →
evvcom © (2006-11-07 12:18) [21]> [20] Сергей М. © (07.11.06 08:53)
Любые извращения за ваши деньги! :-)))))))
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.032 c