📄 unitjoin.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 + -