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

Comparing ibx/trunk/design/IBTransactionEdit.pas (file contents):
Revision 19 by tony, Mon Jul 7 13:00:15 2014 UTC vs.
Revision 45 by tony, Tue Dec 6 10:33:46 2016 UTC

# Line 1 | Line 1
1 < {************************************************************************}
2 < {                                                                        }
3 < {       Borland Delphi Visual Component Library                          }
4 < {       InterBase Express core components                                }
5 < {                                                                        }
6 < {       Copyright (c) 1998-2000 Inprise Corporation                      }
7 < {                                                                        }
8 < {    InterBase Express is based in part on the product                   }
9 < {    Free IB Components, written by Gregory H. Deatz for                 }
10 < {    Hoagland, Longo, Moran, Dunst & Doukas Company.                     }
11 < {    Free IB Components is used under license.                           }
12 < {                                                                        }
13 < {    The contents of this file are subject to the InterBase              }
14 < {    Public License Version 1.0 (the "License"); you may not             }
15 < {    use this file except in compliance with the License. You            }
16 < {    may obtain a copy of the License at http://www.Inprise.com/IPL.html }
17 < {    Software distributed under the License is distributed on            }
18 < {    an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either              }
19 < {    express or implied. See the License for the specific language       }
20 < {    governing rights and limitations under the License.                 }
21 < {    The Original Code was created by InterBase Software Corporation     }
22 < {       and its successors.                                              }
23 < {    Portions created by Inprise Corporation are Copyright (C) Inprise   }
24 < {       Corporation. All Rights Reserved.                                }
25 < {    Contributor(s): Jeff Overcash                                       }
26 < {                                                                        }
27 < {************************************************************************}
28 <
29 < unit IBTransactionEdit;
30 <
31 < {$MODE Delphi}
32 <
33 < interface
34 <
35 < uses
36 <  {Windows,} Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
37 <  StdCtrls, IBDataBase, IB, ExtCtrls, IBXConst, LResources;
38 <
39 < type
40 <
41 <  { TIBTransactionEditForm }
42 <
43 <  TIBTransactionEditForm = class(TForm)
44 <    GroupBox1: TGroupBox;
45 <    HelpBtn: TButton;
46 <    Cancelbtn: TButton;
47 <    OKBtn: TButton;
48 <    rbOtherButton: TRadioButton;
49 <    rbSnapShot: TRadioButton;
50 <    rbReadCommitted: TRadioButton;
51 <    rbReadOnlyTableStability: TRadioButton;
52 <    rbReadWriteTableStability: TRadioButton;
53 <    TransactionParams: TMemo;
54 <    Panel1: TPanel;
55 <    Label1: TLabel;
56 <    procedure OKBtnClick(Sender: TObject);
57 <    procedure rbSnapShotClick(Sender: TObject);
58 <    procedure rbReadCommittedClick(Sender: TObject);
59 <    procedure rbReadOnlyTableStabilityClick(Sender: TObject);
60 <    procedure rbReadWriteTableStabilityClick(Sender: TObject);
61 <    procedure FormCreate(Sender: TObject);
62 <    procedure HelpBtnClick(Sender: TObject);
63 <    procedure TransactionParamsClick(Sender: TObject);
64 <    procedure TransactionParamsExit(Sender: TObject);
65 <
66 <  private
67 <    { Private declarations }
68 <    Transaction: TIBTransaction;
69 <    function Edit: Boolean;
70 <    procedure ParseParams;
71 <    procedure ClearParamSelection;
72 <
73 <  public
74 <    { Public declarations }
75 <  end;
76 <
77 < var
78 <  IBTransactionEditForm: TIBTransactionEditForm;
79 <
80 <  function EditIBtransaction(Atransaction: TIBtransaction): Boolean;
81 <
82 < implementation
83 <
84 < {$R *.lfm}
85 <
86 < function EditIBtransaction(ATransaction: TIBtransaction): Boolean;
87 < begin
88 <  with TIBtransactionEditForm.Create(Application) do
89 <  try
90 <    Transaction := ATransaction;
91 <    Result := Edit;
92 <  finally
93 <    Free;
94 <  end;
95 < end;
96 <
97 < function TIBtransactionEditForm.Edit: Boolean;
98 < begin
99 <  TransactionParams.Lines := Transaction.Params;
100 <  ParseParams;
101 <  Result := False;
102 <  if ShowModal = mrOk then
103 <  begin
104 <    Transaction.Params := TransactionParams.Lines;
105 <    Result := True;
106 <  end;
107 < end;
108 <
109 < type
110 <  TTransactionParam = (concurrency, read_committed, rec_version, nowait,
111 <    consistency, read, write);
112 <  TTransactionParams = set of TTransactionParam;
113 <
114 < procedure TIBTransactionEditForm.ParseParams;
115 < var
116 <  I: Integer;
117 <  st: string;
118 <  Value: TTransactionParams;
119 <
120 < begin
121 <  Value := [];
122 <  for I := 0 to TransactionParams.Lines.Count - 1 do
123 <  begin
124 <    st := LowerCase(Trim(TransactionParams.Lines[I]));
125 <    if st = '' then
126 <      continue;
127 <    if st = 'concurrency' then
128 <      Include(Value, concurrency)
129 <    else if st = 'read_committed' then
130 <      Include(Value, read_committed)
131 <    else if st = 'rec_version' then
132 <      Include(Value, rec_version)
133 <    else if st = 'nowait' then
134 <      Include(Value, nowait)
135 <    else if st = 'read' then
136 <      Include(Value, read)
137 <    else if st = 'write' then
138 <      Include(Value, write)
139 <    else if st = 'consistency' then
140 <      Include(Value, consistency)
141 <    else begin
142 <      Value := [];
143 <      break;
144 <    end;
145 <  end;
146 <  ClearParamSelection;
147 <  if Value = [concurrency, nowait] then
148 <    rbSnapShot.Checked := True
149 <  else if Value = [read_committed, rec_version, nowait] then
150 <    rbReadCommitted.Checked := True
151 <  else if Value = [read, consistency] then
152 <    rbReadOnlyTableStability.Checked := True
153 <  else if Value = [write, consistency] then
154 <    rbReadWriteTableStability.Checked := True
155 <  else
156 <    rbOtherButton.Checked := true
157 < end;
158 <
159 < procedure TIBTransactionEditForm.ClearParamSelection;
160 < begin
161 <  rbSnapShot.Checked := False;
162 <  rbReadCommitted.Checked := False;
163 <  rbReadOnlyTableStability.Checked := False;
164 <  rbReadWriteTableStability.Checked := False;
165 < end;
166 <
167 < procedure TIBTransactionEditForm.OKBtnClick(Sender: TObject);
168 < begin
169 <  ModalResult := mrNone;
170 <  if Transaction.Active then
171 <  begin
172 <    if MessageDlg(SCommitTransaction, mtConfirmation,
173 <      mbOkCancel, 0) <> mrOk then Exit;
174 <    Transaction.Rollback;
175 <  end;
176 <  ModalResult := mrOk;
177 < end;
178 <
179 < procedure TIBTransactionEditForm.FormCreate(Sender: TObject);
180 < begin
181 < //  HelpContext := hcDIBTransactionEdit;
182 < end;
183 <
184 < procedure TIBTransactionEditForm.HelpBtnClick(Sender: TObject);
185 < begin
186 <  Application.HelpContext(HelpContext);
187 < end;
188 <
189 < procedure TIBTransactionEditForm.rbSnapShotClick(Sender: TObject);
190 < begin
191 <  TransactionParams.clear;
192 <  TransactionParams.Lines.Add('concurrency'); { do not localize }
193 <  TransactionParams.Lines.Add('nowait'); { do not localize }
194 < end;
195 <
196 < procedure TIBTransactionEditForm.rbReadCommittedClick(Sender: TObject);
197 < begin
198 <  TransactionParams.clear;
199 <  TransactionParams.Lines.Add('read_committed'); { do not localize }
200 <  TransactionParams.Lines.Add('rec_version'); { do not localize }
201 <  TransactionParams.Lines.Add('nowait'); { do not localize }
202 < end;
203 <
204 < procedure TIBTransactionEditForm.rbReadOnlyTableStabilityClick(Sender: TObject);
205 < begin
206 <  TransactionParams.clear;
207 <  TransactionParams.Lines.Add('read'); { do not localize }
208 <  TransactionParams.Lines.Add('consistency'); { do not localize }
209 < end;
210 <
211 < procedure TIBTransactionEditForm.rbReadWriteTableStabilityClick(Sender: TObject);
212 < begin
213 <  TransactionParams.clear;
214 <  TransactionParams.Lines.Add('write'); { do not localize }
215 <  TransactionParams.Lines.Add('consistency'); { do not localize }
216 < end;
217 <
218 < procedure TIBTransactionEditForm.TransactionParamsClick(Sender: TObject);
219 < begin
220 <  ClearParamSelection;
221 < end;
222 <
223 < procedure TIBTransactionEditForm.TransactionParamsExit(Sender: TObject);
224 < begin
225 <  ParseParams;
226 < end;
227 <
228 <
229 < end.
1 > {************************************************************************}
2 > {                                                                        }
3 > {       Borland Delphi Visual Component Library                          }
4 > {       InterBase Express core components                                }
5 > {                                                                        }
6 > {       Copyright (c) 1998-2000 Inprise Corporation                      }
7 > {                                                                        }
8 > {    InterBase Express is based in part on the product                   }
9 > {    Free IB Components, written by Gregory H. Deatz for                 }
10 > {    Hoagland, Longo, Moran, Dunst & Doukas Company.                     }
11 > {    Free IB Components is used under license.                           }
12 > {                                                                        }
13 > {    The contents of this file are subject to the InterBase              }
14 > {    Public License Version 1.0 (the "License"); you may not             }
15 > {    use this file except in compliance with the License. You            }
16 > {    may obtain a copy of the License at http://www.Inprise.com/IPL.html }
17 > {    Software distributed under the License is distributed on            }
18 > {    an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either              }
19 > {    express or implied. See the License for the specific language       }
20 > {    governing rights and limitations under the License.                 }
21 > {    The Original Code was created by InterBase Software Corporation     }
22 > {       and its successors.                                              }
23 > {    Portions created by Inprise Corporation are Copyright (C) Inprise   }
24 > {       Corporation. All Rights Reserved.                                }
25 > {    Contributor(s): Jeff Overcash                                       }
26 > {                                                                        }
27 > {************************************************************************}
28 >
29 > unit IBTransactionEdit;
30 >
31 > {$MODE Delphi}
32 >
33 > interface
34 >
35 > uses
36 >  {Windows,} SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
37 >  StdCtrls, IBDataBase, IB, ExtCtrls, LResources;
38 >
39 > type
40 >
41 >  { TIBTransactionEditForm }
42 >
43 >  TIBTransactionEditForm = class(TForm)
44 >    GroupBox1: TGroupBox;
45 >    Cancelbtn: TButton;
46 >    OKBtn: TButton;
47 >    rbOtherButton: TRadioButton;
48 >    rbSnapShot: TRadioButton;
49 >    rbReadCommitted: TRadioButton;
50 >    rbReadOnlyTableStability: TRadioButton;
51 >    rbReadWriteTableStability: TRadioButton;
52 >    TransactionParams: TMemo;
53 >    Panel1: TPanel;
54 >    Label1: TLabel;
55 >    procedure OKBtnClick(Sender: TObject);
56 >    procedure rbSnapShotClick(Sender: TObject);
57 >    procedure rbReadCommittedClick(Sender: TObject);
58 >    procedure rbReadOnlyTableStabilityClick(Sender: TObject);
59 >    procedure rbReadWriteTableStabilityClick(Sender: TObject);
60 >    procedure FormCreate(Sender: TObject);
61 >    procedure HelpBtnClick(Sender: TObject);
62 >    procedure TransactionParamsClick(Sender: TObject);
63 >    procedure TransactionParamsExit(Sender: TObject);
64 >
65 >  private
66 >    { Private declarations }
67 >    Transaction: TIBTransaction;
68 >    function Edit: Boolean;
69 >    procedure ParseParams;
70 >    procedure ClearParamSelection;
71 >
72 >  public
73 >    { Public declarations }
74 >  end;
75 >
76 > var
77 >  IBTransactionEditForm: TIBTransactionEditForm;
78 >
79 >  function EditIBtransaction(Atransaction: TIBtransaction): Boolean;
80 >
81 > implementation
82 >
83 > uses FBMessages;
84 >
85 > {$R *.lfm}
86 >
87 > function EditIBtransaction(ATransaction: TIBtransaction): Boolean;
88 > begin
89 >  with TIBtransactionEditForm.Create(Application) do
90 >  try
91 >    Transaction := ATransaction;
92 >    Result := Edit;
93 >  finally
94 >    Free;
95 >  end;
96 > end;
97 >
98 > function TIBtransactionEditForm.Edit: Boolean;
99 > begin
100 >  TransactionParams.Lines := Transaction.Params;
101 >  ParseParams;
102 >  Result := False;
103 >  if ShowModal = mrOk then
104 >  begin
105 >    Transaction.Params := TransactionParams.Lines;
106 >    Result := True;
107 >  end;
108 > end;
109 >
110 > type
111 >  TTransactionParam = (concurrency, read_committed, rec_version, nowait,
112 >    consistency, read, write);
113 >  TTransactionParams = set of TTransactionParam;
114 >
115 > procedure TIBTransactionEditForm.ParseParams;
116 > var
117 >  I: Integer;
118 >  st: string;
119 >  Value: TTransactionParams;
120 >
121 > begin
122 >  Value := [];
123 >  for I := 0 to TransactionParams.Lines.Count - 1 do
124 >  begin
125 >    st := LowerCase(Trim(TransactionParams.Lines[I]));
126 >    if st = '' then
127 >      continue;
128 >    if st = 'concurrency' then
129 >      Include(Value, concurrency)
130 >    else if st = 'read_committed' then
131 >      Include(Value, read_committed)
132 >    else if st = 'rec_version' then
133 >      Include(Value, rec_version)
134 >    else if st = 'nowait' then
135 >      Include(Value, nowait)
136 >    else if st = 'read' then
137 >      Include(Value, read)
138 >    else if st = 'write' then
139 >      Include(Value, write)
140 >    else if st = 'consistency' then
141 >      Include(Value, consistency)
142 >    else begin
143 >      Value := [];
144 >      break;
145 >    end;
146 >  end;
147 >  ClearParamSelection;
148 >  if Value = [concurrency, nowait] then
149 >    rbSnapShot.Checked := True
150 >  else if Value = [read_committed, rec_version, nowait] then
151 >    rbReadCommitted.Checked := True
152 >  else if Value = [read, consistency] then
153 >    rbReadOnlyTableStability.Checked := True
154 >  else if Value = [write, consistency] then
155 >    rbReadWriteTableStability.Checked := True
156 >  else
157 >    rbOtherButton.Checked := true
158 > end;
159 >
160 > procedure TIBTransactionEditForm.ClearParamSelection;
161 > begin
162 >  rbSnapShot.Checked := False;
163 >  rbReadCommitted.Checked := False;
164 >  rbReadOnlyTableStability.Checked := False;
165 >  rbReadWriteTableStability.Checked := False;
166 > end;
167 >
168 > procedure TIBTransactionEditForm.OKBtnClick(Sender: TObject);
169 > begin
170 >  ModalResult := mrNone;
171 >  if Transaction.Active then
172 >  begin
173 >    if MessageDlg(SCommitTransaction, mtConfirmation,
174 >      mbOkCancel, 0) <> mrOk then Exit;
175 >    Transaction.Rollback;
176 >  end;
177 >  ModalResult := mrOk;
178 > end;
179 >
180 > procedure TIBTransactionEditForm.FormCreate(Sender: TObject);
181 > begin
182 > //  HelpContext := hcDIBTransactionEdit;
183 > end;
184 >
185 > procedure TIBTransactionEditForm.HelpBtnClick(Sender: TObject);
186 > begin
187 >  Application.HelpContext(HelpContext);
188 > end;
189 >
190 > procedure TIBTransactionEditForm.rbSnapShotClick(Sender: TObject);
191 > begin
192 >  TransactionParams.clear;
193 >  TransactionParams.Lines.Add('concurrency'); { do not localize }
194 >  TransactionParams.Lines.Add('nowait'); { do not localize }
195 > end;
196 >
197 > procedure TIBTransactionEditForm.rbReadCommittedClick(Sender: TObject);
198 > begin
199 >  TransactionParams.clear;
200 >  TransactionParams.Lines.Add('read_committed'); { do not localize }
201 >  TransactionParams.Lines.Add('rec_version'); { do not localize }
202 >  TransactionParams.Lines.Add('nowait'); { do not localize }
203 > end;
204 >
205 > procedure TIBTransactionEditForm.rbReadOnlyTableStabilityClick(Sender: TObject);
206 > begin
207 >  TransactionParams.clear;
208 >  TransactionParams.Lines.Add('read'); { do not localize }
209 >  TransactionParams.Lines.Add('consistency'); { do not localize }
210 > end;
211 >
212 > procedure TIBTransactionEditForm.rbReadWriteTableStabilityClick(Sender: TObject);
213 > begin
214 >  TransactionParams.clear;
215 >  TransactionParams.Lines.Add('write'); { do not localize }
216 >  TransactionParams.Lines.Add('consistency'); { do not localize }
217 > end;
218 >
219 > procedure TIBTransactionEditForm.TransactionParamsClick(Sender: TObject);
220 > begin
221 >  ClearParamSelection;
222 > end;
223 >
224 > procedure TIBTransactionEditForm.TransactionParamsExit(Sender: TObject);
225 > begin
226 >  ParseParams;
227 > end;
228 >
229 >
230 > end.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines