--- ibx/trunk/design/IBDatabaseEdit.pas 2016/02/15 14:44:25 38 +++ ibx/trunk/design/IBDatabaseEdit.pas 2016/05/17 08:14:52 39 @@ -45,11 +45,10 @@ unit IBDatabaseEdit; {$X+} (* Extended syntax: On *) {$Z1} (* Minimum Enumeration Size: 1 Byte *) - interface uses - {Windows,} Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, + Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, IBDataBase, IB, IBXConst, LResources; type @@ -57,6 +56,8 @@ type { TIBDatabaseEditForm } TIBDatabaseEditForm = class(TForm) + UseSystemDefaultCS: TCheckBox; + GroupBox2: TGroupBox; Panel1: TPanel; DatabaseName: TEdit; Label1: TLabel; @@ -93,6 +94,7 @@ type procedure SQLRoleChange(Sender: TObject); procedure CharacterSetChange(Sender: TObject); procedure TestClick(Sender: TObject); + procedure UseSystemDefaultCSChange(Sender: TObject); private { Private declarations } Database: TIBDatabase; @@ -243,6 +245,10 @@ begin st := GetParam('lc_ctype'); if (st <> '') then CharacterSet.ItemIndex := CharacterSet.Items.IndexOf(st); + if Database.UseDefaultSystemCodePage then + UseSystemDefaultCS.Checked := true + else + UseSystemDefaultCS.Checked := false; Result := False; if ShowModal = mrOk then begin @@ -257,6 +263,7 @@ begin end; Database.Params := DatabaseParams.Lines; Database.LoginPrompt := LoginPrompt.Checked; + Database.UseDefaultSystemCodePage := UseSystemDefaultCS.Checked; Result := True; end; end; @@ -368,5 +375,15 @@ begin end; end; +procedure TIBDatabaseEditForm.UseSystemDefaultCSChange(Sender: TObject); +begin + CharacterSet.Enabled := not UseSystemDefaultCS.Checked; + if UseSystemDefaultCS.Checked then + DeleteParam('lc_ctype') + else + if (CharacterSet.Text <> 'None') then {do not localize} + AddParam('lc_ctype', CharacterSet.Text) +end; + end.