📄 password_unit.pas
字号:
unit password_unit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, RXCtrls,db,Registry, fcLabel;
type
Tpassword = class(TForm)
Panel1: TPanel;
Edit1: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ComboBox1: TComboBox;
Label1: TLabel;
Label2: TLabel;
Bevel1: TBevel;
Bevel2: TBevel;
Image1: TImage;
ShadowLabel1: TfcLabel;
procedure FormActivate(Sender: TObject);
procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
password: Tpassword;
implementation
uses menu,dm_user_pas,user_pas,FileCtrl,IniFiles,penmode_pas ;
{$R *.DFM}
procedure Tpassword.FormActivate(Sender: TObject);
var reg: TRegistry;
begin
DM_user.t_user.Close;
with DM_user.T_user do
begin
open;
first;
combobox1.Clear;
while not eof do
begin
combobox1.Items.Add(fieldbyname('username').asstring);
next;
end;
left:=round((screen.Width-Width)/2);
top:=round((screen.height-self.height)/2);
reg:=Tregistry.create;
try
reg.rootkey:=HKEY_local_machine;
reg.OpenKey('\Software\Microsoft\first_user',true);
combobox1.Text:=reg.readstring('username');
if combobox1.Text='' then
combobox1.Text:='Administrator';
reg.closekey;
finally
end;
end;
edit1.text:='';
//combobox1.SetFocus ;
end;
procedure Tpassword.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_return then
edit1.SetFocus ;
end;
procedure Tpassword.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_return then
BitBtn1Click(self);
//BitBtn1.SetFocus ;
end;
procedure Tpassword.BitBtn2Click(Sender: TObject);
begin
password.tag:=1;
application.Terminate;
close;
end;
procedure Tpassword.BitBtn1Click(Sender: TObject);
var
inif:Tinifile;
path:string;
filename,temp:string;
ss, s,c:string;
reg: TRegistry;
begin
s:=edit1.text;
//s:=user.encrypt(s);
c:=combobox1.text;
if DM_user.T_user.Locate('username;password',VarArrayOf([ c,s ]),[loCaseInsensitive]) then
begin
self.hide;
reg:=Tregistry.create;
try
reg.rootkey:=HKEY_local_machine;
reg.OpenKey('\Software\Microsoft\first_user',true);
reg.writestring('username',combobox1.text);
reg.closekey;
finally
end;
if mainform.ModalResult=MrOK then
//begin
MainForm.close;
//getdir(0,path);
// filename:=path+'\HdXGXT.ini';
filename:=ExtractFiledir(APPLICATION.EXENAME)+'\'+ExtractFilename(APPLICATION.EXENAME);//+'\hdxgxt.ini';
if not fileexists(filename) then
filename:=ExtractFileDir(APPLICATION.EXENAME)+'hdxgxt.ini'
else filename:=extractfiledir(application.exename)+'\hdxgxt.ini';
inif:=TInifile.Create(filename);
ss:=inif.ReadString('penmode','modi',temp);
inif.free;
if ss<>'1' then
begin
self.Tag :=1;
while penmode.tag=0 do
penmode.ShowModal;
end
else
begin
MainForm.show;
self.tag:=1;
end;
password.Tag:=DM_user.T_user.fieldbyname('userid').asinteger;
//end;
end
else
begin
Application.MessageBox('對不起!您輸入的用戶名或口令有錯!','警告',MB_ICONWARNING);
//combobox1.text:='';
edit1.text:='';
// combobox1.setfocus;
password.tag:=0;
// exit;
end;
end;
procedure Tpassword.FormShow(Sender: TObject);
var I:integer;
s:string;
begin
with DM_user.T_user do
begin
open;
if locate('username','RayLine',[loCaseInsensitive])=false then
begin
append;
edit;
fieldbyname('username').asstring:='RayLine';
fieldbyname('password').asstring:='RayLine';
for i:=1 to 19 do
s:=s+'1';
fieldbyname('right').asstring:=user.encrypt(s);
post;
end;
end;
end;
procedure Tpassword.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//password.tag:=1;
//application.Terminate;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -