Топ 10 лучших поисковых систем. Какая самая лучшая поисковая система. Поисковая интернет система - Google

ак сделать, так чтобы при установке ограничения времени,к примеру на 30 сек,через 30 сек вышло Showmessage ВРЕМЯ ВЫШЛО! потом и так далее для 1 мин,2 мин,5 мин для кнопки GO

Serge_Bliznykov
чуть-чуть усложнил вашу задачу.
Если что — выкиньте лишнее

если кратко, то вот PAS код модуля:

Unit Unit1;

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls;

type
TForm1 = class(TForm)
trckbr1: TTrackBar;
btCloseAll: TButton;
Label1: TLabel;
Label2: TLabel;
tmr1: TTimer;
btGO: TButton;
btStop: TButton;
Memo1: TMemo;
lbRemainTime: TLabel;
procedure FormCreate(Sender: TObject);
procedure trckbr1Change(Sender: TObject);
procedure btGOClick(Sender: TObject);
procedure StopTimerAndPrepareToNext;
procedure tmr1Timer(Sender: TObject);
procedure btCloseAllClick(Sender: TObject);
procedure btStopClick(Sender: TObject);
private
TimerSeconds: integer;
StartTime: TDateTime;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
uses DateUtils;
{$R *.dfm}

const
buf: array of String = ("нет", "30 сек", "1 мин", "2 мин" , "5 мин");
bufInterval: array of Integer = (0, 30, 60, 2*60, 5*60);

procedure TForm1.FormCreate(Sender: TObject);
begin
StopTimerAndPrepareToNext;

lbRemainTime.Caption:= "";
TimerSeconds:= 0;
StartTime:= Now;
end;

procedure TForm1.StopTimerAndPrepareToNext;
begin
tmr1.Enabled:= false; // сразу выключили таймер
Memo1.Enabled:= false; // запретили ввод в мемо
trckbr1.Enabled:= true; // включили трекбар
btStop.Enabled:= false; // выключили кнопку СТОП
end;

procedure TForm1.trckbr1Change(Sender: TObject);
begin
Label2.Caption:= buf;
end;

procedure TForm1.btGOClick(Sender: TObject);
begin
trckbr1.Enabled:= false; // выключили трекбар

if trckbr1.Position>0 then begin {задали время выключения}
TimerSeconds:= bufInterval;
StartTime:= Now;
tmr1.Interval:= 1000; // каждую секунду таймер будет срабатывать
// и делать нужные обработки
tmr1.Enabled:= true; // запустили таймер
end;

btStop.Enabled:= true; // включили кнопку остановки таймера
Memo1.Enabled:= true; // открыли контрол, где можно что-то вводить
end;

procedure TForm1.btStopClick(Sender: TObject);
begin
StopTimerAndPrepareToNext;
lbRemainTime.Caption:= "";
end;

procedure TForm1.tmr1Timer(Sender: TObject);
var Secs: integer;
begin
Secs:= SecondsBetween(Now, StartTime);
if Secs>=TimerSeconds then begin
// баста!! Время вышло!
StopTimerAndPrepareToNext;

lbRemainTime.Caption:= "время вышло";
ShowMessage("Ваше время истекло!!");
TimerSeconds:= 0;
end
else
lbRemainTime.Caption:= "Осталось "+IntToStr(TimerSeconds - Secs)+" сек.";
end;

procedure TForm1.btCloseAllClick(Sender: TObject);
begin
Close;
end;

Компонент TTimer в Delphi позволяет регулярно выполнять определенные действия с определенным временным интервалом. В этом уроке мы и рассмотрим данный компонент.
Научимся создавать и настраивать данный компонент в Design-time. Для этого кинем на форму компонент TTimer с вкладки System панели Tool Palette. Выглядит он следующим образом:

TTimer является невизуальным компонентом, поэтому данную иконку в самой программе мы не увидим. Рассмотрим его свойства на панеле Object Inspector:

Для того чтобы указать сами действия для таймера, необходимо воспользоваться единственным событием таймера — OnTimer. Выглядит оно следующим образом:

begin
// Действия, которые должен выполнять таймер
end;
Например вывод обыкновенного сообщения на экран будет выглядеть таким образом:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
ShowMessage(‘сайт’);
end;
Как видите, в работе с таймером нет ничего сложного. Теперь научимся создавать его в режиме Run-time, т.е. непосредственно в программном коде, а не визуально на форме приложения.
Создавать таймер мы будем внутри события OnClick у кнопки Button1, т.е. таким образом какое-либо действие этого таймера начнет выполняться при нажатии на определенную кнопку.
procedure TForm1.Button1Click(Sender: TObject);
var
MyTimer: TTimer; // Объявляем экземпляр класса TTimer
begin
MyTimer:= TTimer.Create(Form1);
// Создаем таймер. Конструктору Create необходимо передать владельца (родителя таймера). Укажем форму программы
MyTimer.OnTimer:= MyTimerEvent;
// Указываем событие для таймера. Оно должно быть вида procedure(Sender: TObject) и являться методом какого-либо класса.
// В нашем случае — это метод MyTimerEvent класса нашей формы TForm1, который мы создали вручную.
// Сразу после этого таймер запускается. Если после создания запускать таймер не нужно, то можно указать свойству Enabled значение false.
// А когда вновь потребуется запустить таймер, можно передать этому значению true.
MyTimer.Interval:= 1500; // Интервал таймера
end;
В качестве события OnTimer для нашего таймера необходимо использовать метод какого-либо класса. Поэтому мы создадим метод procedure MyTimerEvent(Sender: TObject) у нашей формы (класс TForm1):
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure MyTimerEvent(Sender: TObject); // Будущее событие для таймера, которое является методом класса нашей формы.
end;
Cам метод будет выглядеть так:
procedure MyTimerEvent(Sender: TObject);
begin

end;
Часто требуется сделать так, чтобы таймер выполнил указанные в его событии OnTimer действия определенное количество раз, после чего выключился. Реализовать это просто. Достаточно завести какую-либо глобальную переменную типа Integer, которая будет играть роль счетчика выполнения таймера:
var
Form1: TForm1;
a: integer; // Счетчик выполнения таймера
Перед запуском таймера мы обнулим эту переменную:
a:= 0;
А в обработчике таймера (событии OnTimer) будем каждый раз увеличивать эту переменную на единицу, а также будем проверять, превысила ли эта переменная определенный лимит:
procedure TForm1.MyTimerEvent(Sender: TObject);
begin
ShowMessage(‘сайт is the best web resource about programming.’); // Выводим сообщение в таймере
Inc(a);
if a > 5 then
begin
a:= 0;
(Sender as TTimer).Enabled:= False; // Обращаемся к таймеру через Sender и выключаем его.
end;
end;
В общем-то, про таймер мало чего еще можно рассказать, поэтому мы закончим наш урок. Как всегда, скачать исходный код примера можно по