📄 login1.pas
字号:
unit login1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ComCtrls, Db, ADODB, Registry, ExtCtrls, jpeg;
type
Tlogin = class(TForm)
Edit2: TEdit;
ADOQuery1: TADOQuery;
ComboBox1: TEdit;
Image1: TImage;
BitBtn2: TSpeedButton;
SpeedButton2: TSpeedButton;
procedure FormActivate(Sender: TObject);
procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
login: Tlogin;
implementation
uses ztgl1, MainForm1, hb1;
{$R *.DFM}
procedure Tlogin.FormActivate(Sender: TObject);
var Reg: TRegistry;
begin
BitBtn2.Enabled := true;
try
ADOQuery1.Close;
ADOQuery1.SQL.Text := 'USE [' + ztgl.ADOTable1.fieldbyname('dbname').asstring + ']';
ADOQuery1.ExecSQL;
except
application.MessageBox('连接数据服务器失败,请检查服务器名是否正确或服务器是否已启动.', '错误', MB_OK + MB_ICONERROR);
BitBtn2.Enabled := false;
close;
exit;
end;
edit2.SetFocus;
edit2.text := '';
ComBobox1.Clear;
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('\Software\server', False) then
begin
ComBobox1.Text := Reg.ReadString('czy');
end;
Reg.Free; // 用 Try..Finally 结构确保 REG 变量能够释放。
if MainForm.ADOConnection1.Connected = true then MainForm.ADOConnection1.Connected := false;
MainForm.ADOConnection1.DefaultDatabase := ztgl.ADOTable1.fieldbyname('dbname').asstring;
MainForm.ADOConnection1.ConnectionString := ztgl.ADOConnection1.ConnectionString;
MainForm.ADOConnection1.Connected := true;
MainForm.ADOConnection1.DefaultDatabase := ztgl.ADOTable1.fieldbyname('dbname').asstring;
end;
procedure Tlogin.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then edit2.SetFocus;
end;
procedure Tlogin.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then BitBtn2.Click;
end;
procedure Tlogin.SpeedButton1Click(Sender: TObject);
var Reg: TRegistry;
begin
ADOQuery1.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select * from czyda where czyid=:czyid and pass=:pass');
ADOQuery1.Parameters[0].Value := Trim(copy(ComBoBox1.Text, 1, 6));
ADOQuery1.Parameters[1].Value := Edit2.Text;
ADOQuery1.open;
if ADOQuery1.RecordCount = 0 then
begin
application.MessageBox('输入的操作员编码或密码不正确.', '错误', MB_OK + MB_ICONERROR);
ComboBox1.SetFocus;
exit;
end;
close;
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('\Software\server', False) then
begin
Reg.WriteString('server', ztgl.Edit1.Text); // 写进键值。
Reg.WriteString('dfdb', ztgl.ADOTable1.fieldbyname('dbname').asstring); // 写进键值。
Reg.WriteString('czy', ComBobox1.Text); // 写进键值。
end;
Reg.Free; // 用 Try..Finally 结构确保 REG 变量能够释放。
ztgl.Hide;
Mainform.Label4.Caption := Trim(copy(ComBoBox1.Text, 1, 6));
Mainform.Caption := '『思微软件 Ver 8.08』Build 20030822 账套:' + ztgl.ADOTable1bz.Value;
Application.ShowMainForm := true;
Mainform.Show;
end;
procedure Tlogin.SpeedButton2Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -