logonform.pas
来自「一个物流公司的物流配送系统」· PAS 代码 · 共 115 行
PAS
115 行
unit LogonForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls,IniFiles;
type
TFrmLogon = class(TForm)
Panel1: TPanel;
Label1: TLabel;
ServerEdit: TEdit;
DBEdit: TEdit;
Label2: TLabel;
UserEdit: TEdit;
PassEdit: TEdit;
p: TLabel;
OKBtn: TButton;
ExitBtn: TButton;
u: TLabel;
procedure OKBtnClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ExitBtnClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmLogon: TFrmLogon;
implementation
uses datamodule;
{$R *.dfm}
procedure TFrmLogon.OKBtnClick(Sender: TObject);
var
ini:TIniFile;
constr:string;
begin
if DM.allCON.Connected then
begin
Close;
ModalResult:=mrYes;
end;
//Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=WorkLoad;Data Source=.
constr:='Provider=SQLOLEDB.1;';
if UserEdit.Text = '' then
constr:=constr+'Persist Security Info=False;Initial Catalog='+DBEdit.Text
else
constr:=constr+'Persist Security Info=False;Password="'+PassEdit.Text+'";User ID='+UserEdit.Text+';Initial Catalog='+DBEdit.Text;
constr:=constr+';Data Source='+ServerEdit.Text;
DM.allCon.Connected:=False;
DM.allCon.ConnectionString:=constr;
try
DM.allCON.Connected:=True;
except
MessageDlg('请重新选择服务器并测试连接!', mtError, [mbOk], 0);
exit;
end;
//MessageDlg('服务器连接成功!',mtInformation,MBOKCANCEL,0);
ini:=TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini'));
ini.WriteString('Servers','Name',ServerEdit.Text);
ini.WriteString('Servers','DataBase',DBEdit.Text);
ini.WriteString('Servers','User',UserEdit.Text);
ini.WriteString('Servers','Password',PassEdit.Text);
ini.Free;
Close;
ModalResult:=mrYes;
end;
procedure TFrmLogon.FormShow(Sender: TObject);
var
ini:TIniFile;
constr:string;
begin
ini:=TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini'));
ServerEdit.Text:=ini.ReadString('Servers','Name','');
DBEdit.Text:=ini.ReadString('Servers','DataBase','');
UserEdit.Text:=ini.ReadString('Servers','User','');
PassEdit.Text:=ini.ReadString('Servers','Password','');
constr:='Provider=SQLOLEDB.1;';
if UserEdit.Text = '' then
constr:=constr+'Persist Security Info=False;Initial Catalog='+DBEdit.Text
else
constr:=constr+'Persist Security Info=False;Password="'+PassEdit.Text+'";User ID='+UserEdit.Text+';Initial Catalog='+DBEdit.Text;
constr:=constr+';Data Source='+ServerEdit.Text;
DM.allCON.Connected:=False;
DM.allCON.ConnectionString:=constr;
try
DM.allCON.Connected:=True;
except
on E:Exception do
begin
MessageDlg(PChar(E.Message)+#10+'连接失败!', mtError, [mbOk], 0);
ini.Free;
exit;
end;
end;
ini.Free;
okBtn.Click;
end;
procedure TFrmLogon.ExitBtnClick(Sender: TObject);
begin
Close;
ModalResult:=mrNo;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?