main.pas
上传用户:sipnol
上传日期:2013-03-16
资源大小:318k
文件大小:5k
源码类别:

百货/超市行业

开发平台:

Visual C++

  1. unit main;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls,
  5.   setupin,Define,Forms, Dialogs, ComCtrls, ExtCtrls, StdCtrls, Grids;
  6. type
  7.   Tmainform = class(TForm)
  8.     STB1: TStatusBar;
  9.     Panel1: TPanel;
  10.     PageControl1: TPageControl;
  11.     TabSheet1: TTabSheet;
  12.     TabSheet2: TTabSheet;
  13.     TabSheet3: TTabSheet;
  14.     Panel2: TPanel;
  15.     TB0: TTrackBar;
  16.     TB1: TTrackBar;
  17.     TB2: TTrackBar;
  18.     TB3: TTrackBar;
  19.     TB4: TTrackBar;
  20.     TB5: TTrackBar;
  21.     TB6: TTrackBar;
  22.     TB7: TTrackBar;
  23.     TB8: TTrackBar;
  24.     TB9: TTrackBar;
  25.     Label1: TLabel;
  26.     Label2: TLabel;
  27.     Label3: TLabel;
  28.     Label4: TLabel;
  29.     Label5: TLabel;
  30.     Label6: TLabel;
  31.     Label7: TLabel;
  32.     Label8: TLabel;
  33.     Label9: TLabel;
  34.     Label10: TLabel;
  35.     Memo0: TMemo;
  36.     Memo1: TMemo;
  37.     Memo2: TMemo;
  38.     Memo3: TMemo;
  39.     Memo4: TMemo;
  40.     Memo5: TMemo;
  41.     Memo6: TMemo;
  42.     Memo7: TMemo;
  43.     Memo8: TMemo;
  44.     Memo9: TMemo;
  45.     Label11: TLabel;
  46.     Label12: TLabel;
  47.     Label13: TLabel;
  48.     Label14: TLabel;
  49.     Label15: TLabel;
  50.     Label16: TLabel;
  51.     Label17: TLabel;
  52.     Label18: TLabel;
  53.     Label19: TLabel;
  54.     Label20: TLabel;
  55.     Label21: TLabel;
  56.     Label22: TLabel;
  57.     Label23: TLabel;
  58.     Label24: TLabel;
  59.     Label25: TLabel;
  60.     Label26: TLabel;
  61.     Label27: TLabel;
  62.     Label28: TLabel;
  63.     Label29: TLabel;
  64.     Label30: TLabel;
  65.     ST0: TStaticText;
  66.     ST1: TStaticText;
  67.     ST2: TStaticText;
  68.     ST3: TStaticText;
  69.     ST4: TStaticText;
  70.     ST5: TStaticText;
  71.     ST6: TStaticText;
  72.     ST7: TStaticText;
  73.     ST8: TStaticText;
  74.     ST9: TStaticText;
  75.     idleST0: TStaticText;
  76.     idleST1: TStaticText;
  77.     idleST2: TStaticText;
  78.     idleST3: TStaticText;
  79.     idleST4: TStaticText;
  80.     idleST5: TStaticText;
  81.     idleST6: TStaticText;
  82.     idleST7: TStaticText;
  83.     idleST8: TStaticText;
  84.     idleST9: TStaticText;
  85.     Panel3: TPanel;
  86.     Panel4: TPanel;
  87.     StrGD1: TStringGrid;
  88.     Memo10: TMemo;
  89.     Memo11: TMemo;
  90.     Memo12: TMemo;
  91.     Label31: TLabel;
  92.     Label32: TLabel;
  93.     Label33: TLabel;
  94.     Memo13: TMemo;
  95.     Label34: TLabel;
  96.     Label35: TLabel;
  97.     Label36: TLabel;
  98.     Label37: TLabel;
  99.     Label38: TLabel;
  100.     Label39: TLabel;
  101.     Label40: TLabel;
  102.     Label41: TLabel;
  103.     Label42: TLabel;
  104.     Label43: TLabel;
  105.     Label44: TLabel;
  106.     procedure FormCreate(Sender: TObject);
  107.     procedure FormDestroy(Sender: TObject);
  108.     procedure FormShow(Sender: TObject);
  109.   private
  110.     { Private declarations }
  111.   public
  112.     { Public declarations }
  113.   end;
  114. var
  115.   mainform: Tmainform;
  116. implementation
  117. {$R *.DFM}
  118. procedure Tmainform.FormCreate(Sender: TObject);
  119. var i:integer;
  120. begin
  121.      for i:=0 to 9 DO
  122.       begin
  123.          ElavotorTrack[i]:=TTrackbar.Create(nil);
  124.          Elavotor_idle_Label[i]:=TStaticText.Create(nil);
  125.          Elavotor_Busy_Label[i]:=TStaticText.Create(nil);
  126.          Elavotor_Memo[i]:=Tmemo.Create(nil);
  127.       end;
  128.      ShowFloor:=TStringGrid.Create(nil);
  129.      ShowFloor:=StrGD1;
  130.       ElavotorTrack[0]:=TB0;
  131.       ElavotorTrack[1]:=TB1;
  132.       ElavotorTrack[2]:=TB2;
  133.       ElavotorTrack[3]:=TB3;
  134.       ElavotorTrack[4]:=TB4;
  135.       ElavotorTrack[5]:=TB5;
  136.       ElavotorTrack[6]:=TB6;
  137.       ElavotorTrack[7]:=TB7;
  138.       ElavotorTrack[8]:=TB8;
  139.       ElavotorTrack[9]:=TB9;
  140.         Elavotor_idle_Label[0]:=idleST0;
  141.         Elavotor_idle_Label[1]:=idleST1;
  142.         Elavotor_idle_Label[2]:=idleST2;
  143.         Elavotor_idle_Label[3]:=idleST3;
  144.         Elavotor_idle_Label[4]:=idleST4;
  145.         Elavotor_idle_Label[5]:=idleST5;
  146.         Elavotor_idle_Label[6]:=idleST6;
  147.         Elavotor_idle_Label[7]:=idleST7;
  148.         Elavotor_idle_Label[8]:=idleST8;
  149.         Elavotor_idle_Label[9]:=idleST9;
  150.           Elavotor_Busy_Label[0]:=ST0;
  151.           Elavotor_Busy_Label[1]:=ST1;
  152.           Elavotor_Busy_Label[2]:=ST2;
  153.           Elavotor_Busy_Label[3]:=ST3;
  154.           Elavotor_Busy_Label[4]:=ST4;
  155.           Elavotor_Busy_Label[5]:=ST5;
  156.           Elavotor_Busy_Label[6]:=ST6;
  157.           Elavotor_Busy_Label[7]:=ST7;
  158.           Elavotor_Busy_Label[8]:=ST8;
  159.           Elavotor_Busy_Label[9]:=ST9;
  160.             Elavotor_Memo[0]:=Memo0;
  161.             Elavotor_Memo[1]:=Memo1;
  162.             Elavotor_Memo[2]:=Memo2;
  163.             Elavotor_Memo[3]:=Memo3;
  164.             Elavotor_Memo[4]:=Memo4;
  165.             Elavotor_Memo[5]:=Memo5;
  166.             Elavotor_Memo[6]:=Memo6;
  167.             Elavotor_Memo[7]:=Memo7;
  168.             Elavotor_Memo[8]:=Memo8;
  169.             Elavotor_Memo[9]:=Memo9;
  170.     try
  171.         SystemControl:=TSystemControl.Create;
  172.         SystemControl.Initsystem;
  173.     finally
  174.     end;
  175.           SystemControl.Initsystem;
  176. end;
  177. procedure Tmainform.FormDestroy(Sender: TObject);
  178. var i:integer;
  179. begin
  180.  //释放所有类对象和线程的内存资源
  181.  try
  182.    SystemMonitor.FreeOnTerminate:=true;
  183.    SystemMonitor.Terminate;
  184.    for i:=0 to Systemcontrol.CurrentPersonTotal-1 DO
  185.      Person[i].Free;
  186.    for i:=0 to 9 Do
  187.     begin
  188.       RunThread[i].FreeOnTerminate:=true;
  189.       RunThread[i].Terminate;
  190.       Elavotor[i].Free;
  191.       ElavotorTrack[i].Free;
  192.       Elavotor_idle_Label[i].free;
  193.       Elavotor_Busy_Label[i].free;
  194.     end;
  195.     for i:=0 to 39 DO
  196.       Floor[i+1].Free;
  197.     SystemControl.Free;
  198.   finally
  199.   end;
  200. end;
  201. procedure Tmainform.FormShow(Sender: TObject);
  202. var i:integer;
  203. begin
  204.   SystemMonitor.Resume;
  205.   sleep(1000);
  206.   for i:=0 to 9 DO
  207.   RunThread[i].Resume;
  208. end;
  209. end.