⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 example of security system
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Unit2,Unit3,
  Dialogs, StdCtrls, Grids, ExtCtrls, TeeProcs, TeEngine, Chart, Series,
  Buttons;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    StringGrid1: TStringGrid;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Edit2: TEdit;
    Button3: TButton;
    Chart1: TChart;
    Timer1: TTimer;
    Series1: TLineSeries;
    SpeedButton1: TSpeedButton;
    CheckBox1: TCheckBox;
    Edit3: TEdit;
    Button4: TButton;
    Button5: TButton;
    Label4: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    a:array[1..300] of integer;
    S,F,sz:integer;
    strng:word;
    k:integer;
    exit:boolean;
     r:array[1..300]of word;
    alarm:array [1..300] of record
    swap:boolean;
    N:integer;
    t:word;
   end;
    procedure sedit;
  end;

var
  Form1: TForm1;
//  con1,con2:tSender;
  con:array[1..300] of tsender;
  slp:array[1..300] of integer;
  serv:tServer;
  time:word;
  p:integer;

implementation

procedure tForm1.sedit;
begin
// edit1.text:=s;
 if exit then
 begin
  stringgrid1.Cells[1,k]:=inttostr(strng);
  if alarm[k].swap then
  begin
   inc(alarm[k].N);
   alarm[k].t:=alarm[k].t+strng;
   if alarm[k].N>=11 then
   begin
    if alarm[k].t<=88 then
    begin
     stringgrid1.Cells[2,k]:='';
    end
    else
    begin
     stringgrid1.Cells[2,k]:='*';
    end;
    alarm[k].N:=0;
    alarm[k].t:=0;
   end
   else
   begin
    if alarm[k].t>88 then
    begin
     stringgrid1.Cells[2,k]:='*';
     alarm[k].N:=0;
     alarm[k].t:=0;
    end
   end;
  end
  else
  begin
   if strng<=290 then
   begin
    stringgrid1.Cells[2,k]:='';
   end
   else
   begin
    stringgrid1.Cells[2,k]:='*';
   end;

  end;
 end;
end;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
 p:=strtoint(edit3.Text);
// setlength(con,p+1);
// setlength(a,p+1);
 for i:=1 to p do
 begin
  con[i]:=tSender.Create(true);
  con[i].n:=i;
  con[i].slp:=200;
  con[i].FreeOnTerminate:=true;
  con[i].Priority:=tpLower;
  con[i].Resume;
  sleep(10);
 end;
{  con2:=tSender.Create(true);
  con2.n:=2;
  con2.FreeOnTerminate:=true;
  con2.Priority:=tpLower;
  con2.Resume;}
  button1.Enabled:=false;
end;

procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
 stringgrid1.RowCount:=p+1;
// setlength(alarm,p+1);
// setlength(slp,p+1);
 for i:=1 to p do
  begin
   stringgrid1.Cells[0,i]:=inttostr(i);
   alarm[i].swap:=false;
   alarm[i].N:=0;
   alarm[i].t:=0;
  end;
 serv:=tServer.Create(true);
 serv.n:=p;
 serv.FreeOnTerminate:=true;
 serv.Priority:=tpLower;
 serv.Resume;
 timer1.Enabled:=true;
 button2.Visible:=false;
 button5.Visible:=true;
 button5.Enabled:=true;
 button2.Enabled:=false;
end;

procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
 exit:=true;
 time:=0;
 s:=1;
 f:=1;
 sz:=100;
 series1.AddXY(0,0);
 stringgrid1.Cells[0,0]:='#';
 stringgrid1.Cells[1,0]:='青蝠桁赅';
 stringgrid1.Cells[2,0]:='!';
end;

procedure TForm1.Button3Click(Sender: TObject);
var i:integer;
begin
 i:=strtoint(edit2.text);
 con[i].slp:=strtoint(edit1.Text);
 slp[i]:=strtoint(edit1.Text);
 alarm[i].swap:=checkbox1.Checked;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;
    s:word;
    d:word;
begin
//  chart1.add(strtoint(stringgrid1.Cells[1,1]));
 s:=0;
 for i:=1 to p do
 begin
  if stringgrid1.Cells[1,i]<>'' then
  begin
   s:=s+strtoint(stringgrid1.Cells[1,i])
  end; 
 end;
 s:=s div p;
 inc(time);
 series1.AddXY(time,s);
 
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
 Series1.Clear;
 series1.AddXY(0,0)
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 exit:=true;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
 exit:=false;
 timer1.Enabled:=false;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
 exit:=true;
 timer1.Enabled:=true;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -