unit untMain;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, se_controls, KsSkinForms, KsSkinEngine, StdCtrls,
Grids, ValEdit, KsSkinLabels, KsSkinComboBoxs, KsSkinButtons, inifiles,
ComCtrls, KsSkinEdits, KsSkinTabs;type
Tmain = class(TForm)
Database: TDatabase;
Button1: TSeSkinButton;
ComboBox: TSeSkinComboBox;
Label1: TSeSkinLabel;
btnOK: TSeSkinButton;
btnCancel: TSeSkinButton;
PageControl: TPageControl;
tbsMsSQL: TTabSheet;
Label2: TSeSkinLabel;
Label3: TSeSkinLabel;
edtSvrName: TEdit;
Label4: TSeSkinLabel;
edtUserName: TEdit;
Label5: TSeSkinLabel;
Label6: TSeSkinLabel;
edtPassword: TEdit;
Label7: TSeSkinLabel;
Label8: TSeSkinLabel;
edtDatabaseName: TEdit;
SeSkinForm1: TSeSkinForm;
SeSkinEngine1: TSeSkinEngine;
btnBrowFile: TSeSkinButton;
OpenDialog: TOpenDialog;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure btnOKClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure ComboBoxChange(Sender: TObject);
procedure ComboBoxKeyPress(Sender: TObject; var Key: Char);
procedure btnCancelClick(Sender: TObject);
procedure btnBrowFileClick(Sender: TObject);
private
{ Private declarations }
FIniFile: TIniFile;
function CheckLink: Boolean;
procedure GetLinkParams;
procedure SetLinkParams;
public
{ Public declarations }
end;var
main: Tmain;implementation
{$R *.dfm}procedure Tmain.FormCreate(Sender: TObject);
begin
FIniFile := TIniFile.Create('.\DataBase.ini');
ComboBox.Text := FIniFile.ReadString('DataBase Driver', 'Driver', '');
GetLinkParams;
end;procedure Tmain.FormDestroy(Sender: TObject);
begin
FIniFile.Free;
end;procedure Tmain.btnOKClick(Sender: TObject);
begin
SetLinkParams;
Close;
end;function Tmain.CheckLink: Boolean;
begin
Result := False;
Database.Close;
Database.DriverName := ComboBox.Text;
Database.Params.Clear;
Database.Params.Add('server name=' + edtSvrName.Text);
Database.Params.Add('user name=' + edtUserName.Text);
Database.Params.Add('Password=' + edtPassword.Text);
if UpperCase(ComboBox.Text) = 'MSSQL' then
Database.Params.Insert(1, 'DataBaseName=' + edtDataBaseName.Text); try
Database.Connected := True; ;
Result := True;
MessageBox(Handle, ‘中文', '中文', MB_OK + MB_ICONInformation);
except
on E: exception do
begin
MessageBox(Handle, PChar('中文'#13+E.Message), '´中文',
MB_OK + MB_ICONERROR);
end;
end;
end;procedure Tmain.Button1Click(Sender: TObject);
begin
CheckLink;
end;procedure Tmain.GetLinkParams;
begin
edtSvrName.Text := FIniFile.ReadString('Params','SERVER NAME' ,'' );
edtUserName.Text := FIniFile.ReadString('Params','USER NAME' ,'' );
edtPassword.Text := FIniFile.ReadString('Params','PASSWORD' ,'' );
edtDataBaseName.Text := FIniFile.ReadString('Params','DATABASE NAME' ,'' );
end;procedure Tmain.FormPaint(Sender: TObject);
begin
PageControl.Canvas.Brush.Color := main.Color;
end;procedure Tmain.ComboBoxChange(Sender: TObject);
begin
edtSvrName.Text := '';
edtUserName.Text := '';
edtPassword.Text := '';
edtDatabaseName.Text := '';
btnBrowFile.Visible := False;
Label2.Caption := format('Ö¸¶¨ÏÂÁÐÉèÖÃÒÔÁ¬½Óµ½ %s Êý¾Ý¿â:', [Combobox.Text]);
if UpperCase(ComboBox.Text) = 'MSSQL' then
begin
Label8.Enabled := True;
edtDataBaseName.Enabled := True;
end else if UpperCase(ComboBox.Text) = 'ORACLE' then
begin
Label8.Enabled := False;
edtDataBaseName.Enabled := False;
end else if UpperCase(ComboBox.Text) = 'MSACCESS' then
begin
Label8.Enabled := False;
edtDataBaseName.Enabled := False;
btnBrowFile.Visible := True;
end;
end;procedure Tmain.ComboBoxKeyPress(Sender: TObject; var Key: Char);
begin
key := #0;
end;procedure Tmain.SetLinkParams;
var str: string;
begin
//Write Params
FIniFile.WriteString('Params', 'SERVER NAME', edtSvrName.Text);
FIniFile.WriteString('Params', 'USER NAME', edtUserName.Text);
FIniFile.WriteString('Params', 'PASSWORD', edtPassword.Text);
if UpperCase(ComboBox.Text) = 'MSSQL' then
FIniFile.WriteString('Params', 'DATABASE NAME', edtDataBaseName.Text)
else
FIniFile.DeleteKey('Params', 'DATABASE NAME');
//Write driver
FIniFile.WriteString('DataBase Driver', 'Driver', ComboBox.Text);
//write Connection Mode
FIniFile.WriteBool('Connection Mode', 'IsBDE', True);
if UpperCase(ComboBox.Text) = 'MSACCESS' then
FIniFile.WriteBool('Connection Mode', 'IsBDE', False);
end;procedure Tmain.btnCancelClick(Sender: TObject);
begin
Close;
end;
procedure Tmain.btnBrowFileClick(Sender: TObject);
begin
if OpenDialog.Execute then
edtSvrName.Text := OpenDialog.FileName;
end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, se_controls, KsSkinForms, KsSkinEngine, StdCtrls,
Grids, ValEdit, KsSkinLabels, KsSkinComboBoxs, KsSkinButtons, inifiles,
ComCtrls, KsSkinEdits, KsSkinTabs;type
Tmain = class(TForm)
Database: TDatabase;
Button1: TSeSkinButton;
ComboBox: TSeSkinComboBox;
Label1: TSeSkinLabel;
btnOK: TSeSkinButton;
btnCancel: TSeSkinButton;
PageControl: TPageControl;
tbsMsSQL: TTabSheet;
Label2: TSeSkinLabel;
Label3: TSeSkinLabel;
edtSvrName: TEdit;
Label4: TSeSkinLabel;
edtUserName: TEdit;
Label5: TSeSkinLabel;
Label6: TSeSkinLabel;
edtPassword: TEdit;
Label7: TSeSkinLabel;
Label8: TSeSkinLabel;
edtDatabaseName: TEdit;
SeSkinForm1: TSeSkinForm;
SeSkinEngine1: TSeSkinEngine;
btnBrowFile: TSeSkinButton;
OpenDialog: TOpenDialog;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure btnOKClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure ComboBoxChange(Sender: TObject);
procedure ComboBoxKeyPress(Sender: TObject; var Key: Char);
procedure btnCancelClick(Sender: TObject);
procedure btnBrowFileClick(Sender: TObject);
private
{ Private declarations }
FIniFile: TIniFile;
function CheckLink: Boolean;
procedure GetLinkParams;
procedure SetLinkParams;
public
{ Public declarations }
end;var
main: Tmain;implementation
{$R *.dfm}procedure Tmain.FormCreate(Sender: TObject);
begin
FIniFile := TIniFile.Create('.\DataBase.ini');
ComboBox.Text := FIniFile.ReadString('DataBase Driver', 'Driver', '');
GetLinkParams;
end;procedure Tmain.FormDestroy(Sender: TObject);
begin
FIniFile.Free;
end;procedure Tmain.btnOKClick(Sender: TObject);
begin
SetLinkParams;
Close;
end;function Tmain.CheckLink: Boolean;
begin
Result := False;
Database.Close;
Database.DriverName := ComboBox.Text;
Database.Params.Clear;
Database.Params.Add('server name=' + edtSvrName.Text);
Database.Params.Add('user name=' + edtUserName.Text);
Database.Params.Add('Password=' + edtPassword.Text);
if UpperCase(ComboBox.Text) = 'MSSQL' then
Database.Params.Insert(1, 'DataBaseName=' + edtDataBaseName.Text); try
Database.Connected := True; ;
Result := True;
MessageBox(Handle, ‘中文', '中文', MB_OK + MB_ICONInformation);
except
on E: exception do
begin
MessageBox(Handle, PChar('中文'#13+E.Message), '´中文',
MB_OK + MB_ICONERROR);
end;
end;
end;procedure Tmain.Button1Click(Sender: TObject);
begin
CheckLink;
end;procedure Tmain.GetLinkParams;
begin
edtSvrName.Text := FIniFile.ReadString('Params','SERVER NAME' ,'' );
edtUserName.Text := FIniFile.ReadString('Params','USER NAME' ,'' );
edtPassword.Text := FIniFile.ReadString('Params','PASSWORD' ,'' );
edtDataBaseName.Text := FIniFile.ReadString('Params','DATABASE NAME' ,'' );
end;procedure Tmain.FormPaint(Sender: TObject);
begin
PageControl.Canvas.Brush.Color := main.Color;
end;procedure Tmain.ComboBoxChange(Sender: TObject);
begin
edtSvrName.Text := '';
edtUserName.Text := '';
edtPassword.Text := '';
edtDatabaseName.Text := '';
btnBrowFile.Visible := False;
Label2.Caption := format('Ö¸¶¨ÏÂÁÐÉèÖÃÒÔÁ¬½Óµ½ %s Êý¾Ý¿â:', [Combobox.Text]);
if UpperCase(ComboBox.Text) = 'MSSQL' then
begin
Label8.Enabled := True;
edtDataBaseName.Enabled := True;
end else if UpperCase(ComboBox.Text) = 'ORACLE' then
begin
Label8.Enabled := False;
edtDataBaseName.Enabled := False;
end else if UpperCase(ComboBox.Text) = 'MSACCESS' then
begin
Label8.Enabled := False;
edtDataBaseName.Enabled := False;
btnBrowFile.Visible := True;
end;
end;procedure Tmain.ComboBoxKeyPress(Sender: TObject; var Key: Char);
begin
key := #0;
end;procedure Tmain.SetLinkParams;
var str: string;
begin
//Write Params
FIniFile.WriteString('Params', 'SERVER NAME', edtSvrName.Text);
FIniFile.WriteString('Params', 'USER NAME', edtUserName.Text);
FIniFile.WriteString('Params', 'PASSWORD', edtPassword.Text);
if UpperCase(ComboBox.Text) = 'MSSQL' then
FIniFile.WriteString('Params', 'DATABASE NAME', edtDataBaseName.Text)
else
FIniFile.DeleteKey('Params', 'DATABASE NAME');
//Write driver
FIniFile.WriteString('DataBase Driver', 'Driver', ComboBox.Text);
//write Connection Mode
FIniFile.WriteBool('Connection Mode', 'IsBDE', True);
if UpperCase(ComboBox.Text) = 'MSACCESS' then
FIniFile.WriteBool('Connection Mode', 'IsBDE', False);
end;procedure Tmain.btnCancelClick(Sender: TObject);
begin
Close;
end;
procedure Tmain.btnBrowFileClick(Sender: TObject);
begin
if OpenDialog.Execute then
edtSvrName.Text := OpenDialog.FileName;
end;end.
if OpenDialog.Execute then
edtSvrName.Text := OpenDialog.FileName;
FIniFile.WriteString('Params', 'SERVER NAME', edtSvrName.Text);不干活不报错