主窗体代码:unit HJ_ZT;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ComCtrls, Menus, jpeg;type
  THJZT = class(TForm)
  MainMenu1: TMainMenu;
  N1: TMenuItem;
  N2: TMenuItem;
  N3: TMenuItem;
  N4: TMenuItem;
  N5: TMenuItem;
  N6: TMenuItem;
  N7: TMenuItem;
  N8: TMenuItem;
  N9: TMenuItem;
  N10: TMenuItem;
  N11: TMenuItem;
  N12: TMenuItem;
  N13: TMenuItem;
  TreeView1: TTreeView;
  StatusBar1: TStatusBar;
  Image1: TImage;
  Image2: TImage;
  Timer1: TTimer;
  procedure Formcreate(Sender: TObject);
  procedure Timer1Timer(Sender: TObject);
  procedure N10Click(Sender: TObject);
  private
  { Private declarations }
  public
  { Public declarations }
  end;var
  HJZT:THJZT;
  jj:Integer=0;
implementation
uses HJ_DL;{$R *.dfm}
procedure THJZT.Formcreate(Sender: TObject);
begin
 HJDL.ShowModal;
 if dl<4 then
 begin
  StatusBar1.Panels.Items[2].Text := ' '+datetostr(now());
  StatusBar1.Panels.Items[5].Text := '操作员名称: '+yhmc;
 end;
end;procedure THJZT.Timer1Timer(Sender: TObject);
begin
  StatusBar1.Panels[3].Text := ' '+timetostr(gettime());
end;procedure THJZT.N10Click(Sender: TObject);
begin
  Application.Terminate;
end;end.
登录窗体代码:
unit HJ_DL;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons ,inifiles;type
  THJDL = class(TForm)
  Label1: TLabel;
  Label2: TLabel;
  Label3: TLabel;
  Edit1: TEdit;
  Edit2: TEdit;
  ComboBox1: TComboBox;
  BitBtn1: TBitBtn;
  BitBtn2: TBitBtn;
  procedure BitBtn2Click(Sender: TObject);
  procedure FormClose(Sender: TObject; var Action: TCloseAction);
  procedure BitBtn1Click(Sender: TObject);
  procedure FormShow(Sender: TObject);
  procedure Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
  procedure Edit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
  procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
  private
  { Private declarations }
  public
  { Public declarations }
  end;var
  HJDL: THJDL;
  dl,p : integer;
  yhmc,ppl : string;
  a : array[1..31] of string;implementationuses DATA, HJ_ZT,HJ_CSH;{$R *.dfm}procedure THJDL.BitBtn2Click(Sender: TObject);
begin
  if jj = 1 then
  HJDL.Hide
 ELSE
  Application.Terminate;
end;
procedure THJDL.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if jj = 1 then
  HJDL.Hide;
 // ELSE
  //HJCSH.Close;
end;procedure THJDL.BitBtn1Click(Sender: TObject);
var
  P:INTEGER;
begin
  with database.ADO_user do
  begin
  close;
  sql.Clear;
  sql.Add('select * from tb_users where UserName=:a and PassWord=:b and Option=:c');
  Parameters.ParamByName('a').Value := Trim(Edit1.Text);
  Parameters.ParamByName('b').Value := Trim(Edit2.Text);
  Parameters.ParamByName('c').Value := Trim(Combobox1.Text);
  open;
  end;
  if database.ADO_user.RecordCount>0 then
  begin
  yhmc := database.ADO_user.fieldbyname('UserName').AsString;
  for p := 1 to 31 do
  begin
  ppl := inttostr(p);
  a[p] := booltostr(database.ADO_user.fieldbyname(ppl).AsVariant,True);
  end;
  if jj = 1 then
  begin
  HJDL.Visible := FALSE;
  self.Close;
  HJZT.Show;
  HJZT.StatusBar1.Panels.Items[5].Text := '操作员名称: '+yhmc;
  end
  else
  begin
  HJDL.Visible := FALSE;
  SElf.Close;
  HJZT.Show;
  end;
  end
  else
  begin
  showmessage('操作员名称、密码或操作员级别不正确'+#13+'请重新输入。');
  edit1.Clear;
  edit2.Clear;
  combobox1.Text := '';
  dl := dl+1;
  end;
 if jj <> 1 then
  begin
  if dl = 4 then
  begin
  HJCSH.Close;
  end;
  end;
 end;
procedure THJDL.FormShow(Sender: TObject);
var
  ini : Tinifile;
  ssp : string;
begin
  if jj = 1 then
  begin
  ssp := '重新登录';
  HJDL.Caption := '重新登录';
  end
  else
  begin
  dl := 0;
  ssp := '登录';
  HJDL.Caption := '登录';
  end;
  ini:=Tinifile.Create('c:\cc.ini');
  ini.WriteString('one',datetimetostr(now),ssp);
  ini.Free;
  EDIT1.Clear;
  edit2.Clear;
  combobox1.Text := '';
  edit1.SetFocus;  
end;
procedure THJDL.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
 if key = vk_return then
  edit2.SetFocus;
end;procedure THJDL.Edit2KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
 if key = vk_return then
  combobox1.SetFocus;
end;procedure THJDL.ComboBox1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if key = vk_return then
  bitbtn1.SetFocus;
end;end.