ScLoginFrm.pas 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. unit ScLoginFrm;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, JimCombos, ExtCtrls, StdCtrls, cxLookAndFeelPainters,
  6. cxTextEdit, cxButtons, cxControls, cxEdit,
  7. cxMaskEdit, cxDropDownEdit, HookEdit, cxContainer, XPMenu, cslLabel;
  8. type
  9. TLoginFrm = class(TForm)
  10. Image1: TImage;
  11. Label3: TLabel;
  12. cxcbServers: TcxComboBox;
  13. cxbRequest: TcxButton;
  14. cxbLogin: TcxButton;
  15. GroupBox1: TGroupBox;
  16. Label1: TLabel;
  17. Label2: TLabel;
  18. cxeUserName: TcxTextEdit;
  19. edtPassword: TEdit;
  20. XPMenu1: TXPMenu;
  21. lblBBS: TLabel;
  22. Label4: TLabel;
  23. Label5: TLabel;
  24. Label6: TLabel;
  25. Label7: TLabel;
  26. cslLabel1: TcslLabel;
  27. cslLabel2: TcslLabel;
  28. cxbExit: TcxButton;
  29. chkRememberUser: TCheckBox;
  30. cxb1: TcxButton;
  31. procedure cxbRequestClick(Sender: TObject);
  32. procedure edtPasswordEnter(Sender: TObject);
  33. procedure FormDestroy(Sender: TObject);
  34. procedure lblBBSClick(Sender: TObject);
  35. procedure cxbExitClick(Sender: TObject);
  36. procedure chkRememberUserClick(Sender: TObject);
  37. procedure cxb1Click(Sender: TObject);
  38. private
  39. { Private declarations }
  40. public
  41. { Public declarations }
  42. end;
  43. function ShowLoginForm(var AUserName, APW: string): Boolean;
  44. implementation
  45. uses
  46. ScClientDM, ScUtils, ShellAPI, IniFiles;
  47. {$R *.dfm}
  48. type
  49. TEditAccess = class(TcxCustomTextEdit);
  50. // chenshilong, 2011-05-13 10:21:54
  51. function ShowLoginForm(var AUserName, APW: string): Boolean;
  52. var
  53. Form: TLoginFrm;
  54. begin
  55. Result := False;
  56. Form := TLoginFrm.Create(nil);
  57. try
  58. // 第一次使用弹出注册窗口
  59. // if UserConfigInfo.FirstLogon then
  60. // ClientData.InputUserInfo;
  61. AUserName := UserConfigInfo.UserName;
  62. APW := UserConfigInfo.PassWord;
  63. Form.cxeUserName.Text := UserConfigInfo.UserName;
  64. Form.edtPassword.Text := UserConfigInfo.PassWord;
  65. Form.chkRememberUser.Checked := UserConfigInfo.RememberUser;
  66. if Form.ShowModal = mrOK then
  67. begin
  68. // lengshumei 2010-8-11
  69. if APW <> '' then
  70. SetEncryptEdit(Form.edtPassword);
  71. AUserName := Trim(Form.cxeUserName.Text);
  72. APW := GetEncryptEditText(Form.edtPassword);
  73. DisableHookEdit;
  74. Result := True;
  75. // 登录成功,要修改状态,免得下次还会显示注册界面
  76. // if UserConfigInfo.FirstLogon then
  77. // begin
  78. // UserConfigInfo.FirstLogon := False;
  79. // UserConfigInfo.SaveToFile;
  80. // end;
  81. end;
  82. finally
  83. Form.Free;
  84. end;
  85. end;
  86. { TLoginFrm }
  87. // chenshilong, 2011-05-13 8:58:11 即日起不再有注册码。
  88. procedure TLoginFrm.cxbRequestClick(Sender: TObject);
  89. begin
  90. { if ClientData.InputUserInfo then
  91. if MessageQuest(0, '您的申请已经成功提交,请稍后登录纵横软件论坛,查看您的授权码。' +
  92. #13#10 + '现在登录纵横软件论坛请点击“确定”,否则请点“取消”。') = IDOK then
  93. ShellExecute(0, nil, 'http://www.smartcost.com.cn/bbs', nil, nil, SW_SHOWNORMAL); }
  94. ClientData.InputUserInfo;
  95. end;
  96. procedure TLoginFrm.edtPasswordEnter(Sender: TObject);
  97. begin
  98. //edtPassword.Clear;
  99. //SetEncryptEdit(edtPassword);
  100. SetEncryptEdit(TEdit(Sender));
  101. end;
  102. procedure TLoginFrm.FormDestroy(Sender: TObject);
  103. begin
  104. RemoveEncryptEdit(edtPassword);
  105. end;
  106. procedure TLoginFrm.lblBBSClick(Sender: TObject);
  107. begin
  108. ShellExecute(0, nil, 'http://bbs.smartcost.com.cn', nil, nil, SW_SHOWNORMAL);
  109. end;
  110. procedure TLoginFrm.cxbExitClick(Sender: TObject);
  111. begin
  112. Close;
  113. end;
  114. procedure TLoginFrm.chkRememberUserClick(Sender: TObject);
  115. begin
  116. UserConfigInfo.RememberUserInfo(chkRememberUser.Checked);
  117. end;
  118. procedure TLoginFrm.cxb1Click(Sender: TObject);
  119. begin
  120. ClientData.ChangePWDBeforeLogin;
  121. end;
  122. end.