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

📄 unitjoin.pas

📁 绿色衡器称重系统(串口)
💻 PAS
字号:
unit unitJoin;
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
//             该系统源码归青岛东亚电子衡器有限公司版权所有
//                                  Author:HaiBin
//      Email:qdseashore@163.com     DateTime:2005.06.22
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, DB, ADODB, WinSkinStore, WinSkinData,
  OleCtrls, AgentObjects_TLB,Registry;

type
  TfrmJoin = class(TForm)
    adoQuery: TADOQuery;
    adoConn: TADOConnection;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    cbUSN: TComboBox;
    Label2: TLabel;
    edtPWD: TEdit;
    Label3: TLabel;
    edtNick: TEdit;
    bbOK: TBitBtn;
    bbCancel: TBitBtn;
    SkinData1: TSkinData;
    Agent1: TAgent;
    procedure FormCreate(Sender: TObject);
    procedure bbCancelClick(Sender: TObject);
    procedure cbUSNChange(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure bbOKClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure cbUSNKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtPWDKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmJoin: TfrmJoin;
  userID,userNick:string;
  SubmitCount:Integer;
  FHelper:IAgentCtlCharacter;
  AnimHelper:IAgentCtlRequest;
  ClientUSN:String;
  NeedHelper:boolean;
implementation

uses unitMain;

{$R *.dfm}

procedure TfrmJoin.FormCreate(Sender: TObject);
var
sql:string;
Connstr,str:string;
reg:TRegistry;
begin
try
reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
str:='SOFTWARE\Microsoft\Windows\CurrentVersion\QDDYDZ\';
if Reg.OpenKey(str,false) then
begin
  str:=Reg.ReadString('nohelper');
  if str='yes' then
  NeedHelper:=false
  else
  NeedHelper:=true;
end;
Reg.CloseKey;
Reg.Free;
skindata1.Active:=true;
  try
  AnimHelper:=Agent1.Characters.Load('FHelper',ExtractFilePath(Paramstr(0))+'ROCKY.dat');
  except
  MessageBox(handle,'找不到Rocky.dat系统文件.系统错误!','称重系统',MB_OK+MB_ICONERROR);
  Application.Terminate;
  end;
FHelper:=Agent1.Characters.Character('FHelper');
FHelper.MoveTo(screen.Width-300,screen.Height-220,0);
if NeedHelper then
begin
FHelper.Show(0);
end
else
begin
FHelper.Hide(0);
end;
FHelper.Speak('欢迎使用本系统!','');
sql:='select * from uManage';
if Not adoconn.Connected then
begin
Connstr:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ ExtractFilePath(Paramstr(0)) +'weight.mdb;Persist Security Info=False;Jet OLEDB:Database Password=qdseashore960501';
adoConn.ConnectionString:=Connstr;
adoconn.Open;
end;
adoQuery.Close;
adoQuery.SQL.Clear;
adoQuery.SQL.add(sql);
adoQuery.Open;
cbUSN.Items.Clear;
if adoQuery.RecordCount>0 then
begin
 while not adoQuery.Eof do
 begin
 cbUSN.Items.Add(adoQuery.FieldByName('id').AsString);
 adoQuery.Next;
 end;
end;
except
MessageBox(handle,'读取数据库时,发生意外错误!','称重系统',MB_OK+MB_ICONERROR);
end;
end;

procedure TfrmJoin.bbCancelClick(Sender: TObject);
begin
Close;
end;

procedure TfrmJoin.cbUSNChange(Sender: TObject);
var
sql:string;
begin
sql:='Select usn from uManage Where id='+ quotedstr(Trim(cbUSN.Text));
adoquery.Close;
adoquery.sql.Clear;
adoquery.SQL.Add(sql);
adoquery.Open;
if adoquery.RecordCount>0 then
begin
 edtNick.Text:=adoquery.fieldByName('usn').AsString;
end;
end;

procedure TfrmJoin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Try
if MessageBox(handle,'您确定要退出该程序吗?','称重系统',MB_OKCANCEL+MB_ICONINFORMATION)=ID_OK then
begin
Fhelper.Speak('谢谢使用,Byebye~','');
if NeedHelper then
begin
Sleep(800);
end;
adoConn.Close;
adoQuery.Close;
FHelper.Hide(0);
frmJoin:=nil;
Action:=caFree;
Application.Terminate;
end
else
begin
Action:=caNone;
end;
Except
MessageBox(handle,'关闭窗口时发生意外错误!','称重系统',MB_OK+MB_ICONERROR);
end;
end;

procedure TfrmJoin.bbOKClick(Sender: TObject);
var
sql:string;
begin
Try
if SubmitCount<3 then
begin
 if Trim(cbUSN.Text)='' then
 begin
  MessageBox(handle,'用户帐号不能为空!','称重系统',MB_OK+MB_ICONERROR);
  Exit;
 end;
 if Trim(edtPWD.Text)='' then
 begin
  MessageBox(handle,'用户密码不能为空!','称重系统',MB_OK+MB_ICONERROR);
  Exit;
 end;
 sql:='select * from uManage Where id=' + quotedstr(Trim(cbUSN.text)) + ' and pwd=' + quotedstr(Trim(edtPWD.Text));
 adoQuery.Close;
 adoQuery.SQL.Clear;
 adoQuery.SQL.Add(sql);
 adoQuery.Open;
 if adoQuery.RecordCount>0 then
 begin
 Hide;
    if not assigned(frmMain) then
    begin
     userID:= adoquery.fieldbyName('id').AsString;
     userNick:=  adoquery.fieldbyName('usn').AsString;
     sql:='Select * from dCompany';
     adoQuery.Close;
     adoQuery.SQL.Clear;
     adoQuery.SQL.Add(sql);
     adoQuery.Open;
     if adoQuery.RecordCount>0 then
     begin
      adoQuery.First;
      ClientUSN:=adoQuery.FieldByname('CompanyName').AsString;
     end;
     adoQUery.Close;
     FHelper.Speak(userNick+'您好!您已成功登录主界面!','');
     frmMain:=TfrmMain.Create(Application);
     frmMain.ShowModal;
    end
    else
    begin
     frmMain.ShowModal;
    end;
 end
 else
 begin
 SubmitCount:=SubmitCount+1;
 MessageBox(handle,'用户登录失败!请重试!','称重系统',MB_OK+MB_ICONERROR);
 cbUSN.SetFocus;
 end;
end
 else
 begin
   MessageBox(handle,'Sorry!,您登录失败次数已经超过三次,系统将自动退出!','称重系统',MB_OK+MB_ICONERROR);
   Application.Terminate;
 end;
Except
 MessageBox(handle,'您的系统还没有安装注册通讯组件MScomm32.ocx!','称重系统',MB_OK+MB_ICONERROR);
End;
end;

procedure TfrmJoin.FormShow(Sender: TObject);
begin
cbUSN.SetFocus;
end;

procedure TfrmJoin.cbUSNKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (Key=13) and (Trim(cbUSN.Text)<>'') then
begin
 edtPWD.SetFocus;
end
else
begin
  cbUSN.SetFocus;
end;
end;

procedure TfrmJoin.edtPWDKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (Key=13) and (Trim(edtPWD.Text)<>'') then
begin
 bbOK.SetFocus;
end
else
begin
  edtPWD.SetFocus;
end;
end;

end.

⌨️ 快捷键说明

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