translation, docs

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@934 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2009-08-17 17:50:27 +00:00
parent 522d4d9dc1
commit 140121f8ac
27 changed files with 2262 additions and 591 deletions

File diff suppressed because it is too large Load Diff

View File

@ -65,7 +65,7 @@ type
implementation implementation
uses SysUtils, Forms, FDualLst, VCLUtils, LCLStrConsts; uses SysUtils, Forms, FDualLst, VCLUtils, LCLStrConsts, rxconst;
{ TDualListDialog } { TDualListDialog }
@ -76,11 +76,12 @@ begin
FShowHelp := True; FShowHelp := True;
FList1 := TStringList.Create; FList1 := TStringList.Create;
FList2 := TStringList.Create; FList2 := TStringList.Create;
{ FLabel1Caption := LoadStr(SDualListSrcCaption); FLabel1Caption := SDualListSrcCaption;
FLabel2Caption := LoadStr(SDualListDestCaption);} FLabel2Caption := SDualListDestCaption;
OkBtnCaption := rsmbOK; OkBtnCaption := rsmbOK;
CancelBtnCaption := rsmbCancel; CancelBtnCaption := rsmbCancel;
HelpBtnCaption := rsmbHelp; HelpBtnCaption := rsmbHelp;
Title:=SDualListCaption;
end; end;
destructor TDualListDialog.Destroy; destructor TDualListDialog.Destroy;
@ -102,12 +103,12 @@ end;
function TDualListDialog.IsLabel1Custom: Boolean; function TDualListDialog.IsLabel1Custom: Boolean;
begin begin
Result := true;//CompareStr(Label1Caption, LoadStr(SDualListSrcCaption)) <> 0; Result := CompareStr(Label1Caption, SDualListSrcCaption) <> 0;
end; end;
function TDualListDialog.IsLabel2Custom: Boolean; function TDualListDialog.IsLabel2Custom: Boolean;
begin begin
Result := true;//CompareStr(Label2Caption, LoadStr(SDualListDestCaption)) <> 0; Result := CompareStr(Label2Caption, SDualListDestCaption) <> 0;
end; end;
function TDualListDialog.IsOkBtnCustom: Boolean; function TDualListDialog.IsOkBtnCustom: Boolean;
@ -143,14 +144,16 @@ begin
if Self.Title <> '' then Form.Caption := Self.Title; if Self.Title <> '' then Form.Caption := Self.Title;
if Label1Caption <> '' then SrcLabel.Caption := Label1Caption; if Label1Caption <> '' then SrcLabel.Caption := Label1Caption;
if Label2Caption <> '' then DstLabel.Caption := Label2Caption; if Label2Caption <> '' then DstLabel.Caption := Label2Caption;
OkBtn.Caption := OkBtnCaption; ButtonPanel1.OKButton.Caption := OkBtnCaption;
CancelBtn.Caption := CancelBtnCaption; ButtonPanel1.CancelButton.Caption := CancelBtnCaption;
HelpBtn.Caption := HelpBtnCaption; ButtonPanel1.HelpButton.Caption := HelpBtnCaption;
HelpContext := Self.HelpContext; HelpContext := Self.HelpContext;
HelpBtn.HelpContext := HelpContext; ButtonPanel1.HelpButton.HelpContext := HelpContext;
end; end;
Result := (Form.ShowModal = mrOk); Result := (Form.ShowModal = mrOk);
if Result then begin if Result then
begin
List1 := Form.SrcList.Items; List1 := Form.SrcList.Items;
List2 := Form.DstList.Items; List2 := Form.DstList.Items;
end; end;

View File

@ -44,9 +44,13 @@ uses
; ;
type type
{ TFBDataSetSortEngine }
TFBDataSetSortEngine = class(TExDBGridSortEngine) TFBDataSetSortEngine = class(TExDBGridSortEngine)
public public
procedure Sort(Field:TField; ADataSet:TDataSet; Asc:boolean);override; procedure Sort(Field:TField; ADataSet:TDataSet; Asc:boolean);override;
procedure SortList(ListField:string; ADataSet:TDataSet; Asc:boolean);override;
end; end;
implementation implementation
@ -58,6 +62,13 @@ begin
(ADataSet as TFBDataSet).SortOnField(Field.FieldName, Asc); (ADataSet as TFBDataSet).SortOnField(Field.FieldName, Asc);
end; end;
procedure TFBDataSetSortEngine.SortList(ListField: string; ADataSet: TDataSet;
Asc: boolean);
begin
if Assigned(ADataSet) then
(ADataSet as TFBDataSet).SortOnFields(ListField, Asc);
end;
initialization initialization
RegisterExDBGridSortEngine(TFBDataSetSortEngine, TFBDataSet); RegisterExDBGridSortEngine(TFBDataSetSortEngine, TFBDataSet);
end. end.

View File

@ -1,51 +1,53 @@
object DualListForm: TDualListForm object DualListForm: TDualListForm
Left = 311 Left = 428
Height = 269 Height = 344
Top = 225 Top = 233
Width = 392 Width = 552
HorzScrollBar.Page = 391 ActiveControl = IncBtn
VertScrollBar.Page = 268
ActiveControl = SrcList
BorderIcons = [] BorderIcons = []
BorderStyle = bsDialog
Caption = 'DualListForm' Caption = 'DualListForm'
ClientHeight = 269 ClientHeight = 344
ClientWidth = 392 ClientWidth = 552
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
OnActivate = ListClick OnActivate = ListClick
OnCreate = FormCreate
OnShow = ListClick OnShow = ListClick
Position = poScreenCenter Position = poScreenCenter
object Bevel1: TBevel LCLVersion = '0.9.27'
Left = 4
Height = 224
Top = 7
Width = 384
end
object SrcLabel: TLabel object SrcLabel: TLabel
Left = 12 AnchorSideLeft.Control = Owner
Height = 14 AnchorSideTop.Control = Owner
Top = 12 Left = 6
Width = 34 Height = 18
Top = 6
Width = 50
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'Source' Caption = 'Source'
ParentColor = False ParentColor = False
end end
object DstLabel: TLabel object DstLabel: TLabel
Left = 216 AnchorSideLeft.Control = DstList
Height = 14 AnchorSideTop.Control = Owner
Top = 12 Left = 304
Width = 23 Height = 18
Top = 6
Width = 34
BorderSpacing.Top = 6
Caption = 'Dest' Caption = 'Dest'
ParentColor = False ParentColor = False
end end
object SrcList: TListBox object SrcList: TListBox
Left = 12 AnchorSideLeft.Control = Owner
Height = 194 AnchorSideTop.Control = SrcLabel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = IncAllBtn
AnchorSideBottom.Control = ButtonPanel1
Left = 6
Height = 260
Top = 30 Top = 30
Width = 164 Width = 242
ItemHeight = 13 Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
ItemHeight = 0
MultiSelect = True MultiSelect = True
OnClick = ListClick OnClick = ListClick
OnDblClick = IncBtnClick OnDblClick = IncBtnClick
@ -54,13 +56,23 @@ object DualListForm: TDualListForm
ShowHint = True ShowHint = True
Sorted = True Sorted = True
TabOrder = 0 TabOrder = 0
TopIndex = -1
end end
object DstList: TListBox object DstList: TListBox
Left = 216 AnchorSideLeft.Control = IncAllBtn
Height = 194 AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = DstLabel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = ButtonPanel1
Left = 304
Height = 260
Top = 30 Top = 30
Width = 164 Width = 242
ItemHeight = 13 Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
ItemHeight = 0
MultiSelect = True MultiSelect = True
OnClick = ListClick OnClick = ListClick
OnDblClick = ExclBtnClick OnDblClick = ExclBtnClick
@ -69,93 +81,95 @@ object DualListForm: TDualListForm
ShowHint = True ShowHint = True
Sorted = True Sorted = True
TabOrder = 5 TabOrder = 5
TopIndex = -1
end end
object IncBtn: TButton object IncBtn: TButton
Left = 183 AnchorSideLeft.Control = IncAllBtn
Height = 26 AnchorSideTop.Control = SrcList
Top = 32 AnchorSideRight.Control = IncAllBtn
Width = 26 AnchorSideRight.Side = asrBottom
Left = 254
Height = 37
Top = 36
Width = 44
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Top = 6
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = '>' Caption = '>'
Font.Color = clBlack Font.Color = clBlack
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold] Font.Style = [fsBold]
OnClick = IncBtnClick OnClick = IncBtnClick
ParentFont = False
TabOrder = 1 TabOrder = 1
end end
object IncAllBtn: TButton object IncAllBtn: TButton
Left = 183 AnchorSideLeft.Control = Owner
Height = 26 AnchorSideLeft.Side = asrCenter
Top = 64 AnchorSideTop.Control = IncBtn
Width = 26 AnchorSideTop.Side = asrBottom
Left = 254
Height = 37
Top = 79
Width = 44
AutoSize = True
BorderSpacing.Top = 6
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = '>>' Caption = '>>'
Font.Color = clBlack Font.Color = clBlack
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold] Font.Style = [fsBold]
OnClick = IncAllBtnClick OnClick = IncAllBtnClick
ParentFont = False
TabOrder = 2 TabOrder = 2
end end
object ExclBtn: TButton object ExclBtn: TButton
Left = 183 AnchorSideLeft.Control = IncAllBtn
Height = 26 AnchorSideTop.Control = IncAllBtn
Top = 97 AnchorSideTop.Side = asrBottom
Width = 26 AnchorSideRight.Control = IncAllBtn
AnchorSideRight.Side = asrBottom
Left = 254
Height = 37
Top = 122
Width = 44
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Top = 6
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = '<' Caption = '<'
Font.Color = clBlack Font.Color = clBlack
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold] Font.Style = [fsBold]
OnClick = ExclBtnClick OnClick = ExclBtnClick
ParentFont = False
TabOrder = 3 TabOrder = 3
end end
object ExclAllBtn: TButton object ExclAllBtn: TButton
Left = 183 AnchorSideLeft.Control = IncAllBtn
Height = 26 AnchorSideTop.Control = ExclBtn
Top = 129 AnchorSideTop.Side = asrBottom
Width = 26 AnchorSideRight.Control = IncAllBtn
AnchorSideRight.Side = asrBottom
Left = 254
Height = 37
Top = 165
Width = 44
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Top = 6
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = '<<' Caption = '<<'
Font.Color = clBlack Font.Color = clBlack
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold] Font.Style = [fsBold]
OnClick = ExclAllBtnClick OnClick = ExclAllBtnClick
ParentFont = False
TabOrder = 4 TabOrder = 4
end end
object OkBtn: TButton object ButtonPanel1: TButtonPanel
Left = 138 Left = 6
Height = 25 Height = 42
Top = 239 Top = 296
Width = 77 Width = 540
BorderSpacing.InnerBorder = 4
Caption = 'OK'
Default = True
ModalResult = 1
TabOrder = 6 TabOrder = 6
end ShowButtons = [pbOK, pbCancel, pbHelp]
object CancelBtn: TButton
Left = 221
Height = 25
Top = 239
Width = 77
BorderSpacing.InnerBorder = 4
Cancel = True
Caption = 'Cancel'
ModalResult = 2
TabOrder = 7
end
object HelpBtn: TButton
Left = 310
Height = 25
Top = 239
Width = 77
BorderSpacing.InnerBorder = 4
Caption = 'Help'
OnClick = HelpBtnClick
TabOrder = 8
end end
end end

View File

@ -1,46 +1,61 @@
{ ��� - ���� ��������, ������������� ��������� lazarus } { ��� - ���� ��������, ������������� ��������� lazarus }
LazarusResources.Add('TDualListForm','FORMDATA',[ LazarusResources.Add('TDualListForm','FORMDATA',[
'TPF0'#13'TDualListForm'#12'DualListForm'#4'Left'#3'7'#1#6'Height'#3#13#1#3'T' 'TPF0'#13'TDualListForm'#12'DualListForm'#4'Left'#3#172#1#6'Height'#3'X'#1#3
+'op'#3#225#0#5'Width'#3#136#1#18'HorzScrollBar.Page'#3#135#1#18'VertScrollBa' +'Top'#3#233#0#5'Width'#3'('#2#13'ActiveControl'#7#6'IncBtn'#11'BorderIcons'
+'r.Page'#3#12#1#13'ActiveControl'#7#7'SrcList'#11'BorderIcons'#11#0#11'Borde' +#11#0#7'Caption'#6#12'DualListForm'#12'ClientHeight'#3'X'#1#11'ClientWidth'#3
+'rStyle'#7#8'bsDialog'#7'Caption'#6#12'DualListForm'#12'ClientHeight'#3#13#1 +'('#2#10'OnActivate'#7#9'ListClick'#6'OnShow'#7#9'ListClick'#8'Position'#7#14
+#11'ClientWidth'#3#136#1#11'Font.Height'#2#245#9'Font.Name'#6#13'MS Sans Ser' +'poScreenCenter'#10'LCLVersion'#6#6'0.9.27'#0#6'TLabel'#8'SrcLabel'#22'Ancho'
+'if'#10'Font.Style'#11#6'fsBold'#0#10'OnActivate'#7#9'ListClick'#8'OnCreate' +'rSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#5'Owner'#4'Left'#2
+#7#10'FormCreate'#6'OnShow'#7#9'ListClick'#8'Position'#7#14'poScreenCenter'#0 +#6#6'Height'#2#18#3'Top'#2#6#5'Width'#2'2'#18'BorderSpacing.Left'#2#6#17'Bor'
+#6'TBevel'#6'Bevel1'#4'Left'#2#4#6'Height'#3#224#0#3'Top'#2#7#5'Width'#3#128 +'derSpacing.Top'#2#6#7'Caption'#6#6'Source'#11'ParentColor'#8#0#0#6'TLabel'#8
+#1#0#0#6'TLabel'#8'SrcLabel'#4'Left'#2#12#6'Height'#2#14#3'Top'#2#12#5'Width' +'DstLabel'#22'AnchorSideLeft.Control'#7#7'DstList'#21'AnchorSideTop.Control'
+#2'"'#7'Caption'#6#6'Source'#11'ParentColor'#8#0#0#6'TLabel'#8'DstLabel'#4'L' +#7#5'Owner'#4'Left'#3'0'#1#6'Height'#2#18#3'Top'#2#6#5'Width'#2'"'#17'Border'
+'eft'#3#216#0#6'Height'#2#14#3'Top'#2#12#5'Width'#2#23#7'Caption'#6#4'Dest' +'Spacing.Top'#2#6#7'Caption'#6#4'Dest'#11'ParentColor'#8#0#0#8'TListBox'#7'S'
+#11'ParentColor'#8#0#0#8'TListBox'#7'SrcList'#4'Left'#2#12#6'Height'#3#194#0 +'rcList'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#8
+#3'Top'#2#30#5'Width'#3#164#0#10'ItemHeight'#2#13#11'MultiSelect'#9#7'OnClic' +'SrcLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'
+'k'#7#9'ListClick'#10'OnDblClick'#7#11'IncBtnClick'#9'OnKeyDown'#7#14'SrcLis' +#7#9'IncAllBtn'#24'AnchorSideBottom.Control'#7#12'ButtonPanel1'#4'Left'#2#6#6
+'tKeyDown'#14'ParentShowHint'#8#8'ShowHint'#9#6'Sorted'#9#8'TabOrder'#2#0#0#0 +'Height'#3#4#1#3'Top'#2#30#5'Width'#3#242#0#7'Anchors'#11#5'akTop'#6'akLeft'
+#8'TListBox'#7'DstList'#4'Left'#3#216#0#6'Height'#3#194#0#3'Top'#2#30#5'Widt' +#7'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#11
+'h'#3#164#0#10'ItemHeight'#2#13#11'MultiSelect'#9#7'OnClick'#7#9'ListClick' +'MultiSelect'#9#7'OnClick'#7#9'ListClick'#10'OnDblClick'#7#11'IncBtnClick'#9
+#10'OnDblClick'#7#12'ExclBtnClick'#9'OnKeyDown'#7#14'DstListKeyDown'#14'Pare' +'OnKeyDown'#7#14'SrcListKeyDown'#14'ParentShowHint'#8#8'ShowHint'#9#6'Sorted'
+'ntShowHint'#8#8'ShowHint'#9#6'Sorted'#9#8'TabOrder'#2#5#0#0#7'TButton'#6'In' +#9#8'TabOrder'#2#0#8'TopIndex'#2#255#0#0#8'TListBox'#7'DstList'#22'AnchorSid'
+'cBtn'#4'Left'#3#183#0#6'Height'#2#26#3'Top'#2' '#5'Width'#2#26#25'BorderSpa' +'eLeft.Control'#7#9'IncAllBtn'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'Anc'
+'cing.InnerBorder'#2#4#7'Caption'#6#1'>'#10'Font.Color'#7#7'clBlack'#11'Font' +'horSideTop.Control'#7#8'DstLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#23
+'.Height'#2#244#9'Font.Name'#6#13'MS Sans Serif'#10'Font.Style'#11#6'fsBold' +'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'
+#0#7'OnClick'#7#11'IncBtnClick'#8'TabOrder'#2#1#0#0#7'TButton'#9'IncAllBtn'#4 +#24'AnchorSideBottom.Control'#7#12'ButtonPanel1'#4'Left'#3'0'#1#6'Height'#3#4
+'Left'#3#183#0#6'Height'#2#26#3'Top'#2'@'#5'Width'#2#26#25'BorderSpacing.Inn' +#1#3'Top'#2#30#5'Width'#3#242#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8
+'erBorder'#2#4#7'Caption'#6#2'>>'#10'Font.Color'#7#7'clBlack'#11'Font.Height' +'akBottom'#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#11'MultiSelect'
+#2#244#9'Font.Name'#6#13'MS Sans Serif'#10'Font.Style'#11#6'fsBold'#0#7'OnCl' +#9#7'OnClick'#7#9'ListClick'#10'OnDblClick'#7#12'ExclBtnClick'#9'OnKeyDown'#7
+'ick'#7#14'IncAllBtnClick'#8'TabOrder'#2#2#0#0#7'TButton'#7'ExclBtn'#4'Left' +#14'DstListKeyDown'#14'ParentShowHint'#8#8'ShowHint'#9#6'Sorted'#9#8'TabOrde'
+#3#183#0#6'Height'#2#26#3'Top'#2'a'#5'Width'#2#26#25'BorderSpacing.InnerBord' +'r'#2#5#8'TopIndex'#2#255#0#0#7'TButton'#6'IncBtn'#22'AnchorSideLeft.Control'
+'er'#2#4#7'Caption'#6#1'<'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#244 +#7#9'IncAllBtn'#21'AnchorSideTop.Control'#7#7'SrcList'#23'AnchorSideRight.Co'
+#9'Font.Name'#6#13'MS Sans Serif'#10'Font.Style'#11#6'fsBold'#0#7'OnClick'#7 +'ntrol'#7#9'IncAllBtn'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#254
+#12'ExclBtnClick'#8'TabOrder'#2#3#0#0#7'TButton'#10'ExclAllBtn'#4'Left'#3#183 +#0#6'Height'#2'%'#3'Top'#2'$'#5'Width'#2','#7'Anchors'#11#5'akTop'#6'akLeft'
+#0#6'Height'#2#26#3'Top'#3#129#0#5'Width'#2#26#25'BorderSpacing.InnerBorder' +#7'akRight'#0#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#25'BorderSpacing.Inner'
+#2#4#7'Caption'#6#2'<<'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#244#9 +'Border'#2#4#7'Caption'#6#1'>'#10'Font.Color'#7#7'clBlack'#10'Font.Style'#11
+'Font.Name'#6#13'MS Sans Serif'#10'Font.Style'#11#6'fsBold'#0#7'OnClick'#7#15 +#6'fsBold'#0#7'OnClick'#7#11'IncBtnClick'#10'ParentFont'#8#8'TabOrder'#2#1#0
+'ExclAllBtnClick'#8'TabOrder'#2#4#0#0#7'TButton'#5'OkBtn'#4'Left'#3#138#0#6 +#0#7'TButton'#9'IncAllBtn'#22'AnchorSideLeft.Control'#7#5'Owner'#19'AnchorSi'
+'Height'#2#25#3'Top'#3#239#0#5'Width'#2'M'#25'BorderSpacing.InnerBorder'#2#4 +'deLeft.Side'#7#9'asrCenter'#21'AnchorSideTop.Control'#7#6'IncBtn'#18'Anchor'
+#7'Caption'#6#2'OK'#7'Default'#9#11'ModalResult'#2#1#8'TabOrder'#2#6#0#0#7'T' +'SideTop.Side'#7#9'asrBottom'#4'Left'#3#254#0#6'Height'#2'%'#3'Top'#2'O'#5'W'
+'Button'#9'CancelBtn'#4'Left'#3#221#0#6'Height'#2#25#3'Top'#3#239#0#5'Width' +'idth'#2','#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#25'BorderSpacing.InnerBo'
+#2'M'#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Cancel'#11 +'rder'#2#4#7'Caption'#6#2'>>'#10'Font.Color'#7#7'clBlack'#10'Font.Style'#11#6
+'ModalResult'#2#2#8'TabOrder'#2#7#0#0#7'TButton'#7'HelpBtn'#4'Left'#3'6'#1#6 +'fsBold'#0#7'OnClick'#7#14'IncAllBtnClick'#10'ParentFont'#8#8'TabOrder'#2#2#0
+'Height'#2#25#3'Top'#3#239#0#5'Width'#2'M'#25'BorderSpacing.InnerBorder'#2#4 +#0#7'TButton'#7'ExclBtn'#22'AnchorSideLeft.Control'#7#9'IncAllBtn'#21'Anchor'
+#7'Caption'#6#4'Help'#7'OnClick'#7#12'HelpBtnClick'#8'TabOrder'#2#8#0#0#0 +'SideTop.Control'#7#9'IncAllBtn'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'An'
+'chorSideRight.Control'#7#9'IncAllBtn'#20'AnchorSideRight.Side'#7#9'asrBotto'
+'m'#4'Left'#3#254#0#6'Height'#2'%'#3'Top'#2'z'#5'Width'#2','#7'Anchors'#11#5
+'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#25'Bo'
+'rderSpacing.InnerBorder'#2#4#7'Caption'#6#1'<'#10'Font.Color'#7#7'clBlack'
+#10'Font.Style'#11#6'fsBold'#0#7'OnClick'#7#12'ExclBtnClick'#10'ParentFont'#8
+#8'TabOrder'#2#3#0#0#7'TButton'#10'ExclAllBtn'#22'AnchorSideLeft.Control'#7#9
+'IncAllBtn'#21'AnchorSideTop.Control'#7#7'ExclBtn'#18'AnchorSideTop.Side'#7#9
+'asrBottom'#23'AnchorSideRight.Control'#7#9'IncAllBtn'#20'AnchorSideRight.Si'
+'de'#7#9'asrBottom'#4'Left'#3#254#0#6'Height'#2'%'#3'Top'#3#165#0#5'Width'#2
+','#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#17'BorderSpa'
+'cing.Top'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#2'<<'#10'Font.'
+'Color'#7#7'clBlack'#10'Font.Style'#11#6'fsBold'#0#7'OnClick'#7#15'ExclAllBt'
+'nClick'#10'ParentFont'#8#8'TabOrder'#2#4#0#0#12'TButtonPanel'#12'ButtonPane'
+'l1'#4'Left'#2#6#6'Height'#2'*'#3'Top'#3'('#1#5'Width'#3#28#2#8'TabOrder'#2#6
+#11'ShowButtons'#11#4'pbOK'#8'pbCancel'#6'pbHelp'#0#0#0#0
]); ]);

View File

@ -0,0 +1,7 @@
TDUALLISTFORM.CAPTION=DualListForm
TDUALLISTFORM.SRCLABEL.CAPTION=Source
TDUALLISTFORM.DSTLABEL.CAPTION=Dest
TDUALLISTFORM.INCBTN.CAPTION=>
TDUALLISTFORM.INCALLBTN.CAPTION=>>
TDUALLISTFORM.EXCLBTN.CAPTION=<
TDUALLISTFORM.EXCLALLBTN.CAPTION=<<

View File

@ -14,10 +14,14 @@ unit fduallst;
interface interface
uses SysUtils, LCLIntf, Messages, Classes, Graphics, Controls, Forms, Dialogs, uses SysUtils, LCLIntf, Messages, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Buttons, LResources, LCLType; StdCtrls, ExtCtrls, Buttons, LResources, LCLType, ButtonPanel;
type type
{ TDualListForm }
TDualListForm = class(TForm) TDualListForm = class(TForm)
ButtonPanel1: TButtonPanel;
SrcList: TListBox; SrcList: TListBox;
DstList: TListBox; DstList: TListBox;
SrcLabel: TLabel; SrcLabel: TLabel;
@ -26,10 +30,6 @@ type
IncAllBtn: TButton; IncAllBtn: TButton;
ExclBtn: TButton; ExclBtn: TButton;
ExclAllBtn: TButton; ExclAllBtn: TButton;
OkBtn: TButton;
CancelBtn: TButton;
HelpBtn: TButton;
Bevel1: TBevel;
procedure IncBtnClick(Sender: TObject); procedure IncBtnClick(Sender: TObject);
procedure IncAllBtnClick(Sender: TObject); procedure IncAllBtnClick(Sender: TObject);
procedure ExclBtnClick(Sender: TObject); procedure ExclBtnClick(Sender: TObject);
@ -45,14 +45,11 @@ type
procedure DstListKeyDown(Sender: TObject; var Key: Word; procedure DstListKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); Shift: TShiftState);
procedure HelpBtnClick(Sender: TObject); procedure HelpBtnClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ListClick(Sender: TObject); procedure ListClick(Sender: TObject);
private private
{ Private declarations } { Private declarations }
function GetShowHelp: Boolean; function GetShowHelp: Boolean;
procedure SetShowHelp(Value: Boolean); procedure SetShowHelp(AValue: Boolean);
protected
procedure CreateParams(var Params: TCreateParams); override;
public public
{ Public declarations } { Public declarations }
procedure SetButtons; procedure SetButtons;
@ -67,11 +64,6 @@ uses VCLUtils, BOXPROCS;
{ TDualListForm } { TDualListForm }
procedure TDualListForm.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
end;
procedure TDualListForm.SetButtons; procedure TDualListForm.SetButtons;
var var
SrcEmpty, DstEmpty: Boolean; SrcEmpty, DstEmpty: Boolean;
@ -86,28 +78,15 @@ end;
function TDualListForm.GetShowHelp: Boolean; function TDualListForm.GetShowHelp: Boolean;
begin begin
Result := (HelpBtn.Enabled) and (HelpBtn.Visible); Result := pbHelp in ButtonPanel1.ShowButtons;
end; end;
procedure TDualListForm.SetShowHelp(Value: Boolean); procedure TDualListForm.SetShowHelp(AValue: Boolean);
const
x_FrmBtn = 16;
x_GrpBtn = 15;
x_BtnBtn = 8;
begin begin
with HelpBtn do begin if AValue then
Enabled := Value; ButtonPanel1.ShowButtons:=ButtonPanel1.ShowButtons + [pbHelp]
Visible := Value; else
end; ButtonPanel1.ShowButtons:=ButtonPanel1.ShowButtons - [pbHelp];
if Value then begin
HelpBtn.Left := Width - HelpBtn.Width - x_FrmBtn;
CancelBtn.Left := HelpBtn.Left - CancelBtn.Width - x_GrpBtn;
OkBtn.Left := CancelBtn.Left - OkBtn.Width - x_BtnBtn;;
end
else begin
CancelBtn.Left := Width - CancelBtn.Width - x_FrmBtn;
OkBtn.Left := CancelBtn.Left - OkBtn.Width - x_BtnBtn;;
end;
end; end;
procedure TDualListForm.IncBtnClick(Sender: TObject); procedure TDualListForm.IncBtnClick(Sender: TObject);
@ -207,14 +186,6 @@ begin
Application.HelpContext(HelpContext); Application.HelpContext(HelpContext);
end; end;
procedure TDualListForm.FormCreate(Sender: TObject);
begin
{ OkBtn.Caption := SOKButton;
CancelBtn.Caption := SCancelButton;
HelpBtn.Caption := SHelpButton;}
if NewStyleControls then Font.Style := [];
end;
procedure TDualListForm.ListClick(Sender: TObject); procedure TDualListForm.ListClick(Sender: TObject);
begin begin
SetButtons; SetButtons;

View File

@ -1,10 +1,30 @@
msgid "" msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8" msgstr "Content-Type: text/plain; charset=UTF-8"
#: rxconst.savaliablebuttons
msgid "Avaliable buttons"
msgstr ""
#: rxconst.sbrowse #: rxconst.sbrowse
msgid "Browse" msgid "Browse"
msgstr "" msgstr ""
#: rxconst.sbuttonalign
msgid "Button align"
msgstr ""
#: rxconst.sbuttonalign1
msgid "None"
msgstr ""
#: rxconst.sbuttonalign2
msgid "Left"
msgstr ""
#: rxconst.sbuttonalign3
msgid "Rignt"
msgstr ""
#: rxconst.sdatedlgtitle #: rxconst.sdatedlgtitle
msgid "Select a Date" msgid "Select a Date"
msgstr "" msgstr ""
@ -17,10 +37,26 @@ msgstr ""
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#: rxconst.sduallistcaption
msgid "Dual list dialog"
msgstr ""
#: rxconst.sduallistdestcaption
msgid "Destination"
msgstr ""
#: rxconst.sduallistsrccaption
msgid "Source"
msgstr ""
#: rxconst.sfilenotexec #: rxconst.sfilenotexec
msgid "File specified is not an executable file, dynamic-link library, or icon file" msgid "File specified is not an executable file, dynamic-link library, or icon file"
msgstr "" msgstr ""
#: rxconst.sflatbuttons
msgid "Flat buttons"
msgstr ""
#: rxconst.sloadliberror #: rxconst.sloadliberror
msgid "Could not load '%s' library" msgid "Could not load '%s' library"
msgstr "" msgstr ""
@ -37,6 +73,10 @@ msgstr ""
msgid "Function not yet implemented" msgid "Function not yet implemented"
msgstr "" msgstr ""
#: rxconst.soptions
msgid "Options"
msgstr ""
#: rxconst.sprevmonth #: rxconst.sprevmonth
msgid "Previous Month|" msgid "Previous Month|"
msgstr "" msgstr ""
@ -45,10 +85,46 @@ msgstr ""
msgid "Previous Year|" msgid "Previous Year|"
msgstr "" msgstr ""
#: rxconst.sshowcaption
msgid "Show caption"
msgstr ""
#: rxconst.sshowhint
msgid "Show hint"
msgstr ""
#: rxconst.stocurdate #: rxconst.stocurdate
msgid "Set current date" msgid "Set current date"
msgstr "" msgstr ""
#: rxconst.stoolbarstyle
msgid "Tool bar style"
msgstr ""
#: rxconst.stoolbarstyle1
msgid "Standart"
msgstr ""
#: rxconst.stoolbarstyle2
msgid "Windows XP"
msgstr ""
#: rxconst.stoolbarstyle3
msgid "Native"
msgstr ""
#: rxconst.stoolpanelsetup
msgid "Tool panel setup"
msgstr ""
#: rxconst.stransparent
msgid "Transparent"
msgstr ""
#: rxconst.svisiblebuttons
msgid "Visible buttons"
msgstr ""
#: rxconst.swindowsicofiles #: rxconst.swindowsicofiles
msgid "Windows Ico files (*.ico)|*.ico|All files (*.*)|*.*" msgid "Windows Ico files (*.ico)|*.ico|All files (*.*)|*.*"
msgstr "" msgstr ""

View File

@ -0,0 +1,131 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
#: rxconst.savaliablebuttons
msgid "Avaliable buttons"
msgstr "Доступные кнопки"
#: rxconst.sbrowse
msgid "Browse"
msgstr "Обзор"
#: rxconst.sbuttonalign
msgid "Button align"
msgstr "Выравнивание кнопок"
#: rxconst.sbuttonalign1
msgid "None"
msgstr "Нет"
#: rxconst.sbuttonalign2
msgid "Left"
msgstr "Влево"
#: rxconst.sbuttonalign3
msgid "Rignt"
msgstr "Вправо"
#: rxconst.sdatedlgtitle
msgid "Select a Date"
msgstr "Выберите дату"
#: rxconst.sdefaultfilter
msgid "All files (*.*)|*.*"
msgstr "Все файлы (*.*)|*.*"
#: rxconst.sdetails
msgid "Details"
msgstr "Подробно"
#: rxconst.sduallistcaption
msgid "Dual list dialog"
msgstr "Управление списками"
#: rxconst.sduallistdestcaption
msgid "Destination"
msgstr "Выбор"
#: rxconst.sduallistsrccaption
msgid "Source"
msgstr "Источник"
#: rxconst.sfilenotexec
msgid "File specified is not an executable file, dynamic-link library, or icon file"
msgstr "Указанный файл не исполняемый, не библиотека и не иконка"
#: rxconst.sflatbuttons
msgid "Flat buttons"
msgstr "Плавающие кнопки"
#: rxconst.sloadliberror
msgid "Could not load '%s' library"
msgstr "Невозможно загрузить библиотеку '%s'"
#: rxconst.snextmonth
msgid "Next Month|"
msgstr "Следующий месяц|"
#: rxconst.snextyear
msgid "Next Year|"
msgstr "Следующий год|"
#: rxconst.snotimplemented
msgid "Function not yet implemented"
msgstr "Функция не реализована"
#: rxconst.soptions
msgid "Options"
msgstr "Параметры"
#: rxconst.sprevmonth
msgid "Previous Month|"
msgstr "Превыдущий месяц|"
#: rxconst.sprevyear
msgid "Previous Year|"
msgstr "Превыдущий год|"
#: rxconst.sshowcaption
msgid "Show caption"
msgstr "Отображать заголовок"
#: rxconst.sshowhint
msgid "Show hint"
msgstr "Отображать подсказки"
#: rxconst.stocurdate
msgid "Set current date"
msgstr "Установть текущую дату"
#: rxconst.stoolbarstyle
msgid "Tool bar style"
msgstr "Стиль панели инструментов"
#: rxconst.stoolbarstyle1
msgid "Standart"
msgstr "Стандартный"
#: rxconst.stoolbarstyle2
msgid "Windows XP"
msgstr "Windows XP"
#: rxconst.stoolbarstyle3
msgid "Native"
msgstr "Из текущей темы"
#: rxconst.stoolpanelsetup
msgid "Tool panel setup"
msgstr "Настройка панели инструментов"
#: rxconst.stransparent
msgid "Transparent"
msgstr "Прозрачно"
#: rxconst.svisiblebuttons
msgid "Visible buttons"
msgstr "Отображаемые конпки"
#: rxconst.swindowsicofiles
msgid "Windows Ico files (*.ico)|*.ico|All files (*.*)|*.*"
msgstr "Файлы иконок Windows (*.ico)|*.ico|Все файлы (*.*)|*.*"

View File

@ -14,7 +14,7 @@ msgid "calc"
msgstr "" msgstr ""
#: rxdconst.scapturefilter #: rxdconst.scapturefilter
msgid "Элементы уп#209�авления захвачены фильт#209�ом" msgid "Control locked by filter"
msgstr "" msgstr ""
#: rxdconst.schangepassword #: rxdconst.schangepassword
@ -62,7 +62,7 @@ msgid "Error message"
msgstr "" msgstr ""
#: rxdconst.sexprbadcompare #: rxdconst.sexprbadcompare
msgid "Опе#209�ации с#209�авнения т#209�ебуют наличия поля и константы" msgid "Compare opertion need fielad and const"
msgstr "" msgstr ""
#: rxdconst.sexprbadfield #: rxdconst.sexprbadfield
@ -74,7 +74,7 @@ msgid "NULL-values enabled in '=' и '<>'"
msgstr "" msgstr ""
#: rxdconst.sexprexpected #: rxdconst.sexprexpected
msgid "Ожидалось вы#209�ажение, а вст#209�ечено %s" msgid "Error %s"
msgstr "" msgstr ""
#: rxdconst.sexprincorrect #: rxdconst.sexprincorrect
@ -90,7 +90,7 @@ msgid "Error in filed name"
msgstr "" msgstr ""
#: rxdconst.sexprnorparen #: rxdconst.sexprnorparen
msgid "Ожидалось ')', а вст#209�ечено: %s" msgid "Error ')', error: %s"
msgstr "" msgstr ""
#: rxdconst.sexprnotboolean #: rxdconst.sexprnotboolean
@ -142,7 +142,7 @@ msgid "User name or password not valid"
msgstr "" msgstr ""
#: rxdconst.slocaldatabase #: rxdconst.slocaldatabase
msgid "Невозможно п#209�оизвести эту опе#209�ацию с локальной базой данных" msgid "Unable complete this operation on local dataset"
msgstr "" msgstr ""
#: rxdconst.smemnorecords #: rxdconst.smemnorecords
@ -166,7 +166,7 @@ msgid "&Next"
msgstr "" msgstr ""
#: rxdconst.snotcapturefilter #: rxdconst.snotcapturefilter
msgid "Элементы уп#209�авления должны быть захвачены фильт#209�ом" msgid "Control need locked by filter"
msgstr "" msgstr ""
#: rxdconst.snotediting #: rxdconst.snotediting
@ -206,11 +206,19 @@ msgid "Register"
msgstr "" msgstr ""
#: rxdconst.sretrylogin #: rxdconst.sretrylogin
msgid "Вы хотите повто#209�ить попытку соединения с базой данных?" msgid "Retry to connect with database?"
msgstr "" msgstr ""
#: rxdconst.srxascendign #: rxdconst.srxascendign
msgid "Ascendente" msgid "Ascendign"
msgstr ""
#: rxdconst.srxborrowstructure
msgid "Borrow structure..."
msgstr ""
#: rxdconst.srxcopyonlymetadata
msgid "Copy only metadata"
msgstr "" msgstr ""
#: rxdconst.srxdbgridemptifilter #: rxdconst.srxdbgridemptifilter
@ -293,7 +301,7 @@ msgid "Sort data for collumns"
msgstr "Ordenar por Columna" msgstr "Ordenar por Columna"
#: rxdconst.srxdescending #: rxdconst.srxdescending
msgid "Descendente" msgid "Descending"
msgstr "" msgstr ""
#: rxdconst.srxfilterformapply #: rxdconst.srxfilterformapply
@ -337,6 +345,10 @@ msgstr "Operando :"
msgid "Enter filter expression for data in table:" msgid "Enter filter expression for data in table:"
msgstr "Seleccionar todos los registros que cumplan las siguientes condiciónes :" msgstr "Seleccionar todos los registros que cumplan las siguientes condiciónes :"
#: rxdconst.srxselectdatasetstruct
msgid "Select dataset to copy to"
msgstr ""
#: rxdconst.srxsortbyformaddfield #: rxdconst.srxsortbyformaddfield
msgid "&Add field" msgid "&Add field"
msgstr "&Adicionar" msgstr "&Adicionar"
@ -369,6 +381,10 @@ msgstr "&Campos Disponibles :"
msgid "Select field for sort data:" msgid "Select field for sort data:"
msgstr "Seleccionar Dirección de Ordenamiento :" msgstr "Seleccionar Dirección de Ordenamiento :"
#: rxdconst.srxsoursedataset
msgid "Sourse dataset"
msgstr ""
#: rxdconst.sservererrorlabel #: rxdconst.sservererrorlabel
msgid "Server error" msgid "Server error"
msgstr "" msgstr ""

View File

@ -14,7 +14,7 @@ msgid "calc"
msgstr "" msgstr ""
#: rxdconst.scapturefilter #: rxdconst.scapturefilter
msgid "Элементы уп#209�авления захвачены фильт#209�ом" msgid "Control locked by filter"
msgstr "" msgstr ""
#: rxdconst.schangepassword #: rxdconst.schangepassword
@ -62,7 +62,7 @@ msgid "Error message"
msgstr "" msgstr ""
#: rxdconst.sexprbadcompare #: rxdconst.sexprbadcompare
msgid "Опе#209�ации с#209�авнения т#209�ебуют наличия поля и константы" msgid "Compare opertion need fielad and const"
msgstr "" msgstr ""
#: rxdconst.sexprbadfield #: rxdconst.sexprbadfield
@ -74,7 +74,7 @@ msgid "NULL-values enabled in '=' и '<>'"
msgstr "" msgstr ""
#: rxdconst.sexprexpected #: rxdconst.sexprexpected
msgid "Ожидалось вы#209�ажение, а вст#209�ечено %s" msgid "Error %s"
msgstr "" msgstr ""
#: rxdconst.sexprincorrect #: rxdconst.sexprincorrect
@ -90,7 +90,7 @@ msgid "Error in filed name"
msgstr "" msgstr ""
#: rxdconst.sexprnorparen #: rxdconst.sexprnorparen
msgid "Ожидалось ')', а вст#209�ечено: %s" msgid "Error ')', error: %s"
msgstr "" msgstr ""
#: rxdconst.sexprnotboolean #: rxdconst.sexprnotboolean
@ -142,7 +142,7 @@ msgid "User name or password not valid"
msgstr "" msgstr ""
#: rxdconst.slocaldatabase #: rxdconst.slocaldatabase
msgid "Невозможно п#209�оизвести эту опе#209�ацию с локальной базой данных" msgid "Unable complete this operation on local dataset"
msgstr "" msgstr ""
#: rxdconst.smemnorecords #: rxdconst.smemnorecords
@ -166,7 +166,7 @@ msgid "&Next"
msgstr "" msgstr ""
#: rxdconst.snotcapturefilter #: rxdconst.snotcapturefilter
msgid "Элементы уп#209�авления должны быть захвачены фильт#209�ом" msgid "Control need locked by filter"
msgstr "" msgstr ""
#: rxdconst.snotediting #: rxdconst.snotediting
@ -206,11 +206,19 @@ msgid "Register"
msgstr "" msgstr ""
#: rxdconst.sretrylogin #: rxdconst.sretrylogin
msgid "Вы хотите повто#209�ить попытку соединения с базой данных?" msgid "Retry to connect with database?"
msgstr "" msgstr ""
#: rxdconst.srxascendign #: rxdconst.srxascendign
msgid "Ascendente" msgid "Ascendign"
msgstr ""
#: rxdconst.srxborrowstructure
msgid "Borrow structure..."
msgstr ""
#: rxdconst.srxcopyonlymetadata
msgid "Copy only metadata"
msgstr "" msgstr ""
#: rxdconst.srxdbgridemptifilter #: rxdconst.srxdbgridemptifilter
@ -293,7 +301,7 @@ msgid "Sort data for collumns"
msgstr "" msgstr ""
#: rxdconst.srxdescending #: rxdconst.srxdescending
msgid "Descendente" msgid "Descending"
msgstr "" msgstr ""
#: rxdconst.srxfilterformapply #: rxdconst.srxfilterformapply
@ -337,6 +345,10 @@ msgstr ""
msgid "Enter filter expression for data in table:" msgid "Enter filter expression for data in table:"
msgstr "" msgstr ""
#: rxdconst.srxselectdatasetstruct
msgid "Select dataset to copy to"
msgstr ""
#: rxdconst.srxsortbyformaddfield #: rxdconst.srxsortbyformaddfield
msgid "&Add field" msgid "&Add field"
msgstr "" msgstr ""
@ -369,6 +381,10 @@ msgstr ""
msgid "Select field for sort data:" msgid "Select field for sort data:"
msgstr "" msgstr ""
#: rxdconst.srxsoursedataset
msgid "Sourse dataset"
msgstr ""
#: rxdconst.sservererrorlabel #: rxdconst.sservererrorlabel
msgid "Server error" msgid "Server error"
msgstr "" msgstr ""

View File

@ -14,7 +14,7 @@ msgid "calc"
msgstr "вычисление" msgstr "вычисление"
#: rxdconst.scapturefilter #: rxdconst.scapturefilter
msgid "Элементы уп#209�авления захвачены фильт#209�ом" msgid "Control locked by filter"
msgstr "Элементы управления захвачены фильтром" msgstr "Элементы управления захвачены фильтром"
#: rxdconst.schangepassword #: rxdconst.schangepassword
@ -62,7 +62,7 @@ msgid "Error message"
msgstr "Сообщение об ошибке" msgstr "Сообщение об ошибке"
#: rxdconst.sexprbadcompare #: rxdconst.sexprbadcompare
msgid "Опе#209�ации с#209�авнения т#209�ебуют наличия поля и константы" msgid "Compare opertion need fielad and const"
msgstr "Операции сравнения требуют наличия поля и константы" msgstr "Операции сравнения требуют наличия поля и константы"
#: rxdconst.sexprbadfield #: rxdconst.sexprbadfield
@ -74,7 +74,7 @@ msgid "NULL-values enabled in '=' и '<>'"
msgstr "NULL-значения разрешены только в выражениях '=' и '<>'" msgstr "NULL-значения разрешены только в выражениях '=' и '<>'"
#: rxdconst.sexprexpected #: rxdconst.sexprexpected
msgid "Ожидалось вы#209�ажение, а вст#209�ечено %s" msgid "Error %s"
msgstr "Ожидалось выражение, а встречено %s" msgstr "Ожидалось выражение, а встречено %s"
#: rxdconst.sexprincorrect #: rxdconst.sexprincorrect
@ -87,10 +87,10 @@ msgstr "Ошибочный символ в выражении: '%s'"
#: rxdconst.sexprnameerror #: rxdconst.sexprnameerror
msgid "Error in filed name" msgid "Error in filed name"
msgstr "" msgstr "Ошибка в имени поля"
#: rxdconst.sexprnorparen #: rxdconst.sexprnorparen
msgid "Ожидалось ')', а вст#209�ечено: %s" msgid "Error ')', error: %s"
msgstr "Ожидалось ')', а встречено: %s" msgstr "Ожидалось ')', а встречено: %s"
#: rxdconst.sexprnotboolean #: rxdconst.sexprnotboolean
@ -142,7 +142,7 @@ msgid "User name or password not valid"
msgstr "Ошибка в имени пользователя или пароле" msgstr "Ошибка в имени пользователя или пароле"
#: rxdconst.slocaldatabase #: rxdconst.slocaldatabase
msgid "Невозможно п#209�оизвести эту опе#209�ацию с локальной базой данных" msgid "Unable complete this operation on local dataset"
msgstr "Невозможно произвести эту операцию с локальной базой данных" msgstr "Невозможно произвести эту операцию с локальной базой данных"
#: rxdconst.smemnorecords #: rxdconst.smemnorecords
@ -166,7 +166,7 @@ msgid "&Next"
msgstr "&Дальше" msgstr "&Дальше"
#: rxdconst.snotcapturefilter #: rxdconst.snotcapturefilter
msgid "Элементы уп#209�авления должны быть захвачены фильт#209�ом" msgid "Control need locked by filter"
msgstr "Элементы управления должны быть захвачены фильтром" msgstr "Элементы управления должны быть захвачены фильтром"
#: rxdconst.snotediting #: rxdconst.snotediting
@ -206,12 +206,20 @@ msgid "Register"
msgstr "Регистрация" msgstr "Регистрация"
#: rxdconst.sretrylogin #: rxdconst.sretrylogin
msgid "Вы хотите повто#209�ить попытку соединения с базой данных?" msgid "Retry to connect with database?"
msgstr "Вы хотите повторить попытку соединения с базой данных?" msgstr "Вы хотите повторить попытку соединения с базой данных?"
#: rxdconst.srxascendign #: rxdconst.srxascendign
msgid "Ascendente" msgid "Ascendign"
msgstr "" msgstr "По возрастанию"
#: rxdconst.srxborrowstructure
msgid "Borrow structure..."
msgstr "Обзор структуры..."
#: rxdconst.srxcopyonlymetadata
msgid "Copy only metadata"
msgstr "Копировать только метаданные..."
#: rxdconst.srxdbgridemptifilter #: rxdconst.srxdbgridemptifilter
msgid "(Empty)" msgid "(Empty)"
@ -242,7 +250,7 @@ msgstr "Поиск данных"
#: rxdconst.srxdbgridfindcasesens #: rxdconst.srxdbgridfindcasesens
msgid "Case sensetive" msgid "Case sensetive"
msgstr "" msgstr "Регистро-зависимо"
#: rxdconst.srxdbgridfinddirecion #: rxdconst.srxdbgridfinddirecion
msgid "Direction" msgid "Direction"
@ -293,8 +301,8 @@ msgid "Sort data for collumns"
msgstr "Сортировать данные по колонкам" msgstr "Сортировать данные по колонкам"
#: rxdconst.srxdescending #: rxdconst.srxdescending
msgid "Descendente" msgid "Descending"
msgstr "" msgstr "По убыванию"
#: rxdconst.srxfilterformapply #: rxdconst.srxfilterformapply
msgid "Apply" msgid "Apply"
@ -337,6 +345,10 @@ msgstr "Операнд :"
msgid "Enter filter expression for data in table:" msgid "Enter filter expression for data in table:"
msgstr "Введите выражение фильтрации данных в таблице:" msgstr "Введите выражение фильтрации данных в таблице:"
#: rxdconst.srxselectdatasetstruct
msgid "Select dataset to copy to"
msgstr "Выберите таблицу для копирования"
#: rxdconst.srxsortbyformaddfield #: rxdconst.srxsortbyformaddfield
msgid "&Add field" msgid "&Add field"
msgstr "&Добавить поле" msgstr "&Добавить поле"
@ -369,6 +381,10 @@ msgstr "&Выбранные поля"
msgid "Select field for sort data:" msgid "Select field for sort data:"
msgstr "Укажите поля для сортировки данных :" msgstr "Укажите поля для сортировки данных :"
#: rxdconst.srxsoursedataset
msgid "Sourse dataset"
msgstr "Исходная таблица"
#: rxdconst.sservererrorlabel #: rxdconst.sservererrorlabel
msgid "Server error" msgid "Server error"
msgstr "Ошибка сервера" msgstr "Ошибка сервера"

View File

@ -38,8 +38,43 @@ const
PaletteMask = $02000000; PaletteMask = $02000000;
resourcestring resourcestring
//const sBrowse = 'Browse';
{$I rxstrconsts.inc} sDefaultFilter = 'All files (*.*)|*.*';
sDateDlgTitle = 'Select a Date';
sNextYear = 'Next Year|';
sNextMonth = 'Next Month|';
sPrevYear = 'Previous Year|';
sPrevMonth = 'Previous Month|';
sNotImplemented = 'Function not yet implemented';
sFileNotExec = 'File specified is not an executable file, dynamic-link library, or icon file';
sLoadLibError = 'Could not load ''%s'' library';
sDetails = 'Details';
sWindowsIcoFiles = 'Windows Ico files (*.ico)|*.ico|All files (*.*)|*.*';
sToCurDate = 'Set current date';
//TDualListDialog
SDualListSrcCaption = 'Source';
SDualListDestCaption = 'Destination';
SDualListCaption = 'Dual list dialog';
//TToolPanelSetupForm
sToolPanelSetup = 'Tool panel setup';
sVisibleButtons = 'Visible buttons';
sOptions = 'Options';
sAvaliableButtons = 'Avaliable buttons';
sShowCaption = 'Show caption';
sToolBarStyle = 'Tool bar style';
sToolBarStyle1 = 'Standart';
sToolBarStyle2 = 'Windows XP';
sToolBarStyle3 = 'Native';
sFlatButtons = 'Flat buttons';
sTransparent = 'Transparent';
sShowHint = 'Show hint';
sButtonAlign = 'Button align';
sButtonAlign1 = 'None';
sButtonAlign2 = 'Left';
sButtonAlign3 = 'Rignt';
implementation implementation

View File

@ -43,7 +43,8 @@ type
rdgMrOkOnDblClik, rdgMrOkOnDblClik,
rdgAllowQuickSearch, rdgAllowQuickSearch,
rdgAllowFilterForm, rdgAllowFilterForm,
rdgAllowSortForm rdgAllowSortForm,
rdgAllowToolMenu
); );
TOptionsRx = set of TOptionRx; TOptionsRx = set of TOptionRx;
@ -249,10 +250,10 @@ type
FSwapButtons: Boolean; FSwapButtons: Boolean;
FTracking: Boolean; FTracking: Boolean;
F_TopRect : TRect;
F_Clicked : Boolean; F_Clicked : Boolean;
F_PopupMenu : TPopupMenu; F_PopupMenu : TPopupMenu;
F_MenuBMP : TBitmap; F_MenuBMP : TBitmap;
F_EventOnFilterRec : TFilterRecordEvent; F_EventOnFilterRec : TFilterRecordEvent;
F_EventOnBeforeDelete: TDataSetNotifyEvent; F_EventOnBeforeDelete: TDataSetNotifyEvent;
F_EventOnBeforePost : TDataSetNotifyEvent; F_EventOnBeforePost : TDataSetNotifyEvent;
@ -260,7 +261,7 @@ type
F_EventOnPostError : TDataSetErrorEvent; F_EventOnPostError : TDataSetErrorEvent;
F_LastFilter : TStringList; F_LastFilter : TStringList;
F_SortListField : TStringList; F_SortListField : TStringList;
F_CreateLookup : TCreateLookup; F_CreateLookup : TCreateLookup;
F_DisplayLookup : TDisplayLookup; F_DisplayLookup : TDisplayLookup;
//storage //storage
@ -279,6 +280,7 @@ type
FBeforeQuickSearch : TRxQuickSearchNotifyEvent; FBeforeQuickSearch : TRxQuickSearchNotifyEvent;
FQuickUTF8Search : String; FQuickUTF8Search : String;
procedure DoCreateJMenu;
function GetColumns: TRxDbGridColumns; function GetColumns: TRxDbGridColumns;
function GetPropertyStorage: TCustomPropertyStorage; function GetPropertyStorage: TCustomPropertyStorage;
function GetTitleButtons: boolean; function GetTitleButtons: boolean;
@ -306,7 +308,6 @@ type
procedure OnIniSave(Sender: TObject); procedure OnIniSave(Sender: TObject);
procedure OnIniLoad(Sender: TObject); procedure OnIniLoad(Sender: TObject);
protected protected
// procedure CreateWnd; override;
function DatalinkActive:boolean; function DatalinkActive:boolean;
procedure DefaultDrawCellA(aCol,aRow: Integer; aRect: TRect; aState: TGridDrawState); procedure DefaultDrawCellA(aCol,aRow: Integer; aRect: TRect; aState: TGridDrawState);
procedure DefaultDrawTitle(aCol,aRow: Integer; aRect: TRect; aState: TGridDrawState); procedure DefaultDrawTitle(aCol,aRow: Integer; aRect: TRect; aState: TGridDrawState);
@ -868,6 +869,32 @@ begin
result := TRxDbGridColumns(TCustomDrawGrid(Self).Columns); result := TRxDbGridColumns(TCustomDrawGrid(Self).Columns);
end; end;
procedure TRxDBGrid.DoCreateJMenu;
procedure CreateMenuItem(ShortCut:Char; const ACaption:string; MenuAction:TNotifyEvent);
var
R:TMenuItem;
begin
R:=TMenuItem.Create(F_PopupMenu);
F_PopupMenu.Items.Add(R);
R.Caption := ACaption;
if ShortCut<>#0 then
R.ShortCut:=KeyToShortCut(ord(ShortCut), [ssCtrl]);
R.OnClick :=MenuAction;
end;
begin
F_PopupMenu := TPopupMenu.Create(Self);
F_PopupMenu.Name := 'OptionsMenu';
CreateMenuItem('F', sRxDBGridFind, @OnFind);
CreateMenuItem('T', sRxDBGridFilter, @OnFilterBy);
CreateMenuItem('E', sRxDBGridFilterSimple, @OnFilter);
CreateMenuItem('Q', sRxDBGridFilterClear, @OnFilterClose);
CreateMenuItem(#0, '-', nil);
CreateMenuItem('C', sRxDBGridSortByColumns, @OnSortBy);
CreateMenuItem('W', sRxDBGridSelectColumns, @OnChooseVisibleFields);
end;
function TRxDBGrid.GetPropertyStorage: TCustomPropertyStorage; function TRxDBGrid.GetPropertyStorage: TCustomPropertyStorage;
begin begin
Result:=FPropertyStorageLink.Storage; Result:=FPropertyStorageLink.Storage;
@ -1232,17 +1259,6 @@ begin
end; end;
end; end;
{procedure TRxDBGrid.CreateWnd;
begin
BeginUpdate;
try
inherited CreateWnd;
CalcTitle;
finally
EndUpdate;
end;
end; }
procedure TRxDBGrid.DefaultDrawCellA(aCol, aRow: Integer; aRect: TRect; procedure TRxDBGrid.DefaultDrawCellA(aCol, aRow: Integer; aRect: TRect;
aState: TGridDrawState); aState: TGridDrawState);
begin begin
@ -1274,7 +1290,11 @@ begin
if (dgIndicator in Options) and (aCol=0) then if (dgIndicator in Options) and (aCol=0) then
begin begin
Canvas.FillRect(aRect); Canvas.FillRect(aRect);
if F_Clicked then
aState:= aState + [gdPushed];
DrawCellGrid(aCol,aRow, aRect, aState); DrawCellGrid(aCol,aRow, aRect, aState);
if DatalinkActive and (rdgAllowToolMenu in FOptionsRx) then
Canvas.Draw((ARect.Left+ARect.Right-F_MenuBMP.Width) div 2,(ARect.Top + ARect.Bottom - F_MenuBMP.Height) div 2, F_MenuBMP);
exit; exit;
end; end;
@ -1503,13 +1523,13 @@ begin
if (gdFixed in aState) and (aRow=0) then if (gdFixed in aState) and (aRow=0) then
begin begin
DefaultDrawCellA(aCol, aRow, aRect, aState); DefaultDrawCellA(aCol, aRow, aRect, aState);
if (ARect.Top<=0) and (aCol=0) and (aRow=0) and (DatalinkActive) and (DataSource.DataSet.State = dsBrowse) then { if (ARect.Top<=0) and (aCol=0) and (aRow=0) and (DatalinkActive) and (DataSource.DataSet.State = dsBrowse) then
begin begin
F_TopRect := ARect; // F_TopRect := ARect;
Canvas.Lock; Canvas.Lock;
Canvas.Draw((ARect.Left+ARect.Right-F_MenuBMP.Width) div 2,(ARect.Top + ARect.Bottom - F_MenuBMP.Height) div 2, F_MenuBMP); Canvas.Draw((ARect.Left+ARect.Right-F_MenuBMP.Width) div 2,(ARect.Top + ARect.Bottom - F_MenuBMP.Height) div 2, F_MenuBMP);
Canvas.UnLock; Canvas.UnLock;
end; end;}
end end
else else
if not ((gdFixed in aState) or (aCol=0) or (aRow=0)) then if not ((gdFixed in aState) or (aCol=0) or (aRow=0)) then
@ -1599,17 +1619,20 @@ begin
end end
else else
begin begin
DataSource.DataSet.OnFilterRecord:=F_EventOnFilterRec; if Assigned(DataSource) and Assigned(DataSource.DataSet) then
F_EventOnFilterRec:=nil; begin
DataSource.DataSet.BeforeDelete:=F_EventOnBeforeDelete; DataSource.DataSet.OnFilterRecord:=F_EventOnFilterRec;
F_EventOnBeforeDelete:=nil; F_EventOnFilterRec:=nil;
DataSource.DataSet.BeforePost:=F_EventOnBeforePost; DataSource.DataSet.BeforeDelete:=F_EventOnBeforeDelete;
F_EventOnBeforePost:=nil; F_EventOnBeforeDelete:=nil;
DataSource.DataSet.OnDeleteError:=F_EventOnDeleteError; DataSource.DataSet.BeforePost:=F_EventOnBeforePost;
F_EventOnDeleteError:=nil; F_EventOnBeforePost:=nil;
DataSource.DataSet.OnPostError:=F_EventOnPostError; DataSource.DataSet.OnDeleteError:=F_EventOnDeleteError;
F_EventOnPostError:=nil; F_EventOnDeleteError:=nil;
OptionsRx:=OptionsRx - [rdgFilter]; DataSource.DataSet.OnPostError:=F_EventOnPostError;
F_EventOnPostError:=nil;
OptionsRx:=OptionsRx - [rdgFilter];
end;
F_LastFilter.Clear; F_LastFilter.Clear;
end; end;
end; end;
@ -1722,28 +1745,16 @@ procedure TRxDBGrid.MouseDown(Button: TMouseButton; Shift: TShiftState; X,
var var
Cell: TGridCoord; Cell: TGridCoord;
Rect : TRect; Rect : TRect;
// X1,X2,Y1,Y2 : integer;
// msg: TGridMessage;
// pow : TForm;
// curCol,curRow : integer;
// dump : integer;
begin begin
Cell := MouseCoord(X, Y); Cell := MouseCoord(X, Y);
if (DatalinkActive) And (DataSource.DataSet.State = dsBrowse) And (Button = mbLeft) And (Cell.X =0 ) And (Cell.Y = 0) And (dgIndicator in Options) then if (DatalinkActive) and (DataSource.DataSet.State = dsBrowse)
and (Button = mbLeft) and (Cell.X =0 ) and (Cell.Y = 0) and
(dgIndicator in Options) and (rdgAllowToolMenu in FOptionsRx) then
begin begin
F_Clicked := True; F_Clicked := True;
Rect := F_TopRect; InvalidateCell(0, 0);
Canvas.Brush.Color := FixedColor; end
Canvas.FillRect(Rect); else
if (dgColLines in Options) Then
begin
InflateRect(Rect, 1, 1);
DrawEdge(Canvas.Handle, Rect, BDR_RAISEDINNER, BF_FLAT);
DrawEdge(Canvas.Handle, Rect, BDR_RAISEDINNER, BF_FLAT);
end;
Canvas.Draw(((Rect.Left+Rect.Right-F_MenuBMP.Width) div 2)+1,((Rect.Top + Rect.Bottom - F_MenuBMP.Height) div 2)+1, F_MenuBMP);
end;
if (Cell.Y=0) and (Cell.X >= ord(dgIndicator in Options)) then if (Cell.Y=0) and (Cell.X >= ord(dgIndicator in Options)) then
begin begin
if (rdgFilter in OptionsRx) and DatalinkActive then if (rdgFilter in OptionsRx) and DatalinkActive then
@ -1762,7 +1773,7 @@ begin
Height := Rect.Bottom - Rect.Top; Height := Rect.Bottom - Rect.Top;
BoundsRect := Rect; BoundsRect := Rect;
Style := csDropDownList; Style := csDropDownList;
// DropDownCount := TRxColumn(Columns[Columns.RealIndex(Cell.x-1)]).Filter.DropDownRows; DropDownCount := TRxColumn(Columns[Columns.RealIndex(Cell.x-1)]).Filter.DropDownRows;
Text:=TRxColumn(Columns[Columns.RealIndex(Cell.x-1)]).Filter.Value; Text:=TRxColumn(Columns[Columns.RealIndex(Cell.x-1)]).Filter.Value;
Show(Self,Cell.x-1); Show(Self,Cell.x-1);
end; end;
@ -1841,7 +1852,7 @@ var
MPT : TPoint; MPT : TPoint;
Rct : TRect; Rct : TRect;
begin begin
ShowMenu := False; ShowMenu := false;
FColumnResizing := false; FColumnResizing := false;
@ -1868,38 +1879,39 @@ begin
end; end;
end end
else else
if FSwapButtons then begin if FSwapButtons then
begin
FSwapButtons := False; FSwapButtons := False;
MouseCapture := False; MouseCapture := False;
if Button = mbRight then Button := mbLeft; if Button = mbRight then
Button := mbLeft;
end; end;
if (DatalinkActive) And (DataSource.DataSet.State = dsBrowse) then if (DatalinkActive) and (DataSource.DataSet.State = dsBrowse) and
(rdgAllowToolMenu in FOptionsRx) then
begin begin
Cell := MouseCoord(X,Y); Cell := MouseCoord(X,Y);
if ((Button = mbLeft) and (Cell.X =0 ) and (Cell.Y = 0) And (dgIndicator in Options)) Or (F_Clicked) then if ((Button = mbLeft) and (Cell.X =0 ) and (Cell.Y = 0) and (dgIndicator in Options)) or (F_Clicked) then
begin begin
Rct := F_TopRect;
Canvas.Brush.Color := FixedColor;
Canvas.FillRect(Rct);
if (dgColLines in Options) Then
begin
DrawEdge(Canvas.Handle, Rct, BDR_RAISEDINNER, BF_BOTTOMRIGHT);
DrawEdge(Canvas.Handle, Rct, BDR_RAISEDINNER, BF_TOPLEFT);
end;
F_Clicked := False; F_Clicked := False;
InvalidateCell(0, 0);
ShowMenu := True; ShowMenu := True;
Button:=mbRight; Button:=mbRight;
end; end;
end; end;
inherited MouseUp(Button, Shift, X, Y); inherited MouseUp(Button, Shift, X, Y);
if (DatalinkActive) and (DataSource.DataSet.State = dsBrowse) and (ShowMenu) then if (DatalinkActive) and (DataSource.DataSet.State = dsBrowse) and (ShowMenu) then
begin begin
MPT.X := F_TopRect.Left; Rct:=CellRect(0, 0);
MPT.Y := F_TopRect.Bottom; MPT.X := Rct.Left;
if rdgFilter in FOptionsRx then
MPT.Y := Rct.Bottom - DefaultRowHeight
else
MPT.Y := Rct.Bottom;
MPT := ClientToScreen(MPT); MPT := ClientToScreen(MPT);
DrawCell(0,0,F_TopRect,[gdFixed]); // DrawCell(0,0,F_TopRect,[gdFixed]);
UpdateJMenuStates; UpdateJMenuStates;
F_PopupMenu.Popup(MPT.X,MPT.Y); F_PopupMenu.Popup(MPT.X,MPT.Y);
end; end;
@ -2523,7 +2535,6 @@ begin
FSortEngine.SortList(s, DataSource.DataSet, o); FSortEngine.SortList(s, DataSource.DataSet, o);
end; end;
FreeAndNil(rxSortByForm); FreeAndNil(rxSortByForm);
// Paint;
Invalidate; Invalidate;
end; end;
end; end;
@ -2565,41 +2576,7 @@ begin
F_MenuBMP := TBitmap.Create; F_MenuBMP := TBitmap.Create;
F_MenuBMP := LoadLazResBitmapImage('menu_grid'); F_MenuBMP := LoadLazResBitmapImage('menu_grid');
F_PopupMenu := TPopupMenu.Create(Self); DoCreateJMenu;
F_PopupMenu.Name := 'OptionsMenu';
F_PopupMenu.Items.Insert(0,TMenuItem.Create(F_PopupMenu));
F_PopupMenu.Items[0].Caption :=sRxDBGridFind;
F_PopupMenu.Items[0].ShortCut:=KeyToShortCut(ord('F'), [ssCtrl]);
F_PopupMenu.Items[0].OnClick :=@OnFind;
F_PopupMenu.Items.Insert(1,TMenuItem.Create(F_PopupMenu));
F_PopupMenu.Items[1].Caption :=sRxDBGridFilter;
F_PopupMenu.Items[1].ShortCut:=KeyToShortCut(ord('T'), [ssCtrl]);
F_PopupMenu.Items[1].OnClick := @OnFilterBy;
F_PopupMenu.Items.Insert(2,TMenuItem.Create(F_PopupMenu));
F_PopupMenu.Items[2].Caption :=sRxDBGridFilterSimple;
F_PopupMenu.Items[2].ShortCut:=KeyToShortCut(ord('E'), [ssCtrl]);
F_PopupMenu.Items[2].OnClick := @OnFilter;
F_PopupMenu.Items.Insert(3,TMenuItem.Create(F_PopupMenu));
F_PopupMenu.Items[3].Caption :=sRxDBGridFilterClear;
F_PopupMenu.Items[3].ShortCut:=KeyToShortCut(ord('Q'), [ssCtrl]);
F_PopupMenu.Items[3].OnClick := @OnFilterClose;
F_PopupMenu.Items.Insert(4,TMenuItem.Create(F_PopupMenu));
F_PopupMenu.Items[4].Caption :='-';
F_PopupMenu.Items.Insert(5,TMenuItem.Create(F_PopupMenu));
F_PopupMenu.Items[5].Caption :=sRxDBGridSortByColumns;
F_PopupMenu.Items[5].ShortCut:=KeyToShortCut(ord('C'), [ssCtrl]);
F_PopupMenu.Items[5].OnClick := @OnSortBy;
F_PopupMenu.Items.Insert(6,TMenuItem.Create(F_PopupMenu));
F_PopupMenu.Items[6].Caption :=sRxDBGridSelectColumns;
F_PopupMenu.Items[6].ShortCut:=KeyToShortCut(ord('W'), [ssCtrl]);
F_PopupMenu.Items[6].OnClick := @OnChooseVisibleFields;
F_LastFilter := TStringList.Create; F_LastFilter := TStringList.Create;
F_SortListField := TStringList.Create; F_SortListField := TStringList.Create;

View File

@ -16,13 +16,13 @@ resourcestring
{ RxDBCtrl } { RxDBCtrl }
SLocalDatabase = 'Невозможно произвести эту операцию с локальной базой данных'; SLocalDatabase = 'Unable complete this operation on local dataset';
SRetryLogin = 'Вы хотите повторить попытку соединения с базой данных?'; SRetryLogin = 'Retry to connect with database?';
SExprNotBoolean = 'Field ''%s'' is not boolean'; SExprNotBoolean = 'Field ''%s'' is not boolean';
SExprBadNullTest = 'NULL-values enabled in ''='' и ''<>'''; SExprBadNullTest = 'NULL-values enabled in ''='' и ''<>''';
SExprBadField = 'Field ''%s'' not used in filter expression'; SExprBadField = 'Field ''%s'' not used in filter expression';
SCaptureFilter = 'Элементы управления захвачены фильтром'; SCaptureFilter = 'Control locked by filter';
SNotCaptureFilter = 'Элементы управления должны быть захвачены фильтром'; SNotCaptureFilter = 'Control need locked by filter';
SInactiveData = 'inactive'; SInactiveData = 'inactive';
SBrowseData = 'browse'; SBrowseData = 'browse';
SEditData = 'editing'; SEditData = 'editing';
@ -54,9 +54,9 @@ resourcestring
SExprNameError = 'Error in filed name'; SExprNameError = 'Error in filed name';
SExprStringError = 'Error in string const'; SExprStringError = 'Error in string const';
SExprInvalidChar = 'Error symbol in expression: ''%s'''; SExprInvalidChar = 'Error symbol in expression: ''%s''';
SExprNoRParen = 'Ожидалось '')'', а встречено: %s'; SExprNoRParen = 'Error '')'', error: %s';
SExprExpected = 'Ожидалось выражение, а встречено %s'; SExprExpected = 'Error %s';
SExprBadCompare = 'Операции сравнения требуют наличия поля и константы'; SExprBadCompare = 'Compare opertion need fielad and const';
SConfirmSave = 'Data changed. Save?'; SConfirmSave = 'Data changed. Save?';
SDatabaseName = 'Database loocked: %s'; SDatabaseName = 'Database loocked: %s';
SUnlockCaption = 'Unloock'; SUnlockCaption = 'Unloock';
@ -66,8 +66,8 @@ resourcestring
SPropDefByLookup = 'PropDefByLookup'; SPropDefByLookup = 'PropDefByLookup';
SDataSourceFixed = 'SDataSourceFixed'; SDataSourceFixed = 'SDataSourceFixed';
SCircularDataLink = 'SCircularDataLink'; SCircularDataLink = 'SCircularDataLink';
sRxAscendign = 'Ascendente';//'Ascendente'); sRxAscendign = 'Ascendign';
sRxDescending = 'Descendente';//'Descendente'); sRxDescending = 'Descending';
SDeleteRecordQuestion = 'Delete record?'; SDeleteRecordQuestion = 'Delete record?';
@ -129,6 +129,12 @@ resourcestring
sRxDbGridSelColHint1 = 'Move selected column up'; sRxDbGridSelColHint1 = 'Move selected column up';
sRxDbGridSelColHint2 = 'Move selected column down'; sRxDbGridSelColHint2 = 'Move selected column down';
//seldsfrm
sRxBorrowStructure = 'Borrow structure...';
sRxSelectDatasetStruct = 'Select dataset to copy to';
sRxCopyOnlyMetadata = 'Copy only metadata';
sRxSourseDataset = 'Sourse dataset';
const const
{ The following strings should not be localized } { The following strings should not be localized }
sAction = '.Action'; sAction = '.Action';

View File

@ -189,61 +189,61 @@ translate to Lazarus by alexs in 2005 - 2009
<Type Value="LRS"/> <Type Value="LRS"/>
</Item40> </Item40>
<Item41> <Item41>
<Filename Value="rxstrconsts.inc"/>
<Type Value="Include"/>
</Item41>
<Item42>
<Filename Value="rxiconv.pas"/> <Filename Value="rxiconv.pas"/>
<UnitName Value="rxiconv"/> <UnitName Value="rxiconv"/>
</Item42> </Item41>
<Item43> <Item42>
<Filename Value="rxdbgrid.lrs"/> <Filename Value="rxdbgrid.lrs"/>
<Type Value="LRS"/> <Type Value="LRS"/>
</Item43> </Item42>
<Item44> <Item43>
<Filename Value="rxceeditlookupfields.pas"/> <Filename Value="rxceeditlookupfields.pas"/>
<UnitName Value="rxceEditLookupFields"/> <UnitName Value="rxceEditLookupFields"/>
</Item44> </Item43>
<Item45> <Item44>
<Filename Value="rxclock.pas"/> <Filename Value="rxclock.pas"/>
<UnitName Value="rxclock"/> <UnitName Value="rxclock"/>
</Item45> </Item44>
<Item46> <Item45>
<Filename Value="rxspin.pas"/> <Filename Value="rxspin.pas"/>
<UnitName Value="rxspin"/> <UnitName Value="rxspin"/>
</Item46> </Item45>
<Item47> <Item46>
<Filename Value="rxdbspinedit.pas"/> <Filename Value="rxdbspinedit.pas"/>
<UnitName Value="RxDBSpinEdit"/> <UnitName Value="RxDBSpinEdit"/>
</Item47> </Item46>
<Item48> <Item47>
<Filename Value="registerrxdb.pas"/> <Filename Value="registerrxdb.pas"/>
<HasRegisterProc Value="True"/> <HasRegisterProc Value="True"/>
<UnitName Value="RegisterRxDB"/> <UnitName Value="RegisterRxDB"/>
</Item48> </Item47>
<Item49> <Item48>
<Filename Value="rxtimeedit.pas"/> <Filename Value="rxtimeedit.pas"/>
<UnitName Value="RxTimeEdit"/> <UnitName Value="RxTimeEdit"/>
</Item49> </Item48>
<Item50> <Item49>
<Filename Value="rxdbtimeedit.pas"/> <Filename Value="rxdbtimeedit.pas"/>
<UnitName Value="RxDBTimeEdit"/> <UnitName Value="RxDBTimeEdit"/>
</Item50> </Item49>
<Item51> <Item50>
<Filename Value="rxdbctrls.pas"/> <Filename Value="rxdbctrls.pas"/>
<UnitName Value="RxDBCtrls"/> <UnitName Value="RxDBCtrls"/>
</Item51> </Item50>
<Item52> <Item51>
<Filename Value="rxfilterby.lfm"/> <Filename Value="rxfilterby.lfm"/>
<Type Value="LFM"/> <Type Value="LFM"/>
</Item52> </Item51>
<Item53> <Item52>
<Filename Value="rxfilterby.lrs"/> <Filename Value="rxfilterby.lrs"/>
<Type Value="LRS"/> <Type Value="LRS"/>
</Item53> </Item52>
<Item54> <Item53>
<Filename Value="rxfilterby.pas"/> <Filename Value="rxfilterby.pas"/>
<UnitName Value="rxfilterby"/> <UnitName Value="rxfilterby"/>
</Item53>
<Item54>
<Filename Value="rxconst.pas"/>
<UnitName Value="rxconst"/>
</Item54> </Item54>
</Files> </Files>
<i18n> <i18n>

View File

@ -16,7 +16,7 @@ uses
rxdbgrid_findunit, rxdbgrid_columsunit, rxpopupunit, rxcustomchartpanel, rxdbgrid_findunit, rxdbgrid_columsunit, rxpopupunit, rxcustomchartpanel,
rxsortmemds, AutoPanel, pickdate, rxiconv, rxceEditLookupFields, rxclock, rxsortmemds, AutoPanel, pickdate, rxiconv, rxceEditLookupFields, rxclock,
rxspin, RxDBSpinEdit, RegisterRxDB, RxTimeEdit, RxDBTimeEdit, RxDBCtrls, rxspin, RxDBSpinEdit, RegisterRxDB, RxTimeEdit, RxDBTimeEdit, RxDBCtrls,
rxfilterby, LazarusPackageIntf; rxfilterby, rxconst, LazarusPackageIntf;
implementation implementation

View File

@ -38,9 +38,13 @@ uses
Classes, SysUtils, DB, RxDBGrid; Classes, SysUtils, DB, RxDBGrid;
type type
{ TRxMemoryDataSortEngine }
TRxMemoryDataSortEngine = class(TExDBGridSortEngine) TRxMemoryDataSortEngine = class(TExDBGridSortEngine)
public public
procedure Sort(Field:TField; ADataSet:TDataSet; Asc:boolean);override; procedure Sort(Field:TField; ADataSet:TDataSet; Asc:boolean);override;
procedure SortList(ListField:string; ADataSet:TDataSet; Asc:boolean);override;
end; end;
implementation implementation
@ -49,7 +53,14 @@ uses rxmemds;
procedure TRxMemoryDataSortEngine.Sort(Field:TField; ADataSet:TDataSet; Asc:boolean); procedure TRxMemoryDataSortEngine.Sort(Field:TField; ADataSet:TDataSet; Asc:boolean);
begin begin
if Assigned(ADataSet) then if Assigned(ADataSet) then
(ADataSet as TRxMemoryData).SortOnFields(Field.FieldName, true, Asc); (ADataSet as TRxMemoryData).SortOnFields(Field.FieldName, true, not Asc);
end;
procedure TRxMemoryDataSortEngine.SortList(ListField: string;
ADataSet: TDataSet; Asc: boolean);
begin
if Assigned(ADataSet) then
(ADataSet as TRxMemoryData).SortOnFields(ListField, true, not Asc);
end; end;
initialization initialization

View File

@ -1,27 +0,0 @@
{
/****************************************************************************
rxcconst.res
Delphi VCL Extensions (RX)
Copyright (c) 1995 AO ROSNO
Copyright (c) 1997 Master-Bank
*****************************************************************************/
}
sBrowse = 'Browse';
sDefaultFilter = 'All files (*.*)|*.*';
sDateDlgTitle = 'Select a Date';
sNextYear = 'Next Year|';
sNextMonth = 'Next Month|';
sPrevYear = 'Previous Year|';
sPrevMonth = 'Previous Month|';
sNotImplemented = 'Function not yet implemented';
sFileNotExec = 'File specified is not an executable file, dynamic-link library, or icon file';
sLoadLibError = 'Could not load ''%s'' library';
sDetails = 'Details';
sWindowsIcoFiles = 'Windows Ico files (*.ico)|*.ico|All files (*.*)|*.*';
sToCurDate = 'Set current date';

View File

@ -1,38 +1,40 @@
object ToolPanelSetupForm: TToolPanelSetupForm object ToolPanelSetupForm: TToolPanelSetupForm
Left = 357 Left = 383
Height = 422 Height = 487
Top = 180 Top = 176
Width = 554 Width = 659
ActiveControl = PageControl1 ActiveControl = PageControl1
Caption = 'Tool panel setup' Caption = 'Tool panel setup'
ClientHeight = 422 ClientHeight = 487
ClientWidth = 554 ClientWidth = 659
FormStyle = fsStayOnTop FormStyle = fsStayOnTop
OnClose = FormClose OnClose = FormClose
OnCreate = FormCreate
OnDestroy = FormDestroy OnDestroy = FormDestroy
OnResize = FormResize OnResize = FormResize
Position = poScreenCenter
LCLVersion = '0.9.27' LCLVersion = '0.9.27'
object PageControl1: TPageControl object PageControl1: TPageControl
Left = 0 Left = 0
Height = 364 Height = 433
Top = 0 Top = 0
Width = 554 Width = 659
ActivePage = TabSheet2 ActivePage = TabSheet2
Align = alClient Align = alClient
TabIndex = 1 TabIndex = 1
TabOrder = 0 TabOrder = 0
object TabSheet1: TTabSheet object TabSheet1: TTabSheet
Caption = 'Visible buttons' Caption = 'Visible buttons'
ClientHeight = 329 ClientHeight = 402
ClientWidth = 548 ClientWidth = 655
object Label1: TLabel object Label1: TLabel
AnchorSideLeft.Control = BitBtn3 AnchorSideLeft.Control = BitBtn3
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = TabSheet1 AnchorSideTop.Control = TabSheet1
Left = 282 Left = 355
Height = 18 Height = 18
Top = 6 Top = 6
Width = 110 Width = 117
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Avaliable buttons' Caption = 'Avaliable buttons'
FocusControl = ListBtnAvaliable FocusControl = ListBtnAvaliable
@ -43,7 +45,7 @@ object ToolPanelSetupForm: TToolPanelSetupForm
Left = 8 Left = 8
Height = 18 Height = 18
Top = 6 Top = 6
Width = 95 Width = 103
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Visible buttons' Caption = 'Visible buttons'
FocusControl = ListBtnVisible FocusControl = ListBtnVisible
@ -55,10 +57,10 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = BitBtn6 AnchorSideRight.Control = BitBtn6
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 235 Left = 306
Height = 30 Height = 30
Top = 152 Top = 152
Width = 41 Width = 43
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.InnerBorder = 2 BorderSpacing.InnerBorder = 2
@ -73,10 +75,10 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = BitBtn6 AnchorSideRight.Control = BitBtn6
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 235 Left = 306
Height = 33 Height = 33
Top = 113 Top = 113
Width = 41 Width = 43
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
AutoSize = True AutoSize = True
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -92,10 +94,10 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = BitBtn6 AnchorSideRight.Control = BitBtn6
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 235 Left = 306
Height = 38 Height = 38
Top = 69 Top = 69
Width = 41 Width = 43
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.InnerBorder = 2 BorderSpacing.InnerBorder = 2
@ -105,13 +107,13 @@ object ToolPanelSetupForm: TToolPanelSetupForm
TabOrder = 2 TabOrder = 2
end end
object BitBtn6: TBitBtn object BitBtn6: TBitBtn
AnchorSideLeft.Control = ListBtnVisible AnchorSideLeft.Control = TabSheet1
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = ListBtnAvaliable AnchorSideTop.Control = ListBtnAvaliable
Left = 235 Left = 306
Height = 33 Height = 33
Top = 30 Top = 30
Width = 41 Width = 43
AutoSize = True AutoSize = True
BorderSpacing.InnerBorder = 2 BorderSpacing.InnerBorder = 2
Caption = '>>' Caption = '>>'
@ -127,10 +129,10 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideRight.Control = TabSheet1 AnchorSideRight.Control = TabSheet1
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = cbShowCaption AnchorSideBottom.Control = cbShowCaption
Left = 282 Left = 355
Height = 197 Height = 271
Top = 30 Top = 30
Width = 861 Width = 294
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Items.Strings = ( Items.Strings = (
@ -147,18 +149,18 @@ object ToolPanelSetupForm: TToolPanelSetupForm
OnDrawItem = ListBox1DrawItem OnDrawItem = ListBox1DrawItem
Style = lbOwnerDrawFixed Style = lbOwnerDrawFixed
TabOrder = 4 TabOrder = 4
TopIndex = -1
end end
object ListBtnVisible: TListBox object ListBtnVisible: TListBox
AnchorSideLeft.Control = Label2 AnchorSideLeft.Control = Label2
AnchorSideTop.Control = Label2 AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = BitBtn6
AnchorSideBottom.Control = cbShowCaption AnchorSideBottom.Control = cbShowCaption
Left = 14 Left = 14
Height = 197 Height = 271
Top = 30 Top = 30
Width = 215 Width = 286
Anchors = [akTop, akLeft, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ItemHeight = 0 ItemHeight = 0
OnClick = ListBtnAvaliableClick OnClick = ListBtnAvaliableClick
@ -172,8 +174,8 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 3 Left = 3
Height = 62 Height = 62
Top = 261 Top = 334
Width = 536 Width = 643
Alignment = taLeftJustify Alignment = taLeftJustify
Anchors = [akLeft, akRight, akBottom] Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -185,9 +187,9 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideLeft.Control = TabSheet1 AnchorSideLeft.Control = TabSheet1
AnchorSideBottom.Control = Panel1 AnchorSideBottom.Control = Panel1
Left = 6 Left = 6
Height = 22 Height = 21
Top = 233 Top = 307
Width = 109 Width = 116
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Show caption' Caption = 'Show caption'
@ -197,16 +199,16 @@ object ToolPanelSetupForm: TToolPanelSetupForm
end end
object TabSheet2: TTabSheet object TabSheet2: TTabSheet
Caption = 'Options' Caption = 'Options'
ClientHeight = 329 ClientHeight = 402
ClientWidth = 548 ClientWidth = 655
object cbShowHint: TCheckBox object cbShowHint: TCheckBox
AnchorSideLeft.Control = TabSheet2 AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = cbTransp AnchorSideTop.Control = cbTransp
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 22 Height = 21
Top = 165 Top = 163
Width = 86 Width = 91
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Show hint' Caption = 'Show hint'
TabOrder = 0 TabOrder = 0
@ -216,9 +218,9 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideTop.Control = cbFlatBtn AnchorSideTop.Control = cbFlatBtn
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 22 Height = 21
Top = 137 Top = 136
Width = 99 Width = 105
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Transparent' Caption = 'Transparent'
TabOrder = 1 TabOrder = 1
@ -228,23 +230,24 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideTop.Control = RadioGroup1 AnchorSideTop.Control = RadioGroup1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 22 Height = 21
Top = 109 Top = 109
Width = 100 Width = 105
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Flat buttons' Caption = 'Flat buttons'
TabOrder = 2 TabOrder = 2
end end
object RadioGroup1: TRadioGroup object RadioGroup1: TRadioGroup
AnchorSideLeft.Control = RadioGroup2 AnchorSideLeft.Control = Panel2
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = TabSheet2 AnchorSideTop.Control = TabSheet2
AnchorSideRight.Control = TabSheet2 AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 126 Left = 335
Height = 97 Height = 97
Top = 6 Top = 6
Width = 175 Width = 314
Anchors = [akTop, akLeft, akRight]
AutoFill = False AutoFill = False
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Button align' Caption = 'Button align'
@ -255,7 +258,7 @@ object ToolPanelSetupForm: TToolPanelSetupForm
ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1 ChildSizing.ControlsPerLine = 1
ClientHeight = 78 ClientHeight = 78
ClientWidth = 171 ClientWidth = 310
Items.Strings = ( Items.Strings = (
'None' 'None'
'Left' 'Left'
@ -267,12 +270,12 @@ object ToolPanelSetupForm: TToolPanelSetupForm
object RadioGroup2: TRadioGroup object RadioGroup2: TRadioGroup
AnchorSideLeft.Control = TabSheet2 AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = TabSheet2 AnchorSideTop.Control = TabSheet2
AnchorSideRight.Control = TabSheet2 AnchorSideRight.Control = Panel2
AnchorSideRight.Side = asrBottom
Left = 6 Left = 6
Height = 97 Height = 94
Top = 6 Top = 6
Width = 114 Width = 314
Anchors = [akTop, akLeft, akRight]
AutoFill = True AutoFill = True
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -285,8 +288,8 @@ object ToolPanelSetupForm: TToolPanelSetupForm
ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1 ChildSizing.ControlsPerLine = 1
ClientHeight = 78 ClientHeight = 75
ClientWidth = 110 ClientWidth = 310
Items.Strings = ( Items.Strings = (
'Standart' 'Standart'
'Windows XP' 'Windows XP'
@ -295,13 +298,27 @@ object ToolPanelSetupForm: TToolPanelSetupForm
TabOrder = 4 TabOrder = 4
TabStop = True TabStop = True
end end
object Panel2: TPanel
AnchorSideLeft.Control = TabSheet2
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = TabSheet2
AnchorSideBottom.Control = TabSheet2
AnchorSideBottom.Side = asrBottom
Left = 326
Height = 390
Top = 6
Width = 3
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Around = 6
TabOrder = 5
end
end end
end end
object ButtonPanel1: TButtonPanel object ButtonPanel1: TButtonPanel
Left = 6 Left = 6
Height = 46 Height = 42
Top = 370 Top = 439
Width = 542 Width = 647
TabOrder = 1 TabOrder = 1
ShowButtons = [pbClose, pbHelp] ShowButtons = [pbClose, pbHelp]
end end

View File

@ -1,105 +1,112 @@
{ ��� - ���� ��������, ������������� ��������� lazarus } { ��� - ���� ��������, ������������� ��������� lazarus }
LazarusResources.Add('TToolPanelSetupForm','FORMDATA',[ LazarusResources.Add('TToolPanelSetupForm','FORMDATA',[
'TPF0'#19'TToolPanelSetupForm'#18'ToolPanelSetupForm'#4'Left'#3'e'#1#6'Height' 'TPF0'#19'TToolPanelSetupForm'#18'ToolPanelSetupForm'#4'Left'#3''#1#6'Height'
+#3#166#1#3'Top'#3#180#0#5'Width'#3'*'#2#13'ActiveControl'#7#12'PageControl1' +#3#231#1#3'Top'#3#176#0#5'Width'#3#147#2#13'ActiveControl'#7#12'PageControl1'
+#7'Caption'#6#16'Tool panel setup'#12'ClientHeight'#3#166#1#11'ClientWidth'#3 +#7'Caption'#6#16'Tool panel setup'#12'ClientHeight'#3#231#1#11'ClientWidth'#3
+'*'#2#9'FormStyle'#7#11'fsStayOnTop'#7'OnClose'#7#9'FormClose'#9'OnDestroy'#7 +#147#2#9'FormStyle'#7#11'fsStayOnTop'#7'OnClose'#7#9'FormClose'#8'OnCreate'#7
+#11'FormDestroy'#8'OnResize'#7#10'FormResize'#10'LCLVersion'#6#6'0.9.27'#0#12 +#10'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#8'OnResize'#7#10'FormResize'#8
+'TPageControl'#12'PageControl1'#4'Left'#2#0#6'Height'#3'l'#1#3'Top'#2#0#5'Wi' +'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#6'0.9.27'#0#12'TPageControl'
+'dth'#3'*'#2#10'ActivePage'#7#9'TabSheet2'#5'Align'#7#8'alClient'#8'TabIndex' +#12'PageControl1'#4'Left'#2#0#6'Height'#3#177#1#3'Top'#2#0#5'Width'#3#147#2
+#2#1#8'TabOrder'#2#0#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#15'Visible but' +#10'ActivePage'#7#9'TabSheet2'#5'Align'#7#8'alClient'#8'TabIndex'#2#1#8'TabO'
+'tons'#12'ClientHeight'#3'I'#1#11'ClientWidth'#3'$'#2#0#6'TLabel'#6'Label1' +'rder'#2#0#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#15'Visible buttons'#12'C'
+#22'AnchorSideLeft.Control'#7#7'BitBtn3'#19'AnchorSideLeft.Side'#7#9'asrBott' +'lientHeight'#3#146#1#11'ClientWidth'#3#143#2#0#6'TLabel'#6'Label1'#22'Ancho'
+'om'#21'AnchorSideTop.Control'#7#9'TabSheet1'#4'Left'#3#26#1#6'Height'#2#18#3 +'rSideLeft.Control'#7#7'BitBtn3'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'A'
+'Top'#2#6#5'Width'#2'n'#20'BorderSpacing.Around'#2#6#7'Caption'#6#17'Avaliab' +'nchorSideTop.Control'#7#9'TabSheet1'#4'Left'#3'c'#1#6'Height'#2#18#3'Top'#2
+'le buttons'#12'FocusControl'#7#16'ListBtnAvaliable'#11'ParentColor'#8#0#0#6 +#6#5'Width'#2'u'#20'BorderSpacing.Around'#2#6#7'Caption'#6#17'Avaliable butt'
+'TLabel'#6'Label2'#21'AnchorSideTop.Control'#7#9'TabSheet1'#4'Left'#2#8#6'He' +'ons'#12'FocusControl'#7#16'ListBtnAvaliable'#11'ParentColor'#8#0#0#6'TLabel'
+'ight'#2#18#3'Top'#2#6#5'Width'#2'_'#20'BorderSpacing.Around'#2#6#7'Caption' +#6'Label2'#21'AnchorSideTop.Control'#7#9'TabSheet1'#4'Left'#2#8#6'Height'#2
+#6#15'Visible buttons'#12'FocusControl'#7#14'ListBtnVisible'#11'ParentColor' +#18#3'Top'#2#6#5'Width'#2'g'#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'Vi'
+#8#0#0#7'TBitBtn'#7'BitBtn3'#22'AnchorSideLeft.Control'#7#7'BitBtn6'#21'Anch' +'sible buttons'#12'FocusControl'#7#14'ListBtnVisible'#11'ParentColor'#8#0#0#7
+'orSideTop.Control'#7#7'BitBtn4'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'An' +'TBitBtn'#7'BitBtn3'#22'AnchorSideLeft.Control'#7#7'BitBtn6'#21'AnchorSideTo'
+'chorSideRight.Control'#7#7'BitBtn6'#20'AnchorSideRight.Side'#7#9'asrBottom' +'p.Control'#7#7'BitBtn4'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSide'
+#4'Left'#3#235#0#6'Height'#2#30#3'Top'#3#152#0#5'Width'#2')'#7'Anchors'#11#5 +'Right.Control'#7#7'BitBtn6'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'
+'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#25'BorderSpacing.In' +#3'2'#1#6'Height'#2#30#3'Top'#3#152#0#5'Width'#2'+'#7'Anchors'#11#5'akTop'#6
+'nerBorder'#2#2#7'Caption'#6#2'<<'#9'NumGlyphs'#2#0#7'OnClick'#7#12'BitBtn3C' +'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#25'BorderSpacing.InnerBorder'
+'lick'#8'TabOrder'#2#0#0#0#7'TBitBtn'#7'BitBtn4'#22'AnchorSideLeft.Control'#7 +#2#2#7'Caption'#6#2'<<'#9'NumGlyphs'#2#0#7'OnClick'#7#12'BitBtn3Click'#8'Tab'
+#7'BitBtn6'#21'AnchorSideTop.Control'#7#7'BitBtn5'#18'AnchorSideTop.Side'#7#9 +'Order'#2#0#0#0#7'TBitBtn'#7'BitBtn4'#22'AnchorSideLeft.Control'#7#7'BitBtn6'
+'asrBottom'#23'AnchorSideRight.Control'#7#7'BitBtn6'#20'AnchorSideRight.Side' +#21'AnchorSideTop.Control'#7#7'BitBtn5'#18'AnchorSideTop.Side'#7#9'asrBottom'
+#7#9'asrBottom'#4'Left'#3#235#0#6'Height'#2'!'#3'Top'#2'q'#5'Width'#2')'#7'A' +#23'AnchorSideRight.Control'#7#7'BitBtn6'#20'AnchorSideRight.Side'#7#9'asrBo'
+'nchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#17'BorderSpacing.T' +'ttom'#4'Left'#3'2'#1#6'Height'#2'!'#3'Top'#2'q'#5'Width'#2'+'#7'Anchors'#11
+'op'#2#6#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#1'<'#9'NumGlyphs'#2#0 +#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#25
+#7'OnClick'#7#12'BitBtn4Click'#8'TabOrder'#2#1#0#0#7'TBitBtn'#7'BitBtn5'#22 +'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#1'<'#9'NumGlyphs'#2#0#7'OnClick'
+'AnchorSideLeft.Control'#7#7'BitBtn6'#21'AnchorSideTop.Control'#7#7'BitBtn6' +#7#12'BitBtn4Click'#8'TabOrder'#2#1#0#0#7'TBitBtn'#7'BitBtn5'#22'AnchorSideL'
+#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#7'BitBt' +'eft.Control'#7#7'BitBtn6'#21'AnchorSideTop.Control'#7#7'BitBtn6'#18'AnchorS'
+'n6'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#235#0#6'Height'#2'&'#3 +'ideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#7'BitBtn6'#20'Anc'
+'Top'#2'E'#5'Width'#2')'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'Bo' +'horSideRight.Side'#7#9'asrBottom'#4'Left'#3'2'#1#6'Height'#2'&'#3'Top'#2'E'
+'rderSpacing.Top'#2#6#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#1'>'#9 +#5'Width'#2'+'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacin'
+'NumGlyphs'#2#0#7'OnClick'#7#12'BitBtn5Click'#8'TabOrder'#2#2#0#0#7'TBitBtn' +'g.Top'#2#6#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#1'>'#9'NumGlyphs'
+#7'BitBtn6'#22'AnchorSideLeft.Control'#7#14'ListBtnVisible'#19'AnchorSideLef' +#2#0#7'OnClick'#7#12'BitBtn5Click'#8'TabOrder'#2#2#0#0#7'TBitBtn'#7'BitBtn6'
+'t.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#16'ListBtnAvaliable'#4'L' +#22'AnchorSideLeft.Control'#7#9'TabSheet1'#19'AnchorSideLeft.Side'#7#9'asrCe'
+'eft'#3#235#0#6'Height'#2'!'#3'Top'#2#30#5'Width'#2')'#8'AutoSize'#9#25'Bord' +'nter'#21'AnchorSideTop.Control'#7#16'ListBtnAvaliable'#4'Left'#3'2'#1#6'Hei'
+'erSpacing.InnerBorder'#2#2#7'Caption'#6#2'>>'#9'NumGlyphs'#2#0#7'OnClick'#7 +'ght'#2'!'#3'Top'#2#30#5'Width'#2'+'#8'AutoSize'#9#25'BorderSpacing.InnerBor'
+#12'BitBtn6Click'#8'TabOrder'#2#3#0#0#8'TListBox'#16'ListBtnAvaliable'#22'An' +'der'#2#2#7'Caption'#6#2'>>'#9'NumGlyphs'#2#0#7'OnClick'#7#12'BitBtn6Click'#8
+'chorSideLeft.Control'#7#7'BitBtn3'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21 +'TabOrder'#2#3#0#0#8'TListBox'#16'ListBtnAvaliable'#22'AnchorSideLeft.Contro'
+'AnchorSideTop.Control'#7#6'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#23 +'l'#7#7'BitBtn3'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Con'
+'AnchorSideRight.Control'#7#9'TabSheet1'#20'AnchorSideRight.Side'#7#9'asrBot' +'trol'#7#6'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.'
+'tom'#24'AnchorSideBottom.Control'#7#13'cbShowCaption'#4'Left'#3#26#1#6'Heig' +'Control'#7#9'TabSheet1'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSi'
+'ht'#3#197#0#3'Top'#2#30#5'Width'#3']'#3#7'Anchors'#11#5'akTop'#6'akLeft'#7 +'deBottom.Control'#7#13'cbShowCaption'#4'Left'#3'c'#1#6'Height'#3#15#1#3'Top'
+'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#13'Items.Strings'#1#6#3 +#2#30#5'Width'#3'&'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'
+'111'#6#3'222'#6#3'333'#6#2'44'#6#3'555'#6#3'666'#6#3'777'#0#10'ItemHeight'#2 +#0#20'BorderSpacing.Around'#2#6#13'Items.Strings'#1#6#3'111'#6#3'222'#6#3'33'
+#0#7'OnClick'#7#21'ListBtnAvaliableClick'#10'OnDrawItem'#7#16'ListBox1DrawIt' +'3'#6#2'44'#6#3'555'#6#3'666'#6#3'777'#0#10'ItemHeight'#2#0#7'OnClick'#7#21
+'em'#5'Style'#7#16'lbOwnerDrawFixed'#8'TabOrder'#2#4#8'TopIndex'#2#255#0#0#8 +'ListBtnAvaliableClick'#10'OnDrawItem'#7#16'ListBox1DrawItem'#5'Style'#7#16
+'TListBox'#14'ListBtnVisible'#22'AnchorSideLeft.Control'#7#6'Label2'#21'Anch' +'lbOwnerDrawFixed'#8'TabOrder'#2#4#0#0#8'TListBox'#14'ListBtnVisible'#22'Anc'
+'orSideTop.Control'#7#6'Label2'#18'AnchorSideTop.Side'#7#9'asrBottom'#24'Anc' +'horSideLeft.Control'#7#6'Label2'#21'AnchorSideTop.Control'#7#6'Label2'#18'A'
+'horSideBottom.Control'#7#13'cbShowCaption'#4'Left'#2#14#6'Height'#3#197#0#3 +'nchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#7'BitBtn6'
+'Top'#2#30#5'Width'#3#215#0#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'#0#20 +#24'AnchorSideBottom.Control'#7#13'cbShowCaption'#4'Left'#2#14#6'Height'#3#15
+'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#7'OnClick'#7#21'ListBtnAvaliab' +#1#3'Top'#2#30#5'Width'#3#30#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8
+'leClick'#10'OnDrawItem'#7#16'ListBox1DrawItem'#5'Style'#7#16'lbOwnerDrawFix' +'akBottom'#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#7'OnClick'#7#21
+'ed'#8'TabOrder'#2#5#8'TopIndex'#2#255#0#0#6'TPanel'#6'Panel1'#24'AnchorSide' +'ListBtnAvaliableClick'#10'OnDrawItem'#7#16'ListBox1DrawItem'#5'Style'#7#16
+'Bottom.Control'#7#9'TabSheet1'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'L' +'lbOwnerDrawFixed'#8'TabOrder'#2#5#8'TopIndex'#2#255#0#0#6'TPanel'#6'Panel1'
+'eft'#2#3#6'Height'#2'>'#3'Top'#3#5#1#5'Width'#3#24#2#9'Alignment'#7#13'taLe' +#24'AnchorSideBottom.Control'#7#9'TabSheet1'#21'AnchorSideBottom.Side'#7#9'a'
+'ftJustify'#7'Anchors'#11#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSpacin' +'srBottom'#4'Left'#2#3#6'Height'#2'>'#3'Top'#3'N'#1#5'Width'#3#131#2#9'Align'
+'g.Around'#2#6#10'BevelOuter'#7#9'bvLowered'#11'FullRepaint'#8#8'TabOrder'#2 +'ment'#7#13'taLeftJustify'#7'Anchors'#11#6'akLeft'#7'akRight'#8'akBottom'#0
+#6#0#0#9'TCheckBox'#13'cbShowCaption'#22'AnchorSideLeft.Control'#7#9'TabShee' +#20'BorderSpacing.Around'#2#6#10'BevelOuter'#7#9'bvLowered'#11'FullRepaint'#8
+'t1'#24'AnchorSideBottom.Control'#7#6'Panel1'#4'Left'#2#6#6'Height'#2#22#3'T' +#8'TabOrder'#2#6#0#0#9'TCheckBox'#13'cbShowCaption'#22'AnchorSideLeft.Contro'
+'op'#3#233#0#5'Width'#2'm'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#20'BorderSp' +'l'#7#9'TabSheet1'#24'AnchorSideBottom.Control'#7#6'Panel1'#4'Left'#2#6#6'He'
+'acing.Around'#2#6#7'Caption'#6#12'Show caption'#8'OnChange'#7#19'cbShowCapt' +'ight'#2#21#3'Top'#3'3'#1#5'Width'#2't'#7'Anchors'#11#6'akLeft'#8'akBottom'#0
,'ionChange'#8'TabOrder'#2#7#0#0#0#9'TTabSheet'#9'TabSheet2'#7'Caption'#6#7'O' ,#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'Show caption'#8'OnChange'#7#19
+'ptions'#12'ClientHeight'#3'I'#1#11'ClientWidth'#3'$'#2#0#9'TCheckBox'#10'cb' +'cbShowCaptionChange'#8'TabOrder'#2#7#0#0#0#9'TTabSheet'#9'TabSheet2'#7'Capt'
+'ShowHint'#22'AnchorSideLeft.Control'#7#9'TabSheet2'#21'AnchorSideTop.Contro' +'ion'#6#7'Options'#12'ClientHeight'#3#146#1#11'ClientWidth'#3#143#2#0#9'TChe'
+'l'#7#8'cbTransp'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height' +'ckBox'#10'cbShowHint'#22'AnchorSideLeft.Control'#7#9'TabSheet2'#21'AnchorSi'
+#2#22#3'Top'#3#165#0#5'Width'#2'V'#20'BorderSpacing.Around'#2#6#7'Caption'#6 +'deTop.Control'#7#8'cbTransp'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2
+#9'Show hint'#8'TabOrder'#2#0#0#0#9'TCheckBox'#8'cbTransp'#22'AnchorSideLeft' +#6#6'Height'#2#21#3'Top'#3#163#0#5'Width'#2'['#20'BorderSpacing.Around'#2#6#7
+'.Control'#7#9'TabSheet2'#21'AnchorSideTop.Control'#7#9'cbFlatBtn'#18'Anchor' +'Caption'#6#9'Show hint'#8'TabOrder'#2#0#0#0#9'TCheckBox'#8'cbTransp'#22'Anc'
+'SideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#22#3'Top'#3#137#0#5'Wi' +'horSideLeft.Control'#7#9'TabSheet2'#21'AnchorSideTop.Control'#7#9'cbFlatBtn'
+'dth'#2'c'#20'BorderSpacing.Around'#2#6#7'Caption'#6#11'Transparent'#8'TabOr' +#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#3
+'der'#2#1#0#0#9'TCheckBox'#9'cbFlatBtn'#22'AnchorSideLeft.Control'#7#9'TabSh' +#136#0#5'Width'#2'i'#20'BorderSpacing.Around'#2#6#7'Caption'#6#11'Transparen'
+'eet2'#21'AnchorSideTop.Control'#7#11'RadioGroup1'#18'AnchorSideTop.Side'#7#9 +'t'#8'TabOrder'#2#1#0#0#9'TCheckBox'#9'cbFlatBtn'#22'AnchorSideLeft.Control'
+'asrBottom'#4'Left'#2#6#6'Height'#2#22#3'Top'#2'm'#5'Width'#2'd'#20'BorderSp' +#7#9'TabSheet2'#21'AnchorSideTop.Control'#7#11'RadioGroup1'#18'AnchorSideTop'
+'acing.Around'#2#6#7'Caption'#6#12'Flat buttons'#8'TabOrder'#2#2#0#0#11'TRad' +'.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2'm'#5'Width'#2'i'
+'ioGroup'#11'RadioGroup1'#22'AnchorSideLeft.Control'#7#11'RadioGroup2'#19'An' +#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'Flat buttons'#8'TabOrder'#2#2#0
+'chorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'TabSheet2' +#0#11'TRadioGroup'#11'RadioGroup1'#22'AnchorSideLeft.Control'#7#6'Panel2'#19
+'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'TabSheet2'
+#23'AnchorSideRight.Control'#7#9'TabSheet2'#20'AnchorSideRight.Side'#7#9'asr' +#23'AnchorSideRight.Control'#7#9'TabSheet2'#20'AnchorSideRight.Side'#7#9'asr'
+'Bottom'#4'Left'#2'~'#6'Height'#2'a'#3'Top'#2#6#5'Width'#3#175#0#8'AutoFill' +'Bottom'#4'Left'#3'O'#1#6'Height'#2'a'#3'Top'#2#6#5'Width'#3':'#1#7'Anchors'
+#8#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'Button align'#28'ChildSizing' +#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoFill'#8#20'BorderSpacing.Around'#2
+'.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#28'ChildSizing.' +#6#7'Caption'#6#12'Button align'#28'ChildSizing.LeftRightSpacing'#2#6#28'Chi'
+'ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14 +'ldSizing.TopBottomSpacing'#2#6#28'ChildSizing.ShrinkHorizontal'#7#14'crsSca'
+'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom' +'leChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizin'
+#27'ChildSizing.ControlsPerLine'#2#1#12'ClientHeight'#2'N'#11'ClientWidth'#3 +'g.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLin'
+#171#0#13'Items.Strings'#1#6#4'None'#6#4'Left'#6#5'Rignt'#0#8'TabOrder'#2#3#7 +'e'#2#1#12'ClientHeight'#2'N'#11'ClientWidth'#3'6'#1#13'Items.Strings'#1#6#4
+'TabStop'#9#0#0#11'TRadioGroup'#11'RadioGroup2'#22'AnchorSideLeft.Control'#7 +'None'#6#4'Left'#6#5'Rignt'#0#8'TabOrder'#2#3#7'TabStop'#9#0#0#11'TRadioGrou'
+#9'TabSheet2'#21'AnchorSideTop.Control'#7#9'TabSheet2'#23'AnchorSideRight.Co' +'p'#11'RadioGroup2'#22'AnchorSideLeft.Control'#7#9'TabSheet2'#21'AnchorSideT'
+'ntrol'#7#9'TabSheet2'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6 +'op.Control'#7#9'TabSheet2'#23'AnchorSideRight.Control'#7#6'Panel2'#4'Left'#2
+'Height'#2'a'#3'Top'#2#6#5'Width'#2'r'#8'AutoFill'#9#8'AutoSize'#9#20'Border' +#6#6'Height'#2'^'#3'Top'#2#6#5'Width'#3':'#1#7'Anchors'#11#5'akTop'#6'akLeft'
+'Spacing.Around'#2#6#7'Caption'#6#14'Tool bar style'#28'ChildSizing.LeftRigh' +#7'akRight'#0#8'AutoFill'#9#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Cap'
+'tSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHo' +'tion'#6#14'Tool bar style'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSiz'
+'rizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7 +'ing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogen'
+#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScale' +'ousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResi'
+'Childs'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.' +'ze'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.Sh'
+'Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine' +'rinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRig'
+#2#1#12'ClientHeight'#2'N'#11'ClientWidth'#2'n'#13'Items.Strings'#1#6#8'Stan' +'htThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1#12'ClientHeight'#2'K'
+'dart'#6#10'Windows XP'#6#6'Native'#0#8'TabOrder'#2#4#7'TabStop'#9#0#0#0#0#12 +#11'ClientWidth'#3'6'#1#13'Items.Strings'#1#6#8'Standart'#6#10'Windows XP'#6
+'TButtonPanel'#12'ButtonPanel1'#4'Left'#2#6#6'Height'#2'.'#3'Top'#3'r'#1#5'W' +#6'Native'#0#8'TabOrder'#2#4#7'TabStop'#9#0#0#6'TPanel'#6'Panel2'#22'AnchorS'
+'idth'#3#30#2#8'TabOrder'#2#1#11'ShowButtons'#11#7'pbClose'#6'pbHelp'#0#0#0#0 +'ideLeft.Control'#7#9'TabSheet2'#19'AnchorSideLeft.Side'#7#9'asrCenter'#21'A'
+'nchorSideTop.Control'#7#9'TabSheet2'#24'AnchorSideBottom.Control'#7#9'TabSh'
+'eet2'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3'F'#1#6'Height'#3
+#134#1#3'Top'#2#6#5'Width'#2#3#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'#0
+#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#5#0#0#0#0#12'TButtonPanel'#12'Bu'
+'ttonPanel1'#4'Left'#2#6#6'Height'#2'*'#3'Top'#3#183#1#5'Width'#3#135#2#8'Ta'
+'bOrder'#2#1#11'ShowButtons'#11#7'pbClose'#6'pbHelp'#0#0#0#0
]); ]);

View File

@ -0,0 +1,15 @@
TTOOLPANELSETUPFORM.CAPTION=Tool panel setup
TTOOLPANELSETUPFORM.TABSHEET1.CAPTION=Visible buttons
TTOOLPANELSETUPFORM.LABEL1.CAPTION=Avaliable buttons
TTOOLPANELSETUPFORM.LABEL2.CAPTION=Visible buttons
TTOOLPANELSETUPFORM.BITBTN3.CAPTION=<<
TTOOLPANELSETUPFORM.BITBTN4.CAPTION=<
TTOOLPANELSETUPFORM.BITBTN5.CAPTION=>
TTOOLPANELSETUPFORM.BITBTN6.CAPTION=>>
TTOOLPANELSETUPFORM.CBSHOWCAPTION.CAPTION=Show caption
TTOOLPANELSETUPFORM.TABSHEET2.CAPTION=Options
TTOOLPANELSETUPFORM.CBSHOWHINT.CAPTION=Show hint
TTOOLPANELSETUPFORM.CBTRANSP.CAPTION=Transparent
TTOOLPANELSETUPFORM.CBFLATBTN.CAPTION=Flat buttons
TTOOLPANELSETUPFORM.RADIOGROUP1.CAPTION=Button align
TTOOLPANELSETUPFORM.RADIOGROUP2.CAPTION=Tool bar style

View File

@ -28,6 +28,7 @@ type
ListBtnVisible: TListBox; ListBtnVisible: TListBox;
PageControl1: TPageControl; PageControl1: TPageControl;
Panel1: TPanel; Panel1: TPanel;
Panel2: TPanel;
RadioGroup1: TRadioGroup; RadioGroup1: TRadioGroup;
RadioGroup2: TRadioGroup; RadioGroup2: TRadioGroup;
TabSheet1: TTabSheet; TabSheet1: TTabSheet;
@ -38,6 +39,7 @@ type
procedure BitBtn6Click(Sender: TObject); procedure BitBtn6Click(Sender: TObject);
procedure CheckBox1Change(Sender: TObject); procedure CheckBox1Change(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject); procedure FormDestroy(Sender: TObject);
procedure FormResize(Sender: TObject); procedure FormResize(Sender: TObject);
procedure ListBox1DrawItem(Control: TWinControl; Index: Integer; procedure ListBox1DrawItem(Control: TWinControl; Index: Integer;
@ -56,7 +58,7 @@ var
ToolPanelSetupForm: TToolPanelSetupForm; ToolPanelSetupForm: TToolPanelSetupForm;
implementation implementation
uses vclutils, ActnList, boxprocs; uses vclutils, ActnList, boxprocs, rxconst;
type type
THackToolPanel = class(TToolPanel); THackToolPanel = class(TToolPanel);
@ -176,6 +178,30 @@ begin
CloseAction:=caFree; CloseAction:=caFree;
end; end;
procedure TToolPanelSetupForm.FormCreate(Sender: TObject);
begin
Caption:=sToolPanelSetup;
TabSheet1.Caption:=sVisibleButtons;
TabSheet2.Caption:=sOptions;
Label2.Caption:=sVisibleButtons;
Label2.Caption:=sVisibleButtons;
Label1.Caption:=sAvaliableButtons;
cbShowCaption.Caption:=sShowCaption;
RadioGroup2.Caption:=sToolBarStyle;
RadioGroup2.Items.Clear;
RadioGroup2.Items.Add(sToolBarStyle1);
RadioGroup2.Items.Add(sToolBarStyle2);
RadioGroup2.Items.Add(sToolBarStyle3);
cbFlatBtn.Caption:=sFlatButtons;
cbTransp.Caption:=sTransparent;
cbShowHint.Caption:=sShowHint;
RadioGroup1.Caption:=sButtonAlign;
RadioGroup1.Items.Clear;
RadioGroup1.Items.Add(sButtonAlign1);
RadioGroup1.Items.Add(sButtonAlign2);
RadioGroup1.Items.Add(sButtonAlign3);
end;
procedure TToolPanelSetupForm.CheckBox1Change(Sender: TObject); procedure TToolPanelSetupForm.CheckBox1Change(Sender: TObject);
var var

View File

@ -7,7 +7,8 @@ object SelectDataSetForm: TSelectDataSetForm
Caption = 'Select dataset to copy to' Caption = 'Select dataset to copy to'
ClientHeight = 315 ClientHeight = 315
ClientWidth = 400 ClientWidth = 400
Position = poDesktopCenter OnCreate = FormCreate
Position = poScreenCenter
LCLVersion = '0.9.27' LCLVersion = '0.9.27'
object Label1: TLabel object Label1: TLabel
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
@ -15,8 +16,8 @@ object SelectDataSetForm: TSelectDataSetForm
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 18 Height = 18
Top = 34 Top = 33
Width = 99 Width = 106
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Sourse dataset' Caption = 'Sourse dataset'
FocusControl = DataSetList FocusControl = DataSetList
@ -26,9 +27,9 @@ object SelectDataSetForm: TSelectDataSetForm
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner AnchorSideTop.Control = Owner
Left = 6 Left = 6
Height = 22 Height = 21
Top = 6 Top = 6
Width = 153 Width = 159
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Copy only metadata' Caption = 'Copy only metadata'
OnChange = CheckBox1Change OnChange = CheckBox1Change
@ -42,8 +43,8 @@ object SelectDataSetForm: TSelectDataSetForm
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = ButtonPanel1 AnchorSideBottom.Control = ButtonPanel1
Left = 6 Left = 6
Height = 195 Height = 204
Top = 58 Top = 57
Width = 388 Width = 388
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -55,8 +56,8 @@ object SelectDataSetForm: TSelectDataSetForm
end end
object ButtonPanel1: TButtonPanel object ButtonPanel1: TButtonPanel
Left = 6 Left = 6
Height = 50 Height = 42
Top = 259 Top = 267
Width = 388 Width = 388
TabOrder = 2 TabOrder = 2
ShowButtons = [pbOK, pbCancel, pbHelp] ShowButtons = [pbOK, pbCancel, pbHelp]

View File

@ -4,23 +4,23 @@ LazarusResources.Add('TSelectDataSetForm','FORMDATA',[
'TPF0'#18'TSelectDataSetForm'#17'SelectDataSetForm'#4'Left'#3#189#1#6'Height' 'TPF0'#18'TSelectDataSetForm'#17'SelectDataSetForm'#4'Left'#3#189#1#6'Height'
+#3';'#1#3'Top'#3#197#0#5'Width'#3#144#1#13'ActiveControl'#7#9'CheckBox1'#7'C' +#3';'#1#3'Top'#3#197#0#5'Width'#3#144#1#13'ActiveControl'#7#9'CheckBox1'#7'C'
+'aption'#6#25'Select dataset to copy to'#12'ClientHeight'#3';'#1#11'ClientWi' +'aption'#6#25'Select dataset to copy to'#12'ClientHeight'#3';'#1#11'ClientWi'
+'dth'#3#144#1#8'Position'#7#15'poDesktopCenter'#10'LCLVersion'#6#6'0.9.27'#0 +'dth'#3#144#1#8'OnCreate'#7#10'FormCreate'#8'Position'#7#14'poScreenCenter'
+#6'TLabel'#6'Label1'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.' +#10'LCLVersion'#6#6'0.9.27'#0#6'TLabel'#6'Label1'#22'AnchorSideLeft.Control'
+'Control'#7#9'CheckBox1'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6 +#7#5'Owner'#21'AnchorSideTop.Control'#7#9'CheckBox1'#18'AnchorSideTop.Side'#7
+'Height'#2#18#3'Top'#2'"'#5'Width'#2'c'#20'BorderSpacing.Around'#2#6#7'Capti' +#9'asrBottom'#4'Left'#2#6#6'Height'#2#18#3'Top'#2'!'#5'Width'#2'j'#20'Border'
+'on'#6#14'Sourse dataset'#12'FocusControl'#7#11'DataSetList'#11'ParentColor' +'Spacing.Around'#2#6#7'Caption'#6#14'Sourse dataset'#12'FocusControl'#7#11'D'
+#8#0#0#9'TCheckBox'#9'CheckBox1'#22'AnchorSideLeft.Control'#7#5'Owner'#21'An' +'ataSetList'#11'ParentColor'#8#0#0#9'TCheckBox'#9'CheckBox1'#22'AnchorSideLe'
+'chorSideTop.Control'#7#5'Owner'#4'Left'#2#6#6'Height'#2#22#3'Top'#2#6#5'Wid' +'ft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#5'Owner'#4'Left'#2#6#6'H'
+'th'#3#153#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#18'Copy only metadata' +'eight'#2#21#3'Top'#2#6#5'Width'#3#159#0#20'BorderSpacing.Around'#2#6#7'Capt'
+#8'OnChange'#7#15'CheckBox1Change'#8'TabOrder'#2#0#0#0#8'TListBox'#11'DataSe' +'ion'#6#18'Copy only metadata'#8'OnChange'#7#15'CheckBox1Change'#8'TabOrder'
+'tList'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#6 +#2#0#0#0#8'TListBox'#11'DataSetList'#22'AnchorSideLeft.Control'#7#5'Owner'#21
+'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7 +'AnchorSideTop.Control'#7#6'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#23
+#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Contro' +'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'
+'l'#7#12'ButtonPanel1'#4'Left'#2#6#6'Height'#3#195#0#3'Top'#2':'#5'Width'#3 +#24'AnchorSideBottom.Control'#7#12'ButtonPanel1'#4'Left'#2#6#6'Height'#3#204
+#132#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSp' +#0#3'Top'#2'9'#5'Width'#3#132#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8
+'acing.Around'#2#6#10'ItemHeight'#2#0#10'OnDblClick'#7#16'ListBox1DblClick' +'akBottom'#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#10'OnDblClick'#7
+#10'OnKeyPress'#7#16'ListBox1KeyPress'#8'TabOrder'#2#1#8'TopIndex'#2#255#0#0 +#16'ListBox1DblClick'#10'OnKeyPress'#7#16'ListBox1KeyPress'#8'TabOrder'#2#1#8
+#12'TButtonPanel'#12'ButtonPanel1'#4'Left'#2#6#6'Height'#2'2'#3'Top'#3#3#1#5 +'TopIndex'#2#255#0#0#12'TButtonPanel'#12'ButtonPanel1'#4'Left'#2#6#6'Height'
+'Width'#3#132#1#8'TabOrder'#2#2#11'ShowButtons'#11#4'pbOK'#8'pbCancel'#6'pbH' +#2'*'#3'Top'#3#11#1#5'Width'#3#132#1#8'TabOrder'#2#2#11'ShowButtons'#11#4'pb'
+'elp'#0#0#0#0 +'OK'#8'pbCancel'#6'pbHelp'#0#0#0#0
]); ]);

View File

@ -0,0 +1,3 @@
TSELECTDATASETFORM.CAPTION=Select dataset to copy to
TSELECTDATASETFORM.LABEL1.CAPTION=Sourse dataset
TSELECTDATASETFORM.CHECKBOX1.CAPTION=Copy only metadata

View File

@ -18,6 +18,7 @@ type
Label1: TLabel; Label1: TLabel;
DataSetList: TListBox; DataSetList: TListBox;
procedure CheckBox1Change(Sender: TObject); procedure CheckBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ListBox1DblClick(Sender: TObject); procedure ListBox1DblClick(Sender: TObject);
procedure ListBox1KeyPress(Sender: TObject; var Key: char); procedure ListBox1KeyPress(Sender: TObject; var Key: char);
private private
@ -53,7 +54,7 @@ var
SelectDataSetForm: TSelectDataSetForm; SelectDataSetForm: TSelectDataSetForm;
implementation implementation
uses rxmemds; uses rxmemds, rxdconst;
function SelectDataSet(ADesigner: TComponentEditorDesigner; const ACaption: string; function SelectDataSet(ADesigner: TComponentEditorDesigner; const ACaption: string;
ExcludeDataSet: TDataSet): TDataSet; ExcludeDataSet: TDataSet): TDataSet;
@ -83,6 +84,13 @@ begin
DataSetList.Enabled:=not CheckBox1.Checked; DataSetList.Enabled:=not CheckBox1.Checked;
end; end;
procedure TSelectDataSetForm.FormCreate(Sender: TObject);
begin
Caption:=sRxSelectDatasetStruct;
CheckBox1.Caption:=sRxCopyOnlyMetadata;
Label1.Caption:=sRxSourseDataset;
end;
procedure TSelectDataSetForm.ListBox1DblClick(Sender: TObject); procedure TSelectDataSetForm.ListBox1DblClick(Sender: TObject);
begin begin
if DataSetList.ItemIndex >= 0 then ModalResult := mrOk; if DataSetList.ItemIndex >= 0 then ModalResult := mrOk;
@ -237,7 +245,7 @@ begin
else else
begin begin
case Index - DefaultEditor.GetVerbCount of case Index - DefaultEditor.GetVerbCount of
0:Result:='Borrow structure...'; 0:Result:=sRxBorrowStructure;
end; end;
end; end;
end; end;