ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/design/IBDatabaseEdit.pas
(Generate patch)

Comparing ibx/trunk/design/IBDatabaseEdit.pas (file contents):
Revision 5 by tony, Fri Feb 18 16:26:16 2011 UTC vs.
Revision 45 by tony, Tue Dec 6 10:33:46 2016 UTC

# Line 28 | Line 28
28  
29   unit IBDatabaseEdit;
30  
31 < {$MODE Delphi}  {$H-}
31 > {$MODE Delphi}
32 >
33 > {$A+}                           (* Aligned records: On *)
34 > {$B-}                           (* Short circuit boolean expressions: Off *)
35 > { $G+}                           (* Imported data: On *)
36 > {$H+}                           (* Huge Strings: On *)
37 > {$J-}                           (* Modification of Typed Constants: Off *)
38 > {$M+}                           (* Generate run-time type information: On *)
39 > {$O+}                           (* Optimization: On *)
40 > {$Q-}                           (* Overflow checks: Off *)
41 > {$R-}                           (* Range checks: Off *)
42 > {$T+}                           (* Typed address: On *)
43 > { $U+}                           (* Pentim-safe FDIVs: On *)
44 > {$W-}                           (* Always generate stack frames: Off *)
45 > {$X+}                           (* Extended syntax: On *)
46 > {$Z1}                           (* Minimum Enumeration Size: 1 Byte *)
47  
48   interface
49  
50   uses
51 <  {Windows,} Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
52 <  StdCtrls, ExtCtrls, IBDataBase, IB, IBXConst, LResources;
51 >  SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
52 >  StdCtrls, ExtCtrls, IBDataBase, IB,  LResources;
53  
54   type
55  
56    { TIBDatabaseEditForm }
57  
58    TIBDatabaseEditForm = class(TForm)
59 +    UseSystemDefaultCS: TCheckBox;
60 +    GroupBox2: TGroupBox;
61      Panel1: TPanel;
62      DatabaseName: TEdit;
63      Label1: TLabel;
# Line 57 | Line 74 | type
74      DatabaseParams: TMemo;
75      OKBtn: TButton;
76      CancelBtn: TButton;
60    HelpBtn: TButton;
77      Label5: TLabel;
78      LoginPrompt: TCheckBox;
79      Label6: TLabel;
# Line 67 | Line 83 | type
83      Label7: TLabel;
84      Label8: TLabel;
85      Test: TButton;
70    procedure CharacterSetCloseUp(Sender: TObject);
86      procedure RemoteRbtnClick(Sender: TObject);
87      procedure BrowseClick(Sender: TObject);
88      procedure LocalRbtnClick(Sender: TObject);
# Line 79 | Line 94 | type
94      procedure SQLRoleChange(Sender: TObject);
95      procedure CharacterSetChange(Sender: TObject);
96      procedure TestClick(Sender: TObject);
97 +    procedure UseSystemDefaultCSChange(Sender: TObject);
98    private
99      { Private declarations }
100      Database: TIBDatabase;
# Line 97 | Line 113 | var
113  
114   implementation
115  
116 + {$R *.lfm}
117  
118 < uses {LibHelp,} TypInfo;
118 > uses TypInfo, FBMessages;
119  
120   function EditIBDatabase(ADatabase: TIBDatabase): Boolean;
121   begin
# Line 134 | Line 151 | begin
151    found := False;
152    if Trim(Value) <> '' then
153    begin
154 +    DatabaseParams.Lines.NameValueSeparator := '=';
155      for i := 0 to DatabaseParams.Lines.Count - 1 do
156      begin
157        if (Pos(Name, LowerCase(DatabaseParams.Lines.Names[i])) = 1) then {mbcs ok}
# Line 216 | Line 234 | var
234    end;
235   begin
236    DecomposeDatabaseName;
237 <  DatabaseParams.Lines := Database.Params;
237 >  if Trim(Database.Params.Text) = '' then
238 >    DatabaseParams.Clear
239 >  else
240 >    DatabaseParams.Lines.Assign(Database.Params);
241    LoginPrompt.Checked := Database.LoginPrompt;
242    UserName.Text := GetParam('user_name');
243    Password.Text := GetParam('password');
# Line 224 | Line 245 | begin
245    st := GetParam('lc_ctype');
246    if (st <> '') then
247      CharacterSet.ItemIndex := CharacterSet.Items.IndexOf(st);
248 +  if Database.UseDefaultSystemCodePage then
249 +    UseSystemDefaultCS.Checked := true
250 +  else
251 +    UseSystemDefaultCS.Checked := false;
252    Result := False;
253    if ShowModal = mrOk then
254    begin
# Line 238 | Line 263 | begin
263        end;
264      Database.Params := DatabaseParams.Lines;
265      Database.LoginPrompt := LoginPrompt.Checked;
266 +    Database.UseDefaultSystemCodePage := UseSystemDefaultCS.Checked;
267      Result := True;
268    end;
269   end;
# Line 249 | Line 275 | begin
275    Label8.Enabled := True;
276    Protocol.Enabled := True;
277    ServerName.Enabled := True;
278 < end;
279 <
254 < procedure TIBDatabaseEditForm.CharacterSetCloseUp(Sender: TObject);
255 < begin
256 <  if (CharacterSet.Text <> 'None') then {do not localize}
257 <    AddParam('lc_ctype', CharacterSet.Text)
258 <  else
259 <    DeleteParam('lc_ctype');
260 <
278 >  if Protocol.Text = '' then
279 >    Protocol.Text := 'TCP';
280   end;
281  
282   procedure TIBDatabaseEditForm.BrowseClick(Sender: TObject);
# Line 321 | Line 340 | end;
340  
341   procedure TIBDatabaseEditForm.CharacterSetChange(Sender: TObject);
342   begin
324  ShowMessage(CharacterSet.Text);
343    if (CharacterSet.Text <> 'None') then {do not localize}
344      AddParam('lc_ctype', CharacterSet.Text)
345    else
# Line 345 | Line 363 | begin
363        end;
364      tempDB.Params.Assign(DatabaseParams.Lines);
365      tempDB.LoginPrompt := LoginPrompt.Checked;
366 <    tempDB.Connected := true;
367 <    ShowMessage('Successful Connection');
366 >    try
367 >      tempDB.Connected := true;
368 >      ShowMessage('Successful Connection');
369 >    except on E: Exception do
370 >      ShowMessage(E.Message)
371 >    end;
372    finally
373      tempDB.Free;
374      Test.Enabled := true;
375    end;
376   end;
377  
378 < initialization
379 <  {$i IBDatabaseEdit.lrs}
378 > procedure TIBDatabaseEditForm.UseSystemDefaultCSChange(Sender: TObject);
379 > begin
380 >  CharacterSet.Enabled := not UseSystemDefaultCS.Checked;
381 >  if UseSystemDefaultCS.Checked then
382 >    DeleteParam('lc_ctype')
383 >  else
384 >  if (CharacterSet.Text <> 'None') then {do not localize}
385 >      AddParam('lc_ctype', CharacterSet.Text)
386 > end;
387 >
388  
389   end.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines