Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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)
> Т.е не обратиться а написать обработчик метода OnTimer


procedure 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]


> Sp1r1t


type
   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.067 c
15-1162896300
Голицын
2006-11-07 13:45
2006.11.26
Merlin и БК


2-1163143873
нуб...
2006-11-10 10:31
2006.11.26
TabControl и клавиатура


2-1163012810
Greenchel
2006-11-08 22:06
2006.11.26
Транслит


3-1159301119
Olaf
2006-09-27 00:05
2006.11.26
Помогите составить SQL запрос и сведение его результатов.


15-1162910907
maksmib
2006-11-07 17:48
2006.11.26
Mirasoft HR Department..?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский