![]() |
|
|
#1
|
|||
|
|||
|
Помогите пожалуйста написать программу, которая считает щелчки мыши по кнопке на форме за 10 секунд и выводит сообщение о результате. (Запоминает рекорд) Пожалуйста напишите подробный код и обьекты на форме. ЗАРАНЕЕ БОЛЬШОЕ СПАСИБО!
|
|
#2
|
||||
|
||||
|
Код:
var Count:Byte;
...
procedure TForm1.TimerOnTimer(Sender:TObject);
begin
Timer.Enabled:=False;
end;
...
procedure TForm1.btnCountOnClick(Sender:TObject);
begin
inc(Count);
end;
...
(* Timer.Interval:=10*1000
Timer.Enabled:=True
*) |
|
#3
|
|||
|
|||
|
Извените, но код не подробный, разобраться не могу
|
|
#4
|
|||
|
|||
|
Гляди) Кидаешь на форму кнопку Button1 и компонент Timer1, в свойствах Timer'а устанавливаешь знаечения:
Код:
Enabled в False // активность Interval в 10000 // интервал срабатывания в мс Код:
var
Count: Integer;
procedure TForm1.Button1Click(Sender: TObject);
begin
Count := 0; // сброс
Timer1.Enabled := True; // активация таймера
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled := False; // выключаем таймер
// выводим результат
ShowMessage(Format('По форме кликнуто %d раз(а)', [Count]));
end;
procedure TForm1.FormClick(Sender: TObject);
begin
// наращивем значение
Inc(Count)
end; |
|
#5
|
|||
|
|||
|
Спасибо!!!
Последний раз редактировалось ***XXX***, 12.09.2008 в 21:05. |
|
#6
|
|||
|
|||
|
В Object TreeView выбираешь форму, затем в Object Inspector'e переходишь на закладку Events, в ней выбираешь метод OnClick и кликаешь рядом мышкой по пустому полю))) В редакторе кода должна появится заготовка
|
|
#7
|
|||
|
|||
|
Подскажите пожалуйста, как сделать обратный отсчет(10 потом 9 и тд.)
желательно с полосой TProgressBar (убывание) ![]() |
|
#8
|
|||
|
|||
|
Ну можно прямо влоб:
Код:
var
ATime: Integer = 10;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Dec(ATime);
ProgressBar1.Position := ATime;
if ATime <= 0 then
begin
Timer1.Enabled := False;
ShowMessage('Время истекло');
end;
end;
при этом настройки такие
Timer1.Interval = 1000
ProgressBar1.Position = 10
ProgressBar1.Max = 10
ProgressBar1.Min = 0Но вся эта конструкция будет двигатся рывками, поэтому можно поигратся значением и задержкой, например так: Код:
ATime: Integer = 100; и настройки Timer1.Interval = 100 ProgressBar1.Position = 100 ProgressBar1.Max = 100 ProgressBar1.Min = 0 |
|
#9
|
|||
|
|||
|
куда строчку засунуть: ATime: Integer = 100;
|
|
#10
|
|||
|
|||
|
как глобальную переменную объяви
|
|
#11
|
|||
|
|||
|
А таймер сбросить как???
Последний раз редактировалось ***XXX***, 13.09.2008 в 11:56. |
|
#12
|
|||
|
|||
|
Код:
ATime := 10; |
|
#13
|
|||
|
|||
|
Спасибо, вы оказали мне неоценимую помощь!
Тему можно закрыть |