documentation, new component - TRxAboutDialog

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1174 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75 2010-03-02 17:47:14 +00:00
parent 0c024f25e6
commit 99fc954036
38 changed files with 2379 additions and 865 deletions

View File

@ -9,12 +9,15 @@
</Flags>
<MainUnit Value="0"/>
<TargetFileExt Value=".exe"/>
<ResourceType Value="res"/>
<ActiveEditorIndexAtStart Value="0"/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
<UseVersionInfo Value="True"/>
<AutoIncrementBuild Value="True"/>
<Language Value=""/>
<CharSet Value=""/>
<StringTable Comments="" CompanyName="" FileDescription="" FileVersion="0.0.0.0" InternalName="" LegalCopyright="" LegalTrademarks="" OriginalFilename="" ProductName="" ProductVersion=""/>
</VersionInfo>
<PublishOptions>
<Version Value="2"/>
@ -45,7 +48,7 @@
<PackageName Value="LCL"/>
</Item4>
</RequiredPackages>
<Units Count="2">
<Units Count="5">
<Unit0>
<Filename Value="PhoneBookDemo.lpr"/>
<IsPartOfProject Value="True"/>
@ -56,83 +59,120 @@
</Unit0>
<Unit1>
<Filename Value="pbmainunit.pas"/>
<ComponentName Value="pbMainForm"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="pbMainForm"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="pbMainUnit"/>
<CursorPos X="12" Y="49"/>
<TopLine Value="23"/>
<EditorIndex Value="0"/>
<CursorPos X="11" Y="9"/>
<TopLine Value="1"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
<Filename Value="usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<ComponentName Value="pbMainForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="pbMainUnit"/>
<CursorPos X="5" Y="9"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit2>
<Unit3>
<Filename Value="usr\local\share\lazarus\components\rxnew\rxdbgrid.pas"/>
<UnitName Value="rxdbgrid"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit3>
<Unit4>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<ComponentName Value="pbMainForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="pbMainUnit"/>
<CursorPos X="1" Y="48"/>
<TopLine Value="19"/>
<EditorIndex Value="0"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit4>
</Units>
<JumpHistory Count="15" HistoryIndex="14">
<JumpHistory Count="16" HistoryIndex="15">
<Position1>
<Filename Value="pbmainunit.pas"/>
<Caret Line="11" Column="14" TopLine="1"/>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Caret Line="52" Column="1" TopLine="26"/>
</Position1>
<Position2>
<Filename Value="pbmainunit.pas"/>
<Caret Line="14" Column="3" TopLine="1"/>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Caret Line="53" Column="1" TopLine="26"/>
</Position2>
<Position3>
<Filename Value="pbmainunit.pas"/>
<Caret Line="15" Column="28" TopLine="1"/>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Caret Line="54" Column="1" TopLine="26"/>
</Position3>
<Position4>
<Filename Value="pbmainunit.pas"/>
<Caret Line="16" Column="28" TopLine="1"/>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Caret Line="55" Column="1" TopLine="26"/>
</Position4>
<Position5>
<Filename Value="pbmainunit.pas"/>
<Caret Line="18" Column="26" TopLine="1"/>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Caret Line="52" Column="1" TopLine="26"/>
</Position5>
<Position6>
<Filename Value="pbmainunit.pas"/>
<Caret Line="19" Column="28" TopLine="1"/>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Caret Line="53" Column="1" TopLine="26"/>
</Position6>
<Position7>
<Filename Value="pbmainunit.pas"/>
<Caret Line="16" Column="30" TopLine="1"/>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Caret Line="54" Column="1" TopLine="26"/>
</Position7>
<Position8>
<Filename Value="pbmainunit.pas"/>
<Caret Line="19" Column="26" TopLine="1"/>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Caret Line="55" Column="1" TopLine="26"/>
</Position8>
<Position9>
<Filename Value="pbmainunit.pas"/>
<Caret Line="17" Column="16" TopLine="1"/>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Caret Line="54" Column="1" TopLine="25"/>
</Position9>
<Position10>
<Filename Value="pbmainunit.pas"/>
<Caret Line="18" Column="28" TopLine="1"/>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Caret Line="53" Column="1" TopLine="24"/>
</Position10>
<Position11>
<Filename Value="pbmainunit.pas"/>
<Caret Line="19" Column="29" TopLine="1"/>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Caret Line="52" Column="1" TopLine="23"/>
</Position11>
<Position12>
<Filename Value="pbmainunit.pas"/>
<Caret Line="21" Column="30" TopLine="1"/>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Caret Line="51" Column="1" TopLine="22"/>
</Position12>
<Position13>
<Filename Value="pbmainunit.pas"/>
<Caret Line="18" Column="28" TopLine="1"/>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Caret Line="50" Column="1" TopLine="21"/>
</Position13>
<Position14>
<Filename Value="pbmainunit.pas"/>
<Caret Line="20" Column="27" TopLine="1"/>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Caret Line="49" Column="1" TopLine="20"/>
</Position14>
<Position15>
<Filename Value="pbmainunit.pas"/>
<Caret Line="32" Column="43" TopLine="5"/>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Caret Line="48" Column="1" TopLine="19"/>
</Position15>
<Position16>
<Filename Value="\usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Caret Line="49" Column="1" TopLine="19"/>
</Position16>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="8"/>
<PathDelim Value="\"/>
<Target>
<Filename Value="PhoneBookDemo"/>
</Target>
<SearchPaths>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
@ -145,7 +185,7 @@
</Other>
</CompilerOptions>
<Debugging>
<BreakPoints Count="2">
<BreakPoints Count="4">
<Item1>
<Source Value="..\..\rxlookup.pas"/>
<Line Value="1013"/>
@ -154,6 +194,14 @@
<Source Value="..\..\rxpopupunit.pas"/>
<Line Value="267"/>
</Item2>
<Item3>
<Source Value="usr\local\share\lazarus\components\rxnew\Demos\PhoneBookDemo\pbmainunit.pas"/>
<Line Value="51"/>
</Item3>
<Item4>
<Source Value="pbmainunit.pas"/>
<Line Value="51"/>
</Item4>
</BreakPoints>
<Watches Count="1">
<Item1>

View File

@ -10,6 +10,8 @@ uses
Forms,
pbMainUnit;
{$R PhoneBookDemo.res}
begin
Application.Initialize;
Application.CreateForm(TpbMainForm, pbMainForm);

View File

@ -1,79 +1,118 @@
object pbMainForm: TpbMainForm
Left = 274
Left = 461
Height = 446
Top = 446
Top = 365
Width = 849
HorzScrollBar.Page = 848
VertScrollBar.Page = 445
ActiveControl = ToolPanel1
Caption = 'pbMainForm'
ClientHeight = 446
ClientHeight = 444
ClientWidth = 849
Menu = MainMenu1
OnCreate = FormCreate
Position = poDesktopCenter
LCLVersion = '0.9.29'
object ToolPanel1: TToolPanel
Left = 0
Height = 23
Top = 0
Width = 849
Items = <>
Options = []
ButtonAllign = tbaNone
Align = alTop
AutoSize = True
BorderWidth = 4
TabOrder = 0
end
object RxDBGrid1: TRxDBGrid
Height = 403
Left = 0
Height = 396
Top = 23
Width = 849
TitleButtons = False
AutoSort = True
Columns = <
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Width = 190
FieldName = 'PATRONYMIC'
Filter.Font.Style = [fsItalic]
Filter.DropDownRows = 0
Filter.EmptyValue = '(Нет)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Width = 150
FieldName = 'NAME'
Filter.Font.Style = [fsItalic]
Filter.DropDownRows = 0
Filter.EmptyValue = '(Нет)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Width = 150
FieldName = 'SURNAME'
Filter.Font.Style = [fsItalic]
Filter.DropDownRows = 0
Filter.EmptyValue = '(Нет)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Width = 130
FieldName = 'PHONE'
Filter.Font.Style = [fsItalic]
Filter.DropDownRows = 0
Filter.EmptyValue = '(Нет)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
FieldName = 'ICQ'
Filter.Font.Style = [fsItalic]
Filter.DropDownRows = 0
Filter.EmptyValue = '(Нет)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
FieldName = 'MEMO'
Filter.Font.Style = [fsItalic]
Filter.DropDownRows = 0
Filter.EmptyValue = '(Нет)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
end>
OptionsRx = [rdgAllowColumnsForm, rdgAllowDialogFind]
FooterColor = clYellow
Align = alClient
FocusColor = clRed
SelectedColor = clHighlight
GridLineStyle = psSolid
DataSource = Datasource1
FixedColor = clBtnFace
Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgTabs, dgAlwaysShowSelection, dgConfirmDelete]
OptionsExtra = [dgeAutoColumns, dgeCheckboxColumn]
ParentColor = False
Scrollbars = ssBoth
TabOrder = 1
TabStop = True
end
object StatusBar1: TStatusBar
Height = 20
Top = 426
Left = 0
Height = 25
Top = 419
Width = 849
Panels = <>
end
@ -94,59 +133,13 @@ object pbMainForm: TpbMainForm
top = 120
end
object Dbf1: TDbf
FilePath = 'C:\Lazarus\components\rxnew\Demos\PhoneBookDemo\bases\'
FilePath = '/usr/local/share/lazarus/components/rxnew/Demos/PhoneBookDemo/bases/'
IndexDefs = <>
TableName = 'PhoneBook.DBF'
TableLevel = 3
FilterOptions = []
left = 167
top = 167
object Dbf1ID1: TLongintField
AlignMent = taRightJustify
DisplayWidth = 10
FieldName = 'ID'
ProviderFlags = [pfInUpdate, pfInWhere]
end
object Dbf1PATRONYMIC1: TStringField
DisplayWidth = 50
FieldName = 'PATRONYMIC'
Index = 1
ProviderFlags = [pfInUpdate, pfInWhere]
Size = 50
end
object Dbf1NAME1: TStringField
DisplayWidth = 30
FieldName = 'NAME'
Index = 2
ProviderFlags = [pfInUpdate, pfInWhere]
Size = 30
end
object Dbf1SURNAME1: TStringField
DisplayWidth = 30
FieldName = 'SURNAME'
Index = 3
ProviderFlags = [pfInUpdate, pfInWhere]
Size = 30
end
object Dbf1PHONE1: TStringField
DisplayWidth = 20
FieldName = 'PHONE'
Index = 4
ProviderFlags = [pfInUpdate, pfInWhere]
end
object Dbf1ICQ1: TStringField
DisplayWidth = 15
FieldName = 'ICQ'
Index = 5
ProviderFlags = [pfInUpdate, pfInWhere]
Size = 15
end
object Dbf1MEMO1: TMemoField
DisplayWidth = 10
FieldName = 'MEMO'
Index = 6
ProviderFlags = [pfInUpdate, pfInWhere]
Transliterate = False
end
end
object Datasource1: TDatasource
DataSet = Dbf1

View File

@ -1,49 +0,0 @@
{ Ýòî - ôàéë ðåñóðñîâ, àâòîìàòè÷åñêè ñîçäàííûé lazarus }
LazarusResources.Add('TpbMainForm','FORMDATA',[
'TPF0'#11'TpbMainForm'#10'pbMainForm'#4'Left'#3#18#1#6'Height'#3#190#1#3'Top'
+#3#190#1#5'Width'#3'Q'#3#18'HorzScrollBar.Page'#3'P'#3#18'VertScrollBar.Page'
+#3#189#1#7'Caption'#6#10'pbMainForm'#12'ClientHeight'#3#190#1#11'ClientWidth'
+#3'Q'#3#4'Menu'#7#9'MainMenu1'#8'OnCreate'#7#10'FormCreate'#8'Position'#7#15
+'poDesktopCenter'#0#10'TToolPanel'#10'ToolPanel1'#6'Height'#2#23#5'Width'#3
+'Q'#3#5'Items'#14#0#5'Align'#7#5'alTop'#8'AutoSize'#9#11'BorderWidth'#2#4#8
+'TabOrder'#2#0#0#0#9'TRxDBGrid'#9'RxDBGrid1'#6'Height'#3#147#1#3'Top'#2#23#5
+'Width'#3'Q'#3#7'Columns'#14#1#15'Title.Alignment'#7#8'taCenter'#5'Width'#3
+#190#0#9'FieldName'#6#10'PATRONYMIC'#16'Filter.ItemIndex'#2#255#0#1#15'Title'
+'.Alignment'#7#8'taCenter'#5'Width'#3#150#0#9'FieldName'#6#4'NAME'#16'Filter'
+'.ItemIndex'#2#255#0#1#15'Title.Alignment'#7#8'taCenter'#5'Width'#3#150#0#9
+'FieldName'#6#7'SURNAME'#16'Filter.ItemIndex'#2#255#0#1#15'Title.Alignment'#7
+#8'taCenter'#5'Width'#3#130#0#9'FieldName'#6#5'PHONE'#16'Filter.ItemIndex'#2
+#255#0#1#15'Title.Alignment'#7#8'taCenter'#9'FieldName'#6#3'ICQ'#16'Filter.I'
+'temIndex'#2#255#0#1#15'Title.Alignment'#7#8'taCenter'#9'FieldName'#6#4'MEMO'
+#16'Filter.ItemIndex'#2#255#0#0#5'Align'#7#8'alClient'#10'FocusColor'#7#5'cl'
+'Red'#13'SelectedColor'#7#11'clHighlight'#10'DataSource'#7#11'Datasource1'#10
+'FixedColor'#7#9'clBtnFace'#7'Options'#11#9'dgEditing'#8'dgTitles'#11'dgIndi'
+'cator'#14'dgColumnResize'#12'dgColumnMove'#10'dgColLines'#10'dgRowLines'#6
+'dgTabs'#21'dgAlwaysShowSelection'#15'dgConfirmDelete'#0#12'OptionsExtra'#11
+#14'dgeAutoColumns'#17'dgeCheckboxColumn'#0#11'ParentColor'#8#10'Scrollbars'
+#7#6'ssBoth'#8'TabOrder'#2#1#7'TabStop'#9#0#0#10'TStatusBar'#10'StatusBar1'#6
+'Height'#2#20#3'Top'#3#170#1#5'Width'#3'Q'#3#6'Panels'#14#0#0#0#10'TImageLis'
+'t'#10'ImageList1'#4'left'#3#167#0#3'top'#2'@'#0#0#10'TImageList'#10'ImageLi'
+'st2'#4'left'#3#200#0#3'top'#2'@'#0#0#11'TActionList'#11'ActionList1'#4'left'
+#3#167#0#3'top'#2'x'#0#0#9'TMainMenu'#9'MainMenu1'#4'left'#3#136#0#3'top'#2
+'x'#0#0#4'TDbf'#4'Dbf1'#8'FilePath'#6'6C:\Lazarus\components\rxnew\Demos\Pho'
+'neBookDemo\bases\'#9'IndexDefs'#14#0#9'TableName'#6#13'PhoneBook.DBF'#10'Ta'
+'bleLevel'#2#3#4'left'#3#167#0#3'top'#3#167#0#0#13'TLongintField'#7'Dbf1ID1'
+#9'AlignMent'#7#14'taRightJustify'#12'DisplayWidth'#2#10#9'FieldName'#6#2'ID'
+#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#0#0#12'TStringField'#15
+'Dbf1PATRONYMIC1'#12'DisplayWidth'#2'2'#9'FieldName'#6#10'PATRONYMIC'#5'Inde'
+'x'#2#1#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#4'Size'#2'2'#0#0
+#12'TStringField'#9'Dbf1NAME1'#12'DisplayWidth'#2#30#9'FieldName'#6#4'NAME'#5
+'Index'#2#2#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#4'Size'#2#30#0
+#0#12'TStringField'#12'Dbf1SURNAME1'#12'DisplayWidth'#2#30#9'FieldName'#6#7
+'SURNAME'#5'Index'#2#3#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#4
+'Size'#2#30#0#0#12'TStringField'#10'Dbf1PHONE1'#12'DisplayWidth'#2#20#9'Fiel'
+'dName'#6#5'PHONE'#5'Index'#2#4#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWh'
+'ere'#0#0#0#12'TStringField'#8'Dbf1ICQ1'#12'DisplayWidth'#2#15#9'FieldName'#6
+#3'ICQ'#5'Index'#2#5#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#4'Si'
+'ze'#2#15#0#0#10'TMemoField'#9'Dbf1MEMO1'#12'DisplayWidth'#2#10#9'FieldName'
+#6#4'MEMO'#5'Index'#2#6#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#13
+'Transliterate'#8#0#0#0#11'TDatasource'#11'Datasource1'#7'DataSet'#7#4'Dbf1'
+#4'left'#3#136#0#3'top'#3#168#0#0#0#0
]);

View File

@ -16,13 +16,6 @@ type
ActionList1: TActionList;
Datasource1: TDatasource;
Dbf1: TDbf;
Dbf1ICQ1: TStringField;
Dbf1ID1: TLongintField;
Dbf1MEMO1: TMemoField;
Dbf1NAME1: TStringField;
Dbf1PATRONYMIC1: TStringField;
Dbf1PHONE1: TStringField;
Dbf1SURNAME1: TStringField;
ImageList1: TImageList;
ImageList2: TImageList;
MainMenu1: TMainMenu;
@ -40,17 +33,20 @@ var
pbMainForm: TpbMainForm;
implementation
uses FileUtil;
{$R *.lfm}
{ TpbMainForm }
procedure TpbMainForm.FormCreate(Sender: TObject);
var
S:string;
begin
Dbf1.FilePathFull:=ExtractFilePath(ParamStr(0))+DirectorySeparator+'bases';
S:=AppendPathDelim(ExtractFilePath(ParamStr(0)))+'bases';
Dbf1.FilePathFull:=S;
Dbf1.Open;
end;
initialization
{$I pbmainunit.lrs}
end.

View File

@ -4,11 +4,13 @@
<Version Value="7"/>
<General>
<Flags>
<AlwaysBuild Value="False"/>
<LRSInOutputDirectory Value="False"/>
</Flags>
<MainUnit Value="0"/>
<TargetFileExt Value=".exe"/>
<Title Value="RxDBGrid demo"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
<ActiveEditorIndexAtStart Value="1"/>
@ -17,9 +19,9 @@
<UseVersionInfo Value="True"/>
<AutoIncrementBuild Value="True"/>
<MajorVersionNr Value="3"/>
<MinorVersionNr Value="3"/>
<MinorVersionNr Value="4"/>
<RevisionNr Value="1"/>
<StringTable Comments="" CompanyName="" FileDescription="Demo application from RXFPC library" FileVersion="3.3.1.0" InternalName="" LegalCopyright="Lagunov Aleksey, GPL 2" LegalTrademarks="" OriginalFilename="" ProductName="" ProductVersion="3.1.1.0"/>
<StringTable Comments="" CompanyName="" FileDescription="Demo application from RXFPC library" FileVersion="3.4.1.0" InternalName="" LegalCopyright="Lagunov Aleksey, GPL 2" LegalTrademarks="" OriginalFilename="" ProductName="Demo application from RXFPC library" ProductVersion="3.1.1.0"/>
</VersionInfo>
<PublishOptions>
<Version Value="2"/>
@ -50,14 +52,14 @@
<MinVersion Major="1" Release="18" Build="56" Valid="True"/>
</Item4>
</RequiredPackages>
<Units Count="21">
<Units Count="51">
<Unit0>
<Filename Value="RxDBGridDemo.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="RxDBGridDemo"/>
<CursorPos X="3" Y="11"/>
<CursorPos X="5" Y="17"/>
<TopLine Value="1"/>
<UsageCount Value="33"/>
<UsageCount Value="40"/>
</Unit0>
<Unit1>
<Filename Value="rxdbgridmainunit.pas"/>
@ -65,10 +67,10 @@
<ComponentName Value="RxDBGridMainForm"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="RxDBGridMainUnit"/>
<CursorPos X="15" Y="208"/>
<TopLine Value="193"/>
<CursorPos X="9" Y="175"/>
<TopLine Value="173"/>
<EditorIndex Value="0"/>
<UsageCount Value="33"/>
<UsageCount Value="40"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
@ -76,110 +78,104 @@
<UnitName Value="db"/>
<CursorPos X="17" Y="1116"/>
<TopLine Value="1112"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit2>
<Unit3>
<Filename Value="../../../../fpcsrc/fcl/db/dataset.inc"/>
<CursorPos X="21" Y="1139"/>
<TopLine Value="1134"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit3>
<Unit4>
<Filename Value="../../rxmemds.pas"/>
<UnitName Value="rxmemds"/>
<CursorPos X="1" Y="356"/>
<TopLine Value="337"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit4>
<Unit5>
<Filename Value="../../rxdbgrid.pas"/>
<UnitName Value="rxdbgrid"/>
<CursorPos X="51" Y="1022"/>
<TopLine Value="1007"/>
<EditorIndex Value="1"/>
<UsageCount Value="14"/>
<UsageCount Value="13"/>
<Bookmarks Count="2">
<Item0 X="1" Y="1089" ID="1"/>
<Item1 X="3" Y="1230" ID="2"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit5>
<Unit6>
<Filename Value="../../../../lcl/lresources.pp"/>
<UnitName Value="LResources"/>
<CursorPos X="1" Y="2644"/>
<TopLine Value="2626"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit6>
<Unit7>
<Filename Value="../../../../lcl/grids.pas"/>
<UnitName Value="Grids"/>
<CursorPos X="33" Y="394"/>
<TopLine Value="385"/>
<EditorIndex Value="3"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
<UsageCount Value="10"/>
</Unit7>
<Unit8>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/>
<CursorPos X="30" Y="199"/>
<TopLine Value="187"/>
<EditorIndex Value="2"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
<UsageCount Value="10"/>
</Unit8>
<Unit9>
<Filename Value="../../rxpopupunit.pas"/>
<UnitName Value="rxpopupunit"/>
<CursorPos X="15" Y="249"/>
<TopLine Value="246"/>
<UsageCount Value="11"/>
<UsageCount Value="10"/>
</Unit9>
<Unit10>
<Filename Value="../../../../lcl/include/wincontrol.inc"/>
<CursorPos X="1" Y="7236"/>
<TopLine Value="7217"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit10>
<Unit11>
<Filename Value="../../../../lcl/include/control.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit11>
<Unit12>
<Filename Value="../../../../lcl/lclmessageglue.pas"/>
<UnitName Value="LCLMessageGlue"/>
<CursorPos X="46" Y="96"/>
<TopLine Value="92"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit12>
<Unit13>
<Filename Value="../../../../lcl/controls.pp"/>
<UnitName Value="Controls"/>
<CursorPos X="60" Y="1798"/>
<TopLine Value="1779"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit13>
<Unit14>
<Filename Value="../../../../../../install/2/rxdbgrid.diff"/>
<CursorPos X="1" Y="21"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
<SyntaxHighlighter Value="None"/>
</Unit14>
<Unit15>
<Filename Value="../../../../lcl/interfaces/gtk/gtkdevicecontext.inc"/>
<CursorPos X="1" Y="644"/>
<TopLine Value="626"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit15>
<Unit16>
<Filename Value="../../../../lcl/interfaces/gtk2/gtk2winapi.inc"/>
<CursorPos X="1" Y="577"/>
<TopLine Value="559"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit16>
<Unit17>
<Filename Value="../../rxdbgrid_columsunit.pas"/>
@ -189,150 +185,287 @@
<UnitName Value="rxdbgrid_columsunit"/>
<CursorPos X="46" Y="45"/>
<TopLine Value="26"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit17>
<Unit18>
<Filename Value="../../rxdconst.pas"/>
<UnitName Value="rxdconst"/>
<CursorPos X="15" Y="155"/>
<TopLine Value="126"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit18>
<Unit19>
<Filename Value="../../../../lcl/include/winapih.inc"/>
<CursorPos X="10" Y="223"/>
<TopLine Value="211"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit19>
<Unit20>
<Filename Value="../../backup/rxdbgrid.pas"/>
<UnitName Value="rxdbgrid"/>
<CursorPos X="1" Y="1227"/>
<TopLine Value="1207"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit20>
<Unit21>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxaboutdialog.pas"/>
<UnitName Value="RxAboutDialog"/>
<CursorPos X="73" Y="30"/>
<TopLine Value="10"/>
<UsageCount Value="10"/>
</Unit21>
<Unit22>
<Filename Value="/usr/local/share/lazarus/components/rxnew/registerrx.pas"/>
<UnitName Value="registerrx"/>
<CursorPos X="18" Y="201"/>
<TopLine Value="174"/>
<UsageCount Value="10"/>
</Unit22>
<Unit23>
<Filename Value="/usr/local/share/lazarus/ideintf/idewindowintf.pas"/>
<UnitName Value="IDEWindowIntf"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="31"/>
<UsageCount Value="9"/>
</Unit23>
<Unit24>
<Filename Value="/usr/local/share/lazarus/lcl/extdlgs.pas"/>
<UnitName Value="ExtDlgs"/>
<CursorPos X="35" Y="122"/>
<TopLine Value="105"/>
<UsageCount Value="9"/>
</Unit24>
<Unit25>
<Filename Value="/usr/local/share/lazarus/lcl/dialogs.pp"/>
<UnitName Value="Dialogs"/>
<CursorPos X="21" Y="79"/>
<TopLine Value="62"/>
<UsageCount Value="9"/>
</Unit25>
<Unit26>
<Filename Value="/usr/local/share/lazarus/lcl/include/commondialog.inc"/>
<CursorPos X="17" Y="84"/>
<TopLine Value="80"/>
<UsageCount Value="9"/>
</Unit26>
<Unit27>
<Filename Value="/usr/local/share/lazarus/lcl/widgetset/wsdialogs.pp"/>
<UnitName Value="WSDialogs"/>
<CursorPos X="3" Y="136"/>
<TopLine Value="132"/>
<UsageCount Value="9"/>
</Unit27>
<Unit28>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxaboutformunit.pas"/>
<ComponentName Value="rxAboutFormForm"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="rxAboutFormUnit"/>
<CursorPos X="26" Y="55"/>
<TopLine Value="41"/>
<UsageCount Value="10"/>
</Unit28>
<Unit29>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxversinfo.pas"/>
<UnitName Value="RxVersInfo"/>
<CursorPos X="49" Y="105"/>
<TopLine Value="72"/>
<UsageCount Value="9"/>
</Unit29>
<Unit30>
<Filename Value="/usr/local/share/lazarus/lcl/include/control.inc"/>
<CursorPos X="1" Y="3167"/>
<TopLine Value="3150"/>
<UsageCount Value="9"/>
</Unit30>
<Unit31>
<Filename Value="/usr/local/share/lazarus/lcl/buttonpanel.pas"/>
<UnitName Value="ButtonPanel"/>
<CursorPos X="6" Y="15"/>
<TopLine Value="11"/>
<UsageCount Value="10"/>
</Unit31>
<Unit32>
<Filename Value="/usr/local/share/lazarus/lcl/extctrls.pp"/>
<UnitName Value="ExtCtrls"/>
<CursorPos X="15" Y="607"/>
<TopLine Value="604"/>
<UsageCount Value="10"/>
</Unit32>
<Unit33>
<Filename Value="/usr/local/share/lazarus/lcl/include/customimage.inc"/>
<CursorPos X="3" Y="69"/>
<TopLine Value="67"/>
<UsageCount Value="10"/>
</Unit33>
<Unit34>
<Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/classesh.inc"/>
<CursorPos X="1" Y="1641"/>
<TopLine Value="1632"/>
<UsageCount Value="9"/>
</Unit34>
<Unit35>
<Filename Value="../../../../../smsprog/sms_send_deamon/smsSendGui/smssendaboutunit.pas"/>
<ComponentName Value="smsSendAboutForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="smsSendAboutUnit"/>
<CursorPos X="1" Y="57"/>
<TopLine Value="28"/>
<UsageCount Value="10"/>
</Unit35>
<Unit36>
<Filename Value="../../../../../smsprog/sms_shared/smsabstarctconstunit.pas"/>
<UnitName Value="smsAbstarctConstUnit"/>
<CursorPos X="42" Y="11"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit36>
<Unit37>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxconst.pas"/>
<UnitName Value="rxconst"/>
<CursorPos X="3" Y="51"/>
<TopLine Value="34"/>
<UsageCount Value="10"/>
</Unit37>
<Unit38>
<Filename Value="../../../rxnet/demo/send_demo/smssendparamsunit.pas"/>
<ComponentName Value="smssendParamsForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="smssendParamsUnit"/>
<CursorPos X="34" Y="60"/>
<TopLine Value="49"/>
<UsageCount Value="10"/>
</Unit38>
<Unit39>
<Filename Value="../../../rxnet/demo/send_demo/smssenddemomainunit.pas"/>
<ComponentName Value="smsSendDemoMainForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="smsSendDemoMainUnit"/>
<CursorPos X="105" Y="29"/>
<TopLine Value="41"/>
<UsageCount Value="10"/>
</Unit39>
<Unit40>
<Filename Value="../../../rxnet/demo/send_demo/send_demo.lpr"/>
<UnitName Value="send_demo"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit40>
<Unit41>
<Filename Value="../../../../doceditor/lazdeopts.pp"/>
<UnitName Value="LazDEOpts"/>
<CursorPos X="1" Y="56"/>
<TopLine Value="43"/>
<UsageCount Value="10"/>
</Unit41>
<Unit42>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxfileutils.pas"/>
<UnitName Value="rxFileUtils"/>
<CursorPos X="33" Y="42"/>
<TopLine Value="18"/>
<UsageCount Value="10"/>
</Unit42>
<Unit43>
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="121"/>
<UsageCount Value="10"/>
</Unit43>
<Unit44>
<Filename Value="/usr/local/share/lazarus/components/rxnew/registerrxdb.pas"/>
<UnitName Value="RegisterRxDB"/>
<CursorPos X="20" Y="17"/>
<TopLine Value="2"/>
<UsageCount Value="10"/>
</Unit44>
<Unit45>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<UnitName Value="rxdbgrid"/>
<CursorPos X="61" Y="496"/>
<TopLine Value="481"/>
<UsageCount Value="10"/>
</Unit45>
<Unit46>
<Filename Value="/usr/local/share/lazarus/ideintf/dbpropedits.pas"/>
<UnitName Value="DBPropEdits"/>
<CursorPos X="6" Y="19"/>
<TopLine Value="13"/>
<UsageCount Value="10"/>
</Unit46>
<Unit47>
<Filename Value="/usr/local/share/lazarus/ideintf/propedits.pp"/>
<UnitName Value="PropEdits"/>
<CursorPos X="6" Y="26"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit47>
<Unit48>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid_findunit.pas"/>
<ComponentName Value="rxDBGridFindForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="rxdbgrid_findunit"/>
<CursorPos X="1" Y="94"/>
<TopLine Value="78"/>
<UsageCount Value="10"/>
</Unit48>
<Unit49>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/>
<ComponentName Value="rxDBGridColumsForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="rxdbgrid_columsunit"/>
<CursorPos X="25" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit49>
<Unit50>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxtoolbar.pas"/>
<UnitName Value="rxtoolbar"/>
<CursorPos X="52" Y="26"/>
<TopLine Value="1"/>
<EditorIndex Value="1"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit50>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<JumpHistory Count="8" HistoryIndex="7">
<Position1>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1064" Column="1" TopLine="1052"/>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="87" Column="23" TopLine="54"/>
</Position1>
<Position2>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1066" Column="1" TopLine="1054"/>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="96" Column="92" TopLine="71"/>
</Position2>
<Position3>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1067" Column="1" TopLine="1055"/>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="97" Column="92" TopLine="71"/>
</Position3>
<Position4>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1071" Column="1" TopLine="1059"/>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="10" Column="8" TopLine="1"/>
</Position4>
<Position5>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1073" Column="1" TopLine="1061"/>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="9" Column="12" TopLine="1"/>
</Position5>
<Position6>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1076" Column="1" TopLine="1064"/>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="10" Column="9" TopLine="1"/>
</Position6>
<Position7>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1078" Column="1" TopLine="1074"/>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="9" Column="28" TopLine="1"/>
</Position7>
<Position8>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1079" Column="1" TopLine="1067"/>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="9" Column="28" TopLine="1"/>
</Position8>
<Position9>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1216" Column="54" TopLine="1215"/>
</Position9>
<Position10>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="75" Column="17" TopLine="64"/>
</Position10>
<Position11>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="79" Column="24" TopLine="64"/>
</Position11>
<Position12>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="80" Column="25" TopLine="64"/>
</Position12>
<Position13>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="100" Column="55" TopLine="88"/>
</Position13>
<Position14>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="311" Column="112" TopLine="299"/>
</Position14>
<Position15>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1017" Column="24" TopLine="1005"/>
</Position15>
<Position16>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1018" Column="24" TopLine="1005"/>
</Position16>
<Position17>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1218" Column="60" TopLine="1206"/>
</Position17>
<Position18>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1220" Column="26" TopLine="1206"/>
</Position18>
<Position19>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1351" Column="30" TopLine="1339"/>
</Position19>
<Position20>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="2873" Column="66" TopLine="2861"/>
</Position20>
<Position21>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="2876" Column="27" TopLine="2861"/>
</Position21>
<Position22>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="2884" Column="19" TopLine="2872"/>
</Position22>
<Position23>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="2888" Column="22" TopLine="2872"/>
</Position23>
<Position24>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="2901" Column="19" TopLine="2889"/>
</Position24>
<Position25>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="2894" Column="15" TopLine="2889"/>
</Position25>
<Position26>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="85" Column="34" TopLine="81"/>
</Position26>
<Position27>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<Caret Line="199" Column="30" TopLine="187"/>
</Position27>
<Position28>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1217" Column="46" TopLine="1216"/>
</Position28>
<Position29>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position29>
<Position30>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="2902" Column="22" TopLine="2890"/>
</Position30>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
@ -356,16 +489,6 @@
</Other>
</CompilerOptions>
<Debugging>
<BreakPoints Count="2">
<Item1>
<Source Value="rxdbgridmainunit.pas"/>
<Line Value="167"/>
</Item1>
<Item2>
<Source Value="rxdbgridmainunit.pas"/>
<Line Value="164"/>
</Item2>
</BreakPoints>
<Watches Count="2">
<Item1>
<Expression Value="W"/>

View File

@ -10,11 +10,11 @@ uses
Forms,
RxDBGridMainUnit;
{$IFDEF WINDOWS}{$R RxDBGridDemo.rc}{$ENDIF}
{$R RxDBGridDemo.res}
begin
LocalizeApp;
//
Application.Title:='RxDBGrid demo';
Application.Initialize;
Application.CreateForm(TRxDBGridMainForm, RxDBGridMainForm);

View File

@ -1,29 +0,0 @@
LazarusResources.Add('MAINICON','ICO',[
#0#0#1#0#1#0' '#4#0#0#0#0#0#232#2#0#0#22#0#0#0'('#0#0#0' '#0#0#0'@'#0#0#0#1#0
+#4#0#0#0#0#0#0#2#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#128
+#0#0#0#128#128#0#128#0#0#0#128#0#128#0#128#128#0#0#128#128#128#0#192#192#192
+#0#0#0#255#0#0#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0#255#255
+#255#0#0#0#0#0#0#0#0#7'wp'#0#0#0#0#0#0#0#0#0#0#0#0'w'#0#0'pw'#0#0#0#0#0#0#0#0
+#0#0#0#7#6'`p'#7'p'#0#0#0#0#0#0#0#0#7#6'`'#6'`'#6'`pp'#0#0#0#0#0#0#0#7#6'fff'
+'f`pw'#0#0#0#0#0#0#0'`'#6'ffff`'#6#7'p'#0#0#0#0#0#6'ffn'#238#238#230'ff`'#0#0
+#0#0#0#0'pfn'#232#136#136#142#230'f'#7'w'#0#0#0#0#0#0'f'#8#136#136#136#136
+#142'f'#0#7'p'#0#0#0#6'f`'#248#136#136#136#136#136#230'f`p'#0#0#0#6'f`'#143
+#136#136#136#136#136#230'f`'#0#0#0#0'pf'#8#248#248#136#136#136#136#142'f'#7
+'w'#0#0#0#0'f'#8#143#143#128#8#136#136#142'f'#0#7#0#0#0'ff'#8#136#248#0#0#136
+#136#142'ff'#7#0#0#0'ff'#8#136#143#7#0#136#136#142'ff'#7#0#0#0#0'f'#8#136#136
+#128#8#136#136#142'f'#0#0#0#0#0#0'f'#8#136#136#136#143#136#136#142'f'#7'p'#0
+#0#0#6'f`'#136#136#136#248#248#136#230'f`p'#0#0#0#6'f`'#136#136#136#143#143
+#136#230'f`'#0#0#0#0#0#0'f'#8#136#136#136#248#142'f'#0#0#0#0#0#0#0#0'f`'#8
+#136#136#128#6'f'#7'p'#0#0#0'ww'#6'ff`'#0#0#6'ff`'#0#0#0#0#0#0#0'`'#6'ffff`'
+#6#0'ww'#0#8#136#135#0#8#6'ffff`'#128#0#0#7'p'#0#0#136'w'#0#0#0#0#0#0#0#0#7
+'wpw'#0#0#8#136'wwwwwwwwx'#0#135#7#0#0#0#136#136#136#136#136#136#136#136#136
+#128#0#8#7#0#0#0#136#136#136#136#136#136#136#136#136#128'p'#8#7#7'w'#8#136
+#255#255#255#255#255#255#255#255#248#0#143#0#0#0#136#255#0#0#0#0#0#0#0#0#15
+#255#240#0#15#255#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#255#254#31#255#255#240#19#255#255#224#1#255#255#128#1#127#255#0#0'?'#254#0
+#0#31#252#0#0'?'#252#0#0#15#248#0#0#7#240#0#0#7#240#0#0#15#240#0#0#3#224#0#0
+#3#224#1#128#3#224#0#128#3#224#0#0#7#248#0#0#7#240#0#0#7#240#0#0#15#248#0#0
+#31#254#0#0#31#192#0#0'?'#130#0#0'C'#0#0#0#129#0#0#0#0#240#0#0#0#248#0#0'0'
+#248#0#0#16#128#0#0#1#0#0#0#3#0#255#255#135#131#255#255#255
]);

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="CompanyName.ProductName.YourApp" type="win32"/>
<description>Your application description here.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

View File

@ -1,27 +0,0 @@
1 VERSIONINFO
FILEVERSION 3,2,2,0
PRODUCTVERSION 3,1,1,0
{
BLOCK "StringFileInfo"
{
BLOCK "040904E4"
{
VALUE "Comments", "\000"
VALUE "CompanyName", "\000"
VALUE "FileDescription", "Demo application from RXFPC library\000"
VALUE "FileVersion", "3.2.2.0\000"
VALUE "InternalName", "\000"
VALUE "LegalCopyright", "Lagunov Aleksey, GPL 2\000"
VALUE "LegalTrademarks", "\000"
VALUE "OriginalFilename", "\000"
VALUE "ProductName", "\000"
VALUE "ProductVersion", "3.1.1.0\000"
}
}
BLOCK "VarFileInfo"
{
VALUE "Translation", 0x0409, 0x04E4
}
}
MAINICON ICON "RxDBGridDemo.ico"

View File

@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@ -5,14 +5,15 @@ object RxDBGridMainForm: TRxDBGridMainForm
Width = 969
ActiveControl = Panel1
Caption = 'RxDBGrid Demo'
ClientHeight = 609
ClientHeight = 586
ClientWidth = 969
Menu = MainMenu1
OnCreate = FormCreate
LCLVersion = '0.9.29'
object RxDBGrid1: TRxDBGrid
Left = 0
Height = 544
Top = 65
Height = 519
Top = 67
Width = 969
TitleButtons = True
AutoSort = True
@ -136,22 +137,22 @@ object RxDBGridMainForm: TRxDBGridMainForm
end
object Panel1: TPanel
Left = 0
Height = 65
Height = 67
Top = 0
Width = 969
Align = alTop
AutoSize = True
ClientHeight = 65
ClientHeight = 67
ClientWidth = 969
TabOrder = 1
object Label1: TLabel
AnchorSideLeft.Control = Button2
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 264
Left = 271
Height = 18
Top = 6
Width = 38
Width = 40
BorderSpacing.Around = 6
Caption = 'Mode'
ParentColor = False
@ -160,9 +161,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Panel1
AnchorSideTop.Control = Panel1
Left = 6
Height = 27
Height = 29
Top = 6
Width = 82
Width = 87
Action = actCalcTotal
AutoSize = True
BorderSpacing.Around = 6
@ -172,10 +173,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Button1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 94
Height = 27
Left = 99
Height = 29
Top = 6
Width = 164
Width = 166
Action = actOptimizeColumnsWidthAll
AutoSize = True
BorderSpacing.Around = 6
@ -186,10 +187,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox2
AnchorSideTop.Side = asrBottom
Left = 493
Left = 500
Height = 19
Top = 31
Width = 81
Width = 82
BorderSpacing.Left = 6
Caption = 'Use filter'
OnChange = CheckBox1Change
@ -199,8 +200,8 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
Left = 270
Height = 29
Left = 277
Height = 31
Top = 30
Width = 217
BorderSpacing.Around = 6
@ -219,7 +220,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = ComboBox1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 493
Left = 500
Height = 19
Top = 6
Width = 134
@ -232,10 +233,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = CheckBox2
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 633
Left = 640
Height = 19
Top = 6
Width = 122
Width = 121
BorderSpacing.Around = 6
Caption = 'Show indicator'
Checked = True
@ -248,10 +249,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox3
AnchorSideTop.Side = asrBottom
Left = 633
Left = 640
Height = 19
Top = 31
Width = 116
Width = 119
BorderSpacing.Around = 6
Caption = 'Show headers'
Checked = True
@ -410,8 +411,8 @@ object RxDBGridMainForm: TRxDBGridMainForm
end
end
object ActionList1: TActionList
left = 206
top = 197
left = 312
top = 185
object actCalcTotal: TAction
Caption = 'Calc total...'
OnExecute = actCalcTotalExecute
@ -432,6 +433,16 @@ object RxDBGridMainForm: TRxDBGridMainForm
Caption = 'Show columns dialog...'
OnExecute = showColumnsDialogExecute
end
object sysExit: TAction
Category = 'System'
Caption = 'Exit'
OnExecute = sysExitExecute
end
object hlpAbout: TAction
Category = 'Help'
Caption = 'About...'
OnExecute = hlpAboutExecute
end
end
object Datasource2: TDatasource
DataSet = RxMemoryData2
@ -585,4 +596,557 @@ object RxDBGridMainForm: TRxDBGridMainForm
000000FF000000FF000000FF0000
}
end
object MainMenu1: TMainMenu
left = 271
top = 185
object MenuItem8: TMenuItem
Caption = 'System'
object MenuItem11: TMenuItem
Action = sysExit
end
end
object MenuItem9: TMenuItem
Caption = 'Help'
object MenuItem10: TMenuItem
Action = hlpAbout
OnClick = hlpAboutExecute
end
end
end
object RxAboutDialog1: TRxAboutDialog
Options = [radHelpButton, radLicenseTab, radShowImageLogo]
Caption = 'About...'
Picture.Data = {
1754506F727461626C654E6574776F726B47726170686963CD41000089504E47
0D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000
097048597300000F1200000F1201219BF2330000200049444154789CECBD7BB4
EDD755DFF7996BADDF6FEF7DCE7D49576F5B32C6B6C080644B86D4329887210D
711FE159D2D040331A5A4647DA91B4196DFF69937604469A41C368D336494BE8
20819637064608761CC060FB5E598F2B4BB6B103B663CB0F2C4B96EEBDE79CBD
7FEB3167FF98EBB7CFB97A5857B66C59464B638F7DF639577BFFF66FCD351FDF
F99D73C20BEB85F5C27A61BDB05E582FAC17D60BEB85F5C27A61BDB0FE142D79
AE2FE04B653D70EE8CCD3FDF72DB1D7F6AEECB9F9A2F0ABEC90608829AA176F8
375501FC1772E4AE487F1D828019225F5E02F265F3453EDBF28D179A829A6FB3
1A98E28200F3DE63E62F84C3CD17208423C22042081084E7BD403C6F2FFC72D6
03E7CE989AA006AD3FD7E627BFEA5121509A1E6E3E66FDC618410411230A4880
188428420CFEB718054148D13FF3D6DB9F5FC2F0BCBAD867B2EE3F77D6D4A0A9
504C68CD280AB5415328CD5085A64655C3D450F36730CC662D6004F1D31E030C
4188115214521052146280D89F83F8EF9E2F9AE14BFE029FE97AE0DC19538466
E29BDF202B9426E4DA85A0426B466D4651A53543D5684D51F5CDC7BAAD30ED02
6084200CD1484118527F441852608830A6403C2214210831C897B45648CFF505
3CDBAB59400D8A896F7A835C85A9426E501A94AAD40A45CD85A12AB5194DBB00
A8D1D4309DED826D35816B014809C6248C511893B01C038B2130266118028B24
A4181812BCFB9E3326F2A5691EBEE42EE8F359EF3E77D6AA06AA425661AAA16F
BC3155A1342317A354A534A3D4B6D504B52A4D95565D23B4E6AFAD0B82618459
08C448D1373F25582461350A8B21B25A04566360B5082CC7C8720C0C5D18BE14
85E04BEA623E9F75FFB933562D5035F4CD173615A602B90953ED9BDF373B37A3
D646A9466D8D52FAEBA6B4320B46733FA135E8FE81E10E61102505D96A014240
C240D6C4CE2231A6C0CE42B8E1B4F0D26B23CB6E32BED47C832F1B13A0165013
8ABACADF342157B7FFB919A5DBFFD2CC1DC1A6946AEE1714A3E4C6541B25374A
6DE42E04AA462D0D3503351443CC1031D484947608E371349E605C24824474E3
EFB9D914A65C18697CE575CAEBBE46F8DA1BC3737DAB2E595F3292F8F9ACF9F4
1715D635F6D3DFED7E85A97687AFABFE5A95A928A536365323E7CA26AB6F5851
4AA994EC7E81B6E6CF6A600D5368662C16BB2C4F5CCF0DD79DE2D8EE020982AA
D21A4CA5B1D954D6EBC6C1A6B03E28E44D214F8D9B6F30BEFFF503FFCE777EE3
97C4BDFFB2D0006601B3E05EBF4231A806CD7CB30CDCB3A73BF606A1C7FB666E
16CA549972639A2A53D66E1E94568DDA410233438270E2E4D5BCE4A52FE19AD3
BB8C83103A06509B918B321648B1A387C13FDBCC5055FEF023CAFFF8E1353FF9
7FBFCDFEC68F7CCB732E045F5AFAE8735C8A6F76510FFD9ABA30CC50EFD1583E
C9E1CF22747BCE5617EAD63CF4476BD4A6E4A2A809575E7D23B7DE7A332FB9E1
38D75E3170D335232FBA72E4AA6389133B91E3CBC06AD19DC14560B9882CC6C8
624CA4944843A036F899DFDAE36FFED85BECA9BED3176B3DEF05E0FE8EEFCF68
5F334115302362A4600CC1188331467F2C92314463917A08D7C3B8210A2905A4
2703666CA0A9A387A7AFB9816F78F557F25537EE72FDE98157BC78C1AD5FB1C3
D7DDB4E245578D9C5806761691637304B0082C47588C919484980221410806D2
78CB9DFBFCAD9F78F3732A04CF7B011011CC0435C1F75D408C1495212ACB68EC
0CC6EE68EC2E8CDD117606588DC26A109683F8462D223BCBC872212CC640EC48
5F2060665C71FA6A5EF9D52FE1E61B575C77D5C0F5A7075E7C7AE4F82A3026C7
07568BC0EE32B0E861E038F86318820B4094AE8D2A8AA1DAF8E5DF798C7FFC33
6F7DCE84E079EF03CCC99DEDC9C748E2306E4CAEEE31F57FD38C922047632CB0
0910241064F607A29F7A355A55B4294D8513CB63BCE4A55FC10D57EF70F25824
67E5FA6B16AC06A1196C26259A716C21440234B0066D503425EA60B43131A54C
8C1E4178CE41C11A3FF56B0F71F69DEFB0D7BEEE8BEF183EEF05603EFDEEEA09
519420AEF653501706F1BF9B19B50979807516C6680C01A208628258C05A4035
BAEA6F1E35EC9EBC8ED357EC706227909BB21803BB0B2104615A3782C1B13122
2A546B44154209480E3035980436C25822AB1621464A80898AA1EC1D347EF577
1E794EEEDFF35E00C0BD7A35E94E5DB7F351FBE6E227AEFB08168D310A8B688C
49485D00A204440CD3881A7EFAAB425C70F5755710041EDB6F2C06E1E5D70DA4
28B46AE48D312014B3F9403B92583D7C2C05C704D68DFDBDC2C1C542DD548626
98247298686ABCF9CC67B8F7AE77DAEDDFF0BA2FAA1678DE0B8002D66F9960A4
008BA88CC11DC0D091B707CE9DB1809B8C1860884288C2D0B5450C5D0374B047
6BA4566392932CC71111719450616721A0B0B7DFB870D08882238AB567161D33
429B6B1D6B866945B5A2B5B2DE54A675414449AB018DC6C13471F681F35FF4FB
F7BC170070538AB9479B820B410CF0AA23B8FB51F8F5FE7BCF9804580D108110
022148F788DD366B8B1C4C06E5980B843998D40AACD7C680F1E8C5C67ADD88D1
D3CD9BA2E4D2934DCD7AAA59A9ADA2D668B5D15AC3ACD12C77FF2110634228BC
FB0317BFD8B7EEF92F0072E407312306EBB1FE533BD6B7DEEE1A410CC2208E0B
047307CECC41A5663C9A06524A3D5BA85003E71FABFCB14C5C7345626FAFD1CC
884055235758E7C67A72A4314F4A2E955C0B792A682934AD682D8E5D04C3A23B
92310B1F7C70FF8B70C72E5DCF7B0100370166BEE9EEF4C1AD4F937099CD8244
61002010568689617834103F231842A9861563D38C1A1AAD1A17F69BFB18A173
87CCA1E6F5343F1A53AD94A992D785922BA5565A2E5D232816231AC054308587
3E51BFF037EB71EB792F0033B42BB80338237C97B366B370FFBD678C24480023
8219AA9114056D462DCAFAA2524265350A669152CDD3BC49100545DD6728BEF9
EB7561BD5FD85F4F6C36853C4D94A9504BA556C544B190B020D0492817F6CA17
EE463DC57ADE0B409899BCCCF0AE93379EC9BAF5F63BE4FE7BCF1808CB01B048
555826DFFC7CD1B8100A8B45F41051DDCEBB230962D2434C878CA75C7DF30F26
36FB13D366C3B4992853A6D442A5A131A041DC096906E2E8E4177B3DEF050004
B199B16B0887F4EE67B2B64260C29802C797C6A99DC6B45F09162963A255CF13
D465642C10432006FF38C368CDDCE64F85FD7566B33F71B09FBB10146AC9945A
310C9DA9453320D49493C7E3B37C6F9E7E3DEF0540E8C85ADF7711FB9C73DCB7
DE7E87CCB905B3C0F55718D345C5A430AAA12D52AB6C4F7FEAA1E44C22ADB552
4A65DA6436EBC2B49ED81C6C581F4CD475662AC5A19F21C2103D6C314015B472
D3F52BEE7EB66ECC65AEE7BF00CCD93DECB26DFF53ADB93A284557E9375D1760
2A6403AB465B344A89E449887372A743CDDAE3FC3CB9C397A789BCC96C3699BA
CEACF34436C542C086880DC19D1567A8624DF99AAF3AC6AF3E0BF7E499ACE7BF
00E05A60BBFB76080C5DCE7AE0DD672D5378481FE69EF65E9A169A191FDB7C8A
D372152FFFB6C8473E51B0476FA0ADAFC4F2314A1542708E9F88021533A5E64A
AB955633D3A650A64C2D85A9648A2A16041D23364688017367022915698DD7DD
7EFA0B718B3EEB7ACE0909CFC6BAE7EE3B6D5221608C1152D0CF1A06DE75DFDB
EC83FA113E6A9FE4E3ED139CD78BCE0257C34C69DA685AA905065D7131EF7150
0FA8B562FBBBE8C337101E7A05E1A19BB1F51254316B9D3DE4A15E2BEEF0E552
A91816041B13BA4C10A30B69A9C87A03FB07DCF2B205BFF5F33FF24232E87359
3118C164EB8C3DD97AE0BEB3F6611EE4BDFA47FC4CFD652CB8F99508BB71B7D7
0328A69D101A0A55149A70CC8EA1A664CB94DD036CF97ECAF5EFA5B6061F7F29
7CE8EBE0C19B1DE56BA5B3892ACDAA43D529F8C95FF4CD8FE2A549A5C094A114
7EF87B6FE6B77EFE8B7ADB802F1701E849A0D6B3AC4715DB03F79DB13F914778
93BD854FCBA3A41859A61541428F1EDCDE7B8DA0A2AAD456A82DD1A491A53190
3039CE1E7B04F14A23E6D0EFFA3FA65EF301F42BAFA4DEF37ADA275E8CA9A234
2C0A36047488D8982004DFFCA690272467C899D77DFD297EE0FBFFEDE7441B7F
5908009DF265E23430E705C01FBCFB2DF62FC33BF8389F2249E298EC9042C269
1EC1371FED994257FD16941A1225544AC808852AC66E58A0D638C81D7CEA1C02
82BA005DFD69F8F65F223C7823E5DDAF47F7AE41638421B8C3179D58E2450B13
3265586FB8FE74E4AFFF9597F30B3FF5DCDCB9CF4BEA1E3877D63E7D21914DF8
E463012FA4F130ECDA538D4534AE3DE534EA5B6E7BED1754C2CFDD7BD66AF39F
6354CEC67BF870F8182944863030C84812A76D4701B1E0DE3BD0CC69DFCD1A55
2BC5DCA3AFAD925B21D74C6D8D3C1907D39AFDBA4FAE8552E6D8BE90B5504AA5
B5E625661FBA9DF2C1EF001B40C4AB8C5A83527CF3371B76A2F293FFC32DBCF1
8D6F78CE7CB167FCC1F7DD73A77DE891910F3FBCE2C1F303075340E85068730E
7DA98D5A8C561ACB5479F9B5CA2B6F6CBCF245C66DAFF9C208C2FDE7CE5A51B8
60FBBC2D9D6133EC3384914518598405292422C9AB7D99FD05A599A1A6A8FAE6
5794DA32D52A550F05A0B489D6A1DEBDCD9A75392097894DCDD45A28B5528B7A
C6AF2AB534ECC295D4F77D0FBA7F25E4E2215F9E6093B9FE74E47FFAAF5EC977
7EE773B7F9F00C04E0FE7367EDBE4F1CE3DD1F3B01293A02D6DFC0D5A743A125
1B255736B9913BE7BE64A596C26A30FEECAB946FFA5AE1D5B73FBB82F0C0B933
F609FB0CFF52DE494A89D510D9892B863832C8C0280329241017D899A65DADA1
FDD4B75908AC525AA568A66A616A995C3353CDD456A9C5F3F7EBBC615DD61EE6
954AAD8D9A955A0BAD28D614CD09BBF7DFC71EBE0E9B32D4CA1DB79DE03FFFA1
97717C7720E011AC614F9BC0FA42ACCBFAC05F7DCBBBEDDE8F9FA28591340A83
08121D783163CB9CAD55C95599A676F8D8F8F36693C993E7C4AFDC31BEFB75F0
43DFFFEC71E0FEF97DBF62BF13EE6211962CE2C8B161C9222E186564114776C2
0E3B69874186EED11772CB6C7443D689A295A285A295D60AC52AB965B27AF66E
6A13539D28B5B0291BB479F5D0C126B32E1B4AC9E45AA93953A6861690163005
6911BBF7F5DC145FC10F7DEF8BB9F9A5C72FDD82DE84824E5691FEE28B21104F
FB01FFF8D7DE6F1FBA708AD552580CC2909C421582875B4D9D3E5D9BABC79C95
5CFBA64F5E1DB3D92853CE4C07953C556AAEE45CF9F3AF11FEF65FFFD6CFFB4B
BEEDBE7F61BF1E7F87555AB2921D76865D5661C1322E5C18D2714EA72BB8225D
C910060C656A1317DA1E8FD5C7B8582EB26EEBBED96ECFAB76BBAE7EFAB31672
9D98CAC4D4325399282DD3AA277F72F1EA9F4D99C853A6958636850A180C92F8
6F5FFDD778C5152FC7196A9DC768D21B53F86E047156F3AC19E604D7174A189E
F24DEFB9FB4E7BF3BFBE8603DB61B51496A30BC06A747A337859B5975AF963AA
46AE8DCDA4FD741C9648E5CD21152AE742DE646A2E7CCD4DC27FF97DC7F8FA3F
F3B971E1EEBEEF6DF62BE1B79121B013773895AEE4F4709A9DE4E55A4906AE1A
AEE29AF16A4EA4E3AE013026DD70BE9CE7A1E9211E2E8FB057F79874EAAADFB5
43E94290DB446965AB05A632B1A913B94C2E1C35BB4398AB9B89A9506AA16545
4B4355D1669C0CC7F9F1D7FD6D4E2DAFD80A819AB7A9319B1BD3F4B63482C729
5D08E6AA640970CBAB9F3DF3F9A461E0B97BEEB4DF78DFB5B4B8E2D82A706CE9
050EA78E47AE3A111944A8AA5C5C1B170E9C015382F67E3A1EEE980616A3D16A
A00E8D52C3217E5E8D885030DEF3A1CC8FFF4CE1DEBBCED8EDDFF0CCA4FCFEFB
DE69BFC69B2109CBB0E4F8709C6BC7ABB97AB89A142295C62A2CB966BC8A2B86
532CC39240A0D16856E920324102511283A89772E16D63CC94264A9448934690
E88F1089FD6791409008D2C91CBD82D82B89F5109632E3D1FC187FF7EE9FE07F
FEA6BF458A236A86A86FB6CEFD8A54F07E55DD34C8A12688410806F7DD7BA7C5
4E2DFF7C2B8D9F54007EFB03579165C515C7222F393D308C4EB9BEE18AC4E9E3
814184A9198FC4EA35F408614BBD1654036D304A73C2448A8114952A8204AFB3
272A22DE94E1431FAFFC835F7CE6B4E8B7EADBB9B038604776D9892BAE485772
7A3CCD222CA856192472C5708A93E924CBB0244A74F0C62A9BB6E1A0AB7DC318
427220C88C284A9248954894460C89A0F5F077880349418821F8F762E624844E
50F75053A8DB130EF06FCE3FC8DFBFFB1FF1733FFAFF3919E5DC198707A45737
F5AA6335F3BE453DC18D8897B105230648E2DD47EE3F77D6E4F31084275406FD
D49BDE67E7EB31564BE1C5A713D75EE94D0EAE3E1EB9FA446467F07628664E7A
8C01960916BDCA6688EE27A420DB94690A6E364274FE1D81C3E208F1AADB7BDE
7FC0DFF95F2FBF4CEA4DF7FE82FD71FC288B30B28A23ABB4CB15C349166181E2
0D1D8EA7139C4AA7B69B0FD0686CDA86BDB6CFBAAD6934028148749C2044523F
D53104A2046F06258928FD7548A4AE05A4FF17E8DE9B89979689238573DF2977
EC3CFC3CFBF1BBF8895FFD7103A7AEBDEAF63B648CDE68628CC218BCB87408AE
A3BCB99597186C8A3015616ADEFEC63B9F090FDC77D68EF63AFC9C04E0F7DF71
B7BDEFA1138C039C3A16B8EA4460AABEC9A74F78938328DE6665B3718AF42208
8B21B018BD01C262F0464A63F29E394312E2E0A55622BA7570ACBB41C88CC12B
BFFCAF1EE1AD6FFDFDA7FD12F79D7BBBBDD5DEC14EDC2131328691E37197DDB0
4B9040D5C2200327D20956714592D47B032A5933EBB661A36BAA351291240329
0C0C8C8C8C2459B09091A5AC1864C542968C614992250B59B20C2B86B0601996
8C714992812809E91883981C962CCD8F5EAF383FFED9FD3FCF993B0F4BC26EB9
ED0EB9F5B6D7CA108D2179526BA60DA4E06FB215822AAC8BB0A981DC846A61AB
2D9EA9105C62027EEF8327191691C5285C792C90A2B03719D71C0FEC0EDEF848
D5987A1B95314018823B270A165CA454FAC3944672D2A6B4FE8D84165DCD0ADA
CBA314C3EBF27FEAD73FFDB4177DA6DD8B0E4A92C41806C630B29B8EB18823CD
2A0D6315578E0384011171A0CA2A1B9DD8E844552549406560C07D1635212A48
6F2868D54023D62214C53479C14856D011A9466A81850584E07DE4648349A349
45ECA81018E8A10C5CC87BFCDC7B7EE909DF6D56E50F9C3B63314054281DDA56
EB6022DEFDCCCBDF03A379B14B140F231FB8EFAC5DAEA3B8D5006FFEBD7BEDA1
F58A988461705B3615B7D7C7975E398B41EE1EFF108465084404694001CB5027
A316A86B236723AF95BC36CABE522F2AB286650BEC90580CDE8051FB113155DE
FD810BBCE9377EF729A5F8DCB93FB0FBEC3D2CC2480C912124A2244257AFCD1A
2908BB69C5222C88C47EF3946285A24ECD161344236281D68243BDAD32D5422E
8575C91CB48983B2612F4F5C2C07EC4DFBEC4D07ECE5032E6EF6B9B0597361B3
666F9AD864A39544B225A31C67157619E24874A6E9DC6BEA92C79B3FF8BBFCFE
99DF7ED2EF7A4B370D29C21861116191BC3D8DF6AE27B9C0A6D09B6104AA7A75
B419976D12B60270F747775C5D7762C563FB8DC7F61A3B6360397A38D21AE40C
968DD8F3E7DE55EB5241DF56C6A87BB5B5367231A64D63EF62E6E2F9CA74A121
6B614964888289A21D11FB8DB73DFC9417FCAE7A1F968428DD664BC030363A71
A007642D2C64C94ED86590A1570FBBE337B54C6995AABD4994FAA69756A8DAFC
F75A7B94D0BC98C31ADA5F37D36DBE20B7C2A413EBB2E660B3CF63077B3CB6BE
C8A307FBECAF0BB5240676186487455CB81992E082D785B5D4C29BFEF09F7FD6
0DBAF5B63B24051813BD9CCDC3C159083615D619D615D6B5FB0547B085A71382
0070CF5D77DA471F5DFA0B07F6BDA3563356833004BFE0A91AFB078D4D3636A5
7BA93D7CD90A43DF78EBEACFE6D66BE6153186A2B571B099D8BF503938DF901C
19E2404C1E49DCF5DEF3DC79F61D4F7AE10FB4F733F4931DB659BDC0A6AD395F
2FA2283B718765BFE9E0798AA2954D9BD8AF076CAA237D552BCDDC61343CEC73
7EDFA59F39BF9E4FB17BF9D2C345A399BA50D4C226AFB9707091470FCEB377B0
466B62945DC6B4EC4EE661C420066FF9A3DFE5DC3D7FF05937E996DBEE9057BF
E6B5B248C2AAF73690D92728EE18AEB36C852037370F33AEF0C0B9334FA90D02
C0871E1EE97C0ABF1576D8332FCC02518DFD03656F631C147F6C7AD7ADD28CAA
B3476A3DA6F52E9CCD1AA60DD5E6E9D6A634AD604AD5C6A654F60F1A7503C112
8830D5C67BFFF8E213A4F7B7EFF9357B4C2E12BAA71DBA02EBB44CB26602C222
2C1864EC9B64FE397562AF1CB05F366C6C72EA178A5ADB867F87DA59B7CDA46D
26997429705F4EB71A8E66DBD2347A3BB9A68DA9642EE635E70FF6D83B586375
648C3B8C7145EC2969102EE63DDEF5E0BD9F6DFFB7EBD5AF79AD8C0916E9A863
E83ED94131D65938C8DE1DAD54EF96F27414D900F0914706B079F3B46FA6D12A
9CDF532EAE9583C978EC40596F1A5336A6C9BCB152F66E5BDE4E4529156A53AA
7A36B0554FABD65E17575BEDC2E0EC1BC5A81807D59836B8F78870DF072E3CE1
62EFCFEF631146AF0334D9F6F3F50DF1530C429244246CD5FFA499BD7AC07EDD
67B20DB5658A558A36AAB960CEE96057FBB60582B44728D68B3F5C8B99F792E9
2412EBD73017826A571356955A327B79C3C5F59A5294C882212C08214227A3BC
FD23EFBA2C010048D1DC144488FDB096AE09D6D958776DB0A942DDF63F7EA210
CC872B00FCC9F9B8852BB5B91088C166DFF8F843954F3ED278E47CE3C27E637F
631C64E5202BEBAC6E0EFA732946AE5E21534A23D7EA82511AB5569A56AC554C
EBD6A6228A46D010C8409D049B840F7F6CFD848BFE607DB07BDBFEDA6CAEC4F5
0D6BDDC434D57EBA750BFAECD77DF6DBC6337BE6706FB5E2FC3FABD4CE03DC6A
8423DAC1E68DEE59CFC3BEC2EA1BDE6CEBE8991956F59099DAED46B5CA267B17
B260038945471603F77EECDD972D00B7DEE68EE1D08134EB7998D28CA9980B41
867511B20A55E51293366FFC1C6D0480C7F6659BCD6BCDB00A751FF60E1AE7F7
1A1FF993CC830F151EBBD8D8CFCAC1C6EBDF0E36B6FD79EA42908BB129ADD7C2
352F85CA95560B25F7D2A8D6B0EA02A06658302C808AD0C468D5F8D4A72E1580
3BEFFD5DFB7473B470AEC499215BED6C1E35984AE162D9E7A038CA37B5CC5ED9
E77CBBC85AD76C6C225B26F788A058A6B4D6D9C0AD0B42EB76DD29626D76060D
541DFD6CE6AAFEA896D0EABFC7E636B37404C83D15A35135B32E052510652058
64BFECF39BBFF30B971DBF1FCD0F807732719FCDFDB475EDD141F110B2993C01
23D852E01F3877D6FEEE6F1AB25486D6BCF8E1C0B8887A074C75A93FD86847F8
8ED4DE7534B034C8C57A59947300A69EF19B36855226CA5469A5526B454BA5B6
E265D7022AA917491826505BE5C2A397DE8F8FD48F11E23CE8C137BFD1FA296F
0CF8493CDF0E10FB1491E4EADD1A17EA1E7B759F5C3797F8396AEE1F34F33470
D542D90A41D752DA7AAB18A369E9FE51455B43AB0B88473BFDB9E97C6B708FC1
933A9ED58B8E2F88979CB9EF1050ADBCE74FDE7F599BFFC0B93336B5798E816D
FB166AF343844111588B900A8C41484109466F7E75E97D4D867130198BE8F56A
655FD907521274F0064C4D054D4229DE163D04772D1C9870CDE1D940659A0A9B
4D6193AB3747CC99BCA9E4E2D9BFDA7D02F7370C062FCAECB7CD132402EBA95D
72A19FAC7FE2A8B129A05D7BF4CD574511365A58DB45722B9829EBB6264AE4D1
729E83B2A668DD3A864E046D3D12689EFEEDCF751688563B4BC819BE4D95D63C
BBD7A8EEE7F4A20EAD6E22AC1DE936AEC0162CA6A7787B332BF1C34303D3C083
8F7DFCB204C0E9EB4E2EAABD87516B8E7F08014CC8FDB336A13B8C4D1CAC9327
7A0309205268255109AC351293312EC41B30763B526AEFAA71A491C29C0FA833
19241772AEACA7CA669D59AFBD266ECA853A75D64C1782668A09A80C681097DE
4ACF0D28E3289724381EAE8F6EC3CAD6140BDD39136FEE34B54AD54C2050AD60
66ACEBC41813532B4C5ABAF0D09D37DCC677FB5FFAE63B31C437BF69ED8EABFB
15B5154AABDE50BA7874333BB3DB56F35ADD27687E8F82458788836CD3BBD60E
A30BADFEFA938F7DEA6937FF817367ACF68EE753B5DE07D928B5D79706EB52E6
7F4F4158270792862084DE2F691E9DE3026090449936CAFA40C929B318A3F7DE
55A50D81583DB153A24B7008F37DF48248AD8D522AB95672F19CBF6FBE9746E5
752667AF9269D5819886F9C647F1146C03447B9914ECEE5E5A287960EB2E704E
E1AA3DB45460AD95D6B2276D420494F3664C6D6290436F7BEEFF673D6268DDB9
6B3D1A980520F7935FAA53C5EA0C1655370D85D21B485627C3F428623603D6DB
CACE8EA0278B663D20049410A07675DC4CF9CCDE676F0F73FFBD67CCE71F7827
9275EEFC8B324F4111822A250A26FE89533586224CDB9CC236CB3CE718496670
6251F9D8A311A5328C116D466B9156853A2A29054AF48D8F874EF8A106A8D9F9
70A553BF368569F2CD9FD64E9CA8B952722F963050313424B443CC121A56B473
BA95EBAE5E5E2A00BAF69051956A4AD542AB2B266B345D23183144920D982943
AFD793103C774FF0E21166C4B23B8FF3438B87855B367076E8B8D6FEEC4E63AD
8D56DC07F0F6F28DA67E02AD196A9DFE6D3346E1264E0C24B810A8B84B2804D4
0A66B09F374FBDF9E7CE9A76CEE5261B7B1B0FCBD7D97B21D7D6B5897868D859
199410998A312558366891DEE8FAD013482270EDC9C6873ED8D0E8CECEA0B1D3
BC02B50869506F842010FA381430B77DEA0D0F4AAE94522893DBFD69CAE4F544
C95E23376D4ABFB1460534F402C9105C351757E9D207F97CC58D970A40AE852A
8D143C8A6801A6DA68B646F0933FCC219B256FDD228D68B163025ECB377F73D7
020E78CD88A0ABFDE69B3D6FBE7627B66B80AA99DC318FAA4203B4C5FEB90118
413348ECE77E2E5E75BA97EBDE3E8E466D5B98B2791201F09947BDBF61834D36
2E6C8CBD8DB13F1953F62E646AF8A9EF2753707E4194468981A9786BBC453AEC
6832AF04F0B26B953F58574A12C6DA6BE36A621CFDE4A71A3A1981AEFE3D79E3
DE71A3B54ACB95DA132965CA94A93F6757FFAD55B7550216C5AB65627004B2AB
4CA90D6B0D31E3D55F7BEAD2BB310335EA27B74C8DD20E5CBDC6440A23161B1A
20F67F9B2412547DCA178737087AAE6246F4ACDBFA6EF38B79B432F300736D94
E6A621CF032534F6446604F5E6901202818AC548684ED890204453248298221D
4832635BD20E207298999F37DEF3FD0EF9AEB3A3B017D7CAFEE48660230F0000
2000494441548EFB54BC37910B9E124238343BCD28018679344EF3411A838275
3E0740BAF5F63BE4ED6F7FA759AB8E00B6C0D0026D544A490C2950936EC7A411
74EBC5A855F7137AF3A39A7BB1442EDDE173CFBFB4EA55D0E2765F63DF7CBC60
A2A922557B1A561993F075AF3871C9FE2F6581D6460B4AA6526BC6AC9224904C
B1A81803CD8C141249032D24A23457C3733D00870E98CDB4AF1EEA556AEFEAD5
28DA0B3E6AA3B4CCA495D2A78B29B13B9160B600E965DF6A8498DC0F8BAEFEA3
280121062500DA4AD710ADE7151C445AA5E576E3B783ADD451D6CD0417378DFD
C9B69B3FE7624AF79D04376B165CEBA8787450AA919390DBCC303A14BAAD06D8
59C02B5F5EB9E7BD02A1A163A0B54A8A8D3604428C3E374F1A8821B8E76B3AC7
C9738C5FFCB93941B2D6426B95DCBACD17415344878449F050A82A9A0B922BB1
16C41A5FFFAA931C5B5DCA565B30D2543BD9324233428C0C31A1D57AD2494971
40835243205ADDDAFF27740E99EB01F5881F600E5797D6D9C1ADD16A215B2F7A
A942EB2D62C0AF5FC4B0A0A4B42058EB0D2BBD61D55C7C16C4102A620D51E9E1
D80C827BB8787C79D261F4195B29EEE4AD27657FA3EC4DC67A32D6C5BB91956A
1DE0F11D35BC57510CBD26511C0AAFD1A3845AF1EBEFADF1AC6B8A04DE10E1DB
FE0CBCEB5C8564B406310662AA0C5990181D00C230E9040E6B3DEE7528D56AB7
91B5A0CD3D68D53E6C6146F95244D3808960C147B2587160485A216843AAF1C6
375CCFE3D715F124550BB48869C1AC3258F26B886C1DBA41B5B76E49C4100952
8F44E25DEB7639503C4BE949ACEE5B68EBB98B4A350F0F4B530FD72CA0127B47
12EF1160A13144E701EAA85874076C4EC38869FFB9615AC026440169087D148D
65AE585EC93A371F72D5BDFC4D7667EF60EA5E7FDFFCDA136D33ABD83A641262
40A37437D068419DEBD0354551F114C6113F20B9FD8197DE1078C54B2BEFFF50
C344C9C5BDC57190CE821542F0116A8EC1BBBD562A56D5FD00AD68AB3DB73E27
5941A3A031A12962011A7EF22D17CF0DD48AD40A4D79E52B76B9F925C7B621DB
BCAE8A57BA075E1BAD6E4869E8695CFC14C781165D9DC71089A1F93577BCFDA8
09E0088C6CD6AFDDE871BF672BEB36340C680BCE55100FB2250C08B873897BD7
A8909AC11840BD55BDD3C314CCBB80A8144A1D105D6FAF25584018B87AE7461E
DBF754FBBA27D9D63DEDBECE7392ADDB7CA4A7E215AF87542010A232C6801069
E2CD2E35BA10B47946A2C178C40C24F0C4C0BD77BDD3FE833F1FF93BFF878339
B52756A60C43F07978711BCE689F9FD37A42C405A154FFB2DE59D337DE92ABFD
162248DFFCA67EF25B71F55F1BA812057EF0BB6F7AC2E907B871F122F2A4B49A
8148C3187AC8A771D8D6F7B510FBC98F9DEE1DB6E1D72C0266F3B858DDA6BE6D
46F8CC934005C738CC0C95844904738753259042422B24499839622A1ABADD17
4415B3C04A4F219618E438A2034D3399CA453ECAD4F678347F04D5034E2D6FE4
538F1672DFF04DF1787FBBF1ADDF3BA587E9F47CC4EC5036520CD8E8CE5A0C91
9A94D8A4CF3D70BCC0A7AB1C86F25B439BA2F0A2AB037FEE5B02BFFE16437B72
04B487148E02C6D99476AC5BA9CC7AA875D5D78260096A0858574B12DCBE6947
D0B466B4BAF608AA48833FFB6D5771FDD54B3FAD8FC32C6F5ABC88D446366572
A76B865B499E938F891A1A29F8C68790B68CDEED7F32DBBEAE3BFA483835B6BD
011ACD317DF166CE7D581C109198C0121246C49C392C4468422481C1424F7052
6FE2142F6621D722D13740531F3C118C9A1A2D2975A9D463850B9B4F72717FC1
075B658CB567551D61CDCD99584D754BC0F1FC8BF599464ECB4F2930261F6E99
624307419BF72370B0AA33B4CC354892C709C0ADB7DF2177DFF90EFBCE6F1C79
FF0727DEF301752F1F8750ABF53070EB50B105142434AFCD17B018B168A8F4CD
C71D2DFA0C3E5AA5968AD5B66D9028AABCF4C615DFFE8DD76E67F53E7EDD7ADB
EBE42FFFF25FB1BBF73F408A73FA7586939DA21683D08276EA76EDE1DF3C01E4
8850A9740DD04071CDD11D29D401150BB183361193012161361064246882E6DD
3ED080C8C055FA52AE6E5FC3B1788577AC18384C55F79B1F1AE4D608DD05C42A
98707CF9623E755179F0D31B5A3D60110F38B9531C55045A937ED2FB2C03755E
E63CC944801403AC22A906EA10FD6FDA893D16B6A4579F8328587C9C00808F40
1D07E347BE7F879FF87F321F7A30BBF4503133A2F9D0246F9034178338C2A562
103B4220D2317AF772AD776DD0E67D74B6A26C4A30E3EAD30BBEEF8D2FF68A63
9909534F5CAF39F9759C7DE83D98CC3537C9891AA911A312B417728820125D98
82DBE9B085BF3CA38899B776177546B3698F730DC2E0589A2484848488321074
E99A8085033D9A38C94DDC185EC5F174252178A24942EF3AA278910C8656459A
936C0C08A690A27719ED4EB124400317A6C8C317F63936AE1953F5A843FA804B
EDE9FACEDF30F3CD1F06230DDEB4DA2322374BA68714BD19AC32E654F2E30420
0437053BABC08FFCC071FEE1CF153EFCB1BC4D4195AE7AA3B99D093110222881
0EB963734E523DD9625B3EE08C91BBDD0DBD33C7D5A706FEDC375F434A3D8B21
3C41FDCFEBB557DCC63FE297BCF63EB9164841B11269DA0E8B39424444DD94B4
39792587EEBF81B5061D87B08ED5060B5DCD1B419DE54DF0131E492091200988
8C7A8C97C9B772E57083F728EAF3E5E76C9F9879AE418327938220CD35961828
4E416FD1080666CD515112212C90603C72606859B318269228CDD8A6A6B7CD38
42A0A9ABFE79DCEDFCF799A3B9A5B56DDD66B687EC1201B8E5B63BE4DCDDEFB4
3105AE3C1EF991BF78925FFC17CA3DEFE9B97BB4C38C9548A05A2368703F8088
177A38C439031CDB2B985BAA748B2A08D75E33F06FDD7225AB5574BC7C9B6438
DCAB4B04E0EBDF203FFC8B7FD57EFF53E7401B160C1D024194C1A2934944B6EA
5F6608580F4BD967B2EAD10F984BDB420C4413C2E03EBCA339EEE445F3DE0241
464ED88BB8397C07C796AB3E20DA91BC106C0EFEDC6CF64D882DD0AA768A9A1F
10C5B01A60886867F648EC3D045B72A19315CDE0C25E63881BA228AA7EFAE7AC
4EA02143F4EC6A9B59DA334957518BCCD0F3E1F77D1227705E3EFD3A308E9193
BB89EFFA8E93DC706DE4F7DE759ECF5C548CE664C3E0F967F3341EA2A56BD8C7
930E6C0B798A08A89740DD74C382175FB7C330CC3EC5D11CD5912B7CDCFA0B37
BC81DFFBF85D0EB7D2D0AC846868F0F87FCEBACDEFE9A0CB1CFE1D0A97A7861D
22467C720836C2E0248B108287726A4EE49040B4916BF5ABF9AAF4CD2C86E4C9
B178182185E04EA6A2580B9E266F4EE32EFD73A4DF23D3800E8648A258F5B2B9
1848C16849086520C48688572A4D59412742AC5D9DF7F74A61B66CDB35379CB0
CE9CF22DF03D1133AF5C9227D100E0CEE03DEF7AA78D49588D91DD55E2969B77
B8F69AC4BB1EB8C07BFF689F756DFD307B69EBECB41DE6DABAC3651DA1EA0911
034E5C3170F5A991E3ABE465E6D2B364473254C82156FDF8F53DDFF497E4BB7F
E607EC9E47DEEF0D9A42C7F42552918EC0C5C332ADF92D3BEDB9E7B19CB225C1
D575E8CE2B851006AFC933C35A7068354492456E68AFE2AB16DFCC30B8C0A479
E44C0C1C5BFA2411037211E7E74D7D3CAD1C1144C39DB0E4FE41C5AB923CAD6E
B4A8C41069C9082DFABD0923313672F3B27B9F8BD4A3FF990CDB0ED3E77A68E9
7A0755D7C0F31E381C6C4F2E000043126A0B8CA3B1B38C1CDB496CB2F2AAAF3E
CE0DD72EF8F027D67CF291CC63E78BB7669B374D8E9C60632BF129048641D859
45168397544BE8EA191FFA34CBA8033B4F6E02E6F5835FF9EF72F7C37FD88917
8248C5A43A3A27C111B6AE7622D137BF5F946DEF8E6DAF314820C5EE5091090C
049498205A2459E02ABB959B97DFC43878AF84DD65F77B0C8E2F85EB4F067647
FF9C5C8DF31BE5E18BC685FDC3DEE573CDA026E99EB9114C69D58B67B705B433
EBAAF31B9C5B924892686DA0E263F1C29C40EAE660CE708A871F8E408AF420F6
90913487C44F2900875AC0A760EE2C9563ABD48189811BAF334E1C1FD8DF343E
73A1B8B46F3C3F4E9FE015FA27780EC12B843D82981FDE6D3B044FD4B859EED3
3EB7F1FA93AFEF7BFD5F96FFF8FFFDABF6AF3EF12EDF819E96459CE63557E28A
4043FD34CF85FFADD3B845DCD1C3730A7E5C02228D18BB600520058EE9B57CD5
F82D0C29320E70CDC9C8A95D275C3485EB8E074EED3AEF4F4D18A231356388C2
623C0A410B6D080CDD3924791C9FA250C25C3D2DDB7B22E2DAC991C70A128992
9CB3588D30B07D6FFABF9D0B6F8D198EB66EAAE61C058818B7DCE60D399EB24F
E0909C0BB81C02C796895C1D999A8A570D1D1E24617FD3181394169D1FD8DCFE
CC9093889F9610E69AFA1E9E054FA1D2F3E4B3541E7AAD4FBD7EF415FF21777D
EABD9CCF17396C0E3CB75D99FFDFE8660A0E017333E64682A6911003D2397E31
472F6295868911A2B0D0C4CDC35F603926628453BB912B8ECD270E4EEF0A2777
FA77EA57B0299EB533732A960E5D4ECD2B9435868E8D583FF9BDF9C37C6FE488
DA0608B6D5964122814455255A038B2E385B2163CBFD0BCCEF6BDB06136EAE0F
0FD713FA03CCEBD6DBEF9014838F565D08BBCBC8F19DC489DDC4EE2A717C77E4
D84E6267D5276E2E138BE4CEE330B8CA8F49B65F50A4B363E3DC65DBF104077E
04821CAA7E794A1F70BB5EFB0DDF2EFFFDAB7F94D4C20C95E10DFDD5B325C5B0
52B05221172C37CF3D4CCDB987D9FD002F5E51AC185A8A6333DA106D488317E9
B772623885046191E044DFEC4DF63ABD533B7DE46C80208EB8ED670FC552F492
F9B967C298BC5FC298842186EDF4B214851467C2ED7C107AD6B59F6242877CCD
7A87D3482E5DCBE2AD635C135CDA3D3D05EFD590BC3F75CF8F5C860000DE102A
0A8BC187211FDF89FED84D1CDF891CDB19D85D45765689D522322E531F971ADD
3BEE4918A745FBCFB18333AE92BADEE2305AEC5001C6D31736FEC56FFB61F96B
B7FC25B43AD0A2D5D0E2B8BE3FE670884E61A63B19745412688634C36AF38C5F
35AC000D56F52A6E18BFDE6FA4083B2B6135D073EBC615ABE03D13E6DE1040CE
0ED30E4158F4CADE55121631B010D825B213222B09ECC4C88EF4D721B2138445
082CBB90F801E937441D9436CCC351000DE4E64E741077464377A89DBDE5FB37
76018D812720AD9F55006EB9ED0E197A9387D522B25A468EAD22275689633B89
633B9113BB03C77712C776068EAD223BCB81E598186364187D666E48F370853E
AA153AC7405C7B8B7479EF427044209E6EFDCD7FEFBF93EF7AD91B2E8D7F3B7E
4EB33977EA98B9F6DFB5D65D4EC567033BCF0583502A411BB119370D6F6008BD
F143607B6A4B71FBBE1A0F375F700554D5588AB0136024B0D040A8400129015A
A44E42CB42DB086503652DB449686B214C907260A1915D092C62608CE192A61A
8221EAFD82CAE4445447667D6A5AC0B61D46860EEE0D7D0F62B44B34C0D3F60A
8EFD0DC614D85D446799B4B91CCBED9AC9A183979211622304A79257F5F4A844
C71742F27857FA7427093D97DE47C0B643817F7A3BD0D77FF6B53FC8471EFB04
F77EF27DFD37D6BB70C1210228DD0F108CE0AD62A59F1C9B31881EC2AAB1E024
A7C7AFEB90B6BFC59495BDC953ABA797C298AC7BD50EF894AA84E6EF571B2E78
7856D1814FF1746E2F202975AEE8514A563693B1D934A683C6B476C6B1346359
03A440D0C04603D56A8775FDDBAEB372C58943C7DAB19C6E7A06D7E443370347
43E3CB12805B6EF3593AAA60A30F53AACD7AFEBCDFB8203D0317885989319062
63CA7DE45ABFFFB1F70A8ADDF607099DA4186607FD8806F0DE0297B36EBDED75
72CF3DBF6F3F76E7FFCE9907CFF936CEDA43B5FBA2B35BD41DD360DD2CD1373F
903AB822A65C9B5E4F0CAE1D541425B02EC6A307CA8985CF0E4E819EEF17777E
8B8BD75CE4D23FBE3B6F82A0DBEB3AEAF0FABF36B0EAE565D58B69A74DA66C9A
F3250442888C5151F351B574AD75B0DF90AB8C289EE54BD11F63C27B0EF5E966
7EEF2FBD7797D52DFCD6DB1D22566039F6E1CAFDA422AE018228210A29795E3A
0661180253AF1E367AE3A86E5252720FFC50A9B16D86E482205B09BF9CF59AD7
7CB3DC7FEE9DF6BF8D3FCD6FFED1EF39F8D9DFD44CDC71EA004A308748B62C5A
E92620081110852B8757F753B66551E2738184B8E3F67DEEF5D71AECAF214F5E
DAA6DDEF68F3E6F7E4906DB5D25C3DD4E5B103537385B3C305CE59546DDE84B2
168235E2288CC38216E64C9F61C5586F94D3279CFF3FF666538B2178E3A92E08
7ED86476BB2E5F00609EA3434F73C6EEB10B260D45105CED0F291262F5CD9F94
945AD7021E9F0C2990069FC9379B00098740D036D1D13FF7817367EC725BA0DD
DA63DB9F7CD3DFB3BF7FE6A7996ADEE212F36049A7EC771361D669CE615B57A7
D5580DD7B00A5753D4481668D53CAFDE9CC9143A846C5D0B3AEAE7295A370750
B493302D1C6E947622EA9CAC997989D6337BDA8B4C5B83DE43413B51457B0AD8
54092510C7CEFA112F8ED93BA8C4B4DAAAFEC5D03BBB0E8131B9EFD2735B9720
F5972D00B7DCE613B5D4601CF0CA21D8A2102108212A616AC430B2CE8D148D54
22A57A39173DE132C4484C8121B9D9A0A381AD57B2D64E60700AF3653A0247D6
DFF8AEFF467EEB6DBF62FFF0EE9FE5EC47CF7518D8BAB3E914B21E97F6C3DDFC
54D8801A9C94DBA954A246A40A1643AF08F66BCD05D61324F1B4CEC1E43D14C4
E8609097D4A9899BCBCA7696B0EA614E5FD55540ABDE97C03ACDDE2B9EFA9C61
E9C5B066A87812BC6825E69E8012C716F62E563FF97DE3176360390456E3A1FA
9F69FDCFC80738BA6EBDED0EB9EF9E5E5736CCD0C3FCA0978D89CFEF4D819494
B17AC978EBD929219046772A67E48B205B27D09B53C8B602781EFEF04CD71BBF
E57B05E0677FFB9FD8FF79E73FE38F3EFD61CFB86DE11A45C508BDAA56A210A5
2025B00C373A5744CC556D336A84513DAAD83BAF7CD240AE8CA408170E8C4D76
5047CC7DA2D67DA5A9B8D668ED288BE75008E6BFCD35163A179BCE6C1F6DBD7E
A1B969080EB9670329FDFB44619D9DDABE18926FFCE0BD9D866E0E6238847F8F
6AD4673C31E4D5AFB943CEDD7DC62CC112D8964089104273A027386A9892B029
C630D8B69802E999B6396E9D8540FCF43B1F7E26403A90F14CCCC0E3D77FF49D
FF8900FC835FFD5FEC9FDCF54B7CECD14F6C030367E63486E414EB662312610C
5752D5084D9118A8D58809AC7A278E1ADD8357357616C2C164B4EA1D52017F57
F593DF7A0FE5D22BA86B354A752170D4B4524BEB8CEA8696E6A5F3D509B6DA2A
AAC5CD43324CE2B6995603820AA169F74F94D518582D3C5F31A6C0D841A82D06
F0B8FBF3398D8C49D19D1F122CB76957ED9EAA11C535C0BA18291A453D76AEDD
E6CDDEF79CFC90EE482A8ECD78258B6C41BD78B9F1E06759FFC5F7FCD702F04F
7FEBFFB2B7FEEBB7F3B63F7E17FB79ED2AB42A51128AA05619C2554E5C9588D4
46106359A2F74030EF9B60A3F0E9CF347696A953CF3CEF008039FFD1ABA67DCC
EC2C04A5F6BE4A7DA844C95E725E7BEF04A7D57B6B1DED750A6A8649C3693447
B15E81AE51C4BC0BDB6A11588E61FB3C0E610B330B3CA1A5ECE72400EE0F9C75
5722990B4167748828311A31FBE66F921731D4D41DA3E600E77C419E1798EBE6
3C4B56CDB186DABC274EFB1CCDC093AD1F7AE37FBABD01BFF2969FB57B3FF61E
FECDA39FE2938F7D9A07CF7F92528D283BB45E7089186308941268E2F06E22D0
AA9005D868EFE44D77666D26505167F266DFFC5CBCA57EAD8DA97750297DDAA8
6F7E6F55532B5A6BEFAF64EE14F6532F711BFD21D11CB954E72D9819AB31B0B3
882C86B00DFF0E671C3EF17E7CCE43A36EBDEDB55B21903423511EABC6A80E20
052555988A1737A6CE6B87E069E423712B1D4CAA7A68064A83A1BFBEFFDEB376
EBB33C65E4E557BD8C9B4EBD1CDD264F9CCFF74FEF1C69268805068DA4EC612F
31A0E231BF933AA0F55CC79C65C3E694F6A1C3578AAB7DDF7CEFA2E2BD13BD95
CEDC57C1E70D36AFB36CFDF4ABE3D74A2FA7C77C06E19143E13887979EED2C02
8B31B0181C858DD2AFED29EEC1E73535ECA810CC9F20016FAA1C8C9422292B43
127275B53E3733301CE8917E7262ECB030EE085615B2C2D066FB659F972F7074
3D70EE8C15F5FE7ADA11C0ED75086ECF83C7E4B506F69A1293300E333E210C6A
4E0C5621552E39619E70EC9CC06EF35D13B46D0B9DCDD4C853214FAE014ACEE4
D2A8B9D08A5757B5EA3475B38625D9622EDE7AD77ACE1FBC50D7E1DFD522B2EA
B31D5277FE3AE8FAA41DC53FEFB171B31088E214BA4E64F044043EB5AB185384
A9192949A7333B9971AE008A9D2380744048A577C270A7D26FF0E7AF001E3877
D6D6758E343A303C672AFBCF43A8ACAB4015A76205EF09EC1B2B0C2A68EC262A
0839BA098039253B034187E15E294A2E95521A9BC951BEA997D297E948316DE9
6D695AA1AA3AB3BAD7FA99B8CF7DB4A7A334A7D78BC189DDC4CED24FFF8CFD87
4EFF7DAA83F3ACCC0D3CD4045EA02883DBF424E6E9C8E8277928426973A5EA3C
2D831981DFD2C2ADF7CC9F6BDA7295CE2B8077DF7BC65E75FB33D7020F9C3B63
CD84BDD2EBE9B41324E67C79274E08C628958B9AE0C059CD4844175DAD8F81D6
8494FC7B9520C47A180CCF3C86590B54F586503E59DCD57E9E0AD3549836A56B
81EC9DD44AED23677DD05633AF20D679D363D8C2E4473EC453C428A74F26F7FC
87D04FBF5FD3AD9FE57E3D6B8323B79A00873643C21DBD59131447134B83A14A
0FF56626105B40294AEF9C412F91360847BA628170DF3D67EDD597397E6EDEF8
83E289A6791883C83C71D4A38C59086EB9ED0EF9B19F7E9F3DFC68A26EBC7D8B
33C5AD57DB18C320D4E637D8C9A0472B996C5B10827A578F5A1BA5B4AEEA7D6E
52CED9377FE3CF732F85D29D419F68D20B6B63F0B27A710CC0A5C28B4E3DA475
22EB4BAE5BB11C9D9F108FB08A3EDB7A562787BA109C31B1439BE87D7B84148C
A109B97A8E3C37A8E637B4DA21252C8499B06087422020CDD09E116F01EEB9FB
ACCD248C27536F0F9C3B6BD5E81BDF4FBDF949F26BB24EE2389CC733BFCFC965
A14D893C05374715E2D8B1825E269E8E905DE008C226F44692DE396C1680D63D
FEDCD57DE927DF1B691CE9A9507B0B3AEB154ABDE78F853E705A981B13B8F7DF
1B6A8C23BCF8BA951371FA3D0C4F61F7BF6002008E166E891C3DD40BC10915A9
372B2A0A639F78514D3C34DC6601674A943B3B8A0342736EC770CE5D53773483
0877DF75A7859E669B2B67F78ABF579B732E5D6B467108D7D931DE73F7F12357
6EBAB27076BDEA27116891A8014D3EEB200DF2FFB7776D21569551F8FBFFBD47
6D4CC66E949997B0948441BB402664820F4905214410F462104117A897A01EEA
21EBAD8240EA2DA8C08AA28742838A08C98692D4A9A0E802514644506053E7EC
FFB27AF8D6DAFBCC6036A367C487FF83E1C0611EF63E6BFDEB5FD76F2145EDDE
B118DBA20058B9D7964569922728D9549368F24320AD4E9F241A4D131002B996
82720E67473EA15C79E40A24A168273D325CE270AE17C1A52B46B17851D5F62C
CCD65D9A97DDC1E3AA04D37AD31C971F541EA8331581D93E8750438B23F4B029
2C372DD36C3E012713D8B35FF90107118E851F6777243546F4EAA8DA8609A076
A2092B5AAD99CFBFE2FC089FD926C652BE9245EAE2AB1835E55D196792681E43
0049DA9C42E127195080C850AF09898C694DA0D90F7140F896F777C815E72BC5
AB150060E61F3AD18CC4DAC655E36318B1A28F9AFED9444C438DAB8F872F0E4D
48D6F90063118F5AF4B19E02631A4FEDFF74BE81B8AE89C1AE15A7EC1B1C5695
36CCB117320B621E7EA526BEF69AA9D4EF4FB4CFF8F1A78FC8E4B7159935F407
F53515C0EB7CA4F75400DA1D9B86E2E964068FA19C31A3A69490426A57CC99C3
6749A090339081E4C1D6F1AA82541515414BCA5CDA1081C0E5D3AE89404ED8BD
6B03565F3CDAE6FC671B2ECFFBF6F0F12B37B557023786F1012B8D00B2970165
D0EFA4A33F3165684FB32D5C70A2836ABC169CF0449B92547ADA2B27AD027865
CBF4F8FF2D5BE3973598FC66A18672DAF5940455D0F4B54FAA689DE987D5F345
8B3876052809464C09B98988811434312A934A4C08DA08D90ADF573A5AAFC207
A85C4948A415025C620268DD9AC558B56CB465009B4BAEE4B4AC8F1FDC832300
E095EA5CC7B46B883A6A5D9BD9205F7FD6C60B8B7DE19C76D6584A59A63973F4
0D0435E82492A387A67AB61B38D7AE4C387F2CE3E7DFC8E699C5C1D50ED951F9
D8854BC66E0781787D50E519B01D09BC0A22994DCCC9135E01311A53A99A7DEF
C8A6E22B486D279F8E2F74C21A29C3A50817332445F82CD8B1FDE256F8734D95
CCFB15703C50115CDB21C3793AF07A035A3F60D00264B19C976B1FDC7E7CE7B4
93C7C8999C0A9EB6816B6E65EEBBF55E7AED5379756F8DBE32754038054C72A8
ACA95FD60BA8913605CD4F1B8727A9A451E8248D0C624B51D3A6795BE17B64EF
755C4DAD4B12204448D3C0F5FB704D848B01AB962DC2EE5D1BD96083B99D7EE0
3459809918B40800133F5EF859A16B0815716A5275E41AC0B476164015400728
EC135400408EEBE4CD161BD7667C7C30E3879F0492C8C7232E80BB0113BCCF9A
99C87AFFEBDA19D1061890483367AEC989421F806C249AE3F750F634CF50AFD2
BBDF4EBE9DFE988014E1538204B63D3B11DC75C7AA9332FDDDEF7706C0AE06EB
CB05287C7B3A111BBB4627FF81C490E546EC4E3E99D3FE5F78F7BD0979EE458F
A95E83D024E5E6C9EC2612E9EE7F3002300B90397C40AEA5CCC20E948A0EDAF7
271EC8DE77DC89DE755EBFBDAC79CD31C03501D20F704D039722AEBBFA1C3CF6
C0157372FA66E28C50809930A79105C3EE112D961FBCE744BAD9F761097D269E
7D6142DEF9A041EF9F84262676EB6839CE68F39801CC9AC6B62B20034E7D0111
B69843800ACA9B4861673DF96DD207FAF676F263840B11D26BD4F98B386FE908
763FB1014B978C9CD27B9F910A7026E28147F7CB912F23AB7931C2B69DD2E48B
156C79F261742C02F149C359D17CBE1150399E74EF78FF6BB107401B4AF2E453
F8680243BF10B1D0034F3EB21EE36BC74E59E94F381954D061E78E1A97AED0F6
7768F76E8EAD839745770708CBC0C983BB902A8F54931B39D61EA9AA91AB8A7F
839EBE03C8AB93D14EDF049A7D13BE8F11230E78F8FEB543113E502CC09C30F1
C90179EEA5BFF1FD0F7DF49BA8C99EA493BECC69881F28D956D0FE3DFB4EF4E4
A335F5DDA9CFD343BD98E062001AE6107C8AA8003C74CF1A3C78EFAD43935B51
8039E2F3CF3E91E7F71CC3E1C91E9A10108376EDAAF187D319825AC33ACD878B
D34E1EA843EBBAA60F8D0000016749444154A44DEE902A4F4BCF99ACE968A2B2
A77356F1AC050E0FDF7B39EEDE79CB50655614E024F1D433EFCB5B7B8FA1AF55
BC9CB3366C82C99CDAE93A3CA3BF21151C0764D00A1E3A28E232D3BC8E13A61C
074B092E67AC597D161EB96F1DB66FDF36747915053805ECDBB75FF6BCFD270E
4FFE8510A2B66F319D4BE78E9FC69F280EEDAC220902BBD3CF0C9F16787282CB
8225A335EEBC6D396EDABA0C575EB3795E645514600878FD8D0FE595377FC777
3F4EB1769032637B8D0D8C9D86C90A3BF9FAA7F90149A283A6190B462AECD87E
116EBF7939AEDD7CFDBCCAA828C010F1F29E0FE4A3893F70F0D0314CF574843B
7302A9DD8CE2A4CD16DA50A8553A565E328AAD9BCEC38D5B2EC2F5376C392DB2
290A300F3874F0807CF5DD14BEFE7E0A477FEDE1E75FFEC1D15F7BE8F5B4C357
800B2F588873977AACB86431D65F7636C6D78D61DBB6AD451E05050505050505
050505050505050505050505050505050505C3C3BFF84F17C91A5A01F4000000
0049454E44AE426082
}
left = 858
top = 28
end
end

View File

@ -1,268 +0,0 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TRxDBGridMainForm','FORMDATA',[
'TPF0'#17'TRxDBGridMainForm'#16'RxDBGridMainForm'#4'Left'#3#30#1#6'Height'#3
+'a'#2#3'Top'#3#158#0#5'Width'#3#201#3#13'ActiveControl'#7#6'Panel1'#7'Captio'
+'n'#6#13'RxDBGrid Demo'#12'ClientHeight'#3'a'#2#11'ClientWidth'#3#201#3#8'On'
+'Create'#7#10'FormCreate'#10'LCLVersion'#6#6'0.9.29'#0#9'TRxDBGrid'#9'RxDBGr'
+'id1'#4'Left'#2#0#6'Height'#3' '#2#3'Top'#2'A'#5'Width'#3#201#3#12'TitleButt'
+'ons'#9#8'AutoSort'#9#7'Columns'#14#1#15'Title.Alignment'#7#8'taCenter'#13'T'
+'itle.Caption'#6#3'...'#17'Title.Orientation'#7#12'toHorizontal'#5'Width'#2
+'2'#9'FieldName'#6#12'DEVELOPER_ID'#9'ImageList'#7#10'ImageList1'#15'KeyList'
+'.Strings'#1#6#3'1=0'#6#3'2=1'#6#3'3=2'#0#17'Filter.Font.Style'#11#8'fsItali'
+'c'#0#19'Filter.DropDownRows'#2#0#17'Filter.EmptyValue'#6#8'('#208#157#208
+#181#209#130')'#22'Filter.EmptyFont.Style'#11#8'fsItalic'#0#16'Filter.ItemIn'
+'dex'#2#255#0#1#15'Title.Alignment'#7#8'taCenter'#13'Title.Caption'#6#4'Code'
+#17'Title.Orientation'#7#12'toHorizontal'#5'Width'#3#136#0#9'FieldName'#6#2
+'ID'#16'Footer.Alignment'#7#14'taRightJustify'#20'Footer.DisplayFormat'#6#9
+'Count: %d'#16'Footer.ValueType'#7#8'fvtCount'#17'Filter.Font.Style'#11#8'fs'
+'Italic'#0#19'Filter.DropDownRows'#2#0#12'Filter.Color'#7#6'clLime'#17'Filte'
+'r.EmptyValue'#6#8'('#208#157#208#181#209#130')'#22'Filter.EmptyFont.Style'
+#11#8'fsItalic'#0#16'Filter.ItemIndex'#2#255#0#1#15'Title.Alignment'#7#8'taC'
+'enter'#17'Title.Orientation'#7#12'toHorizontal'#5'Width'#3#136#0#9'FieldNam'
+'e'#6#9'Developer'#17'Filter.Font.Style'#11#8'fsItalic'#0#19'Filter.DropDown'
+'Rows'#2#0#12'Filter.Color'#7#6'clLime'#17'Filter.EmptyValue'#6#8'('#208#157
+#208#181#209#130')'#22'Filter.EmptyFont.Style'#11#8'fsItalic'#0#16'Filter.It'
+'emIndex'#2#255#0#1#15'Title.Alignment'#7#8'taCenter'#13'Title.Caption'#6#24
+'Software (all info)|Name'#17'Title.Orientation'#7#12'toHorizontal'#5'Width'
+#3#136#0#9'FieldName'#6#4'NAME'#17'Filter.Font.Style'#11#8'fsItalic'#0#19'Fi'
+'lter.DropDownRows'#2#0#12'Filter.Color'#7#6'clLime'#17'Filter.EmptyValue'#6
+#8'('#208#157#208#181#209#130')'#22'Filter.EmptyFont.Style'#11#8'fsItalic'#0
+#16'Filter.ItemIndex'#2#255#0#1#15'Title.Alignment'#7#8'taCenter'#13'Title.C'
+'aption'#6#24'Software (all info)|Cost'#17'Title.Orientation'#7#12'toHorizon'
+'tal'#5'Width'#3#136#0#9'FieldName'#6#5'PRICE'#13'DisplayFormat'#6#8'#,##0.0'
+'0'#16'Footer.Alignment'#7#14'taRightJustify'#20'Footer.DisplayFormat'#6#8'#'
+',##0.00'#16'Footer.FieldName'#6#5'PRICE'#16'Footer.ValueType'#7#6'fvtSum'#17
+'Filter.Font.Style'#11#8'fsItalic'#0#19'Filter.DropDownRows'#2#0#12'Filter.C'
+'olor'#7#6'clLime'#17'Filter.EmptyValue'#6#8'('#208#157#208#181#209#130')'#22
+'Filter.EmptyFont.Style'#11#8'fsItalic'#0#16'Filter.ItemIndex'#2#255#0#1#15
+'Title.Alignment'#7#8'taCenter'#13'Title.Caption'#6' Software (all info)|Dat'
+'e Present'#17'Title.Orientation'#7#12'toHorizontal'#5'Width'#3#136#0#9'Fiel'
+'dName'#6#12'Date_Present'#17'Filter.Font.Style'#11#8'fsItalic'#0#19'Filter.'
+'DropDownRows'#2#0#17'Filter.EmptyValue'#6#8'('#208#157#208#181#209#130')'#22
+'Filter.EmptyFont.Style'#11#8'fsItalic'#0#16'Filter.ItemIndex'#2#255#0#1#15
+'Title.Alignment'#7#8'taCenter'#17'Title.Orientation'#7#12'toHorizontal'#5'W'
+'idth'#3#141#0#9'FieldName'#6#12'DEVELOPER_ID'#17'Filter.Font.Style'#11#8'fs'
+'Italic'#0#19'Filter.DropDownRows'#2#0#17'Filter.EmptyValue'#6#8'('#208#157
+#208#181#209#130')'#22'Filter.EmptyFont.Style'#11#8'fsItalic'#0#16'Filter.It'
+'emIndex'#2#255#0#0#15'PropertyStorage'#7#15'XMLPropStorage1'#7'Version'#2#1
+#9'OptionsRx'#11#19'rdgAllowColumnsForm'#18'rdgAllowDialogFind'#13'rdgFooter'
+'Rows'#19'rdgAllowQuickSearch'#16'rdgAllowToolMenu'#0#11'FooterColor'#7#8'cl'
+'Yellow'#14'FooterRowCount'#2#1#9'OnFiltred'#7#16'RxDBGrid1Filtred'#5'Align'
+#7#8'alClient'#10'FocusColor'#7#5'clRed'#13'SelectedColor'#7#11'clHighlight'
+#13'GridLineStyle'#7#7'psSolid'#10'DataSource'#7#11'Datasource1'#7'Options'
+#11#9'dgEditing'#8'dgTitles'#11'dgIndicator'#14'dgColumnResize'#12'dgColumnM'
+'ove'#10'dgColLines'#10'dgRowLines'#6'dgTabs'#21'dgAlwaysShowSelection'#15'd'
+'gConfirmDelete'#14'dgCancelOnExit'#13'dgMultiselect'#18'dgHeaderPushedLook'
+#0#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu1'#8'TabOrder'#2#0#10'TitleS'
+'tyle'#7#8'tsNative'#0#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6'Height'#2'A'#3'To'
+'p'#2#0#5'Width'#3#201#3#5'Align'#7#5'alTop'#8'AutoSize'#9#12'ClientHeight'#2
+'A'#11'ClientWidth'#3#201#3#8'TabOrder'#2#1#0#6'TLabel'#6'Label1'#22'AnchorS'
+'ideLeft.Control'#7#7'Button2'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'Anc'
+'horSideTop.Control'#7#6'Panel1'#4'Left'#3#8#1#6'Height'#2#18#3'Top'#2#6#5'W'
+'idth'#2'&'#20'BorderSpacing.Around'#2#6#7'Caption'#6#4'Mode'#11'ParentColor'
+#8#0#0#7'TButton'#7'Button1'#22'AnchorSideLeft.Control'#7#6'Panel1'#21'Ancho'
+'rSideTop.Control'#7#6'Panel1'#4'Left'#2#6#6'Height'#2#27#3'Top'#2#6#5'Width'
+#2'R'#6'Action'#7#12'actCalcTotal'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6
+#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#22'AnchorSideLeft.Control'#7#7'Bu'
,'tton1'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#6
+'Panel1'#4'Left'#2'^'#6'Height'#2#27#3'Top'#2#6#5'Width'#3#164#0#6'Action'#7
+#26'actOptimizeColumnsWidthAll'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#8
+'TabOrder'#2#1#0#0#9'TCheckBox'#9'CheckBox1'#22'AnchorSideLeft.Control'#7#9
+'ComboBox1'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'
+#7#9'CheckBox2'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#237#1#6'Heig'
+'ht'#2#19#3'Top'#2#31#5'Width'#2'Q'#18'BorderSpacing.Left'#2#6#7'Caption'#6
+#10'Use filter'#8'OnChange'#7#15'CheckBox1Change'#8'TabOrder'#2#2#0#0#9'TCom'
+'boBox'#9'ComboBox1'#22'AnchorSideLeft.Control'#7#6'Label1'#21'AnchorSideTop'
+'.Control'#7#6'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#14#1#6
+'Height'#2#29#3'Top'#2#30#5'Width'#3#217#0#20'BorderSpacing.Around'#2#6#10'I'
+'temHeight'#2#0#9'ItemIndex'#2#0#13'Items.Strings'#1#6#9'Edit mode'#6#17'Qui'
+'ck search mode'#0#8'OnChange'#7#15'ComboBox1Change'#5'Style'#7#14'csDropDow'
+'nList'#8'TabOrder'#2#3#4'Text'#6#9'Edit mode'#0#0#9'TCheckBox'#9'CheckBox2'
+#22'AnchorSideLeft.Control'#7#9'ComboBox1'#19'AnchorSideLeft.Side'#7#9'asrBo'
+'ttom'#21'AnchorSideTop.Control'#7#6'Panel1'#4'Left'#3#237#1#6'Height'#2#19#3
+'Top'#2#6#5'Width'#3#134#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#17'Auto'
+' fill columns'#8'OnChange'#7#15'CheckBox2Change'#8'TabOrder'#2#4#0#0#9'TChe'
+'ckBox'#9'CheckBox3'#22'AnchorSideLeft.Control'#7#9'CheckBox2'#19'AnchorSide'
+'Left.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#6'Panel1'#4'Left'#3'y'
+#2#6'Height'#2#19#3'Top'#2#6#5'Width'#2'z'#20'BorderSpacing.Around'#2#6#7'Ca'
+'ption'#6#14'Show indicator'#7'Checked'#9#8'OnChange'#7#15'CheckBox3Change'#5
+'State'#7#9'cbChecked'#8'TabOrder'#2#5#0#0#9'TCheckBox'#9'CheckBox4'#22'Anch'
+'orSideLeft.Control'#7#9'CheckBox2'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21
+'AnchorSideTop.Control'#7#9'CheckBox3'#18'AnchorSideTop.Side'#7#9'asrBottom'
+#4'Left'#3'y'#2#6'Height'#2#19#3'Top'#2#31#5'Width'#2't'#20'BorderSpacing.Ar'
+'ound'#2#6#7'Caption'#6#12'Show headers'#7'Checked'#9#8'OnChange'#7#15'Check'
+'Box4Change'#5'State'#7#9'cbChecked'#8'TabOrder'#2#6#0#0#0#13'TRxMemoryData'
+#13'RxMemoryData1'#14'AutoCalcFields'#8#9'FieldDefs'#14#1#4'Name'#6#2'ID'#8
+'DataType'#7#9'ftInteger'#9'Precision'#2#255#4'Size'#2#7#0#1#4'Name'#6#4'NAM'
+'E'#8'DataType'#7#8'ftString'#9'Precision'#2#255#4'Size'#3#150#0#0#1#4'Name'
+#6#5'PRICE'#8'DataType'#7#7'ftFloat'#9'Precision'#2#2#4'Size'#2#12#0#1#4'Nam'
+'e'#6#9'Developer'#8'DataType'#7#8'ftString'#9'Precision'#2#255#4'Size'#3#150
+#0#0#1#4'Name'#6#12'Date_Present'#8'DataType'#7#6'ftDate'#9'Precision'#2#0#4
+'Size'#2#0#0#1#4'Name'#6#12'DEVELOPER_ID'#8'DataType'#7#9'ftInteger'#9'Preci'
+'sion'#2#0#4'Size'#2#0#0#0#14'OnFilterRecord'#7#27'RxMemoryData1FilterRecord'
+'Ex'#16'OnFilterRecordEx'#7#27'RxMemoryData1FilterRecordEx'#4'left'#3#152#0#3
+'top'#3#8#1#0#13'TLongintField'#16'RxMemoryData1ID1'#12'DisplayWidth'#2#10#9
+'FieldKind'#7#6'fkData'#9'FieldName'#6#2'ID'#5'Index'#2#0#11'LookupCache'#8
+#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'
+#8#0#0#12'TStringField'#18'RxMemoryData1NAME1'#12'DisplayWidth'#3#150#0#9'Fi'
+'eldKind'#7#6'fkData'#9'FieldName'#6#4'NAME'#5'Index'#2#1#11'LookupCache'#8
+#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'
+#8#4'Size'#3#150#0#0#0#11'TFloatField'#19'RxMemoryData1PRICE1'#12'DisplayWid'
+'th'#2#10#9'FieldKind'#7#6'fkData'#9'FieldName'#6#5'PRICE'#5'Index'#2#2#11'L'
+'ookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'
+#8#8'Required'#8#13'DisplayFormat'#6#8'#,##0.00'#8'MaxValue'#5#0#0#0#0#0#0#0
+#0#0#0#8'MinValue'#5#0#0#0#0#0#0#0#0#0#0#9'Precision'#2#2#0#0#12'TStringFiel'
+'d'#23'RxMemoryData1Developer1'#12'DisplayWidth'#3#150#0#9'FieldKind'#7#6'fk'
+'Data'#9'FieldName'#6#9'Developer'#5'Index'#2#3#11'LookupCache'#8#13'Provide'
+'rFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#4'Size'
+#3#150#0#0#0#10'TDateField'#26'RxMemoryData1Date_Present1'#12'DisplayWidth'#2
+#10#9'FieldKind'#7#6'fkData'#9'FieldName'#6#12'Date_Present'#5'Index'#2#4#11
+'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnl'
+'y'#8#8'Required'#8#0#0#13'TLongintField'#26'RxMemoryData1DEVELOPER_ID1'#12
+'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'FieldName'#6#12'DEVELOPER_ID'
+#5'Index'#2#5#9'KeyFields'#6#12'DEVELOPER_ID'#11'LookupCache'#8#13'LookupDat'
+'aSet'#7#13'RxMemoryData2'#15'LookupKeyFields'#6#12'DEVELOPER_ID'#17'LookupR'
+'esultField'#6#14'DEVELOPER_NAME'#13'ProviderFlags'#11#10'pfInUpdate'#9'pfIn'
+'Where'#0#8'ReadOnly'#8#8'Required'#8#0#0#0#11'TDatasource'#11'Datasource1'#7
+'DataSet'#7#13'RxMemoryData1'#4'left'#2'x'#3'top'#3#8#1#0#0#10'TPopupMenu'#10
+'PopupMenu1'#4'left'#3#152#0#3'top'#3#197#0#0#9'TMenuItem'#9'MenuItem1'#6'Ac'
+'tion'#7#20'actOptimizeWidthCol1'#7'OnClick'#7#27'actOptimizeWidthCol1Execut'
+'e'#0#0#9'TMenuItem'#9'MenuItem2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuI'
,'tem4'#6'Action'#7#12'actCalcTotal'#7'OnClick'#7#19'actCalcTotalExecute'#0#0
+#9'TMenuItem'#9'MenuItem3'#6'Action'#7#26'actOptimizeColumnsWidthAll'#7'OnCl'
+'ick'#7'!actOptimizeColumnsWidthAllExecute'#0#0#9'TMenuItem'#9'MenuItem5'#7
+'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem7'#6'Action'#7#17'showColumnsDia'
+'log'#7'OnClick'#7#24'showColumnsDialogExecute'#0#0#9'TMenuItem'#9'MenuItem6'
+#6'Action'#7#14'showFindDialog'#7'OnClick'#7#21'showFindDialogExecute'#0#0#0
+#11'TActionList'#11'ActionList1'#4'left'#3#206#0#3'top'#3#197#0#0#7'TAction'
+#12'actCalcTotal'#7'Caption'#6#13'Calc total...'#9'OnExecute'#7#19'actCalcTo'
+'talExecute'#0#0#7'TAction'#26'actOptimizeColumnsWidthAll'#7'Caption'#6#25'O'
+'ptimize width for all...'#9'OnExecute'#7'!actOptimizeColumnsWidthAllExecute'
+#0#0#7'TAction'#20'actOptimizeWidthCol1'#7'Caption'#6#17'Optimize width...'#9
+'OnExecute'#7#27'actOptimizeWidthCol1Execute'#0#0#7'TAction'#14'showFindDial'
+'og'#7'Caption'#6#19'Show find dialog...'#9'OnExecute'#7#21'showFindDialogEx'
+'ecute'#0#0#7'TAction'#17'showColumnsDialog'#7'Caption'#6#22'Show columns di'
+'alog...'#9'OnExecute'#7#24'showColumnsDialogExecute'#0#0#0#11'TDatasource'
+#11'Datasource2'#7'DataSet'#7#13'RxMemoryData2'#4'left'#3#207#0#3'top'#3#8#1
+#0#0#13'TRxMemoryData'#13'RxMemoryData2'#14'AutoCalcFields'#8#9'FieldDefs'#14
+#1#4'Name'#6#12'DEVELOPER_ID'#8'DataType'#7#9'ftInteger'#9'Precision'#2#0#4
+'Size'#2#0#0#1#4'Name'#6#14'DEVELOPER_NAME'#8'DataType'#7#8'ftString'#9'Prec'
+'ision'#2#0#4'Size'#3#130#0#0#0#4'left'#3#240#0#3'top'#3#8#1#0#13'TLongintFi'
+'eld'#26'RxMemoryData2DEVELOPER_ID1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6
+'fkData'#9'FieldName'#6#12'DEVELOPER_ID'#5'Index'#2#0#11'LookupCache'#8#13'P'
+'roviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#0
+#0#12'TStringField'#28'RxMemoryData2DEVELOPER_NAME1'#12'DisplayWidth'#3#130#0
+#9'FieldKind'#7#6'fkData'#9'FieldName'#6#14'DEVELOPER_NAME'#5'Index'#2#1#11
+'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnl'
+'y'#8#8'Required'#8#4'Size'#3#130#0#0#0#0#15'TXMLPropStorage'#15'XMLPropStor'
+'age1'#12'StoredValues'#14#0#4'left'#3#241#0#3'top'#3#128#0#0#0#10'TImageLis'
+'t'#10'ImageList1'#4'left'#3#152#0#3'top'#3'\'#1#6'Bitmap'#10#14#12#0#0'Li'#3
+#0#0#0#16#0#0#0#16#0#0#0#0#255#0#0#0#0#0#255#0#0#0#255#0#255#0#0#0#255#0#0#0
+#0#0#255#0#0#0#255#0#255#0#0#0#255#0#0#0#0#0#255#0#0#0#255#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0#0#255#255#0#0#0#255#0
+#0#0#255#0#0#128#255#0#0#255#255#0#0#0#255#0#0#0#255#0#0#128#255#0#0#255#255
+#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0
+#255#0#0#255#255#0#0#128#255#0#0#128#255#0#0#255#255#0#0#255#255#0#0#128#255
+#0#0#128#255#0#0#255#255#0#0#255#255#0#0#128#255#0#0#0#255#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#0#0#255#0#0#255#255#0#0#128#255#0#0#128#255#0#0#255
+#255#0#0#255#255#0#0#128#255#0#0#128#255#0#0#255#255#0#0#255#255#0#0#0#255#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0#0#255
+#255#0#0#128#255#0#0#128#255#0#0#255#255#0#0#255#255#0#0#128#255#0#0#128#255
+#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
+#0#0#0#0#0#255#0#0#255#255#0#0#128#255#0#0#128#255#0#0#255#255#0#0#255#255#0
+#0#0#255#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0#0#255#255#0#0#128#255#0#0#0#255
+#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
+#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0#0#255#255#0#0#0#255
+#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
+#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0
+#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0
+#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
+#0#0#0#255#0#0#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0
+#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0
+#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
+#0#0#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
,#255#0#0#0#255#0#0#0#0#0#255#0#0#0#255#0#255#0#0#0#255#0#0#0#0#0#255#0#0#0
+#255#0#255#0#0#0#255#0#0#0#0#0#255#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0#255#255#255#0#0#0#255#0#0#0#255#0
+#128#128#255#0#255#255#255#0#0#0#255#0#0#0#255#0#128#128#255#0#255#255#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0
+#255#0#255#255#255#0#128#128#255#0#128#128#255#0#255#255#255#0#255#255#255#0
+#128#128#255#0#128#128#255#0#255#255#255#0#255#255#255#0#128#128#255#0#0#0
+#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0#255#255#255#0#128
+#128#255#0#128#128#255#0#255#255#255#0#255#255#255#0#128#128#255#0#128#128
+#255#0#255#255#255#0#255#255#255#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0#255#255#255#0#128#128#255#0#128#128
+#255#0#255#255#255#0#255#255#255#0#128#128#255#0#128#128#255#0#0#0#255#0#255
+#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0
+#255#255#255#0#128#128#255#0#128#128#255#0#255#255#255#0#255#255#255#0#0#0
+#255#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0#255#255#255#0#128#128#255#0#0#0#255
+#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
+#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0#255#255#255#0#0#0
+#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0
+#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0#0#0#255#0#255#0#0#0#255#0#0#0#0
+#0#255#0#0#0#255#0#255#0#0#0#255#0#0#0#0#0#255#0#0#0#255#0#255#0#0#0#255#0#0
+#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#255#0#0#255#0#0#0#255#0#0
+#0#255#128#0#0#255#255#0#0#255#0#0#0#255#0#0#0#255#128#0#0#255#255#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0
+#255#255#0#0#255#128#0#0#255#128#0#0#255#255#0#0#255#255#0#0#255#128#0#0#255
+#128#0#0#255#255#0#0#255#255#0#0#255#128#0#0#255#0#0#0#255#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#0#0#255#255#0#0#255#128#0#0#255#128#0#0#255#255#0#0
+#255#255#0#0#255#128#0#0#255#128#0#0#255#255#0#0#255#255#0#0#255#0#0#0#255#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#255#0#0
+#255#128#0#0#255#128#0#0#255#255#0#0#255#255#0#0#255#128#0#0#255#128#0#0#255
+#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
+#0#0#0#0#0#255#255#0#0#255#128#0#0#255#128#0#0#255#255#0#0#255#255#0#0#255#0
+#0#0#255#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#255#0#0#255#128#0#0#255#0#0#0#255
+#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
+#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#255#0#0#255#0#0#0#255
+#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
+#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0
+#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0
+#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
+#0#0#0#255#0#0#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0#255#0#0#0#255#0#0#0
,#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#255#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0
+#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0
+#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
+#0#0#0#0#0#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#0#0
]);

View File

@ -6,8 +6,8 @@ interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, rxmemds,
DB, rxdbgrid, ExtCtrls, Buttons, Menus, ActnList, StdCtrls, DBGrids,
XMLPropStorage, IDEWindowIntf;
DB, rxdbgrid, RxAboutDialog, ExtCtrls, Buttons, Menus, ActnList, StdCtrls,
DBGrids, XMLPropStorage;
type
@ -15,10 +15,18 @@ type
TRxDBGridMainForm = class(TForm)
actCalcTotal: TAction;
MenuItem10: TMenuItem;
MenuItem11: TMenuItem;
MenuItem8: TMenuItem;
MenuItem9: TMenuItem;
RxAboutDialog1: TRxAboutDialog;
sysExit: TAction;
hlpAbout: TAction;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
ImageList1: TImageList;
MainMenu1: TMainMenu;
MenuItem5: TMenuItem;
MenuItem6: TMenuItem;
MenuItem7: TMenuItem;
@ -61,11 +69,13 @@ type
procedure CheckBox4Change(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure hlpAboutExecute(Sender: TObject);
procedure RxDBGrid1Filtred(Sender: TObject);
procedure RxMemoryData1FilterRecordEx(DataSet: TDataSet; var Accept: Boolean
);
procedure showColumnsDialogExecute(Sender: TObject);
procedure showFindDialogExecute(Sender: TObject);
procedure sysExitExecute(Sender: TObject);
private
procedure DoFillFilters;
public
@ -75,13 +85,27 @@ type
var
RxDBGridMainForm: TRxDBGridMainForm;
procedure LocalizeApp;
implementation
uses rxsortmemds;
uses rxsortmemds, FileUtil, gettext, translations, rxFileUtils;
procedure LocalizeApp;
var
Lang, FallbackLang: String;
begin
GetLanguageIDs(Lang,FallbackLang); // in unit gettext
TranslateUnitResourceStrings('rxconst',NormalizeDirectoryName('../../languages/rxconst.%s.po'), Lang, FallbackLang);
TranslateUnitResourceStrings('rxdconst',NormalizeDirectoryName('../../languages/rxdconst.%s.po'), Lang, FallbackLang);
end;
{$R *.lfm}
{ TRxDBGridMainForm }
procedure TRxDBGridMainForm.FormCreate(Sender: TObject);
begin
RxAboutDialog1.LicenseFileName:=AppendPathDelim(AppendPathDelim(ExtractFileDir(ParamStrUTF8(0))) + 'docs')+'COPYING.GPL.txt';
RxMemoryData2.Open;
RxMemoryData2.AppendRecord([1, 'Open source']);
RxMemoryData2.AppendRecord([2, 'Borland']);
@ -109,6 +133,11 @@ begin
RxDBGrid1.CalcStatTotals; //fix error in GotoBookmark
end;
procedure TRxDBGridMainForm.hlpAboutExecute(Sender: TObject);
begin
RxAboutDialog1.Execute;
end;
procedure TRxDBGridMainForm.RxDBGrid1Filtred(Sender: TObject);
begin
RxMemoryData1.First;
@ -141,6 +170,11 @@ begin
RxDBGrid1.ShowFindDialog;
end;
procedure TRxDBGridMainForm.sysExitExecute(Sender: TObject);
begin
Close;
end;
procedure TRxDBGridMainForm.DoFillFilters;
var
C:TRxColumn;
@ -216,9 +250,7 @@ begin
RxDBGrid1.ReadOnly:=ComboBox1.ItemIndex <> 0;
end;
initialization
{$I rxdbgridmainunit.lrs}
//TRxAboutDialog
end.

View File

@ -58,6 +58,8 @@
- Исправлено рисование колонок с объединёнными заголовками
- Введдена обработка ситуации востановления состояния RxDBGrid-а, если количество колонок во время востановления меньше,
чем было в момент сохранения
+ Новая компонента TRxAboutDialog - окно для отображения информации о программе (пример смотреть в демке по RxDBGrid-у)
22.05.2008 - версия 2.0.0.136 (svn revision 100)
+ У объекта TRxCustomDBLookupCombo введён контроль на CircularDataLink
+ У объекта TRxCustomDBLookupCombo ускорена отрисовка данных

View File

@ -1,17 +1,33 @@
#!/bin/bash
#надо скопировать rx.inc в текущий каталог, иначе не соберём (глюк fpdoc)
cp ../rx.inc rx.inc
fpdoc --package=rxfpc --format=html \
--input=../rxdbgrid.pas --descr=rxfpc.xml \
--input=../rxctrls.pas --descr=rxfpc.xml \
fpdoc --package=rxfpc --format=html --index-colcount=4 --hide-protected \
--input=../curredit.pas --descr=rxfpc.xml \
--input=../rxlookup.pas --descr=rxfpc.xml \
--input=../dbdateedit.pas --descr=rxfpc.xml \
--input=../duallist.pas --descr=rxfpc.xml \
--input=../folderlister.pas --descr=rxfpc.xml \
--input=../rxctrls.pas --descr=rxfpc.xml \
--input=../rxdice.pas --descr=rxfpc.xml \
--input=../rxlookup.pas --descr=rxfpc.xml \
--input=../rxlogin.pas --descr=rxfpc.xml \
--input=../rxtoolbar.pas --descr=rxfpc.xml \
--input=../rxspin.pas --descr=rxfpc.xml \
--input=../rxclock.pas --descr=rxfpc.xml \
--input=../rxmemds.pas --descr=rxfpc.xml \
--input=../rxswitch.pas --descr=rxfpc.xml \
--input=../tooledit.pas --descr=rxfpc.xml \
--input=../pickdate.pas --descr=rxfpc.xml \
--input=../rxversinfo.pas --descr=rxfpc.xml \
--input=../rxtoolbar.pas --descr=rxfpc.xml \
--input=../rxtimeedit.pas --descr=rxfpc.xml \
--input=../rxdbcomb.pas --descr=rxfpc.xml \
--input=../rxdbtimeedit.pas --descr=rxfpc.xml \
--input=../rxdbgrid.pas --descr=rxfpc.xml \
--input=../rxdbgrid_columsunit.pas --descr=rxfpc.xml \
--input=../rxdbgrid_findunit.pas --descr=rxfpc.xml \
--input=../rxdbctrls.pas --descr=rxfpc.xml \
--input=../rxdbspinedit.pas --descr=rxfpc.xml \
--input=../rxaboutformunit.pas --descr=rxfpc.xml \
--input=../rxaboutdialog.pas --descr=rxfpc.xml \
--input=../dateutil.pas --descr=rxfpc.xml \
--input=../rxfileutils.pas --descr=rxfpc.xml

View File

@ -683,6 +683,8 @@ TRxDBCalcEdit является наследником TDBCalcEdit и имеет
<b>Count</b>
</descr>
<seealso>
@ -720,6 +722,8 @@ TRxDBCalcEdit является наследником TDBCalcEdit и имеет
<b>Execute</b> и по содержимому которого будет произведено заполнение массива Files</descr>
<seealso>
<link id="TFolderLister.Execute"/>
@ -1103,7 +1107,10 @@ Description
<element name="TToolbarItem.Top"/>
<element name="TToolbarItem.Width"/>
<element name="TToolbarItem.DropDownMenu"/>
<element name="TToolbarItem.ShowCaption"/>
<element name="TToolbarItem.ShowCaption">
<short>Отображать заголовок кнопки</short>
<descr>Отображать заголовок кнопки</descr>
</element>
<element name="TToolbarItem.GroupIndex"/>
<element name="TToolbarItem.Layout"/>
<element name="TToolbarItem.ButtonStyle"/>
@ -1125,7 +1132,10 @@ Description
<element name="TToolPanel.BtnWidth"/>
<element name="TToolPanel.BtnHeight"/>
<element name="TToolPanel.ToolBarStyle"/>
<element name="TToolPanel.Options"/>
<element name="TToolPanel.Options">
<descr>Свойство определяет поведение панели инструментов согласно типа
<link id="TToolPanelOption">TToolPanelOption</link>.</descr>
</element>
<element name="TToolPanel.Version"/>
<element name="TToolPanel.ButtonAllign">
<short>Выравнивание кнопок на панели инструментов</short>
@ -1183,27 +1193,27 @@ Description
</th>
<tr>
<td>tbrButton</td>
<td/>
<td>Кнопка</td>
</tr>
<tr>
<td>tbrCheck</td>
<td/>
<td>Чек-бокс</td>
</tr>
<tr>
<td>tbrDropDown</td>
<td/>
<td>Выпадающее меню</td>
</tr>
<tr>
<td>tbrSeparator</td>
<td/>
<td>Разделитель</td>
</tr>
<tr>
<td>tbrDivider</td>
<td/>
<td>Разделитель с линией</td>
</tr>
<tr>
<td>tbrDropDownExtra</td>
<td/>
<td>Кнопка с выпадающим меню</td>
</tr>
</table>
</descr>
@ -1259,8 +1269,44 @@ Description
<link id="TToolPanel.ButtonAllign"/>
</seealso>
</element>
<element name="TToolPanelOption"/>
<element name="TToolPanelOptions"/>
<element name="TToolPanelOption">
<descr>Параметры поведения панели инструментов
<table>
<th>
<td>Элемент</td>
<td>Описание</td>
</th>
<tr>
<td>tpFlatBtns</td>
<td>Всплывающие кнопки</td>
</tr>
<tr>
<td>tpTransparentBtns</td>
<td>Прозрачные кнопки, актуально если сама панель инструментов отрисовывется не стандартно, например с фоновым рисунком</td>
</tr>
<tr>
<td>tpStretchBitmap</td>
<td>Растягивать изображения</td>
</tr>
<tr>
<td>tpCustomizable</td>
<td>Доступно во время работы приложения возможность настройки панели (скрывать или отображать кнопки)</td>
</tr>
<tr>
<td>tpGlyphPopup</td>
<td>При наведении указателя мышки изображения на кнопках будут "приподниматься"</td>
</tr>
<tr>
<td>tpCaptionPopup</td>
<td>При наведении указателя мышки текст на кнопках будет "приподниматься"</td>
</tr>
</table>
</descr>
</element>
<element name="TToolPanelOptions">
<descr>Комплексное тип, содержащий в себе множество элементов типа <link id="TToolPanelOption">TToolPanelOption</link>.</descr>
</element>
<element name="DefButtonWidth">
<short>Ширина кнопки по умолчанию</short>
<descr>Ширина кнопки по умолчанию</descr>
@ -1909,6 +1955,8 @@ Description
<b>const</b> SearchDomain, FileName:
@ -1917,6 +1965,8 @@ Description
<b>String</b>;
@ -1925,6 +1975,8 @@ Description
<b>out</b> UserName, DomainName:
@ -1933,6 +1985,8 @@ Description
<b>String</b>);
</p>
<p>Процедура возвращает имя и домен пользователя операционной системы владельца указанного файла. </p>
@ -1958,10 +2012,16 @@ Description
<p>
<b>function</b> NormalizeDirectoryName(
<b>const</b> DirName:
<b>string</b>):
<b>string</b>;</p>
<p>Функция проверяет все разделители каталогов в указанном имени файла/каталога и, если нужно, меняет их на значение константы<b>DirectorySeparator</b>.</p>
</descr>
@ -1978,6 +2038,8 @@ Description
<b>string</b>;</p>
<p>Функция <b>GetUserName</b> возвращает имя оператора, залогиненго в системе</p>
</descr>
@ -2072,5 +2134,75 @@ Description
</element>
<element name="TRxVersionInfo.VerFileDate"/>
</module>
<module name="RxAboutDialog">
<element name="TRxAboutDialogOption">
<descr>
<table>
<th>
<td>Значение</td>
<td>Описание</td>
</th>
<tr>
<td>radHelpButton</td>
<td>Отображать кнопку "Помощь"</td>
</tr>
<tr>
<td>radLicenseTab</td>
<td>Отображать закладку лицензии</td>
</tr>
<tr>
<td>radShowImageLogo</td>
<td>Отображать логотип на первой закладке</td>
</tr>
</table>
</descr>
</element>
<element name="TRxAboutDialogOptions">
<short>Параметры окна "О программе"</short>
<descr>Параметры отображения окна информации о программе</descr>
</element>
<element name="TRxAboutDialog">
<descr>Компонента TRXAboutDialog предназначена для отображения информации о программе.</descr>
</element>
<element name="TRxAboutDialog.Create">
<short>Конструктор создаёт экземпляр класса</short>
<descr>Конструктор создаёт экземпляр класса</descr>
</element>
<element name="TRxAboutDialog.Destroy">
<short>Уничтожает экземпляр класса</short>
<descr>Уничтожает экземпляр класса</descr>
</element>
<element name="TRxAboutDialog.Execute">
<short>Метод отображет окно "О программе"</short>
<descr>Метод отображет окно "О программе"</descr>
</element>
<element name="TRxAboutDialog.Options"/>
<element name="TRxAboutDialog.ApplicationTitle">
<short>Заголовок программы</short>
<descr>Заголовок программы, выводимый на первой странице она</descr>
</element>
<element name="TRxAboutDialog.LicenseFileName">
<descr>Файл лицензии</descr>
</element>
<element name="TRxAboutDialog.Caption">
<short>Заголовок окна</short>
<descr>Заголовок окна</descr>
</element>
<element name="TRxAboutDialog.Picture">
<short>Логотип, отображаемый в окне "О программе"</short>
<descr>Изображение логотипа</descr>
</element>
</module>
<module name="rxAboutFormUnit">
<element name="TrxAboutFormForm">
<short>Класс представляет собой форму "О программе"</short>
<descr>Класс представляет собой форму "О программе"</descr>
</element>
<element name="TrxAboutFormForm.LoadLicense">
<descr>Загружает на страницу "Лицензия" формы "О программе" файл лицензионного соглашения</descr>
</element>
</module>
<module name="rxdbgrid_findunit"/>
<module name="rxdbgrid_columsunit"/>
</package>
</fpdoc-descriptions>

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 760 B

After

Width:  |  Height:  |  Size: 330 B

View File

@ -1,2 +1,2 @@
rm rx.lrs
/usr/local/share/lazarus/tools/lazres rx.lrs TDBDateEdit.xpm TRXLookUpEdit.xpm TRxDBCalcEdit.xpm TRxDBLookupCombo.xpm TRxDBGrid.xpm TDualListDialog.xpm TFolderLister.xpm TRxMemoryData.xpm TCURRENCYEDIT.xpm TRXSWITCH.xpm TRXDICE.xpm TRXDBCOMBOBOX.xpm ttoolpanel.xpm trxxpmanifest.xpm TPAGEMANAGER.xpm TRXAPPICON.xpm TSECRETPANEL.xpm TRXLABEL.xpm tautopanel.xpm TRxCalendarGrid.xpm TRxDateEdit.png TRxClock.png TRxSpeedButton.png TRxSpinButton.png TRxSpinEdit.png TRXDBSpinEdit.png TRxTimeEdit.png TRxDBTimeEdit.png TRxDBProgressBar.png TRxDBTrackBar.png TRxLoginDialog.png TRxVersionInfo.png
/usr/local/share/lazarus/tools/lazres rx.lrs TDBDateEdit.xpm TRXLookUpEdit.xpm TRxDBCalcEdit.xpm TRxDBLookupCombo.xpm TRxDBGrid.xpm TDualListDialog.xpm TFolderLister.xpm TRxMemoryData.xpm TCURRENCYEDIT.xpm TRXSWITCH.xpm TRXDICE.xpm TRXDBCOMBOBOX.xpm ttoolpanel.xpm trxxpmanifest.xpm TPAGEMANAGER.xpm TRXAPPICON.xpm TSECRETPANEL.xpm TRXLABEL.xpm tautopanel.xpm TRxCalendarGrid.xpm TRxDateEdit.png TRxClock.png TRxSpeedButton.png TRxSpinButton.png TRxSpinEdit.png TRXDBSpinEdit.png TRxTimeEdit.png TRxDBTimeEdit.png TRxDBProgressBar.png TRxDBTrackBar.png TRxLoginDialog.png TRxVersionInfo.png TRxAboutDialog.png

View File

@ -581,35 +581,32 @@ LazarusResources.Add('TRxLoginDialog','PNG',[
]);
LazarusResources.Add('TRxVersionInfo','PNG',[
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#6#0#0#0#224'w='#248#0
+#0#0#9'pHYs'#0#0#15#18#0#0#15#18#1'!'#155#242'3'#0#0#2#170'IDATH'#137#181#150
+#221'KSq'#24#199'?g/:]'#237'E'#28':'#163#141'SQ'#138'D'#217'M'#180#155#224'x'
+#17#20'1'#194'.'#148#254#130#16#137'@'#11#202#219#8#186#137'n'#164#254#0#225
+'T'#23#221#232']'#142#166#168#211#210#139'n'#180'a'#12#220'l'#202#214#182'4'
+#19'l'#237#215#197#220#209'mg'#203#23#250#194#225#192#239'w'#190#207#243'|'
+#159#239#239#229#192#127#134#164'7'#248'kkK'#0#164'3?X'#142'fp4'#216'8'#217
+'l'#3#192'`4b'#169#181'`0H'#186#220'R'#152'J'#7#194#209'5'#241'a'#252'+N'#167
+#137'T6'#203#13'_;'#170':C'#218'#'#200'l'#28#199#233'4qFn<'#188#164#233#217
+'E'#1'B'#168'jH'#12#189#9#9#16'e'#143#170#170'"'#145'H'#138#3')'#8'G'#215#196
+#247'x'#154't:'#11'@w'#247#229#138#164#229'X'#138#143#243#171'$'#18'I'#225'r'
+'5j'#173'ZX'#252'"'#218'Z'#207#21#181#206#4#16'Kn'#139#207'sa'#174'_k/'#10
+#212#219'7'#0#128#209#236#198'R'#231#230#217#147#30#0#30#244#223#5'@UgX'#137
+#175#138#19#238'f'#9' '#157'J'#233'+'#168#21#235'e'#19#189'}'#3#28#171'7'#209
+#209'q'#17#155#221#206#198'&<'#127#241#142#251#247'n'#1'0'#240#248'-'#19#147
+#179#216#236#157#21#149'j'#9#182#179'Y'#221#224'~'#191#31#159#239#138'&9'#239
+'O'#30#194'l'#193#235'=EK'#139#171'j'#130'='#196']'#19'{'#251#250#133#170#170
+#186'&'#170'j'#168#204#240#194#220#212#212't'#25#199#160#23#196'hv'#227#241
+'xu'#139')5'#127'b'#242'S'#213#226'%'#128'D")'#198#198#150'4'#242#195#167'C'
+#248#175'^*j'#15#192#212#176#178#175#165'Y'#128#239'N@'#210#18#188#15#197#232
+#185'y'#161#232#131#133#197'0'#133'e'#23#31'V'#4#138'r'#144#248#16#8#228'M'
+#174#171#179'`'#175')'#219#212#180#181#158#221#233'9'#240#231#145'F'#218#139
+#8' WI,'#1#228'rB'#172'|[atd'#132#245#159'9m'#157#239'E|'#184#147'C+0'#24'$)'
+#151#19#162#171#235'6s'#243'KU9'#145'@'#0'Yo'#28#144')W'#164#245#165'p:&'#18
+'I'#161#170#175#9#6#131#200#167#207#151#169#169#212#14#185#228']'#150#160#0
+#151#171'Q'#138#198'b'#194#227#241'Ro5c{'#249#138'`p\_'#129#162#16#217#241'D'
+'V'#148#188'?'#5#139'v'#234#168'x'#166'of'#214#4#128#217#218#192#239#205#20
+#235#163'='#255#246'`0P'#156'P'#169#176#209#0#172#142'&'#201#234'h'#146'j'
+#204'f'#201#234'h'#218#215#229#162#149'/'#23#10'Q*+'#208'C'#181#141'&'#3'D '
+#18#201#7#150'ep'#15#14#30'('#254#1'P8'#171#170'xp'#180#224#187#168#232#193
+#209#177#191#159#130'C'#160'X'#193'_'#28'('#24#148#232#9'"F'#0#0#0#0'IEND'
+#174'B`'#130
+#0#0#9'pHYs'#0#0#15#18#0#0#15#18#1'!'#155#242'3'#0#0#0#252'IDATH'#137#213#149
+#193#17#194' '#16'E_'#28#155#240'H'#27#30#215'2l'#197'v'#210#6'G'#219#224#152
+'2'#240#144'0'#129'5'#192'2'#234#193#127'av'#242#243#31#11#132#192#191'k'#234
+'[b'#204#236#6#191#25#144#7#191#189'f'#6'U'#140#173#240'1'#200#129#201#18'n'
+#135'('#195'Qx'#30#210'{'#254#174'S'#135'?'#181#235#190#26#179'k'#133#217#189
+#157#14'>'#215'P'#7#207'Y'#6#14#0'\'#239'~:'#151#129'9$'#198#28#178#204#18#17
+#25#201'g'#153#137#231#182#165#132#0#224'}Q'#6#192'5'#192#10#160#187'H'#16
+#128#219':'#168'0'#215#158#161#6#212' '#187#130#247#135#161'a'#131#233#142'*'
+'KT'#135#212#150#195#169#177#3'H'#16#208#160#162#3#17#194#182'''Nd'#221#159
+#180'E'#210#5'h'#208'zDu'#7'E'#237#217#129#8#200#215'?4'#159#168'[-'#150#31
+#206#174#214#135#230#0#2#132#176#6';'#7#151#199'c'#248#238'2*'#198#180'w? '
+#148#135#226#135#151#221#248#213'nT'#217#193#11#31'-T'#255'GS='#145#0#0#0#0
+'IEND'#174'B`'#130
]);
LazarusResources.Add('TRxAboutDialog','PNG',[
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#6#0#0#0#224'w='#248#0
+#0#0#9'pHYs'#0#0#14#156#0#0#14#156#1#7#148'S'#221#0#0#0#228'IDATH'#137#213
+#149#209#13#195' '#12'D'#143'*{q'#155#197#217#204#153#140'~P'#8'%'#16#28#20
+'U'#234#251#1','#235#14#3'2'#192#191#227#210'D'#136#144#231#26#218#217#6#132
+#238#163#17#181#151#24#14#161#240#138#145'jm'#193#161#220'X'#8#128's'#139'-y'
+#30#7#0'"'#242#140'Z'#133#136#28#21#144'l&'#145#254'k'#173#186#155#196'U'#21
+'@'#190#131'ka'#9'['#28#221#154#227'V'#163#215'H'#220#178#129'+'#186#21#148
+#136'[Mb&'#131'zg'#233'xZF'#164#31#30'U'#243#136'Z'#204'Va6'#152#229#247#6
+#214#231'g'#205#237#190#162#242'r'#203#245#221#187'h'#26#168#238#224'@'#200
+'Zi'#183#130'$0'#219'*'#134#6#179#130'5'#183'_'#145#170#130#158#160'gnh'#170
+#10'O'#194#243#136'%L'#173#162'F69'#197'69'#199#166#12'Zm'#189#215#234#129
+#242'O~'#248#211#17#145#251#127#238#12'o'#239#175'R'#255#176#141'Ys'#0#0#0#0
+'IEND'#174'B`'#130
]);

View File

@ -1,6 +1,14 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
#: rxconst.sabout
msgid "About"
msgstr ""
#: rxconst.sappversion
msgid "Version : "
msgstr ""
#: rxconst.savaliablebuttons
msgid "Avaliable buttons"
msgstr "Botones disponibles"
@ -25,6 +33,10 @@ msgstr "Izquierdo"
msgid "Rignt"
msgstr "Derecho"
#: rxconst.scarbonwidgetset
msgid "Carbon widget set"
msgstr ""
#: rxconst.sdatedlgtitle
msgid "Select a Date"
msgstr "Seleccionar Fecha"
@ -57,6 +69,34 @@ msgstr "Fichero especificado no es un fichero ejecutable, vinculo dinamico, o fi
msgid "Flat buttons"
msgstr "Botones planos"
#: rxconst.sfpcversion
msgid "FPC version : "
msgstr ""
#: rxconst.sfpguiwidgetset
msgid "FpGUI widget set"
msgstr ""
#: rxconst.sgeneral
msgid "General"
msgstr ""
#: rxconst.sgtk2widgetset
msgid "GTK 2 widget set"
msgstr ""
#: rxconst.sgtkwidgetset
msgid "GTK widget set"
msgstr ""
#: rxconst.slclversion
msgid "LCL Version: "
msgstr ""
#: rxconst.slicense
msgid "License"
msgstr ""
#: rxconst.sloadliberror
msgid "Could not load '%s' library"
msgstr "No se puede cargar la libreria '%s'"
@ -77,6 +117,10 @@ msgstr "Funcion no esta aun implementada"
msgid "Options"
msgstr "Opciones"
#: rxconst.sotherguiwidgetset
msgid "Other gui"
msgstr ""
#: rxconst.sprevmonth
msgid "Previous Month|"
msgstr "Anterior Mes|"
@ -85,6 +129,10 @@ msgstr "Anterior Mes|"
msgid "Previous Year|"
msgstr "Anterior Año|"
#: rxconst.sqtwidgetset
msgid "QT widget set"
msgstr ""
#: rxconst.sshowcaption
msgid "Show caption"
msgstr "Mostrar titulo"
@ -93,6 +141,14 @@ msgstr "Mostrar titulo"
msgid "Show hint"
msgstr "Mostrar consejo"
#: rxconst.stargetcpu
msgid "Target CPU : "
msgstr ""
#: rxconst.stargetos
msgid "Target OS : "
msgstr ""
#: rxconst.stocurdate
msgid "Set current date"
msgstr "Poner fecha actual"
@ -125,6 +181,14 @@ msgstr "Transparente"
msgid "Visible buttons"
msgstr "Botones visibles"
#: rxconst.swin32_64widgetset
msgid "Win32/Win64 widget set"
msgstr ""
#: rxconst.swincewidgetset
msgid "WinCE widget set"
msgstr ""
#: rxconst.swindowsicofiles
msgid "Windows Ico files (*.ico)|*.ico|All files (*.*)|*.*"
msgstr "Windows Iconos Ficheros (*.ico)|*.ico)|Todos los ficheros (*.*)|*.*"

View File

@ -1,6 +1,14 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
#: rxconst.sabout
msgid "About"
msgstr ""
#: rxconst.sappversion
msgid "Version : "
msgstr ""
#: rxconst.savaliablebuttons
msgid "Avaliable buttons"
msgstr ""
@ -25,6 +33,10 @@ msgstr ""
msgid "Rignt"
msgstr ""
#: rxconst.scarbonwidgetset
msgid "Carbon widget set"
msgstr ""
#: rxconst.sdatedlgtitle
msgid "Select a Date"
msgstr ""
@ -57,6 +69,34 @@ msgstr ""
msgid "Flat buttons"
msgstr ""
#: rxconst.sfpcversion
msgid "FPC version : "
msgstr ""
#: rxconst.sfpguiwidgetset
msgid "FpGUI widget set"
msgstr ""
#: rxconst.sgeneral
msgid "General"
msgstr ""
#: rxconst.sgtk2widgetset
msgid "GTK 2 widget set"
msgstr ""
#: rxconst.sgtkwidgetset
msgid "GTK widget set"
msgstr ""
#: rxconst.slclversion
msgid "LCL Version: "
msgstr ""
#: rxconst.slicense
msgid "License"
msgstr ""
#: rxconst.sloadliberror
msgid "Could not load '%s' library"
msgstr ""
@ -77,6 +117,10 @@ msgstr ""
msgid "Options"
msgstr ""
#: rxconst.sotherguiwidgetset
msgid "Other gui"
msgstr ""
#: rxconst.sprevmonth
msgid "Previous Month|"
msgstr ""
@ -85,6 +129,10 @@ msgstr ""
msgid "Previous Year|"
msgstr ""
#: rxconst.sqtwidgetset
msgid "QT widget set"
msgstr ""
#: rxconst.sshowcaption
msgid "Show caption"
msgstr ""
@ -93,6 +141,14 @@ msgstr ""
msgid "Show hint"
msgstr ""
#: rxconst.stargetcpu
msgid "Target CPU : "
msgstr ""
#: rxconst.stargetos
msgid "Target OS : "
msgstr ""
#: rxconst.stocurdate
msgid "Set current date"
msgstr ""
@ -125,6 +181,14 @@ msgstr ""
msgid "Visible buttons"
msgstr ""
#: rxconst.swin32_64widgetset
msgid "Win32/Win64 widget set"
msgstr ""
#: rxconst.swincewidgetset
msgid "WinCE widget set"
msgstr ""
#: rxconst.swindowsicofiles
msgid "Windows Ico files (*.ico)|*.ico|All files (*.*)|*.*"
msgstr ""

View File

@ -1,6 +1,14 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
#: rxconst.sabout
msgid "About"
msgstr "О системе"
#: rxconst.sappversion
msgid "Version : "
msgstr "Версия : "
#: rxconst.savaliablebuttons
msgid "Avaliable buttons"
msgstr "Доступные кнопки"
@ -25,6 +33,10 @@ msgstr "Влево"
msgid "Rignt"
msgstr "Вправо"
#: rxconst.scarbonwidgetset
msgid "Carbon widget set"
msgstr "Графический интерфейс Carbon"
#: rxconst.sdatedlgtitle
msgid "Select a Date"
msgstr "Выберите дату"
@ -57,6 +69,34 @@ msgstr "Указанный файл не исполняемый, не библи
msgid "Flat buttons"
msgstr "Плавающие кнопки"
#: rxconst.sfpcversion
msgid "FPC version : "
msgstr "Версия FPC : "
#: rxconst.sfpguiwidgetset
msgid "FpGUI widget set"
msgstr "Графический интерфейс FpGUI"
#: rxconst.sgeneral
msgid "General"
msgstr "Общее"
#: rxconst.sgtk2widgetset
msgid "GTK 2 widget set"
msgstr "Графический интерфейс GTK 2"
#: rxconst.sgtkwidgetset
msgid "GTK widget set"
msgstr "Графический интерфейс GTK"
#: rxconst.slclversion
msgid "LCL Version: "
msgstr "Версия LCL : "
#: rxconst.slicense
msgid "License"
msgstr "Лицензия"
#: rxconst.sloadliberror
msgid "Could not load '%s' library"
msgstr "Невозможно загрузить библиотеку '%s'"
@ -77,6 +117,10 @@ msgstr "Функция не реализована"
msgid "Options"
msgstr "Параметры"
#: rxconst.sotherguiwidgetset
msgid "Other gui"
msgstr "Неизвестный графический интерфейс"
#: rxconst.sprevmonth
msgid "Previous Month|"
msgstr "Превыдущий месяц|"
@ -85,6 +129,10 @@ msgstr "Превыдущий месяц|"
msgid "Previous Year|"
msgstr "Превыдущий год|"
#: rxconst.sqtwidgetset
msgid "QT widget set"
msgstr "Графический интерфейс QT"
#: rxconst.sshowcaption
msgid "Show caption"
msgstr "Отображать заголовок"
@ -93,6 +141,14 @@ msgstr "Отображать заголовок"
msgid "Show hint"
msgstr "Отображать подсказки"
#: rxconst.stargetcpu
msgid "Target CPU : "
msgstr "Целевой процессор : "
#: rxconst.stargetos
msgid "Target OS : "
msgstr "Целевая ОС : "
#: rxconst.stocurdate
msgid "Set current date"
msgstr "Установть текущую дату"
@ -125,6 +181,14 @@ msgstr "Прозрачно"
msgid "Visible buttons"
msgstr "Отображаемые конпки"
#: rxconst.swin32_64widgetset
msgid "Win32/Win64 widget set"
msgstr "Графический интерфейс Win32/Win64"
#: rxconst.swincewidgetset
msgid "WinCE widget set"
msgstr "Графический интерфейс WinCE"
#: rxconst.swindowsicofiles
msgid "Windows Ico files (*.ico)|*.ico|All files (*.*)|*.*"
msgstr "Файлы иконок Windows (*.ico)|*.ico|Все файлы (*.*)|*.*"

View File

@ -11,19 +11,15 @@ procedure Register;
implementation
uses
PropEdits, dbdateedit, rxlookup, folderlister, rxdbgrid, rxmemds, duallist,
PropEdits, dbdateedit, rxlookup, folderlister, rxmemds, duallist,
curredit, rxswitch, rxdice, rxdbcomb, rxtoolbar, rxxpman, PageMngr, RxAppIcon,
Dialogs, ComponentEditors, seldsfrm, DBPropEdits, DB, rxctrls, RxLogin,
RxCustomChartPanel, AutoPanel, pickdate, rxconst, tooledit, rxclock,
rxceEditLookupFields, rxpopupunit, rxspin, RxTimeEdit, RxVersInfo;
rxceEditLookupFields, rxpopupunit, rxspin, RxTimeEdit, RxVersInfo,
RxAboutDialog;
type
{ TRxDBGridFieldProperty }
TRxDBGridFieldProperty = class(TFieldProperty)
public
procedure FillValues(const Values: TStringList); override;
end;
{ TPopUpColumnFieldProperty }
@ -46,47 +42,6 @@ begin
DataSource.DataSet.GetFieldNames(Values);
end;
{ TRxDBGridFieldProperty }
procedure TRxDBGridFieldProperty.FillValues(const Values: TStringList);
var
Column: TRxColumn;
Grid: TRxDBGrid;
DataSource: TDataSource;
begin
Column:=TRxColumn(GetComponent(0));
if not (Column is TRxColumn) then exit;
Grid:=TRxDBGrid(Column.Grid);
if not (Grid is TRxDBGrid) then exit;
DataSource := Grid.DataSource;
if Assigned(DataSource) and Assigned(DataSource.DataSet) then
DataSource.DataSet.GetFieldNames(Values);
end;
type
{ TRxDBGridFooterFieldProperty }
TRxDBGridFooterFieldProperty = class(TFieldProperty)
public
procedure FillValues(const Values: TStringList); override;
end;
{ TRxDBGridFieldProperty }
procedure TRxDBGridFooterFieldProperty.FillValues(const Values: TStringList);
var
Footer: TRxColumnFooter;
Grid: TRxDBGrid;
DataSource: TDataSource;
begin
Footer:=TRxColumnFooter(GetComponent(0));
Grid:=TRxDBGrid(Footer.Owner.Grid);
if not (Grid is TRxDBGrid) then exit;
DataSource := Grid.DataSource;
if Assigned(DataSource) and Assigned(DataSource.DataSet) then
DataSource.DataSet.GetFieldNames(Values);
end;
procedure RegisterRxAppIcon;
begin
@ -113,11 +68,6 @@ begin
RegisterComponents('RX DBAware',[TRXLookupEdit, TRxDBLookupCombo]);
end;
procedure RegisterRxDbGrid;
begin
RegisterComponents('RX DBAware',[TRxDBGrid]);
end;
procedure RegisterRxMemDS;
begin
RegisterComponents('RX DBAware',[TRxMemoryData]);
@ -209,6 +159,11 @@ begin
RegisterComponents('RX',[TRxVersionInfo]);
end;
procedure RegisterRxAboutDialog;
begin
RegisterComponents('RX',[TRxAboutDialog]);
end;
procedure Register;
begin
//RX
@ -231,19 +186,17 @@ begin
RegisterUnit('RxTimeEdit', @RegisterRxTimeEdit);
RegisterUnit('RxLogin', @RegisterRxLogin);
RegisterUnit('RxVersInfo', @RegisterRxVersInfo);
RegisterUnit('RxAboutDialog', @RegisterRxAboutDialog);
//RX DBAware
RegisterUnit('dbdateedit', @RegisterUnitDBDateEdit);
RegisterUnit('rxlookup', @RegisterRXLookup);
RegisterUnit('rxdbgrid', @RegisterRxDbGrid);
RegisterUnit('rxmemds', @RegisterRxMemDS);
RegisterUnit('rxdbcomb', @RegisterRxDBComb);
//Component Editors
RegisterComponentEditor(TRxMemoryData, TMemDataSetEditor);
//
RegisterPropertyEditor(TypeInfo(string), TRxColumn, 'FieldName', TRxDBGridFieldProperty);
RegisterPropertyEditor(TypeInfo(string), TRxColumnFooter, 'FieldName', TRxDBGridFooterFieldProperty);
RegisterPropertyEditor(TypeInfo(string), TPopUpColumn, 'FieldName', TPopUpColumnFieldProperty);
RegisterCEEditLookupFields;
@ -251,5 +204,4 @@ end;
initialization
{$i rx.lrs}
end.

View File

@ -9,7 +9,56 @@ uses
procedure Register;
implementation
uses RxDBSpinEdit, RxDBTimeEdit, RxDBCtrls;
uses DB, DBPropEdits, rxdbgrid, RxDBSpinEdit, RxDBTimeEdit, RxDBCtrls, PropEdits;
type
{ TRxDBGridFieldProperty }
TRxDBGridFieldProperty = class(TFieldProperty)
public
procedure FillValues(const Values: TStringList); override;
end;
{ TRxDBGridFieldProperty }
procedure TRxDBGridFieldProperty.FillValues(const Values: TStringList);
var
Column: TRxColumn;
Grid: TRxDBGrid;
DataSource: TDataSource;
begin
Column:=TRxColumn(GetComponent(0));
if not (Column is TRxColumn) then exit;
Grid:=TRxDBGrid(Column.Grid);
if not (Grid is TRxDBGrid) then exit;
DataSource := Grid.DataSource;
if Assigned(DataSource) and Assigned(DataSource.DataSet) then
DataSource.DataSet.GetFieldNames(Values);
end;
type
{ TRxDBGridFooterFieldProperty }
TRxDBGridFooterFieldProperty = class(TFieldProperty)
public
procedure FillValues(const Values: TStringList); override;
end;
{ TRxDBGridFieldProperty }
procedure TRxDBGridFooterFieldProperty.FillValues(const Values: TStringList);
var
Footer: TRxColumnFooter;
Grid: TRxDBGrid;
DataSource: TDataSource;
begin
Footer:=TRxColumnFooter(GetComponent(0));
Grid:=TRxDBGrid(Footer.Owner.Grid);
if not (Grid is TRxDBGrid) then exit;
DataSource := Grid.DataSource;
if Assigned(DataSource) and Assigned(DataSource.DataSet) then
DataSource.DataSet.GetFieldNames(Values);
end;
procedure RegisterRxDBSpinEdit;
begin
@ -26,11 +75,20 @@ begin
RegisterComponents('RX DBAware',[TRxDBProgressBar, TRxDBTrackBar]);
end;
procedure RegisterRxDbGrid;
begin
RegisterComponents('RX DBAware',[TRxDBGrid]);
end;
procedure Register;
begin
RegisterUnit('RxDBTimeEdit', @RegisterRxDBTimeEdit);
RegisterUnit('RxDBSpinEdit', @RegisterRxDBSpinEdit);
RegisterUnit('RxDBCtrls', @RegisterRxDBCtrls);
RegisterUnit('rxdbgrid', @RegisterRxDbGrid);
//
RegisterPropertyEditor(TypeInfo(string), TRxColumn, 'FieldName', TRxDBGridFieldProperty);
RegisterPropertyEditor(TypeInfo(string), TRxColumnFooter, 'FieldName', TRxDBGridFooterFieldProperty);
end;
end.

View File

@ -581,35 +581,32 @@ LazarusResources.Add('TRxLoginDialog','PNG',[
]);
LazarusResources.Add('TRxVersionInfo','PNG',[
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#6#0#0#0#224'w='#248#0
+#0#0#9'pHYs'#0#0#15#18#0#0#15#18#1'!'#155#242'3'#0#0#2#170'IDATH'#137#181#150
+#221'KSq'#24#199'?g/:]'#237'E'#28':'#163#141'SQ'#138'D'#217'M'#180#155#224'x'
+#17#20'1'#194'.'#148#254#130#16#137'@'#11#202#219#8#186#137'n'#164#254#0#225
+'T'#23#221#232']'#142#166#168#211#210#139'n'#180'a'#12#220'l'#202#214#182'4'
+#19'l'#237#215#197#220#209'mg'#203#23#250#194#225#192#239'w'#190#207#243'|'
+#159#239#239#229#192#127#134#164'7'#248'kkK'#0#164'3?X'#142'fp4'#216'8'#217
+'l'#3#192'`4b'#169#181'`0H'#186#220'R'#152'J'#7#194#209'5'#241'a'#252'+N'#167
+#137'T6'#203#13'_;'#170':C'#218'#'#200'l'#28#199#233'4qFn<'#188#164#233#217
+'E'#1'B'#168'jH'#12#189#9#9#16'e'#143#170#170'"'#145'H'#138#3')'#8'G'#215#196
+#247'x'#154't:'#11'@w'#247#229#138#164#229'X'#138#143#243#171'$'#18'I'#225'r'
+'5j'#173'ZX'#252'"'#218'Z'#207#21#181#206#4#16'Kn'#139#207'sa'#174'_k/'#10
+#212#219'7'#0#128#209#236#198'R'#231#230#217#147#30#0#30#244#223#5'@UgX'#137
+#175#138#19#238'f'#9' '#157'J'#233'+'#168#21#235'e'#19#189'}'#3#28#171'7'#209
+#209'q'#17#155#221#206#198'&<'#127#241#142#251#247'n'#1'0'#240#248'-'#19#147
+#179#216#236#157#21#149'j'#9#182#179'Y'#221#224'~'#191#31#159#239#138'&9'#239
+'O'#30#194'l'#193#235'=EK'#139#171'j'#130'='#196']'#19'{'#251#250#133#170#170
+#186'&'#170'j'#168#204#240#194#220#212#212't'#25#199#160#23#196'hv'#227#241
+'xu'#139')5'#127'b'#242'S'#213#226'%'#128'D")'#198#198#150'4'#242#195#167'C'
+#248#175'^*j'#15#192#212#176#178#175#165'Y'#128#239'N@'#210#18#188#15#197#232
+#185'y'#161#232#131#133#197'0'#133'e'#23#31'V'#4#138'r'#144#248#16#8#228'M'
+#174#171#179'`'#175')'#219#212#180#181#158#221#233'9'#240#231#145'F'#218#139
+#8' WI,'#1#228'rB'#172'|[atd'#132#245#159'9m'#157#239'E|'#184#147'C+0'#24'$)'
+#151#19#162#171#235'6s'#243'KU9'#145'@'#0'Yo'#28#144')W'#164#245#165'p:&'#18
+'I'#161#170#175#9#6#131#200#167#207#151#169#169#212#14#185#228']'#150#160#0
+#151#171'Q'#138#198'b'#194#227#241'Ro5c{'#249#138'`p\_'#129#162#16#217#241'D'
+'V'#148#188'?'#5#139'v'#234#168'x'#166'of'#214#4#128#217#218#192#239#205#20
+#235#163'='#255#246'`0P'#156'P'#169#176#209#0#172#142'&'#201#234'h'#146'j'
+#204'f'#201#234'h'#218#215#229#162#149'/'#23#10'Q*+'#208'C'#181#141'&'#3'D '
+#18#201#7#150'ep'#15#14#30'('#254#1'P8'#171#170'xp'#180#224#187#168#232#193
+#209#177#191#159#130'C'#160'X'#193'_'#28'('#24#148#232#9'"F'#0#0#0#0'IEND'
+#174'B`'#130
+#0#0#9'pHYs'#0#0#15#18#0#0#15#18#1'!'#155#242'3'#0#0#0#252'IDATH'#137#213#149
+#193#17#194' '#16'E_'#28#155#240'H'#27#30#215'2l'#197'v'#210#6'G'#219#224#152
+'2'#240#144'0'#129'5'#192'2'#234#193#127'av'#242#243#31#11#132#192#191'k'#234
+'[b'#204#236#6#191#25#144#7#191#189'f'#6'U'#140#173#240'1'#200#129#201#18'n'
+#135'('#195'Qx'#30#210'{'#254#174'S'#135'?'#181#235#190#26#179'k'#133#217#189
+#157#14'>'#215'P'#7#207'Y'#6#14#0'\'#239'~:'#151#129'9$'#198#28#178#204#18#17
+#25#201'g'#153#137#231#182#165#132#0#224'}Q'#6#192'5'#192#10#160#187'H'#16
+#128#219':'#168'0'#215#158#161#6#212' '#187#130#247#135#161'a'#131#233#142'*'
+'KT'#135#212#150#195#169#177#3'H'#16#208#160#162#3#17#194#182'''Nd'#221#159
+#180'E'#210#5'h'#208'zDu'#7'E'#237#217#129#8#200#215'?4'#159#168'[-'#150#31
+#206#174#214#135#230#0#2#132#176#6';'#7#151#199'c'#248#238'2*'#198#180'w? '
+#148#135#226#135#151#221#248#213'nT'#217#193#11#31'-T'#255'GS='#145#0#0#0#0
+'IEND'#174'B`'#130
]);
LazarusResources.Add('TRxAboutDialog','PNG',[
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#6#0#0#0#224'w='#248#0
+#0#0#9'pHYs'#0#0#14#156#0#0#14#156#1#7#148'S'#221#0#0#0#228'IDATH'#137#213
+#149#209#13#195' '#12'D'#143'*{q'#155#197#217#204#153#140'~P'#8'%'#16#28#20
+'U'#234#251#1','#235#14#3'2'#192#191#227#210'D'#136#144#231#26#218#217#6#132
+#238#163#17#181#151#24#14#161#240#138#145'jm'#193#161#220'X'#8#128's'#139'-y'
+#30#7#0'"'#242#140'Z'#133#136#28#21#144'l&'#145#254'k'#173#186#155#196'U'#21
+'@'#190#131'ka'#9'['#28#221#154#227'V'#163#215'H'#220#178#129'+'#186#21#148
+#136'[Mb&'#131'zg'#233'xZF'#164#31#30'U'#243#136'Z'#204'Va6'#152#229#247#6
+#214#231'g'#205#237#190#162#242'r'#203#245#221#187'h'#26#168#238#224'@'#200
+'Zi'#183#130'$0'#219'*'#134#6#179#130'5'#183'_'#145#170#130#158#160'gnh'#170
+#10'O'#194#243#136'%L'#173#162'F69'#197'69'#199#166#12'Zm'#189#215#234#129
+#242'O~'#248#211#17#145#251#127#238#12'o'#239#175'R'#255#176#141'Ys'#0#0#0#0
+'IEND'#174'B`'#130
]);

View File

@ -0,0 +1,124 @@
{ RxAboutDialog
Copyright (C) 2010 Lagunov A.A. alexs@hotbox.ru
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
for more details.
You should have received a copy of the GNU Library General Public License
along with this library; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
}
unit RxAboutDialog;
{$mode objfpc}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs;
type
TRxAboutDialogOption = (radHelpButton, radLicenseTab, radShowImageLogo);
TRxAboutDialogOptions = set of TRxAboutDialogOption;
{ TRxAboutDialog }
TRxAboutDialog = class(TComponent)
private
FApplicationTitle: string;
FCaption: string;
FLicenseFileName: string;
FOptions: TRxAboutDialogOptions;
FPicture: TPicture;
procedure SetPicture(const AValue: TPicture);
procedure SetRxAboutDialogOptions(const AValue: TRxAboutDialogOptions);
protected
{ Protected declarations }
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Execute;
published
property Options:TRxAboutDialogOptions read FOptions write SetRxAboutDialogOptions;
property ApplicationTitle:string read FApplicationTitle write FApplicationTitle;
property LicenseFileName:string read FLicenseFileName write FLicenseFileName;
property Caption:string read FCaption write FCaption;
property Picture: TPicture read FPicture write SetPicture;
end;
implementation
uses rxAboutFormUnit, ButtonPanel, rxconst;
{ TRxAboutDialog }
procedure TRxAboutDialog.SetRxAboutDialogOptions(
const AValue: TRxAboutDialogOptions);
begin
if FOptions=AValue then exit;
FOptions:=AValue;
end;
procedure TRxAboutDialog.SetPicture(const AValue: TPicture);
begin
if FPicture=AValue then exit;
FPicture.Assign(AValue);
end;
constructor TRxAboutDialog.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FPicture := TPicture.Create;
FCaption:=sAbout;
end;
destructor TRxAboutDialog.Destroy;
begin
FPicture.Graphic := nil;
FPicture.Free;
inherited Destroy;
end;
procedure TRxAboutDialog.Execute;
var
rxAboutFormForm: TrxAboutFormForm;
begin
rxAboutFormForm:=TrxAboutFormForm.Create(Application);
rxAboutFormForm.Caption:=FCaption;
if radLicenseTab in FOptions then
rxAboutFormForm.LoadLicense(FLicenseFileName)
else
rxAboutFormForm.TabSheet3.TabVisible:=false;
if radHelpButton in FOptions then
rxAboutFormForm.ButtonPanel1.ShowButtons:=rxAboutFormForm.ButtonPanel1.ShowButtons + [pbHelp]
else
rxAboutFormForm.ButtonPanel1.ShowButtons:=rxAboutFormForm.ButtonPanel1.ShowButtons - [pbHelp];
if FApplicationTitle <> '' then
rxAboutFormForm.lblAppTitle.Caption:=FApplicationTitle;
if radShowImageLogo in FOptions then
begin
rxAboutFormForm.Image1.Picture.Assign(Picture);
end
else
begin
end;
try
rxAboutFormForm.ShowModal;
finally
rxAboutFormForm.Free;
end;
end;
end.

View File

@ -0,0 +1,198 @@
object rxAboutFormForm: TrxAboutFormForm
Left = 546
Height = 386
Top = 349
Width = 498
ActiveControl = PageControl1
Caption = 'rxAboutFormForm'
ClientHeight = 386
ClientWidth = 498
OnCreate = FormCreate
Position = poScreenCenter
LCLVersion = '0.9.29'
object PageControl1: TPageControl
Left = 0
Height = 334
Top = 0
Width = 498
ActivePage = TabSheet1
Align = alClient
TabIndex = 0
TabOrder = 0
object TabSheet1: TTabSheet
Caption = 'General'
ClientHeight = 303
ClientWidth = 494
object lblAppTitle: TLabel
AnchorSideLeft.Control = Image1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = TabSheet1
AnchorSideRight.Control = TabSheet1
AnchorSideRight.Side = asrBottom
Left = 140
Height = 18
Top = 6
Width = 348
Alignment = taCenter
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
Caption = 'App title'
ParentColor = False
WordWrap = True
end
object Image1: TImage
AnchorSideLeft.Control = TabSheet1
AnchorSideTop.Control = TabSheet1
Left = 6
Height = 128
Top = 6
Width = 128
AutoSize = True
BorderSpacing.Around = 6
end
object lblVersion: TLabel
AnchorSideLeft.Control = lblAppTitle
AnchorSideTop.Control = lblAppTitle
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = lblAppTitle
AnchorSideRight.Side = asrBottom
Left = 140
Height = 18
Top = 31
Width = 348
Alignment = taCenter
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 7
Caption = 'Version : '
ParentColor = False
end
end
object TabSheet2: TTabSheet
Caption = 'Detail'
ClientHeight = 303
ClientWidth = 494
object lblBuildDate: TLabel
AnchorSideLeft.Control = TabSheet2
AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom
Left = 0
Height = 18
Top = 6
Width = 494
Alignment = taCenter
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
Caption = 'Build date :'
ParentColor = False
end
object lblLCLVersion: TLabel
AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = lblBuildDate
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom
Left = 0
Height = 18
Top = 30
Width = 494
Alignment = taCenter
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
Caption = 'LCL Version :'
ParentColor = False
end
object lblFPCVersion: TLabel
AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = lblLCLVersion
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom
Left = 0
Height = 18
Top = 54
Width = 494
Alignment = taCenter
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
Caption = 'FPC Version :'
ParentColor = False
end
object lblTargCPU: TLabel
AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = lblFPCVersion
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom
Left = 0
Height = 18
Top = 78
Width = 494
Alignment = taCenter
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
Caption = 'Target CPU :'
ParentColor = False
end
object lblTargetOS: TLabel
AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = lblTargCPU
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom
Left = 0
Height = 18
Top = 102
Width = 494
Alignment = taCenter
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
Caption = 'Target OS :'
ParentColor = False
end
object lblWidgetName: TLabel
AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = lblTargetOS
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom
Left = 0
Height = 18
Top = 126
Width = 494
Alignment = taCenter
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
Caption = 'Widget Name'
ParentColor = False
end
end
object TabSheet3: TTabSheet
Caption = 'License'
ClientHeight = 303
ClientWidth = 494
object Memo1: TMemo
Left = 0
Height = 303
Top = 0
Width = 494
Align = alClient
Lines.Strings = (
'Memo1'
)
TabOrder = 0
end
end
end
object ButtonPanel1: TButtonPanel
Left = 6
Height = 40
Top = 340
Width = 486
TabOrder = 1
ShowButtons = [pbClose, pbHelp]
end
object RxVersionInfo1: TRxVersionInfo
left = 432
top = 88
end
end

View File

@ -0,0 +1,91 @@
{ RxAboutForm
Copyright (C) 2010 Lagunov A.A. alexs@hotbox.ru
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
for more details.
You should have received a copy of the GNU Library General Public License
along with this library; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
}
unit rxAboutFormUnit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
ComCtrls, StdCtrls, ExtCtrls, ButtonPanel, RxVersInfo;
type
{ TrxAboutFormForm }
TrxAboutFormForm = class(TForm)
ButtonPanel1: TButtonPanel;
Image1: TImage;
lblAppTitle: TLabel;
lblBuildDate: TLabel;
lblFPCVersion: TLabel;
lblLCLVersion: TLabel;
lblTargCPU: TLabel;
lblTargetOS: TLabel;
lblVersion: TLabel;
lblWidgetName: TLabel;
Memo1: TMemo;
PageControl1: TPageControl;
RxVersionInfo1: TRxVersionInfo;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
procedure LoadLicense(AFileName:string);
end;
implementation
uses rxconst;
{$R *.lfm}
{ TrxAboutFormForm }
procedure TrxAboutFormForm.FormCreate(Sender: TObject);
begin
lblAppTitle.Caption:=RxVersionInfo1.ProductName;
if lblAppTitle.Caption = '' then
lblAppTitle.Caption:=Application.Title;
PageControl1.ActivePageIndex:=0;
Memo1.Text:='';
lblWidgetName.Caption:=RxVersionInfo1.WidgetName;
lblVersion.Caption:=sAppVersion + RxVersionInfo1.FileLongVersion;
lblLCLVersion.Caption:=sLCLVersion + LCLVersion;
lblFPCVersion.Caption:=sFpcVersion + {$I %FPCVERSION%};
lblTargCPU.Caption:=sTargetCPU + {$I %FPCTARGETCPU%};
lblTargetOS.Caption:=sTargetOS + {$I %FPCTARGETOS%};
TabSheet1.Caption:=sGeneral;
TabSheet2.Caption:=sDetails;
TabSheet3.Caption:=sLicense;
end;
procedure TrxAboutFormForm.LoadLicense(AFileName: string);
begin
if FileExistsUTF8(AFileName) then
Memo1.Lines.LoadFromFile(UTF8ToSys(AFileName));
end;
end.

View File

@ -74,13 +74,29 @@ resourcestring
sButtonAlign1 = 'None';
sButtonAlign2 = 'Left';
sButtonAlign3 = 'Rignt';
sGTKWidgetSet = 'GTK widget set';
sGTK2WidgetSet = 'GTK 2 widget set';
sWin32_64WidgetSet = 'Win32/Win64 widget set';
sWinCEWidgetSet = 'WinCE widget set';
sCarbonWidgetSet = 'Carbon widget set';
sQTWidgetSet = 'QT widget set';
sFpGUIWidgetSet = 'FpGUI widget set';
sOtherGUIWidgetSet = 'Other gui';
sAppVersion = 'Version : ';
sLCLVersion = 'LCL Version: ';
sFpcVersion = 'FPC version : ';
sTargetCPU = 'Target CPU : ';
sTargetOS = 'Target OS : ';
sAbout = 'About';
sGeneral = 'General';
sLicense = 'License';
implementation
uses Forms;
initialization
{ Screen.Cursors[crHand] := LoadCursor(hInstance, 'RX_HANDCUR');
{initialization
Screen.Cursors[crHand] := LoadCursor(hInstance, 'RX_HANDCUR');
Screen.Cursors[crDragHand] := LoadCursor(hInstance, 'RX_DRAGCUR'); }
end.

View File

@ -10,7 +10,7 @@ object rxDBGridFindForm: TrxDBGridFindForm
OnCreate = FormCreate
OnShow = FormShow
Position = poDesktopCenter
LCLVersion = '0.9.27'
LCLVersion = '0.9.29'
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
@ -33,7 +33,7 @@ object rxDBGridFindForm: TrxDBGridFindForm
AnchorSideBottom.Side = asrBottom
Left = 6
Height = 18
Top = 63
Top = 65
Width = 80
BorderSpacing.Around = 6
Caption = 'Find at filed'
@ -84,7 +84,7 @@ object rxDBGridFindForm: TrxDBGridFindForm
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 18
Height = 27
Height = 29
Top = 30
Width = 469
Anchors = [akTop, akLeft, akRight]
@ -99,7 +99,7 @@ object rxDBGridFindForm: TrxDBGridFindForm
AnchorSideRight.Side = asrBottom
Left = 12
Height = 31
Top = 87
Top = 89
Width = 475
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
@ -112,9 +112,9 @@ object rxDBGridFindForm: TrxDBGridFindForm
AnchorSideTop.Control = ComboBox1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 21
Top = 124
Width = 129
Height = 19
Top = 126
Width = 126
BorderSpacing.Around = 6
Caption = 'Case sensetive'
TabOrder = 2
@ -126,10 +126,10 @@ object rxDBGridFindForm: TrxDBGridFindForm
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 141
Left = 138
Height = 52
Top = 124
Width = 346
Top = 126
Width = 349
Anchors = [akTop, akLeft, akRight]
AutoFill = True
AutoSize = True
@ -143,8 +143,8 @@ object rxDBGridFindForm: TrxDBGridFindForm
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 3
ClientHeight = 33
ClientWidth = 342
ClientHeight = 31
ClientWidth = 341
Columns = 3
Items.Strings = (
'All'
@ -159,9 +159,9 @@ object rxDBGridFindForm: TrxDBGridFindForm
AnchorSideTop.Control = CheckBox1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 21
Height = 19
Top = 151
Width = 91
Width = 88
BorderSpacing.Around = 6
Caption = 'Partial key'
TabOrder = 3

View File

@ -1,11 +1,11 @@
{ Ýòî - ôàéë ðåñóðñîâ, àâòîìàòè÷åñêè ñîçäàííûé lazarus }
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TrxDBGridFindForm','FORMDATA',[
'TPF0'#17'TrxDBGridFindForm'#16'rxDBGridFindForm'#4'Left'#3#218#1#6'Height'#3
+#232#0#3'Top'#3#128#1#5'Width'#3#237#1#13'ActiveControl'#7#5'Edit1'#7'Captio'
+'n'#6#4'Find'#12'ClientHeight'#3#232#0#11'ClientWidth'#3#237#1#8'OnCreate'#7
+#10'FormCreate'#6'OnShow'#7#8'FormShow'#8'Position'#7#15'poDesktopCenter'#10
+'LCLVersion'#6#6'0.9.27'#0#6'TLabel'#6'Label1'#22'AnchorSideLeft.Control'#7#5
+'LCLVersion'#6#6'0.9.29'#0#6'TLabel'#6'Label1'#22'AnchorSideLeft.Control'#7#5
+'Owner'#21'AnchorSideTop.Control'#7#5'Owner'#24'AnchorSideBottom.Control'#7#5
+'Edit1'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#18#3
+'Top'#2#6#5'Width'#2'N'#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'Text to'
@ -13,7 +13,7 @@ LazarusResources.Add('TrxDBGridFindForm','FORMDATA',[
+#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#5'Edit1'
+#18'AnchorSideTop.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#9'Comb'
+'oBox1'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#18#3
+'Top'#2'?'#5'Width'#2'P'#20'BorderSpacing.Around'#2#6#7'Caption'#6#13'Find a'
+'Top'#2'A'#5'Width'#2'P'#20'BorderSpacing.Around'#2#6#7'Caption'#6#13'Find a'
+'t filed'#11'ParentColor'#8#0#0#7'TButton'#7'BtnFind'#23'AnchorSideRight.Con'
+'trol'#7#7'Button2'#24'AnchorSideBottom.Control'#7#5'Owner'#21'AnchorSideBot'
+'tom.Side'#7#9'asrBottom'#4'Left'#3'N'#1#6'Height'#2'%'#3'Top'#3#189#0#5'Wid'
@ -30,33 +30,33 @@ LazarusResources.Add('TrxDBGridFindForm','FORMDATA',[
+#0#5'TEdit'#5'Edit1'#22'AnchorSideLeft.Control'#7#9'ComboBox1'#21'AnchorSide'
+'Top.Control'#7#6'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSid'
+'eRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2
+#18#6'Height'#2#27#3'Top'#2#30#5'Width'#3#213#1#7'Anchors'#11#5'akTop'#6'akL'
+#18#6'Height'#2#29#3'Top'#2#30#5'Width'#3#213#1#7'Anchors'#11#5'akTop'#6'akL'
+'eft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#0#0#9'TCombo'
+'Box'#9'ComboBox1'#22'AnchorSideLeft.Control'#7#6'Label2'#21'AnchorSideTop.C'
+'ontrol'#7#6'Label2'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRigh'
+'t.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#12#6
+'Height'#2#31#3'Top'#2'W'#5'Width'#3#219#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'Height'#2#31#3'Top'#2'Y'#5'Width'#3#219#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'akRight'#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#5'Style'#7#14'cs'
+'DropDownList'#8'TabOrder'#2#1#0#0#9'TCheckBox'#9'CheckBox1'#22'AnchorSideLe'
+'ft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#9'ComboBox1'#18'AnchorSi'
+'deTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2'|'#5'Width'#3
+#129#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#14'Case sensetive'#8'TabOrd'
+'er'#2#2#0#0#11'TRadioGroup'#11'RadioGroup1'#22'AnchorSideLeft.Control'#7#9
+'CheckBox1'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'
+#7#9'ComboBox1'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Con'
+'trol'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#141#0#6
+'Height'#2'4'#3'Top'#2'|'#5'Width'#3'Z'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'akRight'#0#8'AutoFill'#9#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Capti'
+'on'#6#9'Direction'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopB'
+'ottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChild'
+'Resize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'C'
+'hildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVert'
+'ical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTo'
+'pToBottom'#27'ChildSizing.ControlsPerLine'#2#3#12'ClientHeight'#2'!'#11'Cli'
+'entWidth'#3'V'#1#7'Columns'#2#3#13'Items.Strings'#1#6#3'All'#6#7'Forward'#6
+#8'Backward'#0#8'TabOrder'#2#6#7'Visible'#8#0#0#9'TCheckBox'#9'CheckBox2'#22
+'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#9'CheckBox1'
+#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#3
+#151#0#5'Width'#2'['#20'BorderSpacing.Around'#2#6#7'Caption'#6#11'Partial ke'
+'y'#8'TabOrder'#2#3#0#0#0
+'deTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#2'~'#5'Width'#2
+'~'#20'BorderSpacing.Around'#2#6#7'Caption'#6#14'Case sensetive'#8'TabOrder'
+#2#2#0#0#11'TRadioGroup'#11'RadioGroup1'#22'AnchorSideLeft.Control'#7#9'Chec'
+'kBox1'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9
+'ComboBox1'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'
+#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#138#0#6'Height'
+#2'4'#3'Top'#2'~'#5'Width'#3']'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'
+#0#8'AutoFill'#9#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#9'D'
+'irection'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpac'
+'ing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27
+'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.'
+'ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14
+'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'
+#27'ChildSizing.ControlsPerLine'#2#3#12'ClientHeight'#2#31#11'ClientWidth'#3
+'U'#1#7'Columns'#2#3#13'Items.Strings'#1#6#3'All'#6#7'Forward'#6#8'Backward'
+#0#8'TabOrder'#2#6#7'Visible'#8#0#0#9'TCheckBox'#9'CheckBox2'#22'AnchorSideL'
+'eft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#9'CheckBox1'#18'AnchorS'
+'ideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#3#151#0#5'Wid'
+'th'#2'X'#20'BorderSpacing.Around'#2#6#7'Caption'#6#11'Partial key'#8'TabOrd'
+'er'#2#3#0#0#0
]);

View File

@ -80,14 +80,20 @@ var
FieldName:string;
LOptions: TLocateOptions;
begin
FieldName:=FGrid.Columns[ComboBox1.ItemIndex].FieldName;
LOptions:=[];
if not CheckBox1.Checked then
LOptions:=LOptions+[loCaseInsensitive];
if Edit1.Text<>'' then
begin
try
FieldName:=FGrid.Columns[ComboBox1.ItemIndex].FieldName;
LOptions:=[];
if not CheckBox1.Checked then
LOptions:=LOptions+[loCaseInsensitive];
if CheckBox2.Checked then
LOptions:=LOptions+[loPartialKey];
DataSetLocateThrough(FDataSet, FieldName, Edit1.Text, LOptions);
if CheckBox2.Checked then
LOptions:=LOptions+[loPartialKey];
DataSetLocateThrough(FDataSet, FieldName, Edit1.Text, LOptions);
finally
end;
end;
end;
type

View File

@ -26,7 +26,7 @@ translate to Lazarus by alexs in 2005 - 2009
<License Value="free ware
"/>
<Version Major="2" Minor="1" Release="2" Build="105"/>
<Files Count="56">
<Files Count="58">
<Item1>
<Filename Value="rxlookup.pas"/>
<UnitName Value="rxlookup"/>
@ -253,6 +253,14 @@ translate to Lazarus by alexs in 2005 - 2009
<Filename Value="rxversinfo.pas"/>
<UnitName Value="RxVersInfo"/>
</Item56>
<Item57>
<Filename Value="rxaboutdialog.pas"/>
<UnitName Value="RxAboutDialog"/>
</Item57>
<Item58>
<Filename Value="rxaboutformunit.pas"/>
<UnitName Value="rxaboutformunit"/>
</Item58>
</Files>
<LazDoc Paths="docs\;\usr\local\share\lazarus\components\rxnew\docs\"/>
<i18n>

View File

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

View File

@ -70,6 +70,7 @@ type
function GetVersionLanguage: TVersionLanguage;
function GetVersionNum: Longint;
function GetVerValue(const VerName: string): string;
function GetWidgetName: string;
procedure SetFileName(const AValue: string);
procedure DoVersionInfo(V:TVersionResource);
protected
@ -103,12 +104,12 @@ type
property Values[const Name: string]: string read GetVerValue;
property VerFileDate: TDateTime read GetVerFileDate;
published
//
property WidgetName:string read GetWidgetName;
end;
implementation
uses FileUtil, resource, resreader,
uses FileUtil, resource, resreader, InterfaceBase, rxconst,
{$IFDEF WINDOWS}
winpeimagereader
{$ENDIF}
@ -291,4 +292,19 @@ begin
Result:=FValues.Values[VerName];
end;
function TRxVersionInfo.GetWidgetName: string;
begin
case WidgetSet.LCLPlatform of
lpGtk:Result:=sGTKWidgetSet;
lpGtk2:Result:=sGTK2WidgetSet;
lpWin32:Result:=sWin32_64WidgetSet;
lpWinCE:Result:=sWinCEWidgetSet;
lpCarbon:Result:=sCarbonWidgetSet;
lpQT:Result:=sQTWidgetSet;
lpfpGUI:Result:=sFpGUIWidgetSet;
else
Result:=sOtherGUIWidgetSet;
end;
end;
end.