📄 frm_loginserver.~pa
字号:
unit Frm_LoginServer;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Frm_Cargo, XPMenu, Buttons, EnterAsTab, GIFImage, ExtCtrls,
THPanel, dxCore, dxButton, StdCtrls, DB, ADODB,Registry;
type
TFrmLoginServer = class(TFrmCargo)
Image1: TImage;
Label1: TLabel;
Bevel1: TBevel;
Bevel2: TBevel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
LbODBC: TLabel;
CmbServerName: TComboBox;
EdUserName: TEdit;
EdPassword: TEdit;
EdDatabaseName: TEdit;
BtnOK: TdxButton;
BtnClose: TdxButton;
DatabaseTest: TADOConnection;
procedure BtnOKClick(Sender: TObject);
procedure BtnCloseClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
LoginServer:Boolean;//服务器是否注册成功
{ Public declarations }
end;
var
FrmLoginServer: TFrmLoginServer;
implementation
uses Frm_Main;
{$R *.dfm}
procedure TFrmLoginServer.BtnOKClick(Sender: TObject);
var ODBC,ServerName,DatabaseName,UserName,Password:String;
Reg:TRegistry; OpenKey:String;
begin
inherited;
//检测注册信息
if trim(CmbServerName.Text)='' then
begin
showmessage('服务器名不得为空!');
exit;
end;
if trim(EdDatabaseName.Text)='' then
begin
showmessage('数据库名不得为空!');
exit;
end;
if trim(EdUserName.Text)='' then
begin
showmessage('用户名不得为空!');
exit;
end;
//得到注册信息
ODBC:=LbODBC.Caption;
ServerName:=trim(CmbServerName.Text);
DatabaseName:=trim(EdDatabaseName.Text);
UserName:=trim(EdUserName.Text);
Password:=trim(EdPassword.Text);
//注册服务器
Reg:=TRegistry.Create;
OpenKey:='\Software\ODBC\ODBC.INI\ODBC Data Sources';
Reg.OpenKey(OpenKey,true);
Reg.WriteString(ODBC,'SQL Server');
Reg.CloseKey;
OpenKey:='\Software\ODBC\ODBC.INI\'+ODBC;
Reg.OpenKey(OpenKey,true);
Reg.WriteString('Server',ServerName);
Reg.WriteString('Database',DatabaseName);
Reg.WriteString('LastUser',UserName);
Reg.WriteString('Driver','C:\WINDOWS\System32\SQLSRV32.dll');
Reg.CloseKey;
//测试服务器
if FrmMain.dbconnect(DatabaseTest,ODBC,UserName,Password)=false then
begin
showmessage('服务器连接失败,不能注册该服务器!');
DatabaseTest.Connected:=false;
CmbServerName.SetFocus;
OpenKey:='\Software\ODBC\ODBC.INI\ODBC Data Sources';
Reg.OpenKey(OpenKey,false);
Reg.DeleteValue(ODBC);
Reg.CloseKey;
OpenKey:='\Software\ODBC\ODBC.INI';
Reg.OpenKey(OpenKey,false);
Reg.DeleteKey(ODBC);
Reg.CloseKey;
Reg.Destroy;
exit;
end;
DatabaseTest.Connected:=false;
Reg.Destroy;
close;
end;
procedure TFrmLoginServer.BtnCloseClick(Sender: TObject);
begin
inherited;
close;
end;
procedure TFrmLoginServer.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
Action:=caFree;
FrmLoginServer:=nil;
end;
procedure TFrmLoginServer.FormDestroy(Sender: TObject);
begin
inherited;
FrmLoginServer:=nil;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -