unit ScLoginFrm; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, JimCombos, ExtCtrls, StdCtrls, cxLookAndFeelPainters, cxTextEdit, cxButtons, cxControls, cxEdit, cxMaskEdit, cxDropDownEdit, HookEdit, cxContainer, XPMenu, cslLabel; type TLoginFrm = class(TForm) Image1: TImage; Label3: TLabel; cxcbServers: TcxComboBox; cxbRequest: TcxButton; cxbLogin: TcxButton; GroupBox1: TGroupBox; Label1: TLabel; Label2: TLabel; cxeUserName: TcxTextEdit; edtPassword: TEdit; XPMenu1: TXPMenu; lblBBS: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; cslLabel1: TcslLabel; cslLabel2: TcslLabel; cxbExit: TcxButton; chkRememberUser: TCheckBox; cxb1: TcxButton; procedure cxbRequestClick(Sender: TObject); procedure edtPasswordEnter(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure lblBBSClick(Sender: TObject); procedure cxbExitClick(Sender: TObject); procedure chkRememberUserClick(Sender: TObject); procedure cxb1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; function ShowLoginForm(var AUserName, APW: string): Boolean; implementation uses ScClientDM, ScUtils, ShellAPI, IniFiles; {$R *.dfm} type TEditAccess = class(TcxCustomTextEdit); // chenshilong, 2011-05-13 10:21:54 function ShowLoginForm(var AUserName, APW: string): Boolean; var Form: TLoginFrm; begin Result := False; Form := TLoginFrm.Create(nil); try // 第一次使用弹出注册窗口 // if UserConfigInfo.FirstLogon then // ClientData.InputUserInfo; AUserName := UserConfigInfo.UserName; APW := UserConfigInfo.PassWord; Form.cxeUserName.Text := UserConfigInfo.UserName; Form.edtPassword.Text := UserConfigInfo.PassWord; Form.chkRememberUser.Checked := UserConfigInfo.RememberUser; if Form.ShowModal = mrOK then begin // lengshumei 2010-8-11 if APW <> '' then SetEncryptEdit(Form.edtPassword); AUserName := Trim(Form.cxeUserName.Text); APW := GetEncryptEditText(Form.edtPassword); DisableHookEdit; Result := True; // 登录成功,要修改状态,免得下次还会显示注册界面 // if UserConfigInfo.FirstLogon then // begin // UserConfigInfo.FirstLogon := False; // UserConfigInfo.SaveToFile; // end; end; finally Form.Free; end; end; { TLoginFrm } // chenshilong, 2011-05-13 8:58:11 即日起不再有注册码。 procedure TLoginFrm.cxbRequestClick(Sender: TObject); begin { if ClientData.InputUserInfo then if MessageQuest(0, '您的申请已经成功提交,请稍后登录纵横软件论坛,查看您的授权码。' + #13#10 + '现在登录纵横软件论坛请点击“确定”,否则请点“取消”。') = IDOK then ShellExecute(0, nil, 'http://www.smartcost.com.cn/bbs', nil, nil, SW_SHOWNORMAL); } ClientData.InputUserInfo; end; procedure TLoginFrm.edtPasswordEnter(Sender: TObject); begin //edtPassword.Clear; //SetEncryptEdit(edtPassword); SetEncryptEdit(TEdit(Sender)); end; procedure TLoginFrm.FormDestroy(Sender: TObject); begin RemoveEncryptEdit(edtPassword); end; procedure TLoginFrm.lblBBSClick(Sender: TObject); begin ShellExecute(0, nil, 'http://bbs.smartcost.com.cn', nil, nil, SW_SHOWNORMAL); end; procedure TLoginFrm.cxbExitClick(Sender: TObject); begin Close; end; procedure TLoginFrm.chkRememberUserClick(Sender: TObject); begin UserConfigInfo.RememberUserInfo(chkRememberUser.Checked); end; procedure TLoginFrm.cxb1Click(Sender: TObject); begin ClientData.ChangePWDBeforeLogin; end; end.