📄 frm_loginserver.pas
字号:
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 + -