DBConnectFrm.pas
上传用户:psxgmh
上传日期:2013-04-08
资源大小:15112k
文件大小:3k
源码类别:

Delphi/CppBuilder

开发平台:

Delphi

  1. unit DBConnectFrm;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, StdCtrls, ExtCtrls, Buttons, INIFiles;
  6. type
  7.   TfrmDBConnect = class(TForm)
  8.     Panel1: TPanel;
  9.     Panel2: TPanel;
  10.     Label1: TLabel;
  11.     Label2: TLabel;
  12.     Label3: TLabel;
  13.     Label4: TLabel;
  14.     edtServerName: TEdit;
  15.     edtDatabaseName: TEdit;
  16.     edtUserName: TEdit;
  17.     edtPassword: TEdit;
  18.     btnOK: TBitBtn;
  19.     btnCancel: TBitBtn;
  20.     procedure btnOKClick(Sender: TObject);
  21.     procedure FormCreate(Sender: TObject);
  22.     procedure btnCancelClick(Sender: TObject);
  23.   private
  24.     { Private declarations }
  25.   public
  26.     { Public declarations }
  27.   end;
  28. procedure ReadFromIni(var aServerName, aDatabaseName, aUserName, aPassword: string);//读取配置文件信息
  29. procedure WriteToIni(const aServerName, aDatabaseName, aUserName, aPassword: string);//向配置文件写入信息
  30. function DBConnectExecute(aClass: TFormClass): boolean; //用于打开窗体,并判断是否配置成功
  31. var
  32.   Connected: Boolean;
  33. implementation
  34. uses  U_server;
  35. {$R *.dfm}
  36. //用于打开窗体,并判断是否配置成功
  37. function DBConnectExecute(aClass: TFormClass): boolean;
  38. begin
  39.   with aClass.Create(Application) do
  40.   begin
  41.     try
  42.       showModal;
  43.     finally
  44.       free;
  45.       result := Connected;
  46.     end;
  47.   end;
  48. end;
  49. //读取配置文件信息
  50. procedure ReadFromIni(var aServerName, aDatabaseName, aUserName, aPassword: string);
  51. var
  52.   IniFile: TIniFile;
  53.   FileName: string;
  54. begin
  55.   FileName := ExtractFilePath(application.ExeName) + 'DB.ini';
  56.   IniFile := TIniFile.Create(FileName);
  57.   aServerName := IniFile.ReadString('DB', 'ServerName', '');
  58.   aDatabaseName := IniFile.ReadString('DB', 'DatabaseName', '');
  59.   aUserName := IniFile.ReadString('DB', 'UserName', '');
  60.   aPassword := IniFile.ReadString('DB', 'Password', '');
  61.   IniFile.Free;
  62. end;
  63. //向配置文件写入信息
  64. procedure WriteToIni(const aServerName, aDatabaseName, aUserName, aPassword: string);
  65. var
  66.   IniFile: TIniFile;
  67.   FileName: string;
  68. begin
  69.   FileName := ExtractFilePath(application.ExeName) + 'DB.ini';
  70.   IniFile := TIniFile.Create(FileName);
  71.   IniFile.WriteString('DB', 'ServerName', aServerName);
  72.   IniFile.WriteString('DB', 'DatabaseName', aDatabaseName);
  73.   IniFile.WriteString('DB', 'UserName', aUserName);
  74.   IniFile.WriteString('DB', 'Password', aPassword);
  75.   IniFile.Free;
  76. end;
  77. //写入ini,并测试是否连接上
  78. procedure TfrmDBConnect.btnOKClick(Sender: TObject);
  79. begin
  80.   writeToIni(edtServerName.Text, edtDatabaseName.Text, edtUserName.Text, edtPassword.Text);
  81.   if frmMain.DBConnect(edtServerName.Text, edtDatabaseName.Text, edtUserName.Text, edtPassword.Text) then
  82.   begin
  83.     Application.MessageBox('连接成功', '提示', mb_iconInformation + mb_defbutton1);
  84.     Connected := True;
  85.     Close;
  86.   end
  87.   else
  88.   begin
  89.     Application.MessageBox('连接失败', '提示', mb_iconInformation + mb_defbutton1);
  90.   end;
  91. end;
  92. //当窗体被创建时,将配置文件信息显示到窗体上
  93. procedure TfrmDBConnect.FormCreate(Sender: TObject);
  94. var
  95.   serverName, databaseName, userName, password: string;
  96. begin
  97.   readFromIni(serverName, databaseName, userName, password);
  98.   Connected := False;
  99. end;
  100. procedure TfrmDBConnect.btnCancelClick(Sender: TObject);
  101. begin
  102.   close;
  103. end;
  104. end.