diff --git a/Source/Modulos/Informe margen por articulo/Data/InfMargenArticulo_data.drc b/Source/Modulos/Informe margen por articulo/Data/InfMargenArticulo_data.drc
new file mode 100644
index 0000000..5149cee
--- /dev/null
+++ b/Source/Modulos/Informe margen por articulo/Data/InfMargenArticulo_data.drc
@@ -0,0 +1,17 @@
+/* VER185
+ Generated by the CodeGear Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
+/* C:\Codigo\Source\Modulos\Informe margen por articulo\Data\uDataModuleInfMargenArticulo.DFM */
+/* C:\Codigo\Source\Modulos\Informe margen por articulo\Data\InfMargenArticulo_data.res */
+/* C:\Codigo\Source\Modulos\Informe margen por articulo\Data\InfMargenArticulo_data.drf */
diff --git a/Source/Modulos/Informes base/Views/InformesBase_view.bdsproj b/Source/Modulos/Informes base/Views/InformesBase_view.bdsproj
new file mode 100644
index 0000000..2b4838a
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/InformesBase_view.bdsproj
@@ -0,0 +1,492 @@
+
+
+
+
+
+
+
+
+
+
+
+ InformesBase_view.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 0
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+
+
+
+
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 3082
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
diff --git a/Source/Modulos/Informes base/Views/InformesBase_view.dpk b/Source/Modulos/Informes base/Views/InformesBase_view.dpk
new file mode 100644
index 0000000..e0af6ec
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/InformesBase_view.dpk
@@ -0,0 +1,46 @@
+package InformesBase_view;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$IMPLICITBUILD ON}
+
+requires
+ Informes_model,
+ GUIBase,
+ ApplicationBase,
+ cxVerticalGridD11,
+ JvGlobusD11R;
+
+contains
+ uViewInformeBaseGrid in 'uViewInformeBaseGrid.pas' {frViewInformeBaseGrid: TFrame},
+ uViewInformeBaseParametros in 'uViewInformeBaseParametros.pas' {frViewInformeBaseParametros: TFrame},
+ uViewColumnas in 'uViewColumnas.pas' {frViewColumnas: TFrame},
+ uViewAgrupaciones in 'uViewAgrupaciones.pas' {frViewAgrupaciones: TFrame},
+ uViewSumarios in 'uViewSumarios.pas' {frViewSumarios: TFrame},
+ uViewFiltros in 'uViewFiltros.pas' {frViewFiltros: TFrame},
+ uViewInformeBase in 'uViewInformeBase.pas' {frViewInformeBase: TFrame},
+ uEditorInformeBase in 'uEditorInformeBase.pas' {fEditorInformeBase: TfEditorInformeBase},
+ uViewPeriodoFechas in 'uViewPeriodoFechas.pas' {frViewPeriodoFechas: TFrame},
+ uFormPropiedadesInforme in 'uFormPropiedadesInforme.pas';
+
+end.
diff --git a/Source/Modulos/Informes base/Views/InformesBase_view.dproj b/Source/Modulos/Informes base/Views/InformesBase_view.dproj
new file mode 100644
index 0000000..47fdb91
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/InformesBase_view.dproj
@@ -0,0 +1,590 @@
+
+
+ {4269f0a2-b81f-47f7-a014-f7f28bc5bb79}
+ InformesBase_view.dpk
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\..\..\Output\Debug\Cliente\InformesBase_view.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ RELEASE
+
+
+ 7.0
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+ Delphi.Personality
+ Package
+
+FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0InformesBase_view.dpk
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ExpressVerticalGrid by Developer Express Inc.
+
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+ TfEditorInformeBase
+
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+
diff --git a/Source/Modulos/Informes base/Views/InformesBase_view.rc b/Source/Modulos/Informes base/Views/InformesBase_view.rc
new file mode 100644
index 0000000..153736a
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/InformesBase_view.rc
@@ -0,0 +1,22 @@
+1 VERSIONINFO
+FILEVERSION 1,0,0,0
+PRODUCTVERSION 1,0,0,0
+FILEFLAGSMASK 0x3FL
+FILEFLAGS 0x00L
+FILEOS 0x40004L
+FILETYPE 0x1L
+FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "0C0A04E4"
+ BEGIN
+ VALUE "FileVersion", "1.0.0.0\0"
+ VALUE "ProductVersion", "1.0.0.0\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0C0A, 1252
+ END
+END
diff --git a/Source/Modulos/Informes base/Views/InformesBase_view.res b/Source/Modulos/Informes base/Views/InformesBase_view.res
new file mode 100644
index 0000000..02236de
Binary files /dev/null and b/Source/Modulos/Informes base/Views/InformesBase_view.res differ
diff --git a/Source/Modulos/Informes base/Views/Informes_view.dproj b/Source/Modulos/Informes base/Views/Informes_view.dproj
new file mode 100644
index 0000000..5776580
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/Informes_view.dproj
@@ -0,0 +1,602 @@
+
+
+
+ {7678d139-6be7-4479-88a2-d88f84d39b56}
+ Informes_view.dpk
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\..\..\Output\Debug\Cliente\Informes_view.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ 3
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ RELEASE
+
+
+ 7.0
+ 3
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+ Delphi.Personality
+ Package
+
+
+ False
+ True
+ False
+
+
+ True
+ False
+ False
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 3082
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RemObjects Pascal Script - RemObjects SDK 3.0 Integration
+
+
+ Informes_view.dpk
+
+
+
+
+
+
+ MainSource
+
+
+
+
+
+
+ TfEditorInformes
+
+
+
+
+ TFrame
+
+
+
+
+
diff --git a/Source/Modulos/Informes base/Views/Informes_view.drc b/Source/Modulos/Informes base/Views/Informes_view.drc
new file mode 100644
index 0000000..e404431
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/Informes_view.drc
@@ -0,0 +1,18 @@
+/* VER185
+ Generated by the CodeGear Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
+/* C:\Codigo\Source\Modulos\Informes base\Views\uViewInformes.dfm */
+/* C:\Codigo\Source\Modulos\Informes base\Views\uEditorInformes.dfm */
+/* C:\Codigo\Source\Modulos\Informes base\Views\Informes_view.res */
+/* C:\Codigo\Source\Modulos\Informes base\Views\Informes_view.drf */
diff --git a/Source/Modulos/Informes base/Views/Informes_view.rc b/Source/Modulos/Informes base/Views/Informes_view.rc
new file mode 100644
index 0000000..153736a
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/Informes_view.rc
@@ -0,0 +1,22 @@
+1 VERSIONINFO
+FILEVERSION 1,0,0,0
+PRODUCTVERSION 1,0,0,0
+FILEFLAGSMASK 0x3FL
+FILEFLAGS 0x00L
+FILEOS 0x40004L
+FILETYPE 0x1L
+FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "0C0A04E4"
+ BEGIN
+ VALUE "FileVersion", "1.0.0.0\0"
+ VALUE "ProductVersion", "1.0.0.0\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0C0A, 1252
+ END
+END
diff --git a/Source/Modulos/Informes base/Views/Informes_view.res b/Source/Modulos/Informes base/Views/Informes_view.res
new file mode 100644
index 0000000..1641339
Binary files /dev/null and b/Source/Modulos/Informes base/Views/Informes_view.res differ
diff --git a/Source/Modulos/Informes base/Views/uEditorInformeBase.dfm b/Source/Modulos/Informes base/Views/uEditorInformeBase.dfm
new file mode 100644
index 0000000..0ab5d2e
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uEditorInformeBase.dfm
@@ -0,0 +1,1380 @@
+inherited fEditorInformeBase: TfEditorInformeBase
+ Left = 499
+ Top = 302
+ Caption = ''
+ ExplicitWidth = 320
+ ExplicitHeight = 240
+ PixelsPerInch = 96
+ TextHeight = 13
+ inherited JvNavPanelHeader: TJvNavPanelHeader
+ Top = 75
+ ExplicitTop = 75
+ inherited lblDesbloquear: TcxLabel
+ AnchorX = 821
+ AnchorY = 14
+ end
+ end
+ inherited TBXDock: TTBXDock
+ Height = 75
+ ExplicitHeight = 75
+ inherited tbxMain: TTBXToolbar
+ ExplicitWidth = 580
+ inherited TBXSeparatorItem1: TTBXSeparatorItem
+ Visible = False
+ end
+ inherited TBXItem5: TTBXItem
+ Visible = False
+ end
+ object tbxiPropiedades: TTBXItem [7]
+ Action = actPropiedades
+ DisplayMode = nbdmImageAndText
+ end
+ object TBXSeparatorItem14: TTBXSeparatorItem [8]
+ end
+ end
+ inherited tbxMenu: TTBXToolbar
+ inherited TBXSubmenuItem4: TTBXSubmenuItem
+ inherited TBXItem10: TTBXItem
+ Visible = False
+ end
+ object tbxiPropiedades2: TTBXItem [7]
+ Action = actPropiedades
+ end
+ end
+ end
+ object tbxFiltro: TTBXToolbar
+ Left = 0
+ Top = 49
+ Align = alRight
+ CloseButton = False
+ DefaultDock = TBXDock
+ DockMode = dmCannotFloatOrChangeDocks
+ DockPos = 0
+ DockRow = 2
+ DragHandleStyle = dhDouble
+ Images = SmallImages
+ ParentShowHint = False
+ Resizable = False
+ ShowHint = True
+ ShrinkMode = tbsmNone
+ TabOrder = 2
+ object TBXLabelItem1: TTBXLabelItem
+ Caption = 'Filtrar:'
+ end
+ object tbxEditFiltro: TTBXEditItem
+ EditWidth = 200
+ ImageIndex = 10
+ EditorFontSettings.Italic = tsTrue
+ ExtendedAccept = True
+ Images = SmallImages
+ ShowImage = True
+ OnChange = tbxEditFiltroChange
+ end
+ object TBXItem34: TTBXItem
+ Action = actQuitarFiltro
+ end
+ end
+ end
+ inherited pgPaginas: TPageControl
+ Top = 105
+ Height = 334
+ ExplicitTop = 102
+ ExplicitHeight = 340
+ inherited pagGeneral: TTabSheet
+ ExplicitLeft = 4
+ ExplicitTop = 24
+ ExplicitWidth = 644
+ ExplicitHeight = 312
+ end
+ end
+ inherited StatusBar: TJvStatusBar
+ Panels = <
+ item
+ Width = 200
+ end>
+ end
+ inherited EditorActionList: TActionList
+ inherited actNuevo: TAction
+ Visible = False
+ end
+ object actPropiedades: TAction
+ Category = 'Archivo'
+ Caption = 'Propiedades'
+ ImageIndex = 20
+ OnExecute = actPropiedadesExecute
+ end
+ object actQuitarFiltro: TAction
+ Category = 'Buscar'
+ Caption = 'Quitar filtro'
+ ImageIndex = 19
+ OnExecute = actQuitarFiltroExecute
+ end
+ end
+ inherited SmallImages: TPngImageList
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000001754944415478DA6364C001D6ECBE900CA4E640B9
+ 2921AE0673B1A963C4A739C8598FE1DB8FDF0C33966C67505054C06A08232ECD
+ 3EF6BA0C250B7F315C7FF88F6179E15F86456BF76135841197CD79737F324C4E
+ E1008BF345BC63B833959561F13A4C4318D13507BBE833E4CEF9C160ACC1C290
+ 60C30296734D5FCD70F2A333564318B1D90CD20C02D72E9C04D33C92A60CAFDF
+ FF6358B8E71B86218CE87E866986D90E738186A92FC397EF0C0C6B8FA21A0232
+ E03FBACD5FBEFF07E30A3F36B801323ABE0C3F7FFF67F8FE938161EFC5EF7043
+ C00678586B32F8B7FD61887167836BFEF59B81A12E186180A8BA0F58F3E76FFF
+ 194EDDFE0136A07DDA1AB001C90FEE3F98131BE4C4A092FD9BA12A8A07AC19E4
+ 67582C800CE051F0C1D06C636994020F44902171214E0CCA99BF19E25DB8E09A
+ 91C301161330CDE040448E46649764D85C473160C6114D0CCD581312B221CEFA
+ 9C589D8D3521E13204047069C69B99608680002ECD380D4036E4C98B77383583
+ 000005100EB8572466A60000000049454E44AE426082}
+ Name = 'PngImage1'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001074944415478DA
+ 63FCFFFF3F032580912A06303232E2543079D1766F201505C520B02C37CE331A
+ C400EBC5670054F3960057330631617E0690B2F357EF336CDA7786A1B5289211
+ AF01C89A254505183E7FFDC1F0F5DB0F06311101A021F7184E5DBA733927D643
+ 0FAB01E89ADF7EF802D6FCF5FB4F866F406CA6AFC21095DBC6B06C7215238601
+ C4689EB27807C3B153E7300D2056F38B371F18B62EDA79EDFCF9F9DA700348D4
+ CC70E1C2024420022548D68C128D40C906A0E67A5234631860A6A752AF202346
+ B466740396C2521AD020B0A49EA622C39C95BB716AC64889C0405C0A541C2501
+ 4C2830804F33D6A40C8A09A0A62DF7EEDD03F3AF1FB98D372301A39191E2DC08
+ 0029AC32F01825AACD0000000049454E44AE426082}
+ Name = 'PngImage2'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001514944415478DA
+ 635CB5E3DC7F062C20CCC388918108C0083220D4DD104570F5CEF30CEDFDB319
+ CEEF9C4ED0109C06D818AB3278C7941134046E40CBAA0760819A3005B80B6000
+ 9F21182EF8F1F30F10FF86E05F7F1882926B883300E60264C0C1805D5F69B802
+ 238601E836FF04E2CDA7BF339484C9A368EE59F59261D9C1BB0CE7A75933C20D
+ F0B4D56698B0E5195617601AF09021DA4998C1297307C38D35A18C60031CCDD4
+ C036FF84DAFCE7EF3F307DF0FA7FB001112D57C09A57D4E8800D98BBFA346A18
+ 58EA2BC235C39C0FC2671EB0A2B8E0DBCF7F0C5F7FFE05E27F60B65DE26C8801
+ 7316ADC11A58AEFE69282E4009C8284506F7F4B90C781349F7CA07FF4106A0DB
+ FCFD171003E980BCF9840D48F5916148EFBB8E2197EC2BCB1059B290B001512E
+ 92609BC1B602F1EF3FFFC1F437204EAE5A4CD8007F5B71B8E66F480681407AED
+ 12C20674CCDE884F0903000B1A00979E81F9710000000049454E44AE426082}
+ Name = 'PngImage3'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000E9C00000E9C01079453DD000002574944415478DA
+ 63FCFFFF3F03258011D9004646468696696B17FFFECAD0DE581A7C0D596155CF
+ 0AF77F7FFFD975944755A3E8413760EA929DAF393938D62785D8A7C1C48BBB17
+ 711BABAB5C7AF9F6FDDFC2446F354206BC75B6D4E35ABCFE90536B49F87190F8
+ E4853B2779DA1BE46EDE7FE62ED00015BC06F4CFDBBA24CACF26FAD0A99B5B42
+ BDCC7C6BFA563B057B986FFDFDE72FC7D20D072B26D62574E235A0A26DA999B0
+ 98E0F2607713F9251B8E85692A4B5698E9AB9AAEDA7EE2DEBB571F3DDAAB226F
+ E33500044A3B979507B898B6BF78F3FEA3B1B612FF992BF7FF1F3975336E425D
+ CC52903C4103EAEBEB5998450D8FAA2A889BC94888306CD977664D675964284C
+ 1D0103EA99F8DDF50C8CD439E3FFFE67CB7DFFE9DB1F7E3E9EC637DF5977DC98
+ B3E73C0343E33F9C0670B8AC555292175BC8F6FF9BEEDF6FEF995E7DF8F95941
+ 55EDE5AB17AFBEFCFAC7C2F1ECC5FBEF0C4C4C89FF0F47DDC36A8056F2A103FF
+ DEDEE465FBFFB5F1D577EECB8C8CFFF72AAA6A7CFFF4F842CED54D7907184CE7
+ 4631B0B227FC3F1AE38AD5008D981DDFD9BEDE48BABCA1703983DE226E09891F
+ D754B4756F7DBC7FBAEFF286BCED0C32BD9C0CB222B7FF1F8B93C16A805ED2EE
+ D74CEFAF445FDC50B48BC172858E34DFFB6582B2DAFB38BEDCFC7166456A0583
+ CE0471063EA103FF8FC66A623540C063F55669B6E747AE3DE3E861E5E158A9C8
+ FBF1D1FD6F628BF4147977FC7A79D3E3F2736E39060E9E84FF47A202B0C782ED
+ 627356C6FF935998FEB349737FB9FE95E975F2F32D8DDF98EC9647B1FCFF55F0
+ EB1FD31FA08EC2FF87634F6235801C0000382740F0DFD997BD0000000049454E
+ 44AE426082}
+ Name = 'PngImage4'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A000002854944415478DA
+ A5935D48536118C7FFAFDB8CCD557E7F34B33167F9119617A91596495D781304
+ 451021A651362821B1ABA49B6EA4460961D88542055D84DD6545415992174994
+ 9625CC8F9C329D9B5F3BE9CED9D9797BCEA1C932A3A0079EC3CBE13CBFE7FF7F
+ 9FF330CE39FE2798FAB80BA4E61559EB2551E67B07279AE8D51FA98F2CC99546
+ 031A3D6E5FF329993F631D80B52227A6D7929F9BAEA459D1D73BE8DC3330D6B8
+ 1AD206641414DA5A6224E1E8ECA47779660955D532EF642F1371BD74331A14FA
+ 9C27A4439F5D88777DAE1B65FD230D11485786B9363D65FD35C1EB4B9817427E
+ 9F80C335C05BD53E23B2A934132FB23662B71406C2B14698F38AF0E9EB9473E8
+ E3C8655BD686D6F858A5DA3F27B04511E37E0195B5C0A00AD6003FE5259758F0
+ 3AD1843C15125218CCB6AD707FF34EAC93973217041154ECF608D8770E188BD8
+ 5A01A8A1DEC5F60CF4980CB0A890E8A47AFFF477EC3F037C8EBE975F006ADC37
+ 60A7351E3D061DE222C522A5270047AD82DBAB27B21AC09EDA373525E9A52BCB
+ 7E5F4CB4822509BE80848AB3C0C09A806380EE7CA1BDC55EB4CDE17AF2984932
+ 75A60CCA088739742A84CE1E49C1010730F41BA03B27CD595C517CB1FFF92B04
+ E6035AF142101DCB12DA743AB413243FA468331D0F01E51780D1154057AAF148
+ D92E7BE794778E8DB92634C901116FA6451CAA27214EC06802AE5227AA839ED2
+ 45A0729AC6A406182DD9329C10A7B7F57D18D63A93DF99D92076905F4FB4DF56
+ A08C20ED9476027CD1209C7BD9FBDC947BC1C0E2C9596A4B003E27E2F8E9301E
+ AEB507B700334968A6631D019C759C5F627780822413BA194312CDFB41958C13
+ 7FDB4052739000430ECEDD913F313B568F9B8B326AC8F7CCBFAEB27A073F0058
+ 5538F0EAB25B380000000049454E44AE426082}
+ Name = 'PngImage5'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001934944415478DA
+ 6364C002662430FC47E6672C606064C001C0122726A06AB870818121A1632A98
+ 5D169DCD10E58B90B32840358C11A4D920622A5C604145365833482308D4F5E6
+ 3134154F62A8EE4805F35B2B66334CDA8B3004C50098E62F2F6E823581347F7F
+ FB80E1E58DBD0C8BD67D6588F6656258BAF91F7E03AE3D66C009081A800CD61F
+ B161C0072243F419711AF0F7F777864D275D192282F5B06A5EB1F23C43D7FCD9
+ 0CE7774E67C43000A41984B79EF3C36AC08F9F7F18366CB8CC10116EC860E491
+ 85EA0298E6BFBFBE33ECB8120E36C071E64DB8E6ED09CA40037E33ECD87E03EC
+ 02142F206BFEF7FB07C3AE9BF1282E00D90CD20CC6BFFE30EC3B719561CAECE5
+ 100374837B503483E8BDF733305C000333DC04198E9EBB893040CBAF1945F3DF
+ 3FDF190E3C2E041B806EF34F283E73E52EC200758F2A865B3B3A506CB927739E
+ C1C75383C177F17D0C17745971325CBEF51062004820CF19352F808065E64506
+ 172748A0C16CFDF3F71F9806B9E4F683A70803B081E56B2EFEB7B19663D875F4
+ 32CEC444D080AED9331808010085EE16005695A1DA0000000049454E44AE4260
+ 82}
+ Name = 'PngImage6'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000002164944415478DA95D35F4853511CC0F1EFD491DD
+ D9587F2C83AC8C328DFE4949908BC0AC142A147BC8077B88A01EECA5E718F958
+ 410486C384B50A1F7A991023CBEC0F594F81E5D4C211E130D7D4DDCDA15B5EEF
+ DD5DD74B1B8EA9D90FCEC3EFC0EFC3EF9CF33B06FE46CBE3AE042B886B176B0C
+ 0B73C342A0A9B17AD9E2FB4F5EE0E878C6E79776C37F03AAAAD2DAD1CDDEDD3B
+ B96EBB9B425604CC17CB8A4AFBD31EEA6BAC0CFF08A4907F02C962598EE374BD
+ D58F908C2581442241603C8CCBFD89D86C9C9C9C1C0A365A282DDE446FDF37E6
+ AB9277B128F02B10C6DDF385CD074B10D6593019211E9CC2EF1DA5A0C0821895
+ 68BE6D5F1A6873BEA6D07A0879951945CD626B1E6C372978BD7EBC5F4710D608
+ DC6A712C0EC84A9C7B6DDDECAF3B459E315B3B3B685B9835448DCD30F4BE0FC1
+ 94CB9D56672670A5E1A47E590F1EBDE374C3091D88CD4120063359902B4719F9
+ D88F201835E0612670E97CA5DE41578F870A6B296BD79B096BC0B8B6C4DF3252
+ 4024E81960832071B3FD7926D0587B5C7F32DFE8243FC74214EDD906AB4D4C29
+ 1011230487BC1419BFB32BE8E06CE7BE4CE0C299637A07B3928CCF37816F4CD4
+ F2040943365234823134C8E1FC094A8A8D4C0DF6B2E5EA8774A0BEFAA80E283A
+ A21012A791E6E6B4618249FF08AFEC97292B2CA7B64221BFAC9C90E74DFA289F
+ AB3A42FFB07FD90FE5B255A510B754379D062C1CD3E5E240AC931D9537B03537
+ 19FE00839434866373C4BA0000000049454E44AE426082}
+ Name = 'PngImage7'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000001724944415478DA6364A0103062135CB1E2C26E20
+ E5824F63448401235603809AA381D412374F5506413E2EB0D89FBFFF187EFFF9
+ 0BC62F3EFD6728A999C0B0795E15A60150CD1540CD3A7B4FDCC5B0D5D94299E1
+ CAD3BF0CDD3D53F280064CC666C06EA066176C36FF05B25F7F6544B11DC50098
+ D3C3C3F519D6ECBA8C61BBBDA922C38D17FF41B6C384B6020DF261846AFE0FA4
+ AE809C0EB21DDD6610FFCF9F7F0CE91553194CF49518A4558D1836AE59037609
+ 23C8E6AB4F2E2C2136DAE4B5AC186E9CD9C570F3C1278801B53D0BFE3715C7E3
+ D4F0E5C75F86CFDF8118487FF9F18F61C3BA350C12CA260C3B366F4218408CCD
+ 17AE3D03D3065A520CEC42AA0C278F1CC4EF02749BBF82F0CFBF0CC7F66E64F8
+ C92AC970FDE259DC06A06BAE3DEFC390ABB49EE1FEB5530CCF9F3F6778FA919D
+ E1F5D3FBD80DC066F3AC743D8680EEB30CAFEE9E61D8BEF72C4CA90CD080A770
+ 03A62FDB45542C400D006B062724DFA4366920FD84D86844D68C9212C905001F
+ 16FA1194E3DBC30000000049454E44AE426082}
+ Name = 'PngImage8'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD2520000015F4944415478DA6364A000FC3060F8CF884D62C5
+ 8A0BBB81940BB258E7FC99286A8EBF9CCEC06EE4C5C088457334905AE2E6A9CA
+ 20C8C70516FBF3F71F8399770E44D3F9FF0C3F0D19219AE76D6364C4A2B902A8
+ 5967EF89BB2806B7F54D6738E7C4C1F073793F58B3D1537986F33BA76318B01B
+ A8D905D9E6DF7FFE82B1437011C3B91DD31818BA8AC07246FB7EA01A00737A78
+ B83EC39A5D9731C205E40274003700A8F93F90BA02723AC876649BFF02D920FE
+ 9F3FFF18D22BA63298E82B3148AB1A316C5CB38661F5B92A064690CD579F5C58
+ 4228CAB6EC3E893D166A7B16FC6F2A8EC7A9F1CB8FBF0C9FBFFF65F08E2CC01E
+ 0B20038849342017608D055C2E80D9FC19487FF9F18F2125B3147B2C6033005D
+ 73ED791F86E7B334B1C702BA01E89ABF02F1AC743D8680EEB30CAFEE9E61D8BE
+ F72C4CA9CCE679554FE1064C5FB68B98A0801900D60C6230FA26B54903E92744
+ E946B219C661244123560000C9AFE6B31530CB2E0000000049454E44AE426082}
+ Name = 'PngImage9'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000016A4944415478DA
+ 63FCFFFF3F03082CDD7212C22000627C2D18616C905E466403A27DCCF16A06AA
+ 61E89DB290E1FCCEE98C241BF0EFDF3F86E5DB4E33488B093314D5F5810D21DA
+ 0090E6DF7FFE31ACD97596C1C9429BE1E6BD176043CEED98C688D3804D0F0E30
+ F45E6A02B37779EC62E05CC0C6B058EA38D80B3080D30090E6805D4E182E7911
+ FC91E1C4E5C70C8F1E3F6298B774137603609AFFA4FC013B1B64738BB13743CD
+ D9AD0C8FFDDF81C5B6EC3B85DB00A6594C289A91C13DEF3740F1BF0C3B0F9DC5
+ 6D0048C1EFDF7F21F49F7F50FA2FC31F181F2877E0E445EC068479988015F02C
+ E640B1F98EE72BB066CDDD120C676D1E311C3D7B05BB0181CE8660DB049773C3
+ FD8DAC3957BB80219A379FE1D4C5EBD80DF0B1D7032B165BCD8B110330CD200B
+ CE5FBD85DD00776B1DB002E9F502609B13CF8781E50C840DE09A41165CB97907
+ BB014EE69A1801060B44986610C06980ADB11AC3A63D2789C994D80D404EA6C4
+ 0090010087546EF0ACB0C7920000000049454E44AE426082}
+ Name = 'PngImage10'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001024944415478DA
+ 63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3
+ C493AF1EDC305B3E7F1A2323BA66090111A9272F9F301CD9BE99119701110999
+ FF416A0E6FDB843000A4F9CFCF1F52F834C2808DA72FD8DF700348D18C6C08D8
+ 004B77AF69F292F299308987CF1F4E979256DEB076DEE45D207E7052AEDBB3A7
+ 770390D58000DC0B20FFCC98D0CE70E1053FC3DBBF3F191E7F66603831A310C5
+ B6E533A6311C7CC080228F624046C534B82408AC690C856B9611976140970719
+ 20ACA0CB30A53E13624068693F5CF2F2E3F70C37E7A5C163019BFCD7AD4D0C2B
+ 164C07A72146981F999998C17EFCFBEF2FD630C0260F3660C0933200BCB3BCE1
+ CDA578040000000049454E44AE426082}
+ Name = 'PngImage11'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001C04944415478DA
+ 63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
+ 1BA234FDF9FB8FE1F79FBF60EC105CC4806200A3E14C86FFE7D3C13408E0627F
+ 3C12CF70ECEC0D86AAB659D80D4007FF806AFEFC41D80CC2672FDFC1340019C8
+ 7A2C6178F2F22B98ADAE20C0D09869CCE06E29CD2068B788E1D9AE48868BD7EF
+ 117601C8E673D7DF309846AF6310E66767B8BE3E8441CC6929C3C36D610CD76E
+ 3FC46DC0CBB7DF19EA679C613870E619C3C3679F197EFCFA0B36106433C8F97F
+ 80F8D6FD27B8BD1053BD8F61E9B6DB0C0B9B1C181C4C2518E43D5780C54136CB
+ 7BAD62B8B12E90E1FEE367D85DF0F75C1A836FDE0E866D471E315C5A15CCF0F1
+ CB4F06DBA42D6003EE6E0A6650F65BCB7061B90FC3F357AFB11BF0F3540AC3B1
+ 8B2F18A2ABF6313C7BFD8DC1C14412E895E76003AEAEF6077B4123528661FFC4
+ F3A806C4F859C1A30839CAE0ECDF10BE41E416860F7F32188E4F453320DCCB9C
+ 81CB621ED8A6177BA218245C9681D9B7360431A805AC03B37F306430FCF8C3C0
+ F0E61B0483D8700382DC4CF0DAFC1B498EDD5785E1FD4A3417F83919319CBA78
+ 8BA8FCF0DFCF908171139201A0DC3871C6529273637E46740C00F128724C706C
+ 80060000000049454E44AE426082}
+ Name = 'PngImage12'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000E9C00000E9C01079453DD000002324944415478DA
+ 63FCFFFF3F03258011640023232386C4922BFF0D9818FFC57EFFFE57FDEFBFFF
+ CC8CFF19BEF0F1B36D5C73E9EAAAD5613ABF60166318505FFF9F4939F077F98B
+ 97BF6BEFDCFEC6F9EDDB3F86BF7F810A9918192424D9FEF3F1B32FBFFA93236E
+ 5528C35FB8018D9B7E2C6DF0E38859759581F5E7BF3FD36EDEF89AF4E51B03E3
+ B72F7FC0867EF8F897E1EF3F06867F40ACA1C9F96FE392D5BA5737265D831BE0
+ 58F9F0BF83A5F83245796696CB973E87FEF9C70CD6FCE2D92B86E78F6EFCFCF7
+ EFEF17360E5E4151590326666626067D7DDE65F57E1CD12806288BB3FF676567
+ 66E0E062036B7EFEF425C39307576E8A2A19B9EE6A557DA217B2A88E9B5FBA41
+ 405C87C1DC9CEF01D0004514031444391804843918409ADFBFFFCE70E7EA91FB
+ 9F3FF06BDED9E1F513A450357481341FBBD03D611973362B4B2C067CF8C1C060
+ A020C0F0E3FB4F86CF1FDEBCBE7FFD84C3B54DC9D760812B13DACB29CAAAF84A
+ 58C69AC7C61A8B01CF9FFF61E014646190E365627870FD40C3A535718DC8D1AA
+ E2B1988F5788E7B998823597A5392FA6010C1F1EC0157FF8F081E1DF9F4F0D1C
+ EC6AFDA7965A7C02899924ED550746C555793523665D1D2ED440C49690D08149
+ D2A9764E3ED90A037DEEFF3696BC7161EA0C4B8836402FF6A41A37AFF0690E2E
+ 7E3E7B5B9E65C08494084C48BF8832402BF40A0F8F30DB3E0E2E4153277B9E65
+ 0DFE9C60A7E34CCA280098ACCDDF3C5A2925C913ACAFCBB51CA6997803ECF7B3
+ 301C74FC834D0AC5004A000026261CF09ABF155A0000000049454E44AE426082}
+ Name = 'PngImage13'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A000002E64944415478DA
+ 8D936B4893511CC6FF67DA74BAC9BC9478C9357338CC4B0EBC1709F929A25414
+ A13E48082D8CFC20267E1B925DD004B3120C75919AA99B5DADD485E56DA2791D
+ 739ABA2D9DB7A953379D6EEF5EDFDE14859C810F3C5F0ECFF33BFFF38783E0FF
+ 425902A13B668448DCB4C5B658709C40D8F0A4563120A97FB1B61F3AAC291008
+ EDB1630ED7ECECA97C6F7F6FAEABB72BCDB46902B54CAD5BD4CCF7AAC68772C5
+ 6F8A06C8286E05484EAEB3F10BB6A49FE2B2F2C2628318E0C440063300410050
+ 910596D4B344F7BBB63169FBA7B4D6E65AA915205320E47A9EF4ECB89A7CCE85
+ CDA021950141E2BD2E9049645029E683BB3301EB2AE5F657E15B4955457EAA15
+ 205B5095CD8BE33D0C8BE0523C1002B50120E5C12EE03509D8A60078386EC1B7
+ F2066DA3A89C8FFE1DBF9076CADFADFA4A467C829E70829C82AE43B79B97150D
+ B3522956F3F4C9B3030001DD87C3AE49C84CBCBC646640FCA5D29DF3A0B8A09D
+ 09F62469E1C3A4B4D7F2EAF1A3DA834FA064DC2D2D8E4DB9984E63F922ED2A02
+ 161DE04EE1EE13D4ED7CB090CB5CD9C6E1439978A3FE655189D50E52D37263CE
+ 4486374725C5D2168DF6C88E2CE414ED02942400030246C6A7087149C5688DF0
+ 7EC63EE0F38DB3C79974A8ECB70B7459649E0F64F17854767800C588D390830D
+ 02172A19226F5E58D211DFEB9AF40DD5CFCB46E5DD0568AFECC6C43FFA470747
+ 2CEBF420D2048072C57ED3CB2F846005F9D19CBD4E80C96882B9F16942D1DBA7
+ FBD15C2B960F77159355056AB919E0E3E24C17F9C58487E1737218966D429386
+ 01F235CB8589854D87D3DCD0448613938D61669B89B1C1099552DEB9AA9B9790
+ E559D204FA99C5EBF78D0A0FB5D5ABA0BF6F0D7AA66CA1757CC4B862D808E9D6
+ 9826C990236927D236A4B748AF92C6F6FF82243F890861AE817CC8001D6A0A74
+ 2A478D1AFD7A926CC6FC058E20743BEDFA2F1ECC70B45A0CDA2614CB5AFDFAAD
+ BE19B3E828E51D009FCFE710C6F546ED680F473DFF3B7E70DAFCFEA8E5BFFA03
+ 503A4EA60D6AAC070000000049454E44AE426082}
+ Name = 'PngImage14'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A000002E44944415478DA
+ 8D936B48D35118C6DFB379D9D4C9BC94A8CB399B38CC4B0E9C9A45427D8C5251
+ 82FA2021B430F08398F4258650145A615642A12E4A31AF6565795958A69B685E
+ C7BCB4B92D9D3AA74E7771BAFD37FFFDA728E40A7CE0FDF6FC9E73DE877310FC
+ 5FA850200CC22C90ECB06EB1EC76870347D8F88C6E7244D4F8D2B06FFA172910
+ 082998BBD7154F8A079F11C5E0043002A8D64D2BA8A56AFDB2463BA8928F1537
+ BF2D1B21AC0E9780ECEC06323BCE9E17CE61DE4D4C8BA5812F0D996C00380EE0
+ 81ECB0A25EC0FBDFF74C4B7E7CCAEDEEAC97B8041408849C906321BD97B24FFB
+ B36854A43221106B01ECCE007780203F1CCC2AE576BBF09DA8A6BA24C725A048
+ 5053C43DCFBD9F98C4210523046A13C0D0320099BCBBF0360920D87B0BBE56B5
+ E8DA9AAAF8E8EFEB3FA2864705D65ECC4FCF30E2BE70BB54ECD28F542485D676
+ 3E2C482458DDD327CF0E04087CC222597519059917566C34B8F358BC031C94A8
+ 8B0F339241FBEB870FEA0FAE40CABFF5A23CEDF2B93C2A3302E9D611307D0002
+ 29006EC4D529A4DD2ED6B61DF0A1B279A3F15559854B0739B9C5A92792799D29
+ 5969D4650B05791200C31B804A74E046B831C061423E8B3757544FD509EFE5EF
+ 077CBE76F208DD07DE0C7BC6F82FD3CFC430B95C0F162F9A64715091171981BF
+ 0761224E5E5AD1E3DF1A3A8C2DB5CF2BA764FDA5680F0EA43B3E469D8A4B5AD5
+ 1BA149130DCA35CA66283B1E67C6B2A97EA147C16AB1C2A27C0E9F1C1CD27FEF
+ AC6F968D8BCB097412755D8F0EF3F7F36962A7F2121D8B3218976E4287860632
+ 83FDAC6269D3EB38272193E64B6761988DAC981E55A894B2BE75BD5644C00BC4
+ E0E867217738228597E06654C1F090010666DDA05B3E6159336DC4F76BAC3384
+ 8968007C8971BE842D62D6C159C5DE5F109564E1F17403C8C64CD0AB26419F72
+ CAA2319AB3A4F3B62F7008A19BB9577F71613E52A7C3A04731B9AA339A6F0CCD
+ DB9A0E03EF04F0F9FC48DC626ED34D0D44AAB5BFD347E76CAD87859DFA0386D8
+ 3FA68502A9830000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A0000032A4944415478DA
+ 6D937B4814411CC77FB3B7777A5E7276969AA4648A20A5592A4585FE654122BD
+ 0CAA3FE2841EA45946697591BD8DB27748A2BDA0A43FA2420C893252D2A244B4
+ 7C24495986AFBC3BDDDBDB9DDDBDDDDB663714B366F9B2BB33DFCF777E3BB383
+ E0DF66235A19342370912538D0CAB2825BF00A6DA4EF2D1133D5A8AA2AA029EF
+ 4126B3292B2E21BA70697A5262626A9C393422040D0FBAFCAD6F3BF187C68ED6
+ 9F5F472E2992524FBCE2F400735884ED40E6BAE58539F6CCD0B9F323009111C5
+ EF075191600C7BA0ABEBAB5AF7A071A4ADBEE71CE7C615849126032823B52D77
+ EFBAEBF6BDEBAD164B20E941A092EBF89ED75050960C6ECC805B6060D8E984E7
+ 379B9C2D8F3AB71353CD4440CC8ACCE49725D7F2626DB3AC60A028C2535092FF
+ 4A2FCD5E1A0F2E3C062E9E8171D1034303A3F0E24CF3A7910EF72A1230826813
+ BDAFF87CEE85ACCD19269AA2C16030C0093273EDC372C8DE92FFD7EACEDDE902
+ 06B3D0F1A41777DEED2D5015F5369A1335BBB6ACFA4056745C24A22903941636
+ EBF044C38204BCE003FBEE62B0DAFBC1237A61B8C7A9B69DE979ECF3F836A1A4
+ 65F15F4EDD2A880BB606A12B45AD93B02C2BE023D2604D79FB8F02B5F533B022
+ 078C9B55BBCF7EEBC43F8424B4243DE19BA37C678CC962844A47B71E204F8212
+ 09F1EBF783474E02BBB105BC1207DE711EFACA06BE8B7D520C8A8A0D6F70DCD9
+ 951E343B1061598067A54EA8AEBAA4435A0826D22A3976B21406B31B80F76160
+ FB3975E8E2E84785F12F460166E3E91D17361D8E5D1E45F332062C8BD07EC300
+ D7CA4EC1BEA292BF16B177751D6893304D5E9979E0AD5265354FDBC694B4EC05
+ 7599FB57844906093862D04CCEBB913AE4D9F01EBC3E1EBC22AF87635680F1FB
+ EC4FB95DC922DBD8A105A0008BF1444641DAA1A88C8800CE8F8123656AA59A1F
+ A740FF9A7AF22CE8B0208AC035F258A8911C20C3D5A9BF72D8CC79C197E3D7CE
+ CBB12D0D09106862D4A13F9F343133F70E63F18D740F7E818330E3D30FD31CA3
+ D5986F5B68B55B532DE128923248269F0EF2DF05856FC58372AF52013C5412AF
+ EB7FA7516B34512232C2063A944E44C1C82C7B14CEEFF2B793929F92B16E2265
+ EA71FE0D330BBCF031BDB9A60000000049454E44AE426082}
+ Name = 'PngImage15'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A0000031C4944415478DA
+ 6D536B481451143E779D5D5D37D95AD354523445905AB32C0A0DFD653F92252B
+ 8BFA130A3D40F385D1C3B09766A5652548D23B34FA1115624894A0F6502845CB
+ 079298A5F8CA75737677E6CECCCEA3BB532DAB75868F3B73EFF77DE7CCBDF720
+ F8374C045BFC97F8AD3504F8191D0ECEC639B91E32D741407B13154501E4F5ED
+ AFD3EBD263E2220A37A5C49BCD1B62F481214BD1F4E49CDCDDD18F3FB4F7758F
+ 8FCC5C9504A98570F9C506FAE01053715A46526166565AE0CA552180C88A24CB
+ C04B02FCC476181818519A1BDA677A5A862E32365C473482C740A3D5ECCFCECF
+ A8C9CADF613418FCC80C02853C678EB4425E5502D8300D368E8669AB155EDE7C
+ 67FDF8A4FF002135FE35884A4E4B787DFA464EB469B9117C341AA2D78008329C
+ CF6D55CBB39406C11C4BC33C6F87A989597855FEFEF34C9F6D2B319841948E2A
+ 387639BB327D6FAA8ED2505056F066C18E363DAE05CBBE5C30E7BBE02767071A
+ 3BA0EFD930EEBF3F9CA748CA5D141A1ED454F5A8383D22260C511A1FA8287CAF
+ 8ABC037302ECC92E0263D618D879274C0F59959EF2A1A72EBB6B378ADF1CFBE5
+ FC9DBC9800A33F2201D547BB3C06A228818B80E55C2A728A4E01B3AB0B689B43
+ 19BCF0B51F7FE7E2D1FA94B8AF25B587A274062DD971173C2C1D560D448F5020
+ 26B23A1E3D790EA62C6DE09C6761B46AE21B3F2A44A1F0E8156D25F70EA7F807
+ F9212C72F0A2C20ACFEB6B3C62F788094E9496C12411B32E0C8E314699BA32FB
+ 49A2E575C857AF2D3B58B9FB44745238C58A183AAF890BFEFF5259A947CC082C
+ B893D0EF9C22DDE0BCAD884A8EFB1813375A5637A71525070B3E023084E02631
+ 24136E88564D262DADE0E4DD621EB08383F97AC7B8D82BA59363EC731B205F83
+ F66C6ADEC6E3E1A921BE8C8C55B1BB54FDD34418DBD642DE3955CCF13C30ED2C
+ E61A85127251AE7B5FE5E0659101D5B1DB23334D9B96FA721421AA22FC3BEB9F
+ CC4C27C6FC5BE101FC8012A2995FDC4CA15AA336D7B4C69865DC605881C2343E
+ 82CEA50AD96F9CC476E3497158AA03166E11EEDCFFBAD11D1481196961271548
+ 995100D28B768991E7E45E52F273B236482079B7F32FB7E1BAF0E8F71C040000
+ 000049454E44AE426082}
+ Name = 'PngImage16'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000019E4944415478DA
+ 63FCFFFF3F4341F1F9FF0C6402469801BEFE4A0C0B16DD60583CC71CABC21F3F
+ FF327CFFF90748FF6128ABBCC2A0A5CEC0B072C752E20C40D6FCE3D71F86BAFA
+ 1B0CEB963B31A85A241336005DF38FDF7F18DA5AEE3098997032CC5D3D07BF01
+ D834FFFCF597A1B7EB3E612FE0D20CC253263C625092FFC5B0F1C06AEC06E0D3
+ 0CE2CF99F68C4152EC0BC3AE931B310D983EC908A119AA11A409660008CC9FF9
+ 9C4180F72DC3E14B3B500D00019021840048F3F7EF3F19CEDCDE8F6AC09F3F40
+ DB7EFC024B82E81FDF816C280D11FFC5F0F9D337B03C08DF7C79126180A7B73C
+ 86E6CF9FBF43C460867DFB09D70C32ECD1A7F308036CEC44C18A976E9A82D7F9
+ 7CFF8DC19A4186BCFE7D0D618089193FD896B5BB67311CDA309341504A87E1C9
+ ED930CEF3FFD60F8F0F927C3FD671F1956AD59CDF0EC96105833C8BBEFFFDF44
+ 18A0A3CB0976EAB6C30B182E1CDDCBA06768C8B073FD02B8CDF79F7E64E89C34
+ 87E1EE456EB06610403140599519EC827D6796312447F833F072B130B0B0B2A1
+ 387FF5D6430C37CF72C0F9700318191919F49D72C9CAD200FAC9B5C145016BDA
+ 0000000049454E44AE426082}
+ Name = 'PngImage17'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000015D4944415478DA
+ 63FCFFFF3F03082CDD7212C22000627C2D1891F98CC80644FB98E3D50C54C3D0
+ 3B6521C3F99DD3194936E0DFBF7F0CCBB79D6690161366B04C57058B715C6060
+ 24CA0090E6DF7FFE31ACD9759621A4D68281352A97E1F7B2C90C8B2E10E10298
+ E6DFBFFF325C5DC2C1F044E912C39B4B4B19984A3AB17BC171E64DACAEE860D0
+ 60D0F399C2F0F2D636868587CC18A41A1A18D218F07801DD669866100E699161
+ 10D5F6050726411720DB0CD35CDE369B61DED24DD80DF8FDE72FD856107D6319
+ 1786E6ED7B4F311C387911BB01611E260C6E73EF80F9110C1F180C182C18C4D5
+ BC5034830C3E7AF60A7603029D0D212E00FA7DEDAA2B0C2D2D210C6B6A9EA068
+ 06E15317AF6337C0C75E8F2160D92330FF4E8B0B838B4B0D985D5CE907D70CC2
+ E7AFDEC26E80BBB50E5CD11FA84B60E181C0FF18AEDCBC83DD0027734D829A41
+ 00A701B6C66A0C9BF69C24265362370094D348012003002CB76B52FA97B19500
+ 00000049454E44AE426082}
+ Name = 'PngImage18'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001B04944415478DA
+ 63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3
+ C493AF1EDC305BB1603A2323BA66090111A9272F9F301CD9BE99119701110999
+ FF616A189135FFF9F9430A9F4618B0F1F405FB1B6E0021CDD70CF8FF0B09B0D7
+ 481C78D50AE2FF7295B1FBC82F7AF0C585F30C8C96EE5ED3E425E533618A1F3E
+ 7F385D4A5A79C3DA79937781F8C149B96E6627F7F4F8B23ED3DD226BC2F04840
+ 96A19CE72DC3E7E387182EDEF8389911E49F1913DA192EBCE06778FBF727C3E3
+ CF0C0C276614A2B860F98C690C9BAA5A1854F7F530282A4830DC7FF08261E657
+ 318689B76F33820DC8A89806D70C026B1A43E19A65C46518C0F25F3F3048CE28
+ 6050BFBC9A61DB7F198693AE390C535AF220068496F6C3355F7EFC9EE1E6BC34
+ 782CC0E47F5EBFC060D7E5C170E8BD208301F73B06BE7F1FFD642E316C6604F9
+ F1D9D3BB01CC4CCCE070F8FBEF2F4618FC7D723D22F3EF93C4FB37DE301C1296
+ D9E8FBE68198BED87F4BFEBF1FED084619087CB4178BB974FFD3D42B8F7E7801
+ 6D390A12DB28C4BA51558ECB8F2803D6F1B2C67CFEF5C728EEE7FF62A006701A
+ 98C0C0202ECBCDB00A00547CD715F016991D0000000049454E44AE426082}
+ Name = 'PngImage19'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000019E4944415478DA
+ 63FCFFFF3F032580119FE4D64553FE7FF8F001437C9FC439C20680343B392269
+ FEF11E883F30DCBFCFC070FE81220383A3006E03609A6BCAF631B47439C135C3
+ E9EFEF197A3F00C5253F3030AEDB73092510D89F1D62006BAE3BC7D0D2640431
+ A44A11AEF9C3FBFB0CEF8166CCFD013440E13DC48040675DB0E66D8BA7C23597
+ 141931F4F4010D291264A8E9BBCF5012F89EE1FD0BA017809A7BD73130280619
+ 32306830200C00693632FC00D1347D05434D66044349922043CFBCF70C2D91F7
+ 19BCEB10E1A169AAC9709DE70783A2A100AA0B4A9282C19A7FFFF90BC4FF18DA
+ 0A6319923DEF33E4F47D6098B1E22443787A3DC3F99DD3C1E1E654E904F63ADC
+ 803F7FFF31FC016B846806D1207E7F6532437AFD0C865FBFFF32C4E634C10D80
+ 4723C8005F076DAC9A4186823482F06F204E2A6CC56E80A78D06C3DC45BBC102
+ 2141B60C6BD61DC6885A530B1D868CD20EEC06B858A8E2B5F9D71F089D5BD58D
+ DD007B136586E5AB0E80057CBC2D18B66C3D81E1026D7D3586A2BA3EEC065819
+ 28E0B519E43210C0694073F77442990E0E300CA0343B030039812D6AB16B7539
+ 0000000049454E44AE426082}
+ Name = 'PngImage20'
+ Background = clWindow
+ end>
+ end
+ inherited LargeImages: TPngImageList
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000003CD4944415478DA8D96ED4F53571CC7BF17EC9315
+ 11864234C607C6D4E9408621F88CBA88D0C64D48EA906C3E3459F40FD077666F
+ 7CEB62A2912C43F0A950A12A3001AD2613810908B46869E69E8B2FBA3087F499
+ B6F7B63BF7E0BDB6D2A79BDCDE73EEBDE7F339E7777EE7DC3248E1303C346BC9
+ A5812FDBED767AAF51D7B9C9F4A07E22595B2655F8DED202642D5E089F3F88B6
+ EE415CF8BE857F9C54C2A402DFBD651D7296C8C5FBD3336EE87F7C8206DDBDA4
+ 1226197C57493E96662D9A7BF9F810BD861A4BF1EFB4136D5DFDB8D2DC9550C2
+ 2482EF2161C9266111E00D470B611C015A75D7E11FD6E2F51B176EF7FC8CA696
+ F812261EFCC0F60D502AA451706DB902A7EB5F60D2F32195B8068EC1E5F1C1D0
+ CD4B62878B4904F7F8392C3A3922C2C361D280B438736900B6D94FA9E4D5FD5A
+ C8A46968E9E8C555FDFC9130EFC3856C8984A72F90E0E31C274AD767A3EBF138
+ 7A2D6E64AF2D82C99A4E257FDED320C4B1E87C34881BAD3D511226D1840A70E1
+ B09AE7269987FB021CBCE49C9C545089AD5B0387CB03E39351E80C0F44892008
+ 278207D830BE297F27FAB6DD41E182A4A9CF0698CDF8BDA31A334E2F7E7A6A42
+ F36D2395303C3C56B644F69C09BA3139C5E2ECE11C5AE727DA9791274AF8B3C3
+ 64A712ABE17338C9C4F70D3D4757DF2FA0829ACF8AE2C2BD410E013F0397C329
+ 0A4E9CEB059B5B4005B38110825C083EF25EDFAFFF518959AF86E5E55F387FB9
+ 19CCC5EB3D61AD661F14320915683616A2B24C22C2F9DE05FD0B10F4450B9C59
+ 6B299C070B23197FE5A082519D0AD6DFFEC677F56F0599194AA8CA8BB1848429
+ BDE40768EABEC6EE923431C6E1800C0C1B2D9852AE8E091FB959058F771643A6
+ 0974F7BF04535C716A236963D1D6A95173601B9128A1286BA4924DEB58DA98F5
+ C891217347096CD29531E16E12FFC1B109DC6A7F3837C9FCAF20397144854315
+ 5B91A15C88CC9DD7A864F90A2F8A729538B6F7DD662748C602B9F37AFE74D422
+ C2C5348D941CAF55A19A8C840B315855758B4A64996F909FEE84C7350D960D61
+ C6C7D1364D7FC829BCFF4A05A97118187901FD1DE3FC85365FA28646BD132E6F
+ 0005070DC0E6CD5015E6C58C390F9748D2D03F3C8E9B6DD1AB38E66627488E7E
+ A942D59E2D9090945DA36EA392B2FCEC28F8B31B9598251FA061B335263CEE76
+ 2D48BED25462DFF66228E4527CF4C55D2AA1C75B38CD16027F3F2C49059192BA
+ 9A0AEC2A2B2212193ED174D2673CDCED9DCB96D6F64771E109059192DAEAFDD8
+ 515A08B94C0A8EAC5A9A2D6396A4F0A48248C9113292BC651F807C1260FFE735
+ F4778D49E129090449E6B25516C7948DD64919A49CD2DF96FF0126B669571175
+ 682F0000000049454E44AE426082}
+ Name = 'PngImage1'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000032A4944415478DA
+ BD95CD4F134118877F5B0A22D84205341E30087E24021A45893131F1E2C178F1
+ 2A26FE07C6C478319E8D9E8C8926EA49E217D1B328F142A24123070B2E6DB76C
+ 0B5DB6A585B614CA47BB1F6D7D772CDAD22DA0094C32997476F67966DE79F72D
+ 97CBE5B0958DDB1601C7719B7EE1D18B8F9768E8A17EB660FA2BF537D7AF5DEC
+ 2F5CCBD8FF22C8C3DF5FBED04D2F73882FAC40CF64114BA6E1F3F9797AC693E4
+ EA7F090AE1FB9AEAD9DCD24A1ABA9E81AA6510239920C530CABB71F7E615EE9F
+ 0425705A6E80753D4B27C8A0AAD24A630EFE5002E25494242E26D994A01C5C55
+ 7528AC6BC866B3A8B7D782B35830198A63C829E2D9BDDEFB4EE7F3DBEB0ACCE0
+ AAA617C155EA29458546D2867A1B72D90CDEF67F41DFD37E3709DACB0ACCE00C
+ AA680CAC685A5EA4B13B38D97E00B14412BC57C2C0E0777C7A37545E50166E80
+ F302E324EC37CD7775B4223EBF0861621AA35E19636322BE7D18361798C2159D
+ ED785550024F2C821F9F82673202419882382A221C0897DEC146F0D59014C213
+ 0B4BF0D0CE9D8244F020FC3CC127C31819E92DCE2233785AF90B53F360632E43
+ 1FD7098A79742E899F047691C0352621264F63C22D3178D177F0F8E540093C95
+ 568BE29EA64C512834468A9EEA6CC34C7C1E6E5F082EA3BBA71097C310F9893F
+ F0B582D7C78EECEFE9EA6883B5C2C2629C5EB373259F9EDDC70F6226364FE020
+ C6082E8E87200B0148A25C045F2B983C77FA684BE7E16696D3A9945A10EBBC48
+ FB0D8FC617081CA44B0D421483181F19C7AC3C5B023715B43637D109AC58585C
+ C64A4A29806B043F84394AC561DE4FE560165E418668C083E6F01281A3CED6D2
+ E4D8853D0D75D8595DC52ED2C89E2C8D5D14F34834C1B2E5873B00C123232147
+ E017A4B2F0B582C14C8E3B5FBDA30A95560BF6EEB6A3916486A4C16187DD5603
+ A77B025E2902371FC072740E9E51DFBAF0926A7AE7415FCE6677C052C1C1565D
+ 81C6FA5AAA2B39D45111CBD2627F7086761E424494E0F30436849B966B4362AD
+ AC84BDA69A5295C3F2D21295619D95E5C5E40ABC4E3F8B79FB99F68DD8ACBD7A
+ 728B332B153722B1F987E170181ADD81F1DCE8AECFDE4D410B1B950A6E7BFEF4
+ B7B2FD02BC08E5EFAAF547E00000000049454E44AE426082}
+ Name = 'PngImage2'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000022C4944415478DA
+ 63FCFFFF3F032D0123CC82D53BCF13655398871123B18683CC46B120D4DD10AF
+ 06A01A86F6FED90CE7774E27CA12922CF80754B776D7050651415E86A2BA3EA2
+ 2C21DA0290E17FFFFE63D8B0F712838DB12AC3CD7B2F88B284280BFEFDFBCFF0
+ 0768F89FBF7F19B61EBC0A0E2218A08A0520D0B3EA2131410E06A5E10A704BB1
+ 5AD0B2EA0186260E0646869230798286831CD2317B23C3DB3DF98C382D00F141
+ 610E0E963FFF18FEFEFBC7306BEB4BA22D3051F8CD1052BD0D6C098605216E06
+ D008FDCFF0FBCF5FB0E1A0C89DBBE335410B7EFDF9CF3069DD23866827617022
+ 0059F266771E238A0541AEFA0CED6B1E91144440FBC186FF02FA76F69627E020
+ 82010C0BFC1C7519DE7EF88661C8B203EFB15A806C388CDEB9FF2458AE6CC679
+ 4C0B3C6DB5C061FF179A2C81084CAF3AFC096E4144CB159CC1D49EA60AB6E4E8
+ F133D82D70B5D26098B2FD25C120C2E67264FAF4E9B3D82D70325763F8F8F907
+ 8605EB8E7F815B40C87010BE78FE1C760BEC4C5418FEFD852451502A82E4E07F
+ 0CDBCEFE005B00323CBA0D7710954629327CFBF997E1F6B58BD82DB0355261B8
+ FFF41D86C6A3B718180A43E419BEFFFA87D5C520F6CFDF08B187B72E61B760DE
+ 92B5E0B2071DB8FAA73164F8C912653888FDE2FE654C0B181971975BDD2B1FFC
+ 4FF292061B5030E5264E75715E32608BDE3DBE4ABA05316E52045DFE0B5CB430
+ 307C7C4A8605614E1244190E026459106027CE70E8E869066201C916209731C4
+ 02140B6805009C1383EFACA508270000000049454E44AE426082}
+ Name = 'PngImage3'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000E9C00000E9C01079453DD000004BF4944415478DA
+ B5D37B4C53571800F0737A5B6ECB4B2F2D2D2D2053408286870CD4C9C0B89989
+ 8ACEB041F035064CEB365800D93235C0EA40FD836D380C085B44C7C30993111E
+ 93199411DE844029B80908586094577B81963EE8E3EE82D311662A35DB97DCE4
+ 3CBE737EB9E77C07120401FECF802B010821A8ACACC7BAC453B54A95E6405AE2
+ E111631B7C9E7E331102E87431313C76B1FFAFFD9E071492C0A3A109218D8AD4
+ 68C68527040281E1799B9FCF2A738306439314971765244598060C3C9E1406FA
+ BA73EE36F6045E381DD6B672F39339393457C4BE748BFBFAE08AFBED572E9B04
+ 94D7B20647645D7111FB7805E58D359DF2817DB97CBE76795E7246717450E096
+ 5C7239E5C7AAA62B99C9260039F977B893B3AA9E84A8FD3603C313BA9FAA5B8F
+ 9C8F0B2D799A73F6AB627B77676E4750A0375BD43B0ACA6ADA7ECE4C8A085935
+ 9097574B1F56C89A2342767A6356E6A0AAB6E3E1AF1DFD5B6E0822D5A1A1C588
+ D71B66D7DF7B3BE0E862767BCF20A8691265647D1115BF6A6031522E9784B130
+ EB9BEF066DA72C68B5C4F5D2BACF5262DF493F935E78684F804FE9C6F53CF8E7
+ 040E6E57B7E04A9572DBB7C951FD26018BCDF8B4FCAC5DDB37F377F86C84AD5D
+ 0353F79A1FECD9ECC22B3EF8E6AB2EB25925B85327D4F70E8DC5640B22AF3E5D
+ 640A004EA7FCC046D7A06D216F6D73E230AD417E59BD243CF8353B081128FC43
+ 0C6A9BBBEF4BF48CBD2582B085970296904B45611C1BEB225F4F67848A40E0FA
+ 0A178C4864A0F46EEB2C3E33BF332735BA6B79BEC9C062BD5B482D8A5998D5A1
+ 0D8E6C60678B01D14331E81D94246509DE4F052BC26400B8FC821E0E5178D9D9
+ 326A5BC516E6737225F0B09BEB1892500FB688E7A5A02E52FD72C08E026F3B1E
+ 2B92CBC676D3E9664E23A313A85EA7910368A6B1E3602C3A1D5DA0D210B14422
+ BBFF6860FC3BD018DEB53AC03797C659E79062CF65C6418346AF981AD3E85438
+ 9C56D3692C864A6EE1E0A3D62AA6AD0787261A210D250044BCD45A832DB93413
+ A8E70544FB49AD5100DB5FF1D14667CE3732F103056A98EBA322C42D8D9ED239
+ 348725AEB39CF56438FA2E5066FAB893B8C27D4C4A1D279770C9DF3E09CCE831
+ 8002CF12F5C7B28C022E11BF89508DD489AA1ABE26421D12414998FEEF23BBEA
+ 6683EF46ED7D09BDACD756A61AE2492A05CAA539A73C3A60EB6F03338623D170
+ C4D328E01E5DAF21A47D5A864EE92FACFAE49F12F42F28DA84C93CA9F67E2832
+ 3FECA4C30739DD5567F067F3BEB9A90035FF9468388A1A053CF8CD7238FDFB3C
+ 55A7F2E92C8F1D7B329A42A1BCEE52ED8EC9AC11DE56E61A44EE3833DA13DC5D
+ 9E50B30CB848023124606514F03AD5D24F99E9B5D42B64FEDD5509834B837E37
+ 98660CD8E7B616BF2745DD985C267D977E52745D88D49F0025254F8ED0EFFB22
+ F21EFC48C0D52860B9B7347B2D9C896252E70E8B2AE24BC1CE142AD0B97ECD36
+ 577DCC3197F3BB71762B8FC3CAD8C0D46D958FF59DEA2A4F2804DED99B009D71
+ 0B204803D170EC43E3651A50E88F52F4D55C0B45E563B9F597900031185DF381
+ BD85A262DA801F5FBAD8C0020F1EDBA61ACE8D40E50225145722C1804AE39355
+ 7480A83FDAF8E287E69FCF275BE7C82EC7D152A1C650F5B529037EEE59D52C5D
+ 7AD166000C17C85610F94D904F2C0D341ECF79E143FBAFE32F16D672EF3D728C
+ 4A0000000049454E44AE426082}
+ Name = 'PngImage4'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A0000043D4944415478DA
+ B5956D6C535518C7FFB7B7ED36B66E5D47D67663731BECD5B18605D8504C084B
+ 74982DC16468D4F881AD0305E3870550D100EABE482246712A8AA00182BA9828
+ 84252006D7264AA2631B461325DD5C9ABDC0686B6F5FB7DEDEE373EF6869C736
+ B6189FE4A4A7E79EFBFFF5799EFFE9E11863F83F834BFCF211506AD6A7585DFE
+ A99E3611BD4B1553DE7FC0DC797B64FC9C13387B883149017C0064549A528F56
+ 5A2A9E31AE2CD00EDF700AB62B034DAD22EC8B117E07482B3019F61516E7ED15
+ 6F8DA6BB6F79D84D1F0E5A197B8BDB06F06D7A743F5C8827B4997A684A6A804C
+ 031C7F8D78ED97FA9B5BB130E4531E9B2A2D655D191AA9CAE570201C61CC15C0
+ D94911D60EC642DC4915DA9BCA714C97024E6E87C46BA029AE86DA5C08C79F4E
+ A1F7CAB566AB08DB3DC280C19CA77FBBA42877BB776C940F08018444B0DB3E1C
+ EE6178AD1B88CAFDE58E02797526D8561BB1324A00519A191A532174E535181A
+ 1A176C3FF42595EB6360836595E1AB1C9DB660CC39A1EC0F46204E06B0AF4DC2
+ BBB17D0A409E1C032AD6E7E3C7223D8C31803C54E999C8B1AC85F3A6CF6BBFFC
+ 4BB30C3995A2B2D696E6BC2F8602691E6F50D9E79F4298CAD2DE069C4ECC320E
+ 90E32450BF6605BE37A623231122A9782CAF5A0DF7B44618F869F0FC9A55D94F
+ BB275DAA6058549EFB66C45BACC085D9654C02C8F1058F268B09DF64A5429B08
+ 11A97419463304B707E1E014A669215696093F9EDB097C399701EE01C8714A83
+ D60773F1499A1A7C1264D6A0864A54F397A8E65DF3396C4E801C67B4D85F9683
+ 4EB50ADC5CE25351B04972CB76865716B2F0BC8083D4DFAA545C2DCEC6BA9868
+ 34011096ED18C4E1768657659D2501C8519A2C9DB6AB7A6DB955F8E3376EBE12
+ C959F8C238B003E85C3480C497E5E51BCE6C78AA79EBDF17CE21484D5DA80FD3
+ 049916B1872047EE0B20F1ACE212F3B71B5B1EDD343E781DA3D7FA93C4C88E1E
+ 8941CDABA04B5C8F48F289C58BCF2BE76F1E00D55C5DBF42FF5D43D3238F07C3
+ 115CEFB90831CAE222816984DD213446818954158E136463ECD413546E428446
+ FB2E72FA9C80AF759A37B734D4BC9E663070FDBD5721787C890D955C41B45119
+ 3E57F6D29FA31BE8500187E8F1B2B8D80CE459827427014EF0D8FC585DD1C53C
+ 935E3DEC9CC4B06334A9C6247EC4CAB06776FA1F02D5F4EB8ED3743D77F75EA1
+ DE63DB6EE07C1CD05791FB7B6D85B1CAE70FE1D7010722E2DDD2FC13823D1C45
+ 039DD4C83C76D61A8197497D3F8DD43B990428BBADF4CE6505602FCAEE7EA826
+ BFA56FD0018F371417F747E017A650FB027003F70932482D099FA0A9E5CE9240
+ A37127633F739FF16859579ADD3D36E1492A0DB176B72BB7E0E2E23D20450B1C
+ A0E95ECA86A7526DDEC5582F27A759A6852D330575316708615C1A91B0E50D32
+ C9620109BDA9A78F27A9D91D7117D19D6A58AEC6E9340D1AC9350295A796360C
+ 2D557C76241D34D97E5E4A8F9270ED506EC4FF1E32E05FC9675CEF0AFC725300
+ 00000049454E44AE426082}
+ Name = 'PngImage5'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000027F4944415478DA
+ 63FCFFFF3F032D0123CC02464646AC0A66243060B820630103230391006EC1C9
+ 898CEE406A07B2E4890B40C33AA6A268B8B8229761E9E67F0CD1BE4C1886FD67
+ F8E76151C0B0139705FF154C1A18045444212EAFC8061BFEE5C54D86A6E24970
+ 0D75BD790C770F4C015BD2B16802C3FFBFBF19FE01F1D7A7BF1836CC69C0F01D
+ 8A05061153510C7F7D7527032EF0ECF216B025AD73DAC016DCD8D2C870FEC23F
+ E22C787C6C21C3D64DA70886AFB79F1983988E07D8825B3B3B89B70066092100
+ 331C84EFECE923CD027430F9A037410B61A0345C016E095116FCFFFF8F61CA21
+ 5F869230798286F7AC7AC8D0317B23C3DB3DF98C445900321C9452A61E0D22DA
+ 021385DF0C21D5DBC096E0B50066F8BF3FBF18A69F8C2068C1AF3FFF1926AD7B
+ C410ED24CC70F3DE0BB025382D00451C03D00290E120F6CC33B1382DF8FB0F62
+ F8AF3FFF18666F79020E22BC71003210968160ECD91752B05A806C388CDEB9FF
+ 2458AE6CC6794C0BB0190EF2C5DC2B59700B225AAEE00CA6F63455B025478F9F
+ C1B4402F740256C341F4BCEBF9283EC0E67264FAF4E9B39816E8067563351CC4
+ 5F70AB046E0121C341F8E2F973981668FBB761351C8417DDAD045B00323CBA0D
+ 7710954629327CFBF997E1F6B58B981668FA346235FCFFBF3F0C8BEFD7321486
+ C8337CFFF50FAB8B41EC9FBF11620F6F5DC2B440C3B306ABE120FE92474D0C19
+ 7EB244190E62BFB87F19D302559712B8E1E8F4F2E75D0C495ED260030AA6DCC4
+ 1944715E32608BDE3DBE8A6981B45E00C3B34B9BB06A3C24798F21C64D8AA0CB
+ 416C503C7D7C8A6901B8CABC7001BBCB3E7B3E6008739220CA7010C0B00057A5
+ 0F03DD2B1FFC0FB013673874F43403B180640B90CB18620100261ED9D6E5FCF2
+ FA0000000049454E44AE426082}
+ Name = 'PngImage6'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000037C4944415478DA
+ B595DF4F5B6518C73F2DFD4191B66C6C4E8512618376DD28B485B1C126D90F36
+ 8D1B1726264B76B53BAF3431DE99F80F18BDD1449399254B644E1747743ADD94
+ 48169C428131268366832D631BC838FC687B0A057AEA7B0EB692B562417D9393
+ 9C93F33EDFCFFB7D9EE73C47974824F83F976E25A0E59BCE75D1DEFBF00CD72F
+ 7FA4CB0A70E268DD9AC4450C454F17F2E63BEF6784FC2780EAEDCFF3580A6784
+ FC2B403CAE70EEBB007BFD4E22D15846C8BA01AA783C9EE0FC956E0EECDEC1C2
+ E2524648D680E1FB9374760E119A95B1D99FA2AECEC5739BED5C68EBD58AFCE4
+ CA1A1096635CBC14D084B7941761CECB25321D66EAFE440A343032811C959124
+ 498B39DDF275760055BCE5B3761C9E321CDB1D42DC844EA7435114E6E57946FB
+ 4778187C44D3613F66B3414BDBC5B6AEEC0167CF77905FBC096F4D3936430EF7
+ C2301E5D7E67B5409E3EC648D720F353111A1ADC28A226DFB607B203A839FFE1
+ 4A0FF5C71B291169B1EBE14E086E882C0813E488E70D3630CA53F48B4EF2EE72
+ 512852F6FDD5EEEC00EAE973375AA93C50C55C04CC0A8C89D3CB4B5060165D24
+ C242E2DE4A98B1BE2114D1413E7F053FFEDC9B1DE0E34F2E535A5341597529C3
+ 63301703530E3C9B07361308034C2E08A09009DD1A606CE801FB1AABF8E9D7BE
+ 7F06A8C5FAFCC235AC22FFAE3D2E46C661711136E5C266711905A8C0080BC255
+ 707A9E4737832CCE84D95959C6D540FFEA80E32FD56A1FD0E8F8B45683FD279B
+ 90643D2191A62DA2B076215C201C6C109738070392CC2F5F75E0F26CC5969FCB
+ B59EDF5607BC7AB84673B0245A51EDFF925D4E0A859389591D46B1F519E1C022
+ F2633588B489E79B771E70B73B48B5AF428B09DC185C1DF0CA419FB651854833
+ B2E6C2DFBC1BEB461BB373A20E8A0EBB69B9931E4F4DD37BA90B5FA59D2F4F9F
+ E575DF755AF3DE5E1DD0BCBFFACF39B3EC22223EB6E488F01CF163C9B7109989
+ 30D0D6A7C544676EE1609CA6E2DB58BC47986CFF9463AD957F0F78F9054F4A3C
+ 098A2B097E17436C38389A9A455B9D0E0C7A3D5F7CF02E45917BD497C6707B8C
+ E4541DD320C5AF756406BCD8B0334D3C39399F0427EF4FBD518FD751AB419C6E
+ 03267F730A920638B4C7BD26F1E4BE336FED4B41563A490334D63AB52075AEA8
+ 814BF1BF84944422A37872AD846C739B18948CE980BDBE726D22AE77F59C3A99
+ 829C934AD201997E1E6B5D55D1560A771C659BC7CB1F1C73BA92B5793DE80000
+ 000049454E44AE426082}
+ Name = 'PngImage7'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000B3A00000B3A01647F570D000002724944415478DA
+ 63FCFFFF3F032D01235D2C606464C42AB978D3F10C0E76EEE9E4181CEAAE0731
+ 1B9F05AB775E3A1DE2A66B822E0EF2F3BF7FFF19FEFEFB8742FF03D217AE3F67
+ E89DB19261F3BC2AFC16C05C0FB480E1E0E97B0CAFDF7FC5E95A51416E067D0D
+ 49B02513E6AC66D0D3353A03F481295E0B40AEB73751341115E2818BFDFB0F72
+ 2DC4A5A82E87E0CBB75E3014D6F6309CDF391D6C204E0B905D4FACE120B9C9F3
+ D6C05D8FD70264D713133C5A2AE20CD7EEBC44713D4E0BD05D4F8CCB4172A965
+ 5318FC3C6C18EEDDBDCEC0C6C6CEA0A363C400348311C30264D7136BF88D7BAF
+ C129C7232C99C152959B61FDFA350C17AE3D63D834B712AB05FF41AE07197EF8
+ CC7D82C1A3A620C2905E3115C570297975866DDBF7A35A50DBB3E03F30821880
+ AE671012E0C69AC681086BFACFAE9ECED0589D07371C04502C689EB8E4FFEF3F
+ 7FC9C9B070C0CCCCC2202EA30C371C04E016D4F52EFCDF541C4FD0901FBFFE31
+ 7CFFFD1F4CFFF8FD8FE1CF5F18FB3FC3E68D88A0F1F27444F5013116A01B0EA6
+ A18683F0FE9DEBC0110B321C2388401650143EB060E2E063E0E6E165E0E1E621
+ DE07845CFE1D2A7EE1C82686EF7F9818787878C0961C3A749AB005840C5FF4D5
+ 8E61C1850B0C4BB5DE30DC38B585E10D304973F3F2822D397BEE067E0B8871B9
+ F76901B0DAB9AAAF181E9CDFC670FFD173065E5E3EB025376F3DC16D01B1C1E2
+ 9D21C43083D59481B5790BC38B2BDB192E5EB9C1C0C7C7CFF0F1CB7FD4FA0066
+ 0138D9C10C40321C268E6C3848FC75B127D841300B4E9FBBC8C0CA210A361C24
+ 8E62415D411CC3EC95BBC94E41CF9F3F07275398E12816C08A0A4A92A8B28621
+ 43828F3E4AB90FB7809600004F6ECDEFF6DCFB3B0000000049454E44AE426082}
+ Name = 'PngImage8'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000B3A00000B3A01647F570D000002954944415478DA
+ B5955F6852511CC7BF3E9882694B723D6450D4A21ED61FB3879EEA295CABA058
+ D1CB6A23A315C2A441AC4123368A82FE5011066D63D1ECAF6058291643AC8D60
+ 966EB5FE3E64D4966B7B1841B1997A4FF75CF14E773DFE1978E070EE3D1E3F9F
+ EF399C9FCA082190C964284523F73A88AC54020A8F9E3323A7E0B6EB558352A1
+ B2150BAF991C00852B0779742EC143EFDB40CDB64AA3241DDF398EC066F74ABE
+ 6399372AC2E93B53904ACF0BE00F7CC5C4E45FC99AB15FA3B054AD07ECE781C6
+ CB4084876FD743D1DC01D97E736E014DBFC5B8DCA8D3CE17E7387E6D824FCE71
+ 9CB083CE07BD387CA94AF84CE1FC88E8EE3550D45961F04411F2DAD882F4F42C
+ 78821FBB1D3E58E2EF10BD7A425CA7708FC0507F26B7203D3DEB78C423DABA12
+ 38DD8868D02D1C0DF6D4C2B0D3CA16CC4E9F2D3927BC13F43CF2C3526B02EE5E
+ 037E8401F34940AB83C1740C2DC78F0AB74922484F9F0B4EFB1DD70B74D95D59
+ 7717ACDF88AC75C00B084D4FE12F5F8799C7439B6EA10AAB962DC291E6EB30ED
+ 3B84CD152A389D0EB4E9E3D23A3875A19BACAD34804F0F6D994A4C3B939A8EC8
+ 987378FA9975B0D770168FBB5A9282F62B3D24164FA0D8565EBE985907BB9E8D
+ CF085A2FDE226D4D07F302A7FF71988A11619C8E7178EAF531EB40BF64697182
+ D9703AF6FAFCCC3A90088A3E9FD41131EAA0E01D644B9E7C267833D0C7AC8382
+ 04B9E0B4BF0FF533EB20AF201F7C8A7FAE0E94096B3B2BC6F12DE446F87B046A
+ B5062AB51A9FBF8CB00585C0E97C75831637E49B206F7F82B1610F86863F41A3
+ 5980DF7F8800A7AC0C413C91064883A7E6D3E1747EA2297945538240700872A5
+ 4E8467085AAD0770F3FEF3B95C26A14522110C7EF899011705A99F8A39D3F9B6
+ 62F506D4ED5827F9E71204A56CFF01E5E2820611E3A8010000000049454E44AE
+ 426082}
+ Name = 'PngImage9'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000029E4944415478DA
+ 63FCFFFF3F032D0123B2054BB79C24CBB6DE290B19CEEF9CCE882C063317C382
+ 681F73920C07EA619016136628AAEB43B184AA1618682A30BC7EFB19C512AA58
+ F0F7EF3F8615DB4F33D818AB337CF9F613C5128A2D0019FEF7EF7F86D5BBCE30
+ 38596833FCFAFD07C592733BA6319265C1FF7FFF19FE02F11FA00520F6BABDE7
+ C0918C0E48B2E0D687070C53AF4E62B8F0F6020348B59BB41F43A1661603EF12
+ 0E8637E15F188E9C7FC0F0F5DB5786B76FDF82D5CF5BBA89780BE6DC58C0B0FD
+ D9620C4B4F3FBFCFF0E4EB038697219FC0C1F5E7DF3F30BD79EF29E22D38FDEA
+ 0283F906230CC303551CC1F4FA3BFB199E057E801BFE0F18275B0F9C26DE0287
+ CD4E0C879E1F6028D56B606834AC021B62BEC582415D44106EC123FF7770C341
+ 71B3E3D019E22C38F5F20283FB7627860D6EFB18CC8575A0A9E61F83D5762B14
+ 0BEEFBBC811B0E8AF83D47CF116741FED12206676064BA49DAC00D1758CE8511
+ 5C773D5FC30D07A9D97FE202610B400A6BCEB430D4E95532FC03CA234722321B
+ E6F2B92FA631C408A581C50E9DBE84DF82084F5370068219C4BF9413C3D5F7BC
+ DFC033DAD467ED60B164E112B0FA6367AFE0B720D4CD04C595422BB8E1A9E6E6
+ 9BF70C5BACF7C00D7FCEFE942160971343B16E1D83277B3058CFE98BD7F15B10
+ E46C84121CA2AB79512CD868B10B6CF8DC97D319BA2F3530D8493A30F42A2E84
+ EB3977E5267E0BFC1C0D50C25A722D3FDC0274004A454DC67D0CAEAC81703D17
+ AFDFC66F81B79D1E4A10C96C106490E15600E75A74806E3828C2AFDCBC83DF02
+ 0F6B1D942092DF2CCC70DBE315C3F2D74B18763DDDC400D265206CC020CA2187
+ 61380810B4C0C5520B45132C4271255564C389B2C0DE541D258DC33210580C4B
+ 9E40369C280B6C8C54C125222500AF05D82A0F7200CC0200F191E9EFB5062090
+ 0000000049454E44AE426082}
+ Name = 'PngImage10'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300004E2000004E2001167D99DE0000035A4944415478DA
+ ED954D4C134114C7DFEC6E0B420B085A6A040DD88A45C0C4602D4A2D281F5589
+ F1AB6AA2094A4C5502DC34F160EAD11BF1E4498D462F1A43FC408BA052C11435
+ F8890AA222A2601B6B2D94B26DB73BEEB4168B16E1E2C1C4974C7627F37BFFFF
+ CB9B995D843186BF19E8BFC1940653012693897AF9CEAEA5696825732FE72B6B
+ 3877F2B6F01A982A77435595F48F0646A351E4E3E3342CE7BDFBD1F6F1E7024D
+ 957CE6BCED6FCC66EF6485D71D3DDE617FDFAD9ECC00E96B6BC5727FAC9A65DD
+ 41718EF795A6CBE6F9699A6925738F67ACE091A5A5235AB2C1502DA1E3F108E1
+ A219A0CA4A530C15CFE68F7986DB0814F0072AAC2DD71BC9A276FDA69D98E7CE
+ 7198DFDC616E6C8866A0D6EB13C448E48AB6078278A5209E22888F05C531E075
+ F76E5CBB11660B4AD716D30C732BC0F37A6B5363535403B56090F2BB01D209E2
+ 4AA96C99DB1D6A0BE251455BD395C6C8E4253A5D929491248F70CCD7A796CBDF
+ A219E495EE8A4F605CEE09060683412C92CED6F03CB64C26FE830F9F6B4A187C
+ D41D144EDECAFBF7D50889AC41039D4EC7C83354050850B0721FEB392441D892
+ 1827C62C93E892393F7F3863B1F822049142A110CB6473553C254AA431041806
+ 80E3001266A7D8ED036FFA3A3333F94237CB1103B4AD72DF0A0A51EDD18AE91F
+ EA3F2191CCBADA7CE9ECCD88EA614B556DC9E0A7B71BE7CF997FE0579E773B2E
+ 386C0EAB5CA962D1DE9A835AD273B25873B41E66C602385900DB28C0C008C0F3
+ 0127F49C3282D3ED2F7FD16626170C6FDB53534CE140F39FF8A10FB6D573E6A5
+ DE463B761FC061F17C39C0A03B34C209244892F9702924C5607DD6E2A501719C
+ A4793A7C863203D05C450ED6166AE1C8B17A9821F4718C9B5811097A580CC7AA
+ F38070E1980E1FDC2C7966567ED1AAD50F4945E1707943C3EE9998402A229196
+ 9A06D3E159AF6719D2EB6B63B20A942D19E5C6C2746908F0064209E449E0272E
+ 1BBC3D5F37D865BD6BCCC9CDE5E4694AB3667F3D4CC5B73E7EB020784CD76EDC
+ BE70C4EBE9D96ABA0831B470DC9CE2F1EA084CFAF9CDE95C33EAF8D49E9D9D0D
+ 0AC5224D5C72AA85984CC6B37E9FCAD1FFBA7BFCA269CACA14CB57569CEEEC68
+ 2EECEBED1B4F50E6A8067BBA7B770F753F89FC4453E5DB77AE1A1D1EBE13C986
+ F9AE675D455FDEBDEA0DEEC1BFFF47FBE70DBE03EC16D6DE8FAAF1BC00000000
+ 49454E44AE426082}
+ Name = 'PngImage11'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000003784944415478DA
+ B5566B48544114FE362D31A3C78F104C7B50145A902FECE15299D12668ADBA61
+ AE925AA405811585F4A31745FD308A0A42DB5EBBE96E56AE9AAF30CD2CC5C79A
+ BB998FCCEDA5640F15823233DC7B9BB9EBBDEEB65BAD5207863967E6CCF7CD39
+ 6766EE15B12C8BFF29224AA0CCAF89237DD63F051689E21323C5D91CC1F5BC6A
+ 96186302A0EB68EC0CC3C2C430309918B34E7A2AF2DD2751A23A21B22210F965
+ 9A17EB5304DD9ECD34256382FF25C11EA84D82DB8A6B9CDEFF301E771FE8A0D4
+ 94E0E1ED745B020A36F69DD39EC5F4552A7CAA88437155A37D02478421FE96E0
+ E6366293C610FD5E75D3F822A0E096B9363116E0C4765FA74677690CCA6B0D63
+ 23287EDC850B375BF0A4AD177D9FBF63DA94499086CCC1B15D0198E2EA2C44E1
+ 21D1E04DF16654D6373B4E702CF3098E663422FFAC049215B35050F5165BD22A
+ B8B9D0200FA84FAE11A2F00ACBC1CB42191EE99E395E03D76597F1FD8709BB36
+ FB207DEF320E689A58C9CD393B89D0551243C6F81A985357D3D4EA5804F47424
+ 1DA982BAD488C329FE48952FC6FDDA77901D28177C68CE79F0F91177D09E2B45
+ DDD3F6BF13F005A5EDC730C3919C57B7C063E6645434F40804AF8B64233B67B1
+ 28528B67B736A2B1A5E3F704F412D1313EDCEE8F0388492B87FE793FC2C45E50
+ 1C0A86A7E4A64060BC1B2D6CC447560083261CFAF64E5B82046930B7800233FC
+ 1927FADAE462E85A7BB9B9B6DC284C759B08CF0D390241475EA4E0CBF7CD1D46
+ FB04F4FA0F356CB75AE0BE2E1B43A4C854CA2E4AA02A3222ABE4A54060D044C0
+ 89149BFAFAC616A1E146185A3B5FD912C46F5C8989810A7C23EF8AC9E22229B4
+ 1D38AED07360625F77246E5A0065A111F7EB7AE03C4184D80DF3B047EE8D3A6F
+ 4F81D4455B694B200F5F0E97A02BF85293387A4B99D14233BF1C45ABB490A65B
+ 321B29CA73C84C48B54F10131664B573BB4056F3E6776778C447BF74EE9F09A2
+ D707622AB9407D95F1E6428F000D5B00FFFA06D5FB8CA685CA8E3307A1D877CA
+ 6A4C2090860660C66A1537D853160B8FF51AC1E9457E14164AB582AD5787C34F
+ 5E840CC34E6ED7ECE057B0FD1FC0F4BD0778BDD380EB060B8288103F3B69F8F3
+ EB49D36229DBB78A7145556D3F024A5058A973E89B604F86A242B02D7C01AE92
+ 636C5303FAD1CFD196667D1B1C1A3741EC9DD348F40597168D6C3F92E2A4A31F
+ 7DF207306E605E3200E1FF6727C90CAFFF0482645308AD8246DC000000004945
+ 4E44AE426082}
+ Name = 'PngImage12'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000E9C00000E9C01079453DD000003DC4944415478DA
+ BD947F4C1B6518C79F7BEF8EFBD56BAFC7951F33BA75E9822B88520C88D92C93
+ 05C410CA70986D3261B1DB3F261B24D3F92331F2A799C6B0F96B666668165D88
+ 12E7FE598CC14C639C43D0988D41B69974DD5A680B584A5B68EFFA7AAD81306C
+ 8D0BE2935CEE9E7B9FE7FB79DEF779DF97C018C35A1AF1BF020882C81978E004
+ A6EB6BA106236D0B42E4BD080045E3AA8A35ECA3587A607709717531F60ECD7F
+ 0378FFDBF806A9807E2734956898F027A94844054D03C86310701C02AB950B47
+ E3DA075D4EEEA5BB069CB898DCC671D03F3E1655BCDE0548A520F3A4D332DFFA
+ 9BA208D8B2D5047351B5EB48BDD09B13F0E27B41E7A580E5870B3D849AF64F5F
+ 49BA522AEE1B198E48B11806DE40416C4EBDA380A9192D03E278048D0DE61BDE
+ 49B2FAE5ED309515B0AFD7838D14FFEE3C6DE9AEAD559B6211AD7F642842A91A
+ B1243E3D1D85D999202416E2C08B0A30BC5907109999382A045C5E2674B6DAE0
+ 93AC8096377EC7452C8F79237DB6AC5CAC1BBA14165329B4243EE10B82DF3B06
+ 34237E93C2DA607C36F4B849595F67B26C22B03E0B399F82E626F9B3A76CB027
+ 27A0D0600235F9D7325034B5241E0C84E1E6F591A02E7870F058D599F4F87AE7
+ 295654882F8B37D434D08CA4C7226869967F7CA6143D9A1320911C305C5EC65F
+ 140F8713E0B9368C3535F5E4D069D7F9E53DB0EF38D526291BFB8DCAFD603090
+ B0C3257DB7A79474660534BF12C0884A81C9844056988C7824A24168D283FDDE
+ AB472F7FD17164E52EB3B77D7C1FCF291EB9F8613D8F84D656F3B95D25A83927
+ E076488375051498440C825E5178568399D0ED9F3DD7475CE35FB97D2B01B627
+ 3EB218154B405E570D160B05AD2D52DF4E1BDA97133039A3427AD714EA0D33EA
+ 907455A169350E40BA075EB37CBA12B0A9ADEF1E91C9BF251557C1462B03CEAD
+ E25BED65E8705640E5013F9E5767F553A4014AA9A07700B4E43CA49271482EC4
+ E7584172FD76A66E7039A0F2D9F35588CCFB49904BC1F1100F763B77F0390779
+ 3C2BA0F11830E274805EF4037F3BD731F5428F757EF91FC7DEAFBB04B3ED6D82
+ 12A0A9D1A4996554ED76D0C35901FF74D965B347BA6F725AD8F73D27592BD3B9
+ 9DED66DF956B0B9547DB8489FF0450D171712F6750FA106D440F3EC0E9CBC39C
+ 7CBE266FFF5DDFA6D9CCDE71B98867F02F2C5F50C43024EC6C312646C763F6E3
+ 9DD28D5503CADB7F1568160D7086C27A8AD42FB97A51CDB75087DD0EAA373DBE
+ 6A40C5FEB10F395674CB324B6C731A4010D09B7E0FF56ACFD34462D580C70E85
+ 369BCC7874730987CB4AD9D1C980FAFA0BDBD9CF97C7AC0AE03C3423EDDA2D9C
+ 5414FADCAD089CEDAE20FE58199313B016B6E6803F0192C0D6E065D4DD9D0000
+ 000049454E44AE426082}
+ Name = 'PngImage13'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A0000053A4944415478DA
+ AD956B50546518C79F73CE2ECB5ED9B3ECB22C48800A02CA45101BBCA005D9D4
+ 4C17758C6FD57899FAE0D4871AB3CC6B5FD2748CA91877600AB3A949CA4427E3
+ A65C1409729565B92CEEB2807B935DD80BECB2B773F6F4420A5841493D33E7D3
+ 7BDEDFEF39FFF799F760F058C5601F2BAB443E079B0C077DF250304086432117
+ CDC6AD3EA77FACAC6CAF77EAA5B93BB07F8B3EFD55A37872CC95C7E5725E6671
+ 584F4570D871188E7182815068D2E3354E38DC17273C8E2B9DC33A4D735599E7
+ B10495E76FC63B6CCED7F8A4708F58267A429620C5C4B1628C601310F006C06E
+ 1A656CF7ECA151B3ADDB366256EA07BB2EFEF4CD19FBF427FF13FCA4F29214A3
+ 88BD9218F2CDB4DCA531B1F1122C40B0C11B02A0C37F74C822502A011F63EA37
+ 33BACEBB8377BBD5A75B9B7EF956A3B9E15C50B063C77922AF20622B29979CC8
+ 29484D4C7F428647E038DCF703BC70E826681A34F0F9B15720398F0452C0000F
+ 0FC1B0C640AB9A3ABA55ED8DEFFD5C5D797541C1A7E5D5F2E024766C59CEB29D
+ F96B5388380E0BC351CFEE2040E187B3024516096C1680044958FE71467D4D1D
+ AAABAE52B65D6F38BAA0E0E8890B05B21871E5AAC28C94D8043926A601F80480
+ 651260DB47B382F47C12BC14008ED6A2793458D4FDE196CBB53D576BBE7B635E
+ C1543C2B32A8ED4B33932A5617670929161F761EB9396F330F6519EB49A06C56
+ 4655D3EA3A5B7162DF0282C3112969A9AFA7E7A794E61467478E072360FD66E5
+ CC7A6671E634746E4D0956AD2301BC4EE8ACFDD5AF2C3DF2C9BC824D9B0EB30A
+ 3624EF589EBDBC3CB7389B1F2004A06A76CEAC2B5BFA66BA9E5B1B3693601DB6
+ 30B7EB5B3D155F1C2B5DF00C0E1CAE2C8C8E8B399BFB744EA2302E16333B3020
+ D08E680EC09EE3B367B0BD98041A4D2A9A5AF08469E8EAE8635A2E5D19BCF07D
+ D9A90505EF1CA84814F1F92757ADCFDC96929F8A8F4DA2F9F7014421C1C62DCA
+ 9958B622C154518866754E80A6454D55559EA96F69AA3E3EAF40B57FCB726D50
+ C0D2466DD9268D4F7C376B6396589A28C7EC1E0218344D7DEDB371BD84040CC6
+ 80C31F64746A1DEABECE5873F9EBB33A9DFAB3BF15B41F78A690C7659A3D9152
+ D044AE8500AE08B1F83266C593692C91428A071836BA0470E0A2B1E4A10747E1
+ 38C6BD8C65C014EEBCFE9BA3B1EEC7DAB6EB57CA298A6AFB8BA0637FF18B3C11
+ 5D91B03A534684ECA0712583C61D0316271EE408E4DEA495295162B904E39242
+ 60B1D998DFE367D04507F6210BD577476DBD73BBF9467B5BED799FC7D38470EE
+ 47041D1F146D1788C22715B9EB92843C0A5CDA4EE8B708A163221E8C7E4269F3
+ B0FB2339FC2269AC224D1EAF904444B2591E97276C1A1A720E1B740383035DB7
+ 7A7B54F5341DB88D702E987BD94D752E10D3A58ABC8D4922AE7F1A6E30B2C130
+ 26048DD50A23E38EE7CBEB354D19196B93A3158A748C2696D1B43F0AC5002EF7
+ 98C334ACEFF47ADD030835821EDF432EF630733E9FFA217ECD3A998817828981
+ 2ED0E93130B824A0350D41B7590F6E7FF0B9BA2E67CD833DE8E6017410403CE0
+ 4C4D68706A90E0CF3F1CD5C1E2A24801D1B0243707F85C149AF60E188609E877
+ 4483D6A8875E8BDEE5F4516F35F6B8CEC1220AEB39FE2CB3247B25F0055C14CB
+ 2D1834B2C0E010836678007AAD7ABBCB1B3C78AD775CB918F8B4A0FE5409B366
+ 752A50860E1832A1CC4705A0351B416DEC7721F8FBD7FAC6CF2C163E2D38B4EF
+ 6D2647781F12682F82F3A0CF6C821EF3008C7A03AF2E36964704BB77EF629688
+ F9407A6CE01CB987E006704FFA76D575BBBFFCAFF06941494949915020688811
+ F1E15E4F2BD82CFA5D63DDEE732A80D0FF21F81D69327688E78891A000000000
+ 49454E44AE426082}
+ Name = 'PngImage14'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A000005234944415478DA
+ AD956B4C53671880DF7329BD9CB6B4A5174A454005112F205E16DCD46C3097ED
+ C7B2690CFFB665BAE80FB3FDD8E2DC8C739AFD984EE3C8326203D9702E5B069B
+ 139D8E9B82283299454AB9147B81DA9BB4D00BB4F476DAB3AF80896E02D3ED24
+ 5F4E4ECEF99EE7FDDEEF7DBF83C1135D0CF6B9BA4E18F2B0C4896848118B46C4
+ 8958CC1767E1CE90373C5E59B92F98FCE8E119D8BF459FFAB6553435EE5BC7E5
+ B25F23D9E4F3296C56068663EC6824169B0A04AD931EFFF9C980E7728FC5A0BB
+ 5657197822414DED4D95C7E57D93120BDE11C9848B6599524C942EC208160191
+ 6004DCB631C675CF1D1BB3BBFA5CA376B571B8F7FCAFDF9F764F2F7921F809F5
+ 05294613FB2472F1DEFCE225F27495048B102C08C600E2899908490265251262
+ 6C4376C6D07377F86E9FF65447DBEF3FE87437BCF30A76EEAC25D695A4BC2E56
+ 488E1795E465AD582CC353701CEE870106BD00D1F84C0E481C40CC678087C7C0
+ A233C7356D5D7D9A5BAD1F5EAAAFB932AFE0CBAA7A45740A3BBAB468E9DB1B36
+ E612196C12C311D11F05E81E07F044101F9B192C12408224647882D15ED5C69A
+ EAEBD49DD75B8ECC2B3872FC5C894C2EAA59B5A520373D53818950C41401E098
+ 0218F2CD940B8F35B38A200D80A37769BC3838B44389F68B8DFD571A7EDC33A7
+ 20999EE505F48E25ABB3ABD796AD11D024056EEFC2BBC6E502D02E27A369E8F0
+ 9DA93EBE7F1EC1E194DCFCBCB7566CC8AD282A2BE44C445360EF6737E704EB5A
+ 7470E9B73D4071D043D00B3D8D7F84D5159F7E31A760EBD6C364C973393B9715
+ 2EAB2A2E2BA422041F4AB6AAE78D3E295009019C1607D3DDDC11A8FEFA68C5BC
+ 0B3E78B8664B5A86FC4CF10B4559828C74ECBE77E1B6C9498D436FD720D37EE1
+ F2F0B99F2A4FCE3BE3FD83D559428A3AB1EAD9D5DB7337E4E1E353A8FE4300A9
+ 6C00394A059B98ED83590A8DEE4EEF24E8DAB5745DCDE9E6F6B6FA63730A3407
+ B62DD347F9A43E75DB76A92AEB83359BD788A4590ACC1D208041D5244896650A
+ 2A4FD4033896DC7C063CE12863D01A50F44DD6868BDF9D3118B45F3D5670EBE0
+ 8B5B785CE65A8023051D67234470658CA464CCF267F249A1528A4718549B0C0E
+ 5CB4021E1A3824C03311641C265BA2E7FA9F9ED6A65F1A3BAF5FAEA269BAF31F
+ 82AE0365AFF284F1EACCB5AB6544CC0D3A5F0EE8FC727078F1289BAF0866AFCC
+ 4D15292418572C0092C5C2C28130830E3A708F38E8C13B5AE79DEE6B376E7536
+ D68602813684F33F22E8FAB874075F9838A12CDE942DE0D1E0D3F7C09043005D
+ 932AB08609B52BC01AE2B0A95269BA325FA1524A52382C32E00B246C23235E8B
+ D9601A36F5DE1EE8D734C7E3916E8443ADF850DB2423E78BE215CA759BB385DC
+ F034DC6C6581795C003AA71346273CAF5435EBDA0A0A36E6A429952BB038B134
+ 1E0FA7A23480CF3FEEB1598C3DC1A0DF8450A368841E70B10739A728FA67D5FA
+ 4D32212F0693A65E30183130FB24A0B78D409FDD08FE70F4E5A65E6FC3EC1CB4
+ C5903C2488590E3A57219A2C24F8FB0F4773A8AC94C3275A1615170185DADCAF
+ BF03660B01439E34D05B8D30E030FABC21FADDD67EDFD9059BE03117D67FEC25
+ 6651E14AA0F85C9496DB306C25C1EC1181CE628201A7D1ED0B460F5D1D98503F
+ 0D7C5AD07CB29C59BF360F6873178CD850CEC7F8A0B75B416B1DF221F8475707
+ 274E3F2D7C5AF0C9FEF79822C17DC88C07119C0783761BF4DB4D30168CBCF1B4
+ 697944B07BF72E6691880271C005DED17B086E06FF546857539FFF9BFF0A9F16
+ 949797970AF8FC16B990827BFD1DE07218778DF7F9CF6A0062FF87E02F9F6855
+ 88E7298D620000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A000005A34944415478DA
+ 8D960B50546514C7CFBDFB625958DC455049C8074A3C44B490C67C8C5A098A8E
+ 8E61A0E68C363A4C884C5A3E7240D1F1C13496A58E634FCD0AABC9416DB29C18
+ D9626C542052234904158170A10576F7DEBBDF7D75BEBB0B3E82F49BF9CF7767
+ F7DCFFEF7CCF731918B8E950C1283B6AB8D96C8C62F5AC4994149EF0A4197F6B
+ 4575A13894D29F81AAAAC00C601EA6D3416A5090F9F9509B65AA2D3C74C490E8
+ C121C19620D6E316E4F616678FCBD973C3E5723B445E2CC7F81A94F7710034EB
+ B17ABD7E516C42744E424AECA8F8F1234D23C63CC10C8D8900539001BC5E1E5A
+ 6EFD0DF57537D53F6A1BF9FADAC66B6D8D1DC7144529C3776F51DF8100D43CCD
+ 1E11B626754A52C69CACA9831252464358B815581DA305CB8A028AAA804F26E0
+ 1638686DBBAB5EB9F417549EAA71D6573595096E72103DAEF442EE07B0A8F1B6
+ 48EB96CC97A6A72F58362B3866F43046A763FBD2A1C6C5F90ED8F8EEB3C0893C
+ 78509C28809BF74243FD6DF5E7D2AA9ECB3F5DFF9678C91E0C6FF0FBDF034418
+ 0CBA4DF397CE5CBD7CCD7C4B544C24A36391C930BDB940D19A735AE0EB7B9F06
+ 0FE1347935103EFB38B8D3D0AE3A3EAD72D59737BD8361FB513DBD0093C1C02E
+ 9B38257157DE9625914F258F445F06588645E1D46048515E399C2E3D08F372F2
+ 20B7244933778B5EF05210422888230234D5DC81F3876B9B3AEA5DEBD1F73402
+ 240A181E3ED476287BD5EC3959AFA6B366B34903E8581DF66C9F396D14B0724F
+ 3CB87D1E70138F96B936020471124E57B7176A8F5F93AE7F7FFB33C9236D4440
+ 07CE33A4C7A5C41ECDDF9A13999C1AA7654DB3A7806DF9157DE6BD80FE5AD4AA
+ 0EE071148244A0F9421B5C3DD2D0E469E65620C0C1982C86E21973D336BF5698
+ 6D1844774C20FB9D05950F98D31D24490A88921C90FF39B7E02DB0AF6C418080
+ 001F74B5F640DD478DA2EBF79E4259944B98109BE5544E6E46E6E2D5E98CDEA0
+ 031617F7ED75171ECB9C2A7F7D21985FB901BCE407705E011A4BEFA8CE739D47
+ 245E59C9D822C2AAF28AB3274E9FFB0C43E77EDF869AC736F71109DED85C0CCC
+ 92BAC0088876465ACF38D5B613CE5F658FFC1C631F32A8A660D7D209A93393B4
+ 1D7968F3953E407FA6D243CF9B0A77009F558D009F66EE9345E83CD705EDDF74
+ D6CA6E790263B5592A96AD9B37EDC5ECC98C04321045842FB7DE8413C7DE7FA4
+ 39ED0B8B77C13F0BCE6BD3A3017C22749C76A9DD673DD58AA0A432C1A1410766
+ 2C9A949BB576B60E8218201844213FEC76C1E71FEEFD5F73AAED3B4BA0655E05
+ F81040307BA18B40676997CAFF269C54457521C31AD8E58993461F78796346A8
+ 2DC61A18A61F72699F0A1FECDFDD6758F06651BFDBB431E34704F8DFE11A04E8
+ FECACD49B7E5125556B7D383161F1963FB62F6EA2929492FC4323E55BC079125
+ 683C6C85F7DEDEAE01E8822AD957B5E9E051DAB468BDDF5CC445F73838953B2B
+ FCA276AB5BF01C545240A8C1ACDB903C2B6EFDF455A966A3DD0082ECD3168B42
+ 44EC5D47A361CF8E426D41DD8B2EF6ED169A756FE634195F1B016F19D72DD5C9
+ 5B41828F11E0E9BDECE22DB6A092B4A5E3D3C7A63FA9978D0AC35388F6B27F67
+ E8BF4ED602DB321D81D1899A4445F2F76E51E52A0442CAC5E340A010439BEFBF
+ 4D8DA8CCC1636D45E316C4260E993458279914C6171809096CBFF09393E166C6
+ 59CDD01730A72324682E54119138C845F52E6C432F074A7AB8E0846255586C1F
+ 655D1B3D6D5842449A5DCFD870573DB026FE7511E994507311FF6B2720541322
+ 568BD56A3BD0ABFA3B943050C9B4A266996C8615F6C4B099D6849060D3082303
+ 363CD1264583116AEA45E05DEC9B7C2AA9177BA4EBF2192CFD9FE0BB9528FE51
+ 45DF801AC31AD9857AAB3ED318AE8F3344E843749178EF5A8021DDA24ADA4549
+ 724A3DB24BF95375AB65B8A02703F5587A54D1EF6DF477FAC91285953A99D1C3
+ 38303276BC074D8A0CBC4A54271EFACBA8AB18D30EFE4F97FF340AF8172272E4
+ FE66E507F40000000049454E44AE426082}
+ Name = 'PngImage16'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A000005A14944415478DA
+ 8D960B50546514C7CFBD771FC0C2E22E026A8A2F140145B490C65047AC0445D3
+ F111A463A38DE608CA949A1A83864C2AD5E8543A4D33659AD360E3E8A036D958
+ 069B943D80C8576E12A8BCC28559D8C7DDBBDF7D75BECB2EBE60F49BF9CFBD77
+ F7DCFFEF7CE77B5D06066E1C2A0C65450D0F0D350C6375AC5194141FF19166FC
+ AD0DD58DE2514A7F06AAAA0233807924C7415A4848E8F31116D30C4B54C4A8D8
+ 1183C3C34C21ACC72DC81DAD0E97D3E1FAD7E974DB449F7801E3EB50DE2701D0
+ ACC7EB74BA25F14923F29252E3C7244E1E6D1C35EE2966485C341843F4E0F5FA
+ A0F5F67F60BF7E4BBD56DFE8B3D737DE686FEC3CA6284A05BE7B9BFA0E04A0E6
+ E9D6E8C882B48C89D9F396CD1894943A1622A3CCC0728C162C2B0A28AA027E99
+ 805BE0A1ADFDAE7AE58F7FA0FA4C9DC35ED35421B8C921F4B81284DC0F605193
+ 2D31E6A29CA5B3B216AD9C1316377628C3716C5F3AD4B864A30DB61D781678D1
+ 071E142F0AE0F679A1C17E47FDA9BCC675F9879B278997ECC3F0865EFF7B8068
+ BD9EDBBE7045E6BA55050B4DC3E262188E4526C30473D12EBB0A2AB5E0B57B13
+ C14378F06A201E3C7E1E5A1A3A54DB17354EFB85A6FD18F231CA150418F57A76
+ E5D48CE43DF945AFC44C48198DBE0CB00C8BC2D260888A5192224169810DCE96
+ 1F820579F9F0D2CE58F02284F68482782240535D0BFCF2697D53A7DDB9197DCF
+ 2240A280E151432C9FE4AE9D3B6FD96B596C68A85103702C87572C11CB8084CF
+ 7E4584F736546900DA2824638BB1B70708E2252C578F17EA8FDF906E7E7BE74B
+ C9236D434027D619B21252E38F6EDC9517939296A0654DB32F2DBCD8EFFCA500
+ 3AD892A4C0D2570B21219F0737027CD80B4122D0FC5B3B5C3DD2D0E469E65723
+ C0C6184DFA92D9F3D3776C28CED50FA2332690FDBB85D57DD9DEDF82E6A2246B
+ 5AF5FA56B0AE69458080003F74B7B9E0FA678DA2F32F57B12CCA654CB8C57426
+ 6F7D76CEF275598C4ECF01CBB25A0FCADEB8F408E061733170BFBEF06D80BC6B
+ 1A80F70AD058DEA23A2ABB8E483E650D63898EACC92FC99D3A6BFE338C36B808
+ A0A37F606BED038081CCA9FC44822D3B4AA07BF1AFDA1A693BE750DB4F392EC9
+ 1EF939C61A3BA8AE70CF8A29699913B5A9884B09449C31878BEC7D80FE4CA587
+ EEB7179742FB822A0488D055D90D1D27BAEA65B73C85315B4C552BDF5C30F3C5
+ DCE98C0432109C2DA22CC189DD2D1AE049CDDB722AB5ECFD7E113ACF3AD59EF3
+ 9E5A4550D298B0889083B3974C5BBF6CD35C0E421820184421DFED75C2A9631F
+ 3D91792BCD1CEB4F307BA19B405779B7EAFB5338AD8AEA6286D5B3AB92A78D3D
+ F8F2B6EC084B9CB9370BD4CFFB49BFD3F4C3F7773F98399AD3C1F54BBD89F10D
+ 02F47CEDE6A53B72992AABBBE9424B8C89B37C35775D46EAC417E219BF2AF641
+ 08968ABE4402CF3D4747C2077B77DDCB9C9605CD8580B98883EDB1F12A7F5EB8
+ A8F6A8453859AA2920421FCABD95322761F3ACB569A106AB1E04D9AF0D163515
+ E5205004B97C02EC2B2DD6CC5B727ED4B20E664E93F1B713F056F03DD27519B3
+ 80CF11E0096E7689264B4859FA8AC959E3B346EA6483C2F8E460B77BCD697DC3
+ 4E3EAD05DFCAFE5E7BA6A2334EBBBA4595AF1208B9201E0702C518D67CFF6E6A
+ 40E50C1E6FD93969517C72ECB4C19C6454187FA02724D083A8D3D3D1FCBC66E8
+ 0F98D31E1234176A88486CE477F52EBC835E3694F4F0811381A7C272EB18F3A6
+ 1133872645A75B758C0567D50363D23B2E222D093517F1BF0E02422D2162AD58
+ AB7600DDAABF4109031D9966D41CA345BFDA9A1C99694E0A0F338E323060C195
+ 6C543418A1A65E04DEC56B935F2576D125DD94CFE1D17F18DFAD46F91E77E8EB
+ 51E35803BB5867D6E518A27409FA685D381783FBAE0918D223AAA443942487E4
+ 929DCADFAA5BADC0013D1D388FA5C71DFAC1467FA79F2CC3F0A44E617430090C
+ 8C15B729A322834F25AA0317FD65D4558CE980DE4F97471A05FC0F622CD6FE88
+ 2F15D20000000049454E44AE426082}
+ Name = 'PngImage15'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000002814944415478DA
+ 63FCFFFF3F032D0123C8822F5C7FFED767DC625876E301458645692830B0B2FF
+ 67E8ECD06184391CCC282EBAF6DFC7478B21AA671BC3F36D5E040DFAF3E71FC3
+ EFBF7F19FEFDFB0F66FF01B275A20E32AC28E766F0F2F26250538B63387F7E3A
+ 235E0B3AD73F25CAD571D6BC60DA28E108C3A783A160365116E07339C4D540FC
+ 07C1364B3EC6D0E0AFCDF0EBD72F8679F3FA48B7009FE1206C957682A1CA5395
+ E1E7AFDF0C4B974CA65E10051AB28169FBACD30CC5CE0A401FFC6658BD6A06F1
+ 3E20E4F2DF50BE73DE59862C2B09A0057F18B66C9E4F9C05C41A0E4A45EE8517
+ 18524C44C03ED8B573097E0B40C9AF7BE333A282C8550D92DEBD4B2F31C4E9F1
+ 03E3E017C3C1FDAB705BF0748B2786EB103EC04CFF3039FF8A2B0CE11A9C601F
+ 1C3FBA1EB7050F37BAE3351C3DB8FE41732CC882402516B005674F6FC16E0138
+ BB032D2107C00C07E583CB1777E1B6E02FD07520853F7FFE82D0504DE86C506A
+ 8188C1F81039909A5BD7F763B7006678754D0159BE5056B303EB7FFCE038A605
+ 6E6EC05CF813E292D6B60A9002AC86FCFEF593E1F7CF9F0CBF8018C4CE2E3A0A
+ 16BF7DF30083AC822558FFCB6767302DB0B757807BB3BBA70E6C0137373758B3
+ 868605C3D9B37B310CFFF3FB17437EF969B805E252266033DEBFB9886981A5A5
+ 343C0C274D6A065B2025A5C42029A9C8A0AB6BCD307B563586E1BF81EA4B6A2F
+ C22D1014D107B3B15A606C2C0A8DC4DF0C336674802D303676061BAEA666C450
+ 90EB8461F81F20AE68BE4E9C053ABA02F0208216B70C09097560C385852519C2
+ 8395300C07D1B59D77095BC0C8C8C8505478F5BF82222B72718B35CC910DFF07
+ CC78F53D0F88B300040C0C32A8D202B87061066A9D4C4B40730B0038C31BFE85
+ 5838D40000000049454E44AE426082}
+ Name = 'PngImage17'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000026D4944415478DA
+ B5966D48535118C7FF138A455F84588C0A7A27AA1163CDB69168929851CB5806
+ 81D5878A7C29412428484264A85006814342E805112DE8436F94F43E74393775
+ ABC1552C87B5EA6286B7B01AB4BBD3CE8D0DC57976B7D9038773B8F79CDFEF9C
+ F33C17AE821082FF198AE982F607CE946C4DCD3731D8D5A2A063FFDA73E4C9FB
+ 469C8CB0E30A4AF61A928247D660F9D225A8BE7019366F0B0CD595C8186B43AB
+ 4D9024F322D06E5C8521F75D2CAB2A85E94026E010C00533D1CD09E99D4014C3
+ E87CE482F2A717D93B8A305AA381A97F4282D3484B40E1A248F0BAE33486825A
+ 188D464C0A5FF1A3AA002A9EC0C7837D457957C7124A6A958DD896AF4146C08D
+ 1B1E23D46A35789E87D56A452010483EC9244C20465A28B27B6767650CFEE5D7
+ 38BE8F7F46AF5026C1559BCDB1AA922D48040F0A1E145B57E06C7D2BAEB5DF4B
+ 4E20176E7778F0F0A54B9E205E0EA6DF793C38DDC463BB5BFE0992D97974DED3
+ 9E01798254E0B4745FF47A120BA2354EFB70E47D435D09FE902294177630E1B4
+ D95D6FD88243BBB324F8AEEB01E95959A8166F3F4E4137F509CEC515B0AC3922
+ C1D7D574CFC8CF95DC050885C370F4FBD88283057A69277432ED2FD51FC5999C
+ 85F03FE7E00F2A71E7C322D435DF8A9D303A2F3A767939B6C0B253175BD4D556
+ 0197E3154EE95663D0FF1B8E491EE50D7D73C2693FE01B660BF6E569638B8E9F
+ 3886D1110E2B5504872D7AE8CD179970DABCDC085BB027678B34B1F8F604BED9
+ CC385FBA1586FD4D33123F179C26DC37FC8E2D28DCAE99B5482E9C464241BE69
+ 53CA705982DCAC0DFFEA5F24B36A9C7E132CB82C41B66E3DEE3FEB433AC114D0
+ 3F84F988A8E02F75743575B8E251160000000049454E44AE426082}
+ Name = 'PngImage18'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300004E2000004E2001167D99DE000004124944415478DA
+ ED955F4C5B551CC77FF7DEFE61D0C204D7758139C15684752C1A565A47D7A983
+ 1664449D75337301A7D68D8CBD69F4C11463627858427C30DD8B3A0C8B0FBA10
+ 71B8F247470706A6996E93617173C060A56D645DD7526EDBDB7BBCE75E6F2D5A
+ 46E2E29BBFE4E49ED3F33DDFCFEFFCEE39B7044208FECB20FE07AC0A584DE070
+ 38C889EB011345C1101EC798786D77D747DF72DDE46A6B1B0F1E54DE1560B7DB
+ A57136DB4033B17373FEB9BF262872978F898D5C73B9622B257EB4ED83B1C0B4
+ 47BF1280B0B6B6CAD4892C3D4D477873868DD76C543D90A028C9101E47A34BC6
+ 1FDD83639916DB6C2D0A2A0785B12E1380686A72C8C91CBA72297A67188B9289
+ 64C3E8E0D7BD78D2F4F4B3FB11CB7431887D6ECCD5DB9D09A0B75A7365843494
+ E91D70E64D9C790167BEC49B2340F5DF9D397D46D41A6BEA9EA024926F922C6B
+ 1DEDEBEDCB08D07380827F02083367AE55AAB64522425908966818EEEBE94D5F
+ BCD56C5EAB9428F2C38CE4D625F797B733012A6A5ECAC9958422CB00369B4D26
+ 55AE33B02C72AF64FEA75E3CD724D7D88C6F903B79DBCF9FD7138474940798CD
+ 6689BAB8CC4800C1671EA7A36F2A08E4CECB96215A921752057D373ADDEE789A
+ 21A1D168642A5561194B4AF3280449890480610072D7150402B3D7A62E9494B0
+ D5119AC100E285A6D71F27097224533233F3334E85E2FEAF064E7DDA2F663F57
+ 21DC01DB867AE7A60D9B0EA7EBF3E6273EFB708DFF45DF758F90C9AB47DE30E1
+ 9AE3C191B60EB82F0B204803F8170166C3003FCF0661F2633B042309CB956117
+ BE60E83897EC6B4E07CC3BDF85503F9DD2FB16A2606F7F14C8DDCDFCDCE9CB1C
+ 605FF361249A57AA01BC11A189001C18E27ABB06D6CA91B574F3634959B66260
+ E709278890E91E9AD737BE550E64FD81947957DD6E200A353A64AA36C13BED1D
+ B086ABE312B37C0738A83B32686FA900AC1303EB87D5592988BAA41408CBBE94
+ F97B1A9D50226EA272E78E277FC03B102314135A20BA1C50AC2DE6C745EB8B40
+ D48F3F9805AF580BF9BEDF7B93374FF4B3BC9E8E45B711566BABBCD4A81D2CB6
+ D8AB372A05C3585200E02736BF18F2C36F278F7AC747CFD9755BB630EA22ADCB
+ 70A803B05E1EFE1D2C6D55BC398EEE636C4A3FF4D3F70FF1C7B4EE99BD0F8763
+ D1C9E71D9F839CE2DE605096DA0D16E3FADF0E069F5A5CB839525E5E0E1ACD23
+ 86ECFCF56EA3FD18B4BCBF19FC37A6F9CCF14E30A82AAA033A112F5B98F9D593
+ BA6886DA5A4DD5F6864F2E8C0D544F5D9D4A01B4BA32EFA4E76AF3BCE762FA27
+ 9AB4ECDDBFE340E897B37B923EE81CF0420F57B646EE0E8990A2CBC2255EF5FF
+ 60A548580BF7708F2FB0399344CD87003AF1EFDC1146E9907B01A0D1F1004CCC
+ 254E70E62FA7CFA543FE3560726B3E3A7BE916EE2A38C0E2DFE731A4A1E21E4A
+ 745CF86CE838F32B77D3FC01CF05F8A9B438C37F0000000049454E44AE426082}
+ Name = 'PngImage19'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000002F14944415478DA
+ D596494C135118C7FF25404B03B614098807C1A84823081421EC0112A322211E
+ B89078E064E2050F9A885E8C8683CB4D0D116334C881C42A1A448301458C0BC4
+ 22298A6C6915D9B1EDD0D26576674ADAD8141968C2C1974CBE37F3BDF9FDDEFB
+ 66DE64643CCF632B9B6CCB051B1DD8D972AB5E08E7098248FCD798D78983A109
+ 04F89C10128B8B098487B1E0680A2C4582A53DE07C71651EEFEC51988C49813A
+ 4EBD718100E7755A13E8DFA3502B59C8927282E134098E7481A11C3050F1988B
+ CB822A761B3C24B5BE4084E76698E1FC69C0AB4F6158B2F238532B03A9D606C0
+ 59CA03561070941B46670C4C09B9881104768713B2F61EE39ACF593EDB87C2AC
+ 092C7C1F42FF68246AEA4A414C0EA1456FC1C9232CC2637782659855B8001605
+ 2CE98191D4602C4E8748A502F61541F0A4DBC89FA8480F80BF7878DB0B9F1B31
+ E2DB8F0854D69678E1C3331A704E2B2CF356E469192855D1A0296A55E2718126
+ DD18B0A930AAC946A45A29AC60255820C2C5B258C73F63782A1EF21D3A6C978F
+ E1D70C8D283987FC4C0568B7036F7A1790B68B44B48201CFD26084076F5E64D0
+ 33AD06959A8E70B502B6657BA04084A7259B10661B449F51859A737AB01C07FD
+ DDCB48D698A04D910975A76018F64097AE80FEE957B4F79301AB4FCADD078536
+ 01B4503E1B610F5EC1E3E60B981E1FC4A9C6E75E38CB72E0381E2F5B2F41EE1A
+ 00870814E5A8B06C36E274338DB3D73A71B1F126BE7435F95F98F286725EA190
+ 83A2E84081085A85F201705FFFDED57AD41D73F8E177DA063031B51424F049BC
+ FBC0279082FB72F76F34A0F77D9717CE08D7CD33963505FE8D260AAACB0E6C08
+ FEF72444B8989B9AB7490B8E976A438233C2F9ECE2B2B4E068519AF7E607ADDD
+ FE447555019E757C58F733925F9881058B435A70B82075D333F746E1B0104E69
+ 4145DEDE90E062241C6E6941D9A13D5E50DBA3B7FE4455653E3A3A3FAE5BA283
+ D9FBE17091D28212DDEE4DCFDCD77793B4B4A030331986916984DA240557AE37
+ 850CF7B57F0AFEFBBF8A3FEEF0D2AAE4F624F60000000049454E44AE426082}
+ Name = 'PngImage20'
+ Background = clWindow
+ end>
+ end
+end
diff --git a/Source/Modulos/Informes base/Views/uEditorInformeBase.pas b/Source/Modulos/Informes base/Views/uEditorInformeBase.pas
new file mode 100644
index 0000000..2c67190
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uEditorInformeBase.pas
@@ -0,0 +1,246 @@
+unit uEditorInformeBase;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uEditorDBItem, DB, uDADataTable, JvAppStorage,
+ JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList,
+ PngImageList, StdActns, ActnList, ComCtrls, TBX, TB2Item, TB2Dock,
+ TB2Toolbar, ExtCtrls, JvExControls, JvComponent, JvNavigationPane,
+ uBizInformes, schInformesClient_Intf, uViewInformeBase, JvExComCtrls,
+ JvStatusBar, pngimage, TB2ExtItems, TBXExtItems, uDAInterfaces, cxControls,
+ cxContainer, cxEdit, cxLabel;
+
+type
+ IEditorInformeBase = interface(IEditorDBItem)
+ ['{E8DB0818-75F8-4575-A30E-25B6599A757F}']
+ function GetInforme: IBizInforme;
+ procedure SetInforme(const Value: IBizInforme);
+ property Informe: IBizInforme read GetInforme write SetInforme;
+ end;
+
+
+ TfEditorInformeBase = class(TfEditorDBItem, IEditorInformeBase)
+ actPropiedades: TAction;
+ TBXSeparatorItem14: TTBXSeparatorItem;
+ tbxiPropiedades: TTBXItem;
+ tbxiPropiedades2: TTBXItem;
+ tbxFiltro: TTBXToolbar;
+ TBXLabelItem1: TTBXLabelItem;
+ tbxEditFiltro: TTBXEditItem;
+ TBXItem34: TTBXItem;
+ actQuitarFiltro: TAction;
+ procedure actPropiedadesExecute(Sender: TObject);
+ procedure actGuardarCerrarUpdate(Sender: TObject);
+ procedure actGuardarUpdate(Sender: TObject);
+ procedure actPrevisualizarExecute(Sender: TObject);
+ procedure actImprimirExecute(Sender: TObject);
+ procedure actEliminarExecute(Sender: TObject);
+ procedure actQuitarFiltroExecute(Sender: TObject);
+ procedure tbxEditFiltroChange(Sender: TObject; const Text: string);
+
+ private
+ procedure ComprobarPrivilegios;
+
+ protected
+ Cadena:string;
+ FInforme : IBizInforme;
+ FViewInforme : IViewInformeBase;
+ function GetInforme: IBizInforme; virtual;
+ procedure SetInforme(const Value: IBizInforme); virtual;
+ procedure RellenarCabeceraInforme; virtual;
+ function GetModified: Boolean; override;
+
+ procedure RestaurarConfiguracion; virtual;
+
+
+ public
+ procedure PonerTitulos(const ATitulo: string = ''); override;
+ property Informe: IBizInforme read GetInforme write SetInforme;
+
+ end;
+
+implementation
+
+uses
+ uEditorDBBase, uEditorBase, uDataModuleUsuarios, uFormPropiedadesInforme,
+ uViewGridBase, cxFilter, uFactuGES_App;
+
+{$R *.dfm}
+
+{ TfEditorControlBase }
+
+function TfEditorInformeBase.GetInforme: IBizInforme;
+begin
+ Result := FInforme;
+end;
+
+function TfEditorInformeBase.GetModified: Boolean;
+begin
+ if (AppFactuGES.UsuarioActivo.LOGIN <> 'admin') then
+ Result := False
+ else
+ Result := inherited GetModified;
+end;
+
+procedure TfEditorInformeBase.SetInforme(const Value: IBizInforme);
+begin
+ FInforme := Value;
+ dsDataTable.DataTable := FInforme.DataTable;
+
+ ComprobarPrivilegios;
+
+ if Assigned(FViewInforme) then
+ FViewInforme.Informe := FInforme;
+end;
+
+procedure TfEditorInformeBase.tbxEditFiltroChange(Sender: TObject; const Text: string);
+begin
+ inherited;
+ if not Assigned(FViewInforme) then
+ Exit;
+
+ if Length(Text) > 0 then
+ begin
+//La aplicación de los filtros aqui cambia el orden, ya que antes de aplicar el filtro establecido en el
+//campo de filtro por el usuario hay que aplicar el propio del informe por ello siempre antes de aplicar el filtro
+//que desea el usuario restauramos la configuración inicial.
+ RestaurarConfiguracion;
+ FViewInforme.Filter := Text
+ end
+ else
+ actQuitarFiltro.Execute;
+end;
+
+procedure TfEditorInformeBase.actPropiedadesExecute(Sender: TObject);
+begin
+ inherited;
+
+ with TfrPropiedadesInforme.Create(NIL) do
+ try
+ Nombre := FInforme.NOMBRE;
+ Descripcion := FInforme.DESCRIPCION;
+ Modificable := True; //FInforme.EsModificable;
+ Icono := FInforme.ICONO;
+ if (ShowModal = mrOK) then
+ begin
+ FInforme.DataTable.Edit;
+ FInforme.NOMBRE := Nombre;
+ FInforme.DESCRIPCION := Descripcion;
+ FInforme.ICONO := Icono;
+ if Modificable then
+ FInforme.MODIFICABLE := 'S'
+ else
+ FInforme.MODIFICABLE := 'N';
+ end;
+ finally
+ Free;
+ ActualizarEstadoEditor;
+// FViewInforme.Modificable := FInforme.EsModificable;
+ end;
+end;
+
+procedure TfEditorInformeBase.actQuitarFiltroExecute(Sender: TObject);
+begin
+ inherited;
+ if Assigned(FViewInforme) then
+ begin
+ tbxEditFiltro.Text := '';
+ FViewInforme.Filter := '';
+//Esto al igual que en resto de las partes cambiará ya que siempre que se quite el filtro
+//se debe limpiar para que no queden rastros y restaurar la configuración del informe con el filtro
+//de dicho informe
+ FViewInforme._FocusedView.DataController.Filter.Root.Clear;
+ RestaurarConfiguracion;
+ end;
+end;
+
+procedure TfEditorInformeBase.ComprobarPrivilegios;
+begin
+ if (AppFactuGES.UsuarioActivo.LOGIN <> 'admin') then
+ begin
+ actGuardarCerrar.Enabled := False;
+ actGuardarCerrar.Visible := False;
+ actGuardar.Enabled := False;
+ actGuardar.Visible := False;
+ actEliminar.Enabled := False;
+ actEliminar.Visible := False;
+ actPropiedades.Enabled := False;
+ actPropiedades.Visible := False;
+ end;
+end;
+
+{
+function TfEditorInformeBase.GetModified: Boolean;
+begin
+ Result := inherited GetModified and
+ (Assigned(FInforme) and FInforme.EsModificable);
+end;
+}
+
+procedure TfEditorInformeBase.PonerTitulos(const ATitulo: string);
+var
+ FTitulo : String;
+begin
+ FTitulo := ATitulo;
+ if (FTitulo = '') and Assigned(FInforme) then
+ begin
+ if FInforme.EsNuevo then
+ FTitulo := 'Nuevo informe' + ' - ' + FInforme.NOMBRE
+ else
+ FTitulo := 'Informe ' + ' - ' + FInforme.NOMBRE;
+ end;
+
+ inherited PonerTitulos(FTitulo);
+
+ Self.Caption := FTitulo + ' (' + AppFactuGES.EmpresaActiva.NOMBRE + ')';
+end;
+
+procedure TfEditorInformeBase.actGuardarCerrarUpdate(Sender: TObject);
+begin
+ inherited;
+// (Sender as TAction).Enabled := Assigned(FInforme) and (FInforme.EsModificable);
+end;
+
+procedure TfEditorInformeBase.actGuardarUpdate(Sender: TObject);
+begin
+ inherited;
+// (Sender as TAction).Enabled := Assigned(FInforme) and (FInforme.EsModificable);
+end;
+
+procedure TfEditorInformeBase.actPrevisualizarExecute(Sender: TObject);
+begin
+ RellenarCabeceraInforme;
+ inherited;
+end;
+
+procedure TfEditorInformeBase.RellenarCabeceraInforme;
+begin
+ inherited;
+ //
+end;
+
+procedure TfEditorInformeBase.RestaurarConfiguracion;
+begin
+//
+end;
+
+procedure TfEditorInformeBase.actImprimirExecute(Sender: TObject);
+begin
+ RellenarCabeceraInforme;
+ inherited;
+end;
+
+
+procedure TfEditorInformeBase.actEliminarExecute(Sender: TObject);
+begin
+{
+ if not FInforme.EsModificable then
+ ShowMessage('Este control no se puede eliminar')
+ else
+ inherited
+}
+end;
+
+end.
diff --git a/Source/Modulos/Informes base/Views/uEditorInformes.dfm b/Source/Modulos/Informes base/Views/uEditorInformes.dfm
new file mode 100644
index 0000000..3f94b5d
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uEditorInformes.dfm
@@ -0,0 +1,1432 @@
+inherited fEditorInformes: TfEditorInformes
+ Left = 385
+ Top = 375
+ Caption = ''
+ PixelsPerInch = 96
+ TextHeight = 13
+ inherited JvNavPanelHeader: TJvNavPanelHeader
+ Top = 0
+ ExplicitTop = 0
+ end
+ inherited TBXDock: TTBXDock
+ Top = 27
+ ExplicitTop = 27
+ inherited tbxMain: TTBXToolbar
+ ExplicitWidth = 179
+ inherited TBXItem2: TTBXItem
+ ImageIndex = 0
+ Images = pngImageNuevo
+ end
+ inherited TBXItem29: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem27: TTBXItem
+ Visible = False
+ end
+ object TBXSeparatorItem14: TTBXSeparatorItem [6]
+ end
+ object TBXItem7: TTBXItem [7]
+ Action = actPropiedades
+ DisplayMode = nbdmImageAndText
+ end
+ inherited TBXItem23: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem3: TTBXItem
+ Visible = False
+ end
+ inherited TBXSeparatorItem10: TTBXSeparatorItem
+ Visible = False
+ end
+ inherited TBXItem26: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem25: TTBXItem
+ Visible = False
+ end
+ inherited TBXSeparatorItem11: TTBXSeparatorItem
+ Visible = False
+ end
+ inherited TBXItem28: TTBXItem
+ Visible = False
+ end
+ end
+ inherited tbxMenu: TTBXToolbar
+ Visible = False
+ end
+ end
+ inline frViewInformes1: TfrViewInformes [3]
+ Left = 0
+ Top = 76
+ Width = 648
+ Height = 361
+ Align = alClient
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 3
+ ReadOnly = False
+ ExplicitTop = 76
+ ExplicitWidth = 648
+ ExplicitHeight = 361
+ inherited EasyListview: TcxListView
+ Width = 648
+ Height = 361
+ ExplicitWidth = 648
+ ExplicitHeight = 361
+ end
+ inherited JsNuevoDialog: TJSDialog
+ CustomButtons = <
+ item
+ Value = 100
+ end>
+ end
+ end
+ inherited EditorActionList: TActionList [4]
+ Left = 72
+ Top = 128
+ inherited actNuevo: TAction
+ Caption = 'Nuevo informe...'
+ Enabled = False
+ Visible = False
+ end
+ inherited actModificar: TAction
+ Caption = 'Abrir informe'
+ end
+ inherited actEliminar: TAction
+ Enabled = False
+ Visible = False
+ end
+ object actPropiedades: TAction
+ Category = 'Archivo'
+ Caption = 'Propiedades'
+ Enabled = False
+ ImageIndex = 20
+ Visible = False
+ OnExecute = actPropiedadesExecute
+ OnUpdate = actPropiedadesUpdate
+ end
+ end
+ inherited SmallImages: TPngImageList [5]
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000001754944415478DA6364C001D6ECBE900CA4E640B9
+ 2921AE0673B1A963C4A739C8598FE1DB8FDF0C33966C67505054C06A08232ECD
+ 3EF6BA0C250B7F315C7FF88F6179E15F86456BF76135841197CD79737F324C4E
+ E1008BF345BC63B833959561F13A4C4318D13507BBE833E4CEF9C160ACC1C290
+ 60C30296734D5FCD70F2A333564318B1D90CD20C02D72E9C04D33C92A60CAFDF
+ FF6358B8E71B86218CE87E866986D90E738186A92FC397EF0C0C6B8FA21A0232
+ E03FBACD5FBEFF07E30A3F36B801323ABE0C3F7FFF67F8FE938161EFC5EF7043
+ C00678586B32F8B7FD61887167836BFEF59B81A12E186180A8BA0F58F3E76FFF
+ 194EDDFE0136A07DDA1AB001C90FEE3F98131BE4C4A092FD9BA12A8A07AC19E4
+ 67582C800CE051F0C1D06C636994020F44902171214E0CCA99BF19E25DB8E09A
+ 91C301161330CDE040448E46649764D85C473160C6114D0CCD581312B221CEFA
+ 9C589D8D3521E13204047069C69B99608680002ECD380D4036E4C98B77383583
+ 000005100EB8572466A60000000049454E44AE426082}
+ Name = 'PngImage1'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001074944415478DA
+ 63FCFFFF3F032580912A06303232E2543079D1766F201505C520B02C37CE331A
+ C400EBC5670054F3960057330631617E0690B2F357EF336CDA7786A1B5289211
+ AF01C89A254505183E7FFDC1F0F5DB0F06311101A021F7184E5DBA733927D643
+ 0FAB01E89ADF7EF802D6FCF5FB4F866F406CA6AFC21095DBC6B06C7215238601
+ C4689EB27807C3B153E7300D2056F38B371F18B62EDA79EDFCF9F9DA700348D4
+ CC70E1C2024420022548D68C128D40C906A0E67A5234631860A6A752AF202346
+ B466740396C2521AD020B0A49EA622C39C95BB716AC64889C0405C0A541C2501
+ 4C2830804F33D6A40C8A09A0A62DF7EEDD03F3AF1FB98D372301A39191E2DC08
+ 0029AC32F01825AACD0000000049454E44AE426082}
+ Name = 'PngImage2'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001514944415478DA
+ 635CB5E3DC7F062C20CCC388918108C0083220D4DD104570F5CEF30CEDFDB319
+ CEEF9C4ED0109C06D818AB3278C7941134046E40CBAA0760819A3005B80B6000
+ 9F21182EF8F1F30F10FF86E05F7F1882926B883300E60264C0C1805D5F69B802
+ 238601E836FF04E2CDA7BF339484C9A368EE59F59261D9C1BB0CE7A75933C20D
+ F0B4D56698B0E5195617601AF09021DA4998C1297307C38D35A18C60031CCDD4
+ C036FF84DAFCE7EF3F307DF0FA7FB001112D57C09A57D4E8800D98BBFA346A18
+ 58EA2BC235C39C0FC2671EB0A2B8E0DBCF7F0C5F7FFE05E27F60B65DE26C8801
+ 7316ADC11A58AEFE69282E4009C8284506F7F4B90C781349F7CA07FF4106A0DB
+ FCFD171003E980BCF9840D48F5916148EFBB8E2197EC2BCB1059B290B001512E
+ 92609BC1B602F1EF3FFFC1F437204EAE5A4CD8007F5B71B8E66F480681407AED
+ 12C20674CCDE884F0903000B1A00979E81F9710000000049454E44AE426082}
+ Name = 'PngImage3'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000E9C00000E9C01079453DD000002574944415478DA
+ 63FCFFFF3F03258011D9004646468696696B17FFFECAD0DE581A7C0D596155CF
+ 0AF77F7FFFD975944755A3E8413760EA929DAF393938D62785D8A7C1C48BBB17
+ 711BABAB5C7AF9F6FDDFC2446F354206BC75B6D4E35ABCFE90536B49F87190F8
+ E4853B2779DA1BE46EDE7FE62ED00015BC06F4CFDBBA24CACF26FAD0A99B5B42
+ BDCC7C6BFA563B057B986FFDFDE72FC7D20D072B26D62574E235A0A26DA999B0
+ 98E0F2607713F9251B8E85692A4B5698E9AB9AAEDA7EE2DEBB571F3DDAAB226F
+ E33500044A3B979507B898B6BF78F3FEA3B1B612FF992BF7FF1F3975336E425D
+ CC52903C4103EAEBEB5998450D8FAA2A889BC94888306CD977664D675964284C
+ 1D0103EA99F8DDF50C8CD439E3FFFE67CB7DFFE9DB1F7E3E9EC637DF5977DC98
+ B3E73C0343E33F9C0670B8AC555292175BC8F6FF9BEEDF6FEF995E7DF8F95941
+ 55EDE5AB17AFBEFCFAC7C2F1ECC5FBEF0C4C4C89FF0F47DDC36A8056F2A103FF
+ DEDEE465FBFFB5F1D577EECB8C8CFFF72AAA6A7CFFF4F842CED54D7907184CE7
+ 4631B0B227FC3F1AE38AD5008D981DDFD9BEDE48BABCA1703983DE226E09891F
+ D754B4756F7DBC7FBAEFF286BCED0C32BD9C0CB222B7FF1F8B93C16A805ED2EE
+ D74CEFAF445FDC50B48BC172858E34DFFB6582B2DAFB38BEDCFC7166456A0583
+ CE0471063EA103FF8FC66A623540C063F55669B6E747AE3DE3E861E5E158A9C8
+ FBF1D1FD6F628BF4147977FC7A79D3E3F2736E39060E9E84FF47A202B0C782ED
+ 627356C6FF935998FEB349737FB9FE95E975F2F32D8DDF98EC9647B1FCFF55F0
+ EB1FD31FA08EC2FF87634F6235801C0000382740F0DFD997BD0000000049454E
+ 44AE426082}
+ Name = 'PngImage4'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A000002854944415478DA
+ A5935D48536118C7FFAFDB8CCD557E7F34B33167F9119617A91596495D781304
+ 451021A651362821B1ABA49B6EA4460961D88542055D84DD6545415992174994
+ 9625CC8F9C329D9B5F3BE9CED9D9797BCEA1C932A3A0079EC3CBE13CBFE7FF7F
+ 9FF330CE39FE2798FAB80BA4E61559EB2551E67B07279AE8D51FA98F2CC99546
+ 031A3D6E5FF329993F631D80B52227A6D7929F9BAEA459D1D73BE8DC3330D6B8
+ 1AD206641414DA5A6224E1E8ECA47779660955D532EF642F1371BD74331A14FA
+ 9C27A4439F5D88777DAE1B65FD230D11485786B9363D65FD35C1EB4B9817427E
+ 9F80C335C05BD53E23B2A934132FB23662B71406C2B14698F38AF0E9EB9473E8
+ E3C8655BD686D6F858A5DA3F27B04511E37E0195B5C0A00AD6003FE5259758F0
+ 3AD1843C15125218CCB6AD707FF34EAC93973217041154ECF608D8770E188BD8
+ 5A01A8A1DEC5F60CF4980CB0A890E8A47AFFF477EC3F037C8EBE975F006ADC37
+ 60A7351E3D061DE222C522A5270047AD82DBAB27B21AC09EDA373525E9A52BCB
+ 7E5F4CB4822509BE80848AB3C0C09A806380EE7CA1BDC55EB4CDE17AF2984932
+ 75A60CCA088739742A84CE1E49C1010730F41BA03B27CD595C517CB1FFF92B04
+ E6035AF142101DCB12DA743AB413243FA468331D0F01E51780D1154057AAF148
+ D92E7BE794778E8DB92634C901116FA6451CAA27214EC06802AE5227AA839ED2
+ 45A0729AC6A406182DD9329C10A7B7F57D18D63A93DF99D92076905F4FB4DF56
+ A08C20ED9476027CD1209C7BD9FBDC947BC1C0E2C9596A4B003E27E2F8E9301E
+ AEB507B700334968A6631D019C759C5F627780822413BA194312CDFB41958C13
+ 7FDB4052739000430ECEDD913F313B568F9B8B326AC8F7CCBFAEB27A073F0058
+ 5538F0EAB25B380000000049454E44AE426082}
+ Name = 'PngImage5'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001934944415478DA
+ 6364C002662430FC47E6672C606064C001C0122726A06AB870818121A1632A98
+ 5D169DCD10E58B90B32840358C11A4D920622A5C604145365833482308D4F5E6
+ 3134154F62A8EE4805F35B2B66334CDA8B3004C50098E62F2F6E823581347F7F
+ FB80E1E58DBD0C8BD67D6588F6656258BAF91F7E03AE3D66C009081A800CD61F
+ B161C0072243F419711AF0F7F777864D275D192282F5B06A5EB1F23C43D7FCD9
+ 0CE7774E67C43000A41984B79EF3C36AC08F9F7F18366CB8CC10116EC860E491
+ 85EA0298E6BFBFBE33ECB8120E36C071E64DB8E6ED09CA40037E33ECD87E03EC
+ 02142F206BFEF7FB07C3AE9BF1282E00D90CD20CC6BFFE30EC3B719561CAECE5
+ 100374837B503483E8BDF733305C000333DC04198E9EBB893040CBAF1945F3DF
+ 3FDF190E3C2E041B806EF34F283E73E52EC200758F2A865B3B3A506CB927739E
+ C1C75383C177F17D0C17745971325CBEF51062004820CF19352F808065E64506
+ 172748A0C16CFDF3F71F9806B9E4F683A70803B081E56B2EFEB7B19663D875F4
+ 32CEC444D080AED9331808010085EE16005695A1DA0000000049454E44AE4260
+ 82}
+ Name = 'PngImage6'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000002164944415478DA95D35F4853511CC0F1EFD491DD
+ D9587F2C83AC8C328DFE4949908BC0AC142A147BC8077B88A01EECA5E718F958
+ 410486C384B50A1F7A991023CBEC0F594F81E5D4C211E130D7D4DDCDA15B5EEF
+ DD5DD74B1B8EA9D90FCEC3EFC0EFC3EF9CF33B06FE46CBE3AE042B886B176B0C
+ 0B73C342A0A9B17AD9E2FB4F5EE0E878C6E79776C37F03AAAAD2DAD1CDDEDD3B
+ B96EBB9B425604CC17CB8A4AFBD31EEA6BAC0CFF08A4907F02C962598EE374BD
+ D58F908C2581442241603C8CCBFD89D86C9C9C9C1C0A365A282DDE446FDF37E6
+ AB9277B128F02B10C6DDF385CD074B10D6593019211E9CC2EF1DA5A0C0821895
+ 68BE6D5F1A6873BEA6D07A0879951945CD626B1E6C372978BD7EBC5F4710D608
+ DC6A712C0EC84A9C7B6DDDECAF3B459E315B3B3B685B9835448DCD30F4BE0FC1
+ 94CB9D56672670A5E1A47E590F1EBDE374C3091D88CD4120063359902B4719F9
+ D88F201835E0612670E97CA5DE41578F870A6B296BD79B096BC0B8B6C4DF3252
+ 4024E81960832071B3FD7926D0587B5C7F32DFE8243FC74214EDD906AB4D4C29
+ 1011230487BC1419BFB32BE8E06CE7BE4CE0C299637A07B3928CCF37816F4CD4
+ F2040943365234823134C8E1FC094A8A8D4C0DF6B2E5EA8774A0BEFAA80E283A
+ A21012A791E6E6B4618249FF08AFEC97292B2CA7B64221BFAC9C90E74DFA289F
+ AB3A42FFB07FD90FE5B255A510B754379D062C1CD3E5E240AC931D9537B03537
+ 19FE00839434866373C4BA0000000049454E44AE426082}
+ Name = 'PngImage7'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000001724944415478DA6364A0103062135CB1E2C26E20
+ E5824F63448401235603809AA381D412374F5506413E2EB0D89FBFFF187EFFF9
+ 0BC62F3EFD6728A999C0B0795E15A60150CD1540CD3A7B4FDCC5B0D5D94299E1
+ CAD3BF0CDD3D53F280064CC666C06EA066176C36FF05B25F7F6544B11DC50098
+ D3C3C3F519D6ECBA8C61BBBDA922C38D17FF41B6C384B6020DF261846AFE0FA4
+ AE809C0EB21DDD6610FFCF9F7F0CE91553194CF49518A4558D1836AE59037609
+ 23C8E6AB4F2E2C2136DAE4B5AC186E9CD9C570F3C1278801B53D0BFE3715C7E3
+ D4F0E5C75F86CFDF8118487FF9F18F61C3BA350C12CA260C3B366F4218408CCD
+ 17AE3D03D3065A520CEC42AA0C278F1CC4EF02749BBF82F0CFBF0CC7F66E64F8
+ C92AC970FDE259DC06A06BAE3DEFC390ABB49EE1FEB5530CCF9F3F6778FA919D
+ E1F5D3FBD80DC066F3AC743D8680EEB30CAFEE9E61D8BEF72C4CA90CD080A770
+ 03A62FDB45542C400D006B062724DFA4366920FD84D86844D68C9212C905001F
+ 16FA1194E3DBC30000000049454E44AE426082}
+ Name = 'PngImage8'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD2520000015F4944415478DA6364A000FC3060F8CF884D62C5
+ 8A0BBB81940BB258E7FC99286A8EBF9CCEC06EE4C5C088457334905AE2E6A9CA
+ 20C8C70516FBF3F71F8399770E44D3F9FF0C3F0D19219AE76D6364C4A2B902A8
+ 5967EF89BB2806B7F54D6738E7C4C1F073793F58B3D1537986F33BA76318B01B
+ A8D905D9E6DF7FFE82B1437011C3B91DD31818BA8AC07246FB7EA01A00737A78
+ B83EC39A5D9731C205E40274003700A8F93F90BA02723AC876649BFF02D920FE
+ 9F3FFF18D22BA63298E82B3148AB1A316C5CB38661F5B92A064690CD579F5C58
+ 4228CAB6EC3E893D166A7B16FC6F2A8EC7A9F1CB8FBF0C9FBFFF65F08E2CC01E
+ 0B20038849342017608D055C2E80D9FC19487FF9F18F2125B3147B2C6033005D
+ 73ED791F86E7B334B1C702BA01E89ABF02F1AC743D8680EEB30CAFEE9E61D8BE
+ F72C4CA9CCE679554FE1064C5FB68B98A0801900D60C6230FA26B54903E92744
+ E946B219C661244123560000C9AFE6B31530CB2E0000000049454E44AE426082}
+ Name = 'PngImage9'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000016A4944415478DA
+ 63FCFFFF3F03082CDD7212C22000627C2D18616C905E466403A27DCCF16A06AA
+ 61E89DB290E1FCCEE98C241BF0EFDF3F86E5DB4E33488B093314D5F5810D21DA
+ 0090E6DF7FFE31ACD97596C1C9429BE1E6BD176043CEED98C688D3804D0F0E30
+ F45E6A02B37779EC62E05CC0C6B058EA38D80B3080D30090E6805D4E182E7911
+ FC91E1C4E5C70C8F1E3F6298B774137603609AFFA4FC013B1B64738BB13743CD
+ D9AD0C8FFDDF81C5B6EC3B85DB00A6594C289A91C13DEF3740F1BF0C3B0F9DC5
+ 6D0048C1EFDF7F21F49F7F50FA2FC31F181F2877E0E445EC068479988015F02C
+ E640B1F98EE72BB066CDDD120C676D1E311C3D7B05BB0181CE8660DB049773C3
+ FD8DAC3957BB80219A379FE1D4C5EBD80DF0B1D7032B165BCD8B110330CD200B
+ CE5FBD85DD00776B1DB002E9F502609B13CF8781E50C840DE09A41165CB97907
+ BB014EE69A1801060B44986610C06980ADB11AC3A63D2789C994D80D404EA6C4
+ 0090010087546EF0ACB0C7920000000049454E44AE426082}
+ Name = 'PngImage10'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001024944415478DA
+ 63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3
+ C493AF1EDC305B3E7F1A2323BA66090111A9272F9F301CD9BE99119701110999
+ FF416A0E6FDB843000A4F9CFCF1F52F834C2808DA72FD8DF700348D18C6C08D8
+ 004B77AF69F292F299308987CF1F4E979256DEB076DEE45D207E7052AEDBB3A7
+ 770390D58000DC0B20FFCC98D0CE70E1053FC3DBBF3F191E7F66603831A310C5
+ B6E533A6311C7CC080228F624046C534B82408AC690C856B9611976140970719
+ 20ACA0CB30A53E13624068693F5CF2F2E3F70C37E7A5C163019BFCD7AD4D0C2B
+ 164C07A72146981F999998C17EFCFBEF2FD630C0260F3660C0933200BCB3BCE1
+ CDA578040000000049454E44AE426082}
+ Name = 'PngImage11'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001C04944415478DA
+ 63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
+ 1BA234FDF9FB8FE1F79FBF60EC105CC4806200A3E14C86FFE7D3C13408E0627F
+ 3C12CF70ECEC0D86AAB659D80D4007FF806AFEFC41D80CC2672FDFC1340019C8
+ 7A2C6178F2F22B98ADAE20C0D09869CCE06E29CD2068B788E1D9AE48868BD7EF
+ 117601C8E673D7DF309846AF6310E66767B8BE3E8441CC6929C3C36D610CD76E
+ 3FC46DC0CBB7DF19EA679C613870E619C3C3679F197EFCFA0B36106433C8F97F
+ 80F8D6FD27B8BD1053BD8F61E9B6DB0C0B9B1C181C4C2518E43D5780C54136CB
+ 7BAD62B8B12E90E1FEE367D85DF0F75C1A836FDE0E866D471E315C5A15CCF0F1
+ CB4F06DBA42D6003EE6E0A6650F65BCB7061B90FC3F357AFB11BF0F3540AC3B1
+ 8B2F18A2ABF6313C7BFD8DC1C14412E895E76003AEAEF6077B4123528661FFC4
+ F3A806C4F859C1A30839CAE0ECDF10BE41E416860F7F32188E4F453320DCCB9C
+ 81CB621ED8A6177BA218245C9681D9B7360431A805AC03B37F306430FCF8C3C0
+ F0E61B0483D8700382DC4CF0DAFC1B498EDD5785E1FD4A3417F83919319CBA78
+ 8BA8FCF0DFCF908171139201A0DC3871C6529273637E46740C00F128724C706C
+ 80060000000049454E44AE426082}
+ Name = 'PngImage12'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000E9C00000E9C01079453DD000002324944415478DA
+ 63FCFFFF3F03258011640023232386C4922BFF0D9818FFC57EFFFE57FDEFBFFF
+ CC8CFF19BEF0F1B36D5C73E9EAAAD5613ABF60166318505FFF9F4939F077F98B
+ 97BF6BEFDCFEC6F9EDDB3F86BF7F810A9918192424D9FEF3F1B32FBFFA93236E
+ 5528C35FB8018D9B7E2C6DF0E38859759581F5E7BF3FD36EDEF89AF4E51B03E3
+ B72F7FC0867EF8F897E1EF3F06867F40ACA1C9F96FE392D5BA5737265D831BE0
+ 58F9F0BF83A5F83245796696CB973E87FEF9C70CD6FCE2D92B86E78F6EFCFCF7
+ EFEF17360E5E4151590326666626067D7DDE65F57E1CD12806288BB3FF676567
+ 66E0E062036B7EFEF425C39307576E8A2A19B9EE6A557DA217B2A88E9B5FBA41
+ 405C87C1DC9CEF01D0004514031444391804843918409ADFBFFFCE70E7EA91FB
+ 9F3FF06BDED9E1F513A450357481341FBBD03D611973362B4B2C067CF8C1C060
+ A020C0F0E3FB4F86CF1FDEBCBE7FFD84C3B54DC9D760812B13DACB29CAAAF84A
+ 58C69AC7C61A8B01CF9FFF61E014646190E365627870FD40C3A535718DC8D1AA
+ E2B1988F5788E7B998823597A5392FA6010C1F1EC0157FF8F081E1DF9F4F0D1C
+ EC6AFDA7965A7C02899924ED550746C555793523665D1D2ED440C49690D08149
+ D2A9764E3ED90A037DEEFF3696BC7161EA0C4B8836402FF6A41A37AFF0690E2E
+ 7E3E7B5B9E65C08494084C48BF8832402BF40A0F8F30DB3E0E2E4153277B9E65
+ 0DFE9C60A7E34CCA280098ACCDDF3C5A2925C913ACAFCBB51CA6997803ECF7B3
+ 301C74FC834D0AC5004A000026261CF09ABF155A0000000049454E44AE426082}
+ Name = 'PngImage13'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A000002E64944415478DA
+ 8D936B4893511CC6FF67DA74BAC9BC9478C9357338CC4B0EBC1709F929A25414
+ A13E48082D8CFC20267E1B925DD004B3120C75919AA99B5DADD485E56DA2791D
+ 739ABA2D9DB7A953379D6EEF5EDFDE14859C810F3C5F0ECFF33BFFF38783E0FF
+ 425902A13B668448DCB4C5B658709C40D8F0A4563120A97FB1B61F3AAC291008
+ EDB1630ED7ECECA97C6F7F6FAEABB72BCDB46902B54CAD5BD4CCF7AAC68772C5
+ 6F8A06C8286E05484EAEB3F10BB6A49FE2B2F2C2628318E0C440063300410050
+ 910596D4B344F7BBB63169FBA7B4D6E65AA915205320E47A9EF4ECB89A7CCE85
+ CDA021950141E2BD2E9049645029E683BB3301EB2AE5F657E15B4955457EAA15
+ 205B5095CD8BE33D0C8BE0523C1002B50120E5C12EE03509D8A60078386EC1B7
+ F2066DA3A89C8FFE1DBF9076CADFADFA4A467C829E70829C82AE43B79B97150D
+ B3522956F3F4C9B3030001DD87C3AE49C84CBCBC646640FCA5D29DF3A0B8A09D
+ 09F62469E1C3A4B4D7F2EAF1A3DA834FA064DC2D2D8E4DB9984E63F922ED2A02
+ 161DE04EE1EE13D4ED7CB090CB5CD9C6E1439978A3FE655189D50E52D37263CE
+ 4486374725C5D2168DF6C88E2CE414ED02942400030246C6A7087149C5688DF0
+ 7EC63EE0F38DB3C79974A8ECB70B7459649E0F64F17854767800C588D390830D
+ 02172A19226F5E58D211DFEB9AF40DD5CFCB46E5DD0568AFECC6C43FFA470747
+ 2CEBF420D2048072C57ED3CB2F846005F9D19CBD4E80C96882B9F16942D1DBA7
+ FBD15C2B960F77159355056AB919E0E3E24C17F9C58487E1737218966D429386
+ 01F235CB8589854D87D3DCD0448613938D61669B89B1C1099552DEB9AA9B9790
+ E559D204FA99C5EBF78D0A0FB5D5ABA0BF6F0D7AA66CA1757CC4B862D808E9D6
+ 9826C990236927D236A4B748AF92C6F6FF82243F890861AE817CC8001D6A0A74
+ 2A478D1AFD7A926CC6FC058E20743BEDFA2F1ECC70B45A0CDA2614CB5AFDFAAD
+ BE19B3E828E51D009FCFE710C6F546ED680F473DFF3B7E70DAFCFEA8E5BFFA03
+ 503A4EA60D6AAC070000000049454E44AE426082}
+ Name = 'PngImage14'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A000002E44944415478DA
+ 8D936B48D35118C6DFB379D9D4C9BC94A8CB399B38CC4B0E9C9A45427D8C5251
+ 82FA2021B430F08398F4258650145A615642A12E4A31AF6565795958A69B685E
+ C7BCB4B92D9D3AA74E7771BAFD37FFFDA728E40A7CE0FDF6FC9E73DE877310FC
+ 5FA850200CC22C90ECB06EB1EC76870347D8F88C6E7244D4F8D2B06FFA172910
+ 082998BBD7154F8A079F11C5E0043002A8D64D2BA8A56AFDB2463BA8928F1537
+ BF2D1B21AC0E9780ECEC06323BCE9E17CE61DE4D4C8BA5812F0D996C00380EE0
+ 81ECB0A25EC0FBDFF74C4B7E7CCAEDEEAC97B8041408849C906321BD97B24FFB
+ B36854A43221106B01ECCE007780203F1CCC2AE576BBF09DA8A6BA24C725A048
+ 5053C43DCFBD9F98C4210523046A13C0D0320099BCBBF0360920D87B0BBE56B5
+ E8DA9AAAF8E8EFEB3FA2864705D65ECC4FCF30E2BE70BB54ECD28F542485D676
+ 3E2C482458DDD327CF0E04087CC222597519059917566C34B8F358BC031C94A8
+ 8B0F339241FBEB870FEA0FAE40CABFF5A23CEDF2B93C2A3302E9D611307D0002
+ 29006EC4D529A4DD2ED6B61DF0A1B279A3F15559854B0739B9C5A92792799D29
+ 5969D4650B05791200C31B804A74E046B831C061423E8B3757544FD509EFE5EF
+ 077CBE76F208DD07DE0C7BC6F82FD3CFC430B95C0F162F9A64715091171981BF
+ 0761224E5E5AD1E3DF1A3A8C2DB5CF2BA764FDA5680F0EA43B3E469D8A4B5AD5
+ 1BA149130DCA35CA66283B1E67C6B2A97EA147C16AB1C2A27C0E9F1C1CD27FEF
+ AC6F968D8BCB097412755D8F0EF3F7F36962A7F2121D8B3218976E4287860632
+ 83FDAC6269D3EB38272193E64B6761988DAC981E55A894B2BE75BD5644C00BC4
+ E0E867217738228597E06654C1F090010666DDA05B3E6159336DC4F76BAC3384
+ 8968007C8971BE842D62D6C159C5DE5F109564E1F17403C8C64CD0AB26419F72
+ CAA2319AB3A4F3B62F7008A19BB9577F71613E52A7C3A04731B9AA339A6F0CCD
+ DB9A0E03EF04F0F9FC48DC626ED34D0D44AAB5BFD347E76CAD87859DFA0386D8
+ 3FA68502A9830000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A0000032A4944415478DA
+ 6D937B4814411CC77FB3B7777A5E7276969AA4648A20A5592A4585FE654122BD
+ 0CAA3FE2841EA45946697591BD8DB27748A2BDA0A43FA2420C893252D2A244B4
+ 7C24495986AFBC3BDDDBDB9DDDBDDDDB663714B366F9B2BB33DFCF777E3BB383
+ E0DF66235A19342370912538D0CAB2825BF00A6DA4EF2D1133D5A8AA2AA029EF
+ 4126B3292B2E21BA70697A5262626A9C393422040D0FBAFCAD6F3BF187C68ED6
+ 9F5F472E2992524FBCE2F400735884ED40E6BAE58539F6CCD0B9F323009111C5
+ EF075191600C7BA0ABEBAB5AF7A071A4ADBEE71CE7C615849126032823B52D77
+ EFBAEBF6BDEBAD164B20E941A092EBF89ED75050960C6ECC805B6060D8E984E7
+ 379B9C2D8F3AB71353CD4440CC8ACCE49725D7F2626DB3AC60A028C2535092FF
+ 4A2FCD5E1A0F2E3C062E9E8171D1034303A3F0E24CF3A7910EF72A1230826813
+ BDAFF87CEE85ACCD19269AA2C16030C0093273EDC372C8DE92FFD7EACEDDE902
+ 06B3D0F1A41777DEED2D5015F5369A1335BBB6ACFA4056745C24A22903941636
+ EBF044C38204BCE003FBEE62B0DAFBC1237A61B8C7A9B69DE979ECF3F836A1A4
+ 65F15F4EDD2A880BB606A12B45AD93B02C2BE023D2604D79FB8F02B5F533B022
+ 078C9B55BBCF7EEBC43F8424B4243DE19BA37C678CC962844A47B71E204F8212
+ 09F1EBF783474E02BBB105BC1207DE711EFACA06BE8B7D520C8A8A0D6F70DCD9
+ 951E343B1061598067A54EA8AEBAA4435A0826D22A3976B21406B31B80F76160
+ FB3975E8E2E84785F12F460166E3E91D17361D8E5D1E45F332062C8BD07EC300
+ D7CA4EC1BEA292BF16B177751D6893304D5E9979E0AD5265354FDBC694B4EC05
+ 7599FB57844906093862D04CCEBB913AE4D9F01EBC3E1EBC22AF87635680F1FB
+ EC4FB95DC922DBD8A105A0008BF1444641DAA1A88C8800CE8F8123656AA59A1F
+ A740FF9A7AF22CE8B0208AC035F258A8911C20C3D5A9BF72D8CC79C197E3D7CE
+ CBB12D0D09106862D4A13F9F343133F70E63F18D740F7E818330E3D30FD31CA3
+ D5986F5B68B55B532DE128923248269F0EF2DF05856FC58372AF52013C5412AF
+ EB7FA7516B34512232C2063A944E44C1C82C7B14CEEFF2B793929F92B16E2265
+ EA71FE0D330BBCF031BDB9A60000000049454E44AE426082}
+ Name = 'PngImage15'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A0000031C4944415478DA
+ 6D536B481451143E779D5D5D37D95AD354523445905AB32C0A0DFD653F92252B
+ 8BFA130A3D40F385D1C3B09766A5652548D23B34FA1115624894A0F6502845CB
+ 079298A5F8CA75737677E6CECCCEA3BB532DAB75868F3B73EFF77DE7CCBDF720
+ F8374C045BFC97F8AD3504F8191D0ECEC639B91E32D741407B13154501E4F5ED
+ AFD3EBD263E2220A37A5C49BCD1B62F481214BD1F4E49CDCDDD18F3FB4F7758F
+ 8FCC5C9504A98570F9C506FAE01053715A46526166565AE0CA552180C88A24CB
+ C04B02FCC476181818519A1BDA677A5A862E32365C473482C740A3D5ECCFCECF
+ A8C9CADF613418FCC80C02853C678EB4425E5502D8300D368E8669AB155EDE7C
+ 67FDF8A4FF002135FE35884A4E4B787DFA464EB469B9117C341AA2D78008329C
+ CF6D55CBB39406C11C4BC33C6F87A989597855FEFEF34C9F6D2B319841948E2A
+ 387639BB327D6FAA8ED2505056F066C18E363DAE05CBBE5C30E7BBE02767071A
+ 3BA0EFD930EEBF3F9CA748CA5D141A1ED454F5A8383D22260C511A1FA8287CAF
+ 8ABC037302ECC92E0263D618D879274C0F59959EF2A1A72EBB6B378ADF1CFBE5
+ FC9DBC9800A33F2201D547BB3C06A228818B80E55C2A728A4E01B3AB0B689B43
+ 19BCF0B51F7FE7E2D1FA94B8AF25B587A274062DD971173C2C1D560D448F5020
+ 26B23A1E3D790EA62C6DE09C6761B46AE21B3F2A44A1F0E8156D25F70EA7F807
+ F9212C72F0A2C20ACFEB6B3C62F788094E9496C12411B32E0C8E314699BA32FB
+ 49A2E575C857AF2D3B58B9FB44745238C58A183AAF890BFEFF5259A947CC082C
+ B893D0EF9C22DDE0BCAD884A8EFB1813375A5637A71525070B3E023084E02631
+ 24136E88564D262DADE0E4DD621EB08383F97AC7B8D82BA59363EC731B205F83
+ F66C6ADEC6E3E1A921BE8C8C55B1BB54FDD34418DBD642DE3955CCF13C30ED2C
+ E61A85127251AE7B5FE5E0659101D5B1DB23334D9B96FA721421AA22FC3BEB9F
+ CC4C27C6FC5BE101FC8012A2995FDC4CA15AA336D7B4C69865DC605881C2343E
+ 82CEA50AD96F9CC476E3497158AA03166E11EEDCFFBAD11D1481196961271548
+ 995100D28B768991E7E45E52F273B236482079B7F32FB7E1BAF0E8F71C040000
+ 000049454E44AE426082}
+ Name = 'PngImage16'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000019E4944415478DA
+ 63FCFFFF3F4341F1F9FF0C6402469801BEFE4A0C0B16DD60583CC71CABC21F3F
+ FF327CFFF90748FF6128ABBCC2A0A5CEC0B072C752E20C40D6FCE3D71F86BAFA
+ 1B0CEB963B31A85A241336005DF38FDF7F18DA5AEE3098997032CC5D3D07BF01
+ D834FFFCF597A1B7EB3E612FE0D20CC253263C625092FFC5B0F1C06AEC06E0D3
+ 0CE2CF99F68C4152EC0BC3AE931B310D983EC908A119AA11A409660008CC9FF9
+ 9C4180F72DC3E14B3B500D00019021840048F3F7EF3F19CEDCDE8F6AC09F3F40
+ DB7EFC024B82E81FDF816C280D11FFC5F0F9D337B03C08DF7C79126180A7B73C
+ 86E6CF9FBF43C460867DFB09D70C32ECD1A7F308036CEC44C18A976E9A82D7F9
+ 7CFF8DC19A4186BCFE7D0D618089193FD896B5BB67311CDA309341504A87E1C9
+ ED930CEF3FFD60F8F0F927C3FD671F1956AD59CDF0EC96105833C8BBEFFFDF44
+ 18A0A3CB0976EAB6C30B182E1CDDCBA06768C8B073FD02B8CDF79F7E64E89C34
+ 87E1EE456EB06610403140599519EC827D6796312447F833F072B130B0B0B2A1
+ 387FF5D6430C37CF72C0F9700318191919F49D72C9CAD200FAC9B5C145016BDA
+ 0000000049454E44AE426082}
+ Name = 'PngImage17'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000015D4944415478DA
+ 63FCFFFF3F03082CDD7212C22000627C2D1891F98CC80644FB98E3D50C54C3D0
+ 3B6521C3F99DD3194936E0DFBF7F0CCBB79D6690161366B04C57058B715C6060
+ 24CA0090E6DF7FFE31ACD9759621A4D68281352A97E1F7B2C90C8B2E10E10298
+ E6DFBFFF325C5DC2C1F044E912C39B4B4B19984A3AB17BC171E64DACAEE860D0
+ 60D0F399C2F0F2D636868587CC18A41A1A18D218F07801DD669866100E699161
+ 10D5F6050726411720DB0CD35CDE369B61DED24DD80DF8FDE72FD856107D6319
+ 1786E6ED7B4F311C387911BB01611E260C6E73EF80F9110C1F180C182C18C4D5
+ BC5034830C3E7AF60A7603029D0D212E00FA7DEDAA2B0C2D2D210C6B6A9EA068
+ 06E15317AF6337C0C75E8F2160D92330FF4E8B0B838B4B0D985D5CE907D70CC2
+ E7AFDEC26E80BBB50E5CD11FA84B60E181C0FF18AEDCBC83DD0027734D829A41
+ 00A701B6C66A0C9BF69C24265362370094D348012003002CB76B52FA97B19500
+ 00000049454E44AE426082}
+ Name = 'PngImage18'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001B04944415478DA
+ 63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3
+ C493AF1EDC305BB1603A2323BA66090111A9272F9F301CD9BE99119701110999
+ FF616A189135FFF9F9430A9F4618B0F1F405FB1B6E0021CDD70CF8FF0B09B0D7
+ 481C78D50AE2FF7295B1FBC82F7AF0C585F30C8C96EE5ED3E425E533618A1F3E
+ 7F385D4A5A79C3DA79937781F8C149B96E6627F7F4F8B23ED3DD226BC2F04840
+ 96A19CE72DC3E7E387182EDEF8389911E49F1913DA192EBCE06778FBF727C3E3
+ CF0C0C276614A2B860F98C690C9BAA5A1854F7F530282A4830DC7FF08261E657
+ 318689B76F33820DC8A89806D70C026B1A43E19A65C46518C0F25F3F3048CE28
+ 6050BFBC9A61DB7F198693AE390C535AF220068496F6C3355F7EFC9EE1E6BC34
+ 782CC0E47F5EBFC060D7E5C170E8BD208301F73B06BE7F1FFD642E316C6604F9
+ F1D9D3BB01CC4CCCE070F8FBEF2F4618FC7D723D22F3EF93C4FB37DE301C1296
+ D9E8FBE68198BED87F4BFEBF1FED084619087CB4178BB974FFD3D42B8F7E7801
+ 6D390A12DB28C4BA51558ECB8F2803D6F1B2C67CFEF5C728EEE7FF62A006701A
+ 98C0C0202ECBCDB00A00547CD715F016991D0000000049454E44AE426082}
+ Name = 'PngImage19'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000019E4944415478DA
+ 63FCFFFF3F032580119FE4D64553FE7FF8F001437C9FC439C20680343B392269
+ FEF11E883F30DCBFCFC070FE81220383A3006E03609A6BCAF631B47439C135C3
+ E9EFEF197A3F00C5253F3030AEDB73092510D89F1D62006BAE3BC7D0D2640431
+ A44A11AEF9C3FBFB0CEF8166CCFD013440E13DC48040675DB0E66D8BA7C23597
+ 141931F4F4010D291264A8E9BBCF5012F89EE1FD0BA017809A7BD73130280619
+ 32306830200C00693632FC00D1347D05434D66044349922043CFBCF70C2D91F7
+ 19BCEB10E1A169AAC9709DE70783A2A100AA0B4A9282C19A7FFFF90BC4FF18DA
+ 0A6319923DEF33E4F47D6098B1E22443787A3DC3F99DD3C1E1E654E904F63ADC
+ 803F7FFF31FC016B846806D1207E7F6532437AFD0C865FBFFF32C4E634C10D80
+ 4723C8005F076DAC9A4186823482F06F204E2A6CC56E80A78D06C3DC45BBC102
+ 2141B60C6BD61DC6885A530B1D868CD20EEC06B858A8E2B5F9D71F089D5BD58D
+ DD007B136586E5AB0E80057CBC2D18B66C3D81E1026D7D3586A2BA3EEC065819
+ 28E0B519E43210C0694073F77442990E0E300CA0343B030039812D6AB16B7539
+ 0000000049454E44AE426082}
+ Name = 'PngImage20'
+ Background = clWindow
+ end>
+ end
+ inherited LargeImages: TPngImageList [6]
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000003CD4944415478DA8D96ED4F53571CC7BF17EC9315
+ 11864234C607C6D4E9408621F88CBA88D0C64D48EA906C3E3459F40FD077666F
+ 7CEB62A2912C43F0A950A12A3001AD2613810908B46869E69E8B2FBA3087F499
+ B6F7B63BF7E0BDB6D2A79BDCDE73EEBDE7F339E7777EE7DC3248E1303C346BC9
+ A5812FDBED767AAF51D7B9C9F4A07E22595B2655F8DED202642D5E089F3F88B6
+ EE415CF8BE857F9C54C2A402DFBD651D7296C8C5FBD3336EE87F7C8206DDBDA4
+ 1226197C57493E96662D9A7BF9F810BD861A4BF1EFB4136D5DFDB8D2DC9550C2
+ 2482EF2161C9266111E00D470B611C015A75D7E11FD6E2F51B176EF7FC8CA696
+ F812261EFCC0F60D502AA451706DB902A7EB5F60D2F32195B8068EC1E5F1C1D0
+ CD4B62878B4904F7F8392C3A3922C2C361D280B438736900B6D94FA9E4D5FD5A
+ C8A46968E9E8C555FDFC9130EFC3856C8984A72F90E0E31C274AD767A3EBF138
+ 7A2D6E64AF2D82C99A4E257FDED320C4B1E87C34881BAD3D511226D1840A70E1
+ B09AE7269987FB021CBCE49C9C545089AD5B0387CB03E39351E80C0F44892008
+ 278207D830BE297F27FAB6DD41E182A4A9CF0698CDF8BDA31A334E2F7E7A6A42
+ F36D2395303C3C56B644F69C09BA3139C5E2ECE11C5AE727DA9791274AF8B3C3
+ 64A712ABE17338C9C4F70D3D4757DF2FA0829ACF8AE2C2BD410E013F0397C329
+ 0A4E9CEB059B5B4005B38110825C083EF25EDFAFFF518959AF86E5E55F387FB9
+ 19CCC5EB3D61AD661F14320915683616A2B24C22C2F9DE05FD0B10F4450B9C59
+ 6B299C070B23197FE5A082519D0AD6DFFEC677F56F0599194AA8CA8BB1848429
+ BDE40768EABEC6EE923431C6E1800C0C1B2D9852AE8E091FB959058F771643A6
+ 0974F7BF04535C716A236963D1D6A95173601B9128A1286BA4924DEB58DA98F5
+ C891217347096CD29531E16E12FFC1B109DC6A7F3837C9FCAF20397144854315
+ 5B91A15C88CC9DD7A864F90A2F8A729538B6F7DD662748C602B9F37AFE74D422
+ C2C5348D941CAF55A19A8C840B315855758B4A64996F909FEE84C7350D960D61
+ C6C7D1364D7FC829BCFF4A05A97118187901FD1DE3FC85365FA28646BD132E6F
+ 0005070DC0E6CD5015E6C58C390F9748D2D03F3C8E9B6DD1AB38E66627488E7E
+ A942D59E2D9090945DA36EA392B2FCEC28F8B31B9598251FA061B335263CEE76
+ 2D48BED25462DFF66228E4527CF4C55D2AA1C75B38CD16027F3F2C49059192BA
+ 9A0AEC2A2B2212193ED174D2673CDCED9DCB96D6F64771E109059192DAEAFDD8
+ 515A08B94C0A8EAC5A9A2D6396A4F0A48248C9113292BC651F807C1260FFE735
+ F4778D49E129090449E6B25516C7948DD64919A49CD2DF96FF0126B669571175
+ 682F0000000049454E44AE426082}
+ Name = 'PngImage1'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000032A4944415478DA
+ BD95CD4F134118877F5B0A22D84205341E30087E24021A45893131F1E2C178F1
+ 2A26FE07C6C478319E8D9E8C8926EA49E217D1B328F142A24123070B2E6DB76C
+ 0B5DB6A585B614CA47BB1F6D7D772CDAD22DA0094C32997476F67966DE79F72D
+ 97CBE5B0958DDB1601C7719B7EE1D18B8F9768E8A17EB660FA2BF537D7AF5DEC
+ 2F5CCBD8FF22C8C3DF5FBED04D2F73882FAC40CF64114BA6E1F3F9797AC693E4
+ EA7F090AE1FB9AEAD9DCD24A1ABA9E81AA6510239920C530CABB71F7E615EE9F
+ 0425705A6E80753D4B27C8A0AAD24A630EFE5002E25494242E26D994A01C5C55
+ 7528AC6BC866B3A8B7D782B35830198A63C829E2D9BDDEFB4EE7F3DBEB0ACCE0
+ AAA617C155EA29458546D2867A1B72D90CDEF67F41DFD37E3709DACB0ACCE00C
+ AA680CAC685A5EA4B13B38D97E00B14412BC57C2C0E0777C7A37545E50166E80
+ F302E324EC37CD7775B4223EBF0861621AA35E19636322BE7D18361798C2159D
+ ED785550024F2C821F9F82673202419882382A221C0897DEC146F0D59014C213
+ 0B4BF0D0CE9D8244F020FC3CC127C31819E92DCE2233785AF90B53F360632E43
+ 1FD7098A79742E899F047691C0352621264F63C22D3178D177F0F8E540093C95
+ 568BE29EA64C512834468A9EEA6CC34C7C1E6E5F082EA3BBA71097C310F9893F
+ F0B582D7C78EECEFE9EA6883B5C2C2629C5EB373259F9EDDC70F6226364FE020
+ C6082E8E87200B0148A25C045F2B983C77FA684BE7E16696D3A9945A10EBBC48
+ FB0D8FC617081CA44B0D421483181F19C7AC3C5B023715B43637D109AC58585C
+ C64A4A29806B043F84394AC561DE4FE560165E418668C083E6F01281A3CED6D2
+ E4D8853D0D75D8595DC52ED2C89E2C8D5D14F34834C1B2E5873B00C123232147
+ E017A4B2F0B582C14C8E3B5FBDA30A95560BF6EEB6A3916486A4C16187DD5603
+ A77B025E2902371FC072740E9E51DFBAF0926A7AE7415FCE6677C052C1C1565D
+ 81C6FA5AAA2B39D45111CBD2627F7086761E424494E0F30436849B966B4362AD
+ AC84BDA69A5295C3F2D21295619D95E5C5E40ABC4E3F8B79FB99F68DD8ACBD7A
+ 728B332B153722B1F987E170181ADD81F1DCE8AECFDE4D410B1B950A6E7BFEF4
+ B7B2FD02BC08E5EFAAF547E00000000049454E44AE426082}
+ Name = 'PngImage2'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000022C4944415478DA
+ 63FCFFFF3F032D0123CC82D53BCF13655398871123B18683CC46B120D4DD10AF
+ 06A01A86F6FED90CE7774E27CA12922CF80754B776D7050651415E86A2BA3EA2
+ 2C21DA0290E17FFFFE63D8B0F712838DB12AC3CD7B2F88B284280BFEFDFBCFF0
+ 0768F89FBF7F19B61EBC0A0E2218A08A0520D0B3EA2131410E06A5E10A704BB1
+ 5AD0B2EA0186260E0646869230798286831CD2317B23C3DB3DF98C382D00F141
+ 610E0E963FFF18FEFEFBC7306BEB4BA22D3051F8CD1052BD0D6C098605216E06
+ D008FDCFF0FBCF5FB0E1A0C89DBBE335410B7EFDF9CF3069DD23866827617022
+ 0059F266771E238A0541AEFA0CED6B1E91144440FBC186FF02FA76F69627E020
+ 82010C0BFC1C7519DE7EF88661C8B203EFB15A806C388CDEB9FF2458AE6CC679
+ 4C0B3C6DB5C061FF179A2C81084CAF3AFC096E4144CB159CC1D49EA60AB6E4E8
+ F133D82D70B5D26098B2FD25C120C2E67264FAF4E9B3D82D70325763F8F8F907
+ 8605EB8E7F815B40C87010BE78FE1C760BEC4C5418FEFD852451502A82E4E07F
+ 0CDBCEFE005B00323CBA0D7710954629327CFBF997E1F6B58BD82DB0355261B8
+ FFF41D86C6A3B718180A43E419BEFFFA87D5C520F6CFDF08B187B72E61B760DE
+ 92B5E0B2071DB8FAA73164F8C912653888FDE2FE654C0B181971975BDD2B1FFC
+ 4FF292061B5030E5264E75715E32608BDE3DBE4ABA05316E52045DFE0B5CB430
+ 307C7C4A8605614E1244190E026459106027CE70E8E869066201C916209731C4
+ 02140B6805009C1383EFACA508270000000049454E44AE426082}
+ Name = 'PngImage3'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000E9C00000E9C01079453DD000004BF4944415478DA
+ B5D37B4C53571800F0737A5B6ECB4B2F2D2D2D2053408286870CD4C9C0B89989
+ 8ACEB041F035064CEB365800D93235C0EA40FD836D380C085B44C7C30993111E
+ 93199411DE844029B80908586094577B81963EE8E3EE82D311662A35DB97DCE4
+ 3CBE737EB9E77C07120401FECF802B010821A8ACACC7BAC453B54A95E6405AE2
+ E111631B7C9E7E331102E87431313C76B1FFAFFD9E071492C0A3A109218D8AD4
+ 68C68527040281E1799B9FCF2A738306439314971765244598060C3C9E1406FA
+ BA73EE36F6045E381DD6B672F39339393457C4BE748BFBFAE08AFBED572E9B04
+ 94D7B20647645D7111FB7805E58D359DF2817DB97CBE76795E7246717450E096
+ 5C7239E5C7AAA62B99C9260039F977B893B3AA9E84A8FD3603C313BA9FAA5B8F
+ 9C8F0B2D799A73F6AB627B77676E4750A0375BD43B0ACA6ADA7ECE4C8A085935
+ 9097574B1F56C89A2342767A6356E6A0AAB6E3E1AF1DFD5B6E0822D5A1A1C588
+ D71B66D7DF7B3BE0E862767BCF20A8691265647D1115BF6A6031522E9784B130
+ EB9BEF066DA72C68B5C4F5D2BACF5262DF493F935E78684F804FE9C6F53CF8E7
+ 040E6E57B7E04A9572DBB7C951FD26018BCDF8B4FCAC5DDB37F377F86C84AD5D
+ 0353F79A1FECD9ECC22B3EF8E6AB2EB25925B85327D4F70E8DC5640B22AF3E5D
+ 640A004EA7FCC046D7A06D216F6D73E230AD417E59BD243CF8353B081128FC43
+ 0C6A9BBBEF4BF48CBD2582B085970296904B45611C1BEB225F4F67848A40E0FA
+ 0A178C4864A0F46EEB2C3E33BF332735BA6B79BEC9C062BD5B482D8A5998D5A1
+ 0D8E6C60678B01D14331E81D94246509DE4F052BC26400B8FC821E0E5178D9D9
+ 326A5BC516E6737225F0B09BEB1892500FB688E7A5A02E52FD72C08E026F3B1E
+ 2B92CBC676D3E9664E23A313A85EA7910368A6B1E3602C3A1D5DA0D210B14422
+ BBFF6860FC3BD018DEB53AC03797C659E79062CF65C6418346AF981AD3E85438
+ 9C56D3692C864A6EE1E0A3D62AA6AD0787261A210D250044BCD45A832DB93413
+ A8E70544FB49AD5100DB5FF1D14667CE3732F103056A98EBA322C42D8D9ED239
+ 348725AEB39CF56438FA2E5066FAB893B8C27D4C4A1D279770C9DF3E09CCE831
+ 8002CF12F5C7B28C022E11BF89508DD489AA1ABE26421D12414998FEEF23BBEA
+ 6683EF46ED7D09BDACD756A61AE2492A05CAA539A73C3A60EB6F03338623D170
+ C4D328E01E5DAF21A47D5A864EE92FACFAE49F12F42F28DA84C93CA9F67E2832
+ 3FECA4C30739DD5567F067F3BEB9A90035FF9468388A1A053CF8CD7238FDFB3C
+ 55A7F2E92C8F1D7B329A42A1BCEE52ED8EC9AC11DE56E61A44EE3833DA13DC5D
+ 9E50B30CB848023124606514F03AD5D24F99E9B5D42B64FEDD5509834B837E37
+ 98660CD8E7B616BF2745DD985C267D977E52745D88D49F0025254F8ED0EFFB22
+ F21EFC48C0D52860B9B7347B2D9C896252E70E8B2AE24BC1CE142AD0B97ECD36
+ 577DCC3197F3BB71762B8FC3CAD8C0D46D958FF59DEA2A4F2804DED99B009D71
+ 0B204803D170EC43E3651A50E88F52F4D55C0B45E563B9F597900031185DF381
+ BD85A262DA801F5FBAD8C0020F1EDBA61ACE8D40E50225145722C1804AE39355
+ 7480A83FDAF8E287E69FCF275BE7C82EC7D152A1C650F5B529037EEE59D52C5D
+ 7AD166000C17C85610F94D904F2C0D341ECF79E143FBAFE32F16D672EF3D728C
+ 4A0000000049454E44AE426082}
+ Name = 'PngImage4'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A0000043D4944415478DA
+ B5956D6C535518C7FFB7B7ED36B66E5D47D67663731BECD5B18605D8504C084B
+ 74982DC16468D4F881AD0305E3870550D100EABE482246712A8AA00182BA9828
+ 84252006D7264AA2631B461325DD5C9ABDC0686B6F5FB7DEDEE373EF6869C736
+ B6189FE4A4A7E79EFBFFF5799EFFE9E11863F83F834BFCF211506AD6A7585DFE
+ A99E3611BD4B1553DE7FC0DC797B64FC9C13387B883149017C0064549A528F56
+ 5A2A9E31AE2CD00EDF700AB62B034DAD22EC8B117E07482B3019F61516E7ED15
+ 6F8DA6BB6F79D84D1F0E5A197B8BDB06F06D7A743F5C8827B4997A684A6A804C
+ 031C7F8D78ED97FA9B5BB130E4531E9B2A2D655D191AA9CAE570201C61CC15C0
+ D94911D60EC642DC4915DA9BCA714C97024E6E87C46BA029AE86DA5C08C79F4E
+ A1F7CAB566AB08DB3DC280C19CA77FBBA42877BB776C940F08018444B0DB3E1C
+ EE6178AD1B88CAFDE58E02797526D8561BB1324A00519A191A532174E535181A
+ 1A176C3FF42595EB6360836595E1AB1C9DB660CC39A1EC0F46204E06B0AF4DC2
+ BBB17D0A409E1C032AD6E7E3C7223D8C31803C54E999C8B1AC85F3A6CF6BBFFC
+ 4BB30C3995A2B2D696E6BC2F8602691E6F50D9E79F4298CAD2DE069C4ECC320E
+ 90E32450BF6605BE37A623231122A9782CAF5A0DF7B44618F869F0FC9A55D94F
+ BB275DAA6058549EFB66C45BACC085D9654C02C8F1058F268B09DF64A5429B08
+ 11A97419463304B707E1E014A669215696093F9EDB097C399701EE01C8714A83
+ D60773F1499A1A7C1264D6A0864A54F397A8E65DF3396C4E801C67B4D85F9683
+ 4EB50ADC5CE25351B04972CB76865716B2F0BC8083D4DFAA545C2DCEC6BA9868
+ 34011096ED18C4E1768657659D2501C8519A2C9DB6AB7A6DB955F8E3376EBE12
+ C959F8C238B003E85C3480C497E5E51BCE6C78AA79EBDF17CE21484D5DA80FD3
+ 049916B1872047EE0B20F1ACE212F3B71B5B1EDD343E781DA3D7FA93C4C88E1E
+ 8941CDABA04B5C8F48F289C58BCF2BE76F1E00D55C5DBF42FF5D43D3238F07C3
+ 115CEFB90831CAE222816984DD213446818954158E136463ECD413546E428446
+ FB2E72FA9C80AF759A37B734D4BC9E663070FDBD5721787C890D955C41B45119
+ 3E57F6D29FA31BE8500187E8F1B2B8D80CE459827427014EF0D8FC585DD1C53C
+ 935E3DEC9CC4B06334A9C6247EC4CAB06776FA1F02D5F4EB8ED3743D77F75EA1
+ DE63DB6EE07C1CD05791FB7B6D85B1CAE70FE1D7010722E2DDD2FC13823D1C45
+ 039DD4C83C76D61A8197497D3F8DD43B990428BBADF4CE6505602FCAEE7EA826
+ BFA56FD0018F371417F747E017A650FB027003F70932482D099FA0A9E5CE9240
+ A37127633F739FF16859579ADD3D36E1492A0DB176B72BB7E0E2E23D20450B1C
+ A0E95ECA86A7526DDEC5582F27A759A6852D330575316708615C1A91B0E50D32
+ C9620109BDA9A78F27A9D91D7117D19D6A58AEC6E9340D1AC9350295A796360C
+ 2D557C76241D34D97E5E4A8F9270ED506EC4FF1E32E05FC9675CEF0AFC725300
+ 00000049454E44AE426082}
+ Name = 'PngImage5'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000027F4944415478DA
+ 63FCFFFF3F032D0123CC02464646AC0A66243060B820630103230391006EC1C9
+ 898CEE406A07B2E4890B40C33AA6A268B8B8229761E9E67F0CD1BE4C1886FD67
+ F8E76151C0B0139705FF154C1A18045444212EAFC8061BFEE5C54D86A6E24970
+ 0D75BD790C770F4C015BD2B16802C3FFBFBF19FE01F1D7A7BF1836CC69C0F01D
+ 8A05061153510C7F7D7527032EF0ECF216B025AD73DAC016DCD8D2C870FEC23F
+ E22C787C6C21C3D64DA70886AFB79F1983988E07D8825B3B3B89B70066092100
+ 331C84EFECE923CD027430F9A037410B61A0345C016E095116FCFFFF8F61CA21
+ 5F869230798286F7AC7AC8D0317B23C3DB3DF98C445900321C9452A61E0D22DA
+ 021385DF0C21D5DBC096E0B50066F8BF3FBF18A69F8C2068C1AF3FFF1926AD7B
+ C410ED24CC70F3DE0BB025382D00451C03D00290E120F6CC33B1382DF8FB0F62
+ F8AF3FFF18666F79020E22BC71003210968160ECD91752B05A806C388CDEB9FF
+ 2458AE6CC6794C0BB0190EF2C5DC2B59700B225AAEE00CA6F63455B025478F9F
+ C1B4402F740256C341F4BCEBF9283EC0E67264FAF4E9B39816E8067563351CC4
+ 5F70AB046E0121C341F8E2F973981668FBB761351C8417DDAD045B00323CBA0D
+ 7710954629327CFBF997E1F6B58B981668FA346235FCFFBF3F0C8BEFD7321486
+ C8337CFFF50FAB8B41EC9FBF11620F6F5DC2B440C3B306ABE120FE92474D0C19
+ 7EB244190E62BFB87F19D302559712B8E1E8F4F2E75D0C495ED260030AA6DCC4
+ 1944715E32608BDE3DBE8A6981B45E00C3B34B9BB06A3C24798F21C64D8AA0CB
+ 416C503C7D7C8A6901B8CABC7001BBCB3E7B3E6008739220CA7010C0B00057A5
+ 0F03DD2B1FFC0FB013673874F43403B180640B90CB18620100261ED9D6E5FCF2
+ FA0000000049454E44AE426082}
+ Name = 'PngImage6'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000037C4944415478DA
+ B595DF4F5B6518C73F2DFD4191B66C6C4E8512618376DD28B485B1C126D90F36
+ 8D1B1726264B76B53BAF3431DE99F80F18BDD1449399254B644E1747743ADD94
+ 48169C428131268366832D631BC838FC687B0A057AEA7B0EB692B562417D9393
+ 9C93F33EDFCFFB7D9EE73C47974824F83F976E25A0E59BCE75D1DEFBF00CD72F
+ 7FA4CB0A70E268DD9AC4450C454F17F2E63BEF6784FC2780EAEDCFF3580A6784
+ FC2B403CAE70EEBB007BFD4E22D15846C8BA01AA783C9EE0FC956E0EECDEC1C2
+ E2524648D680E1FB9374760E119A95B1D99FA2AECEC5739BED5C68EBD58AFCE4
+ CA1A1096635CBC14D084B7941761CECB25321D66EAFE440A343032811C959124
+ 498B39DDF275760055BCE5B3761C9E321CDB1D42DC844EA7435114E6E57946FB
+ 4778187C44D3613F66B3414BDBC5B6AEEC0167CF77905FBC096F4D3936430EF7
+ C2301E5D7E67B5409E3EC648D720F353111A1ADC28A226DFB607B203A839FFE1
+ 4A0FF5C71B291169B1EBE14E086E882C0813E488E70D3630CA53F48B4EF2EE72
+ 512852F6FDD5EEEC00EAE973375AA93C50C55C04CC0A8C89D3CB4B5060165D24
+ C242E2DE4A98B1BE2114D1413E7F053FFEDC9B1DE0E34F2E535A5341597529C3
+ 63301703530E3C9B07361308034C2E08A09009DD1A606CE801FB1AABF8E9D7BE
+ 7F06A8C5FAFCC235AC22FFAE3D2E46C661711136E5C266711905A8C0080BC255
+ 707A9E4737832CCE84D95959C6D540FFEA80E32FD56A1FD0E8F8B45683FD279B
+ 90643D2191A62DA2B076215C201C6C109738070392CC2F5F75E0F26CC5969FCB
+ B59EDF5607BC7AB84673B0245A51EDFF925D4E0A859389591D46B1F519E1C022
+ F2633588B489E79B771E70B73B48B5AF428B09DC185C1DF0CA419FB651854833
+ B2E6C2DFBC1BEB461BB373A20E8A0EBB69B9931E4F4DD37BA90B5FA59D2F4F9F
+ E575DF755AF3DE5E1DD0BCBFFACF39B3EC22223EB6E488F01CF163C9B7109989
+ 30D0D6A7C544676EE1609CA6E2DB58BC47986CFF9463AD957F0F78F9054F4A3C
+ 098A2B097E17436C38389A9A455B9D0E0C7A3D5F7CF02E45917BD497C6707B8C
+ E4541DD320C5AF756406BCD8B0334D3C39399F0427EF4FBD518FD751AB419C6E
+ 03267F730A920638B4C7BD26F1E4BE336FED4B41563A490334D63AB52075AEA8
+ 814BF1BF84944422A37872AD846C739B18948CE980BDBE726D22AE77F59C3A99
+ 829C934AD201997E1E6B5D55D1560A771C659BC7CB1F1C73BA92B5793DE80000
+ 000049454E44AE426082}
+ Name = 'PngImage7'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000B3A00000B3A01647F570D000002724944415478DA
+ 63FCFFFF3F032D01235D2C606464C42AB978D3F10C0E76EEE9E4181CEAAE0731
+ 1B9F05AB775E3A1DE2A66B822E0EF2F3BF7FFF19FEFEFB8742FF03D217AE3F67
+ E89DB19261F3BC2AFC16C05C0FB480E1E0E97B0CAFDF7FC5E95A51416E067D0D
+ 49B02513E6AC66D0D3353A03F481295E0B40AEB73751341115E2818BFDFB0F72
+ 2DC4A5A82E87E0CBB75E3014D6F6309CDF391D6C204E0B905D4FACE120B9C9F3
+ D6C05D8FD70264D713133C5A2AE20CD7EEBC44713D4E0BD05D4F8CCB4172A965
+ 5318FC3C6C18EEDDBDCEC0C6C6CEA0A363C400348311C30264D7136BF88D7BAF
+ C129C7232C99C152959B61FDFA350C17AE3D63D834B712AB05FF41AE07197EF8
+ CC7D82C1A3A620C2905E3115C570297975866DDBF7A35A50DBB3E03F30821880
+ AE671012E0C69AC681086BFACFAE9ECED0589D07371C04502C689EB8E4FFEF3F
+ 7FC9C9B070C0CCCCC2202EA30C371C04E016D4F52EFCDF541C4FD0901FBFFE31
+ 7CFFFD1F4CFFF8FD8FE1CF5F18FB3FC3E68D88A0F1F27444F5013116A01B0EA6
+ A18683F0FE9DEBC0110B321C2388401650143EB060E2E063E0E6E165E0E1E621
+ DE07845CFE1D2A7EE1C82686EF7F9818787878C0961C3A749AB005840C5FF4D5
+ 8E61C1850B0C4BB5DE30DC38B585E10D304973F3F2822D397BEE067E0B8871B9
+ F76901B0DAB9AAAF181E9CDFC670FFD173065E5E3EB025376F3DC16D01B1C1E2
+ 9D21C43083D59481B5790BC38B2BDB192E5EB9C1C0C7C7CFF0F1CB7FD4FA0066
+ 0138D9C10C40321C268E6C3848FC75B127D841300B4E9FBBC8C0CA210A361C24
+ 8E62415D411CC3EC95BBC94E41CF9F3F07275398E12816C08A0A4A92A8B28621
+ 43828F3E4AB90FB7809600004F6ECDEFF6DCFB3B0000000049454E44AE426082}
+ Name = 'PngImage8'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000B3A00000B3A01647F570D000002954944415478DA
+ B5955F6852511CC7BF3E9882694B723D6450D4A21ED61FB3879EEA295CABA058
+ D1CB6A23A315C2A441AC4123368A82FE5011066D63D1ECAF6058291643AC8D60
+ 966EB5FE3E64D4966B7B1841B1997A4FF75CF14E773DFE1978E070EE3D1E3F9F
+ EF399C9FCA082190C964284523F73A88AC54020A8F9E3323A7E0B6EB558352A1
+ B2150BAF991C00852B0779742EC143EFDB40CDB64AA3241DDF398EC066F74ABE
+ 6399372AC2E93B53904ACF0BE00F7CC5C4E45FC99AB15FA3B054AD07ECE781C6
+ CB4084876FD743D1DC01D97E736E014DBFC5B8DCA8D3CE17E7387E6D824FCE71
+ 9CB083CE07BD387CA94AF84CE1FC88E8EE3550D45961F04411F2DAD882F4F42C
+ 78821FBB1D3E58E2EF10BD7A425CA7708FC0507F26B7203D3DEB78C423DABA12
+ 38DD8868D02D1C0DF6D4C2B0D3CA16CC4E9F2D3927BC13F43CF2C3526B02EE5E
+ 037E8401F34940AB83C1740C2DC78F0AB74922484F9F0B4EFB1DD70B74D95D59
+ 7717ACDF88AC75C00B084D4FE12F5F8799C7439B6EA10AAB962DC291E6EB30ED
+ 3B84CD152A389D0EB4E9E3D23A3875A19BACAD34804F0F6D994A4C3B939A8EC8
+ 987378FA9975B0D770168FBB5A9282F62B3D24164FA0D8565EBE985907BB9E8D
+ CF085A2FDE226D4D07F302A7FF71988A11619C8E7178EAF531EB40BF64697182
+ D9703AF6FAFCCC3A90088A3E9FD41131EAA0E01D644B9E7C267833D0C7AC8382
+ 04B9E0B4BF0FF533EB20AF201F7C8A7FAE0E94096B3B2BC6F12DE446F87B046A
+ B5062AB51A9FBF8CB00585C0E97C75831637E49B206F7F82B1610F86863F41A3
+ 5980DF7F8800A7AC0C413C91064883A7E6D3E1747EA2297945538240700872A5
+ 4E8467085AAD0770F3FEF3B95C26A14522110C7EF899011705A99F8A39D3F9B6
+ 62F506D4ED5827F9E71204A56CFF01E5E2820611E3A8010000000049454E44AE
+ 426082}
+ Name = 'PngImage9'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000029E4944415478DA
+ 63FCFFFF3F032D0123B2054BB79C24CBB6DE290B19CEEF9CCE882C063317C382
+ 681F73920C07EA619016136628AAEB43B184AA1618682A30BC7EFB19C512AA58
+ F0F7EF3F8615DB4F33D818AB337CF9F613C5128A2D0019FEF7EF7F86D5BBCE30
+ 38596833FCFAFD07C592733BA6319265C1FF7FFF19FE02F11FA00520F6BABDE7
+ C0918C0E48B2E0D687070C53AF4E62B8F0F6020348B59BB41F43A1661603EF12
+ 0E8637E15F188E9C7FC0F0F5DB5786B76FDF82D5CF5BBA89780BE6DC58C0B0FD
+ D9620C4B4F3FBFCFF0E4EB038697219FC0C1F5E7DF3F30BD79EF29E22D38FDEA
+ 0283F906230CC303551CC1F4FA3BFB199E057E801BFE0F18275B0F9C26DE0287
+ CD4E0C879E1F6028D56B606834AC021B62BEC582415D44106EC123FF7770C341
+ 71B3E3D019E22C38F5F20283FB7627860D6EFB18CC8575A0A9E61F83D5762B14
+ 0BEEFBBC811B0E8AF83D47CF116741FED12206676064BA49DAC00D1758CE8511
+ 5C773D5FC30D07A9D97FE202610B400A6BCEB430D4E95532FC03CA234722321B
+ E6F2B92FA631C408A581C50E9DBE84DF82084F5370068219C4BF9413C3D5F7BC
+ DFC033DAD467ED60B164E112B0FA6367AFE0B720D4CD04C595422BB8E1A9E6E6
+ 9BF70C5BACF7C00D7FCEFE942160971343B16E1D83277B3058CFE98BD7F15B10
+ E46C84121CA2AB79512CD868B10B6CF8DC97D319BA2F3530D8493A30F42A2E84
+ EB3977E5267E0BFC1C0D50C25A722D3FDC0274004A454DC67D0CAEAC81703D17
+ AFDFC66F81B79D1E4A10C96C106490E15600E75A74806E3828C2AFDCBC83DF02
+ 0F6B1D942092DF2CCC70DBE315C3F2D74B18763DDDC400D265206CC020CA2187
+ 61380810B4C0C5520B45132C4271255564C389B2C0DE541D258DC33210580C4B
+ 9E40369C280B6C8C54C125222500AF05D82A0F7200CC0200F191E9EFB5062090
+ 0000000049454E44AE426082}
+ Name = 'PngImage10'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300004E2000004E2001167D99DE0000035A4944415478DA
+ ED954D4C134114C7DFEC6E0B420B085A6A040DD88A45C0C4602D4A2D281F5589
+ F1AB6AA2094A4C5502DC34F160EAD11BF1E4498D462F1A43FC408BA052C11435
+ F8890AA222A2601B6B2D94B26DB73BEEB4168B16E1E2C1C4974C7627F37BFFFF
+ CB9B995D843186BF19E8BFC1940653012693897AF9CEAEA5696825732FE72B6B
+ 3877F2B6F01A982A77435595F48F0646A351E4E3E3342CE7BDFBD1F6F1E7024D
+ 957CE6BCED6FCC66EF6485D71D3DDE617FDFAD9ECC00E96B6BC5727FAC9A65DD
+ 41718EF795A6CBE6F9699A6925738F67ACE091A5A5235AB2C1502DA1E3F108E1
+ A219A0CA4A530C15CFE68F7986DB0814F0072AAC2DD71BC9A276FDA69D98E7CE
+ 7198DFDC616E6C8866A0D6EB13C448E48AB6078278A5209E22888F05C531E075
+ F76E5CBB11660B4AD716D30C732BC0F37A6B5363535403B56090F2BB01D209E2
+ 4AA96C99DB1D6A0BE251455BD395C6C8E4253A5D929491248F70CCD7A796CBDF
+ A219E495EE8A4F605CEE09060683412C92CED6F03CB64C26FE830F9F6B4A187C
+ D41D144EDECAFBF7D50889AC41039D4EC7C83354050850B0721FEB392441D892
+ 1827C62C93E892393F7F3863B1F822049142A110CB6473553C254AA431041806
+ 80E3001266A7D8ED036FFA3A3333F94237CB1103B4AD72DF0A0A51EDD18AE91F
+ EA3F2191CCBADA7CE9ECCD88EA614B556DC9E0A7B71BE7CF997FE0579E773B2E
+ 386C0EAB5CA962D1DE9A835AD273B25873B41E66C602385900DB28C0C008C0F3
+ 0127F49C3282D3ED2F7FD16626170C6FDB53534CE140F39FF8A10FB6D573E6A5
+ DE463B761FC061F17C39C0A03B34C209244892F9702924C5607DD6E2A501719C
+ A4793A7C863203D05C450ED6166AE1C8B17A9821F4718C9B5811097A580CC7AA
+ F38070E1980E1FDC2C7966567ED1AAD50F4945E1707943C3EE9998402A229196
+ 9A06D3E159AF6719D2EB6B63B20A942D19E5C6C2746908F0064209E449E0272E
+ 1BBC3D5F37D865BD6BCCC9CDE5E4694AB3667F3D4CC5B73E7EB020784CD76EDC
+ BE70C4EBE9D96ABA0831B470DC9CE2F1EA084CFAF9CDE95C33EAF8D49E9D9D0D
+ 0AC5224D5C72AA85984CC6B37E9FCAD1FFBA7BFCA269CACA14CB57569CEEEC68
+ 2EECEBED1B4F50E6A8067BBA7B770F753F89FC4453E5DB77AE1A1D1EBE13C986
+ F9AE675D455FDEBDEA0DEEC1BFFF47FBE70DBE03EC16D6DE8FAAF1BC00000000
+ 49454E44AE426082}
+ Name = 'PngImage11'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000003784944415478DA
+ B5566B48544114FE362D31A3C78F104C7B50145A902FECE15299D12668ADBA61
+ AE925AA405811585F4A31745FD308A0A42DB5EBBE96E56AE9AAF30CD2CC5C79A
+ BB998FCCEDA5640F15823233DC7B9BB9EBBDEEB65BAD5207863967E6CCF7CD39
+ 6766EE15B12C8BFF29224AA0CCAF89237DD63F051689E21323C5D91CC1F5BC6A
+ 96186302A0EB68EC0CC3C2C430309918B34E7A2AF2DD2751A23A21B22210F965
+ 9A17EB5304DD9ECD34256382FF25C11EA84D82DB8A6B9CDEFF301E771FE8A0D4
+ 94E0E1ED745B020A36F69DD39EC5F4552A7CAA88437155A37D02478421FE96E0
+ E6366293C610FD5E75D3F822A0E096B9363116E0C4765FA74677690CCA6B0D63
+ 23287EDC850B375BF0A4AD177D9FBF63DA94499086CCC1B15D0198E2EA2C44E1
+ 21D1E04DF16654D6373B4E702CF3098E663422FFAC049215B35050F5165BD22A
+ B8B9D0200FA84FAE11A2F00ACBC1CB42191EE99E395E03D76597F1FD8709BB36
+ FB207DEF320E689A58C9CD393B89D0551243C6F81A985357D3D4EA5804F47424
+ 1DA982BAD488C329FE48952FC6FDDA77901D28177C68CE79F0F91177D09E2B45
+ DDD3F6BF13F005A5EDC730C3919C57B7C063E6645434F40804AF8B64233B67B1
+ 28528B67B736A2B1A5E3F704F412D1313EDCEE8F0388492B87FE793FC2C45E50
+ 1C0A86A7E4A64060BC1B2D6CC447560083261CFAF64E5B82046930B7800233FC
+ 1927FADAE462E85A7BB9B9B6DC284C759B08CF0D390241475EA4E0CBF7CD1D46
+ FB04F4FA0F356CB75AE0BE2E1B43A4C854CA2E4AA02A3222ABE4A54060D044C0
+ 89149BFAFAC616A1E146185A3B5FD912C46F5C8989810A7C23EF8AC9E22229B4
+ 1D38AED07360625F77246E5A0065A111F7EB7AE03C4184D80DF3B047EE8D3A6F
+ 4F81D4455B694B200F5F0E97A02BF85293387A4B99D14233BF1C45ABB490A65B
+ 321B29CA73C84C48B54F10131664B573BB4056F3E6776778C447BF74EE9F09A2
+ D707622AB9407D95F1E6428F000D5B00FFFA06D5FB8CA685CA8E3307A1D877CA
+ 6A4C2090860660C66A1537D853160B8FF51AC1E9457E14164AB582AD5787C34F
+ 5E840CC34E6ED7ECE057B0FD1FC0F4BD0778BDD380EB060B8288103F3B69F8F3
+ EB49D36229DBB78A7145556D3F024A5058A973E89B604F86A242B02D7C01AE92
+ 636C5303FAD1CFD196667D1B1C1A3741EC9DD348F40597168D6C3F92E2A4A31F
+ 7DF207306E605E3200E1FF6727C90CAFFF0482645308AD8246DC000000004945
+ 4E44AE426082}
+ Name = 'PngImage12'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000E9C00000E9C01079453DD000003DC4944415478DA
+ BD947F4C1B6518C79F7BEF8EFBD56BAFC7951F33BA75E9822B88520C88D92C93
+ 05C410CA70986D3261B1DB3F261B24D3F92331F2A799C6B0F96B666668165D88
+ 12E7FE598CC14C639C43D0988D41B69974DD5A680B584A5B68EFFA7AAD81306C
+ 8D0BE2935CEE9E7B9FE7FB79DEF779DF97C018C35A1AF1BF020882C81978E004
+ A6EB6BA106236D0B42E4BD080045E3AA8A35ECA3587A607709717531F60ECD7F
+ 0378FFDBF806A9807E2734956898F027A94844054D03C86310701C02AB950B47
+ E3DA075D4EEEA5BB069CB898DCC671D03F3E1655BCDE0548A520F3A4D332DFFA
+ 9BA208D8B2D5047351B5EB48BDD09B13F0E27B41E7A580E5870B3D849AF64F5F
+ 49BA522AEE1B198E48B11806DE40416C4EBDA380A9192D03E278048D0DE61BDE
+ 49B2FAE5ED309515B0AFD7838D14FFEE3C6DE9AEAD559B6211AD7F642842A91A
+ B1243E3D1D85D999202416E2C08B0A30BC5907109999382A045C5E2674B6DAE0
+ 93AC8096377EC7452C8F79237DB6AC5CAC1BBA14165329B4243EE10B82DF3B06
+ 34237E93C2DA607C36F4B849595F67B26C22B03E0B399F82E626F9B3A76CB027
+ 27A0D0600235F9D7325034B5241E0C84E1E6F591A02E7870F058D599F4F87AE7
+ 295654882F8B37D434D08CA4C7226869967F7CA6143D9A1320911C305C5EC65F
+ 140F8713E0B9368C3535F5E4D069D7F9E53DB0EF38D526291BFB8DCAFD603090
+ B0C3257DB7A79474660534BF12C0884A81C9844056988C7824A24168D283FDDE
+ AB472F7FD17164E52EB3B77D7C1FCF291EB9F8613D8F84D656F3B95D25A83927
+ E076488375051498440C825E5178568399D0ED9F3DD7475CE35FB97D2B01B627
+ 3EB218154B405E570D160B05AD2D52DF4E1BDA97133039A3427AD714EA0D33EA
+ 907455A169350E40BA075EB37CBA12B0A9ADEF1E91C9BF251557C1462B03CEAD
+ E25BED65E8705640E5013F9E5767F553A4014AA9A07700B4E43CA49271482EC4
+ E7584172FD76A66E7039A0F2D9F35588CCFB49904BC1F1100F763B77F0390779
+ 3C2BA0F11830E274805EF4037F3BD731F5428F757EF91FC7DEAFBB04B3ED6D82
+ 12A0A9D1A4996554ED76D0C35901FF74D965B347BA6F725AD8F73D27592BD3B9
+ 9DED66DF956B0B9547DB8489FF0450D171712F6750FA106D440F3EC0E9CBC39C
+ 7CBE266FFF5DDFA6D9CCDE71B98867F02F2C5F50C43024EC6C312646C763F6E3
+ 9DD28D5503CADB7F1568160D7086C27A8AD42FB97A51CDB75087DD0EAA373DBE
+ 6A40C5FEB10F395674CB324B6C731A4010D09B7E0FF56ACFD34462D580C70E85
+ 369BCC7874730987CB4AD9D1C980FAFA0BDBD9CF97C7AC0AE03C3423EDDA2D9C
+ 5414FADCAD089CEDAE20FE58199313B016B6E6803F0192C0D6E065D4DD9D0000
+ 000049454E44AE426082}
+ Name = 'PngImage13'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A0000053A4944415478DA
+ AD956B50546518C79F73CE2ECB5ED9B3ECB22C48800A02CA45101BBCA005D9D4
+ 4C17758C6FD57899FAE0D4871AB3CC6B5FD2748CA91877600AB3A949CA4427E3
+ A65C1409729565B92CEEB2807B935DD80BECB2B773F6F4420A5841493D33E7D3
+ 7BDEDFEF39FFF799F760F058C5601F2BAB443E079B0C077DF250304086432117
+ CDC6AD3EA77FACAC6CAF77EAA5B93BB07F8B3EFD55A37872CC95C7E5725E6671
+ 584F4570D871188E7182815068D2E3354E38DC17273C8E2B9DC33A4D735599E7
+ B10495E76FC63B6CCED7F8A4708F58267A429620C5C4B1628C601310F006C06E
+ 1A656CF7ECA151B3ADDB366256EA07BB2EFEF4CD19FBF427FF13FCA4F29214A3
+ 88BD9218F2CDB4DCA531B1F1122C40B0C11B02A0C37F74C822502A011F63EA37
+ 33BACEBB8377BBD5A75B9B7EF956A3B9E15C50B063C77922AF20622B29979CC8
+ 29484D4C7F428647E038DCF703BC70E826681A34F0F9B15720398F0452C0000F
+ 0FC1B0C640AB9A3ABA55ED8DEFFD5C5D797541C1A7E5D5F2E024766C59CEB29D
+ F96B5388380E0BC351CFEE2040E187B3024516096C1680044958FE71467D4D1D
+ AAABAE52B65D6F38BAA0E0E8890B05B21871E5AAC28C94D8043926A601F80480
+ 651260DB47B382F47C12BC14008ED6A2793458D4FDE196CBB53D576BBE7B635E
+ C1543C2B32A8ED4B33932A5617670929161F761EB9396F330F6519EB49A06C56
+ 4655D3EA3A5B7162DF0282C3112969A9AFA7E7A794E61467478E072360FD66E5
+ CC7A6671E634746E4D0956AD2301BC4EE8ACFDD5AF2C3DF2C9BC824D9B0EB30A
+ 3624EF589EBDBC3CB7389B1F2004A06A76CEAC2B5BFA66BA9E5B1B3693601DB6
+ 30B7EB5B3D155F1C2B5DF00C0E1CAE2C8C8E8B399BFB744EA2302E16333B3020
+ D08E680EC09EE3B367B0BD98041A4D2A9A5AF08469E8EAE8635A2E5D19BCF07D
+ D9A90505EF1CA84814F1F92757ADCFDC96929F8A8F4DA2F9F7014421C1C62DCA
+ 9958B622C154518866754E80A6454D55559EA96F69AA3E3EAF40B57FCB726D50
+ C0D2466DD9268D4F7C376B6396589A28C7EC1E0218344D7DEDB371BD84040CC6
+ 80C31F64746A1DEABECE5873F9EBB33A9DFAB3BF15B41F78A690C7659A3D9152
+ D044AE8500AE08B1F83266C593692C91428A071836BA0470E0A2B1E4A10747E1
+ 38C6BD8C65C014EEBCFE9BA3B1EEC7DAB6EB57CA298A6AFB8BA0637FF18B3C11
+ 5D91B03A534684ECA0712583C61D0316271EE408E4DEA495295162B904E39242
+ 60B1D998DFE367D04507F6210BD577476DBD73BBF9467B5BED799FC7D38470EE
+ 47041D1F146D1788C22715B9EB92843C0A5CDA4EE8B708A163221E8C7E4269F3
+ B0FB2339FC2269AC224D1EAF904444B2591E97276C1A1A720E1B740383035DB7
+ 7A7B54F5341DB88D702E987BD94D752E10D3A58ABC8D4922AE7F1A6E30B2C130
+ 26048DD50A23E38EE7CBEB354D19196B93A3158A748C2696D1B43F0AC5002EF7
+ 98C334ACEFF47ADD030835821EDF432EF630733E9FFA217ECD3A998817828981
+ 2ED0E93130B824A0350D41B7590F6E7FF0B9BA2E67CD833DE8E6017410403CE0
+ 4C4D68706A90E0CF3F1CD5C1E2A24801D1B0243707F85C149AF60E188609E877
+ 4483D6A8875E8BDEE5F4516F35F6B8CEC1220AEB39FE2CB3247B25F0055C14CB
+ 2D1834B2C0E010836678007AAD7ABBCB1B3C78AD775CB918F8B4A0FE5409B366
+ 752A50860E1832A1CC4705A0351B416DEC7721F8FBD7FAC6CF2C163E2D38B4EF
+ 6D2647781F12682F82F3A0CF6C821EF3008C7A03AF2E36964704BB77EF629688
+ F9407A6CE01CB987E006704FFA76D575BBBFFCAFF06941494949915020688811
+ F1E15E4F2BD82CFA5D63DDEE732A80D0FF21F81D69327688E78891A000000000
+ 49454E44AE426082}
+ Name = 'PngImage14'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A000005234944415478DA
+ AD956B4C53671880DF7329BD9CB6B4A5174A454005112F205E16DCD46C3097ED
+ C7B2690CFFB665BAE80FB3FDD8E2DC8C739AFD984EE3C8326203D9702E5B069B
+ 139D8E9B82283299454AB9147B81DA9BB4D00BB4F476DAB3AF80896E02D3ED24
+ 5F4E4ECEF99EE7FDDEEF7DBF83C1135D0CF6B9BA4E18F2B0C4896848118B46C4
+ 8958CC1767E1CE90373C5E59B92F98FCE8E119D8BF459FFAB6553435EE5BC7E5
+ B25F23D9E4F3296C56068663EC6824169B0A04AD931EFFF9C980E7728FC5A0BB
+ 5657197822414DED4D95C7E57D93120BDE11C9848B6599524C942EC208160191
+ 6004DCB631C675CF1D1BB3BBFA5CA376B571B8F7FCAFDF9F764F2F7921F809F5
+ 05294613FB2472F1DEFCE225F27495048B102C08C600E2899908490265251262
+ 6C4376C6D07377F86E9FF65447DBEF3FE87437BCF30A76EEAC25D695A4BC2E56
+ 488E1795E465AD582CC353701CEE870106BD00D1F84C0E481C40CC678087C7C0
+ A233C7356D5D7D9A5BAD1F5EAAAFB932AFE0CBAA7A45740A3BBAB468E9DB1B36
+ E612196C12C311D11F05E81E07F044101F9B192C12408224647882D15ED5C69A
+ EAEBD49DD75B8ECC2B3872FC5C894C2EAA59B5A520373D53818950C41401E098
+ 0218F2CD940B8F35B38A200D80A37769BC3838B44389F68B8DFD571A7EDC33A7
+ 20999EE505F48E25ABB3ABD796AD11D024056EEFC2BBC6E502D02E27A369E8F0
+ 9DA93EBE7F1EC1E194DCFCBCB7566CC8AD282A2BE44C445360EF6737E704EB5A
+ 7470E9B73D4071D043D00B3D8D7F84D5159F7E31A760EBD6C364C973393B9715
+ 2EAB2A2E2BA422041F4AB6AAE78D3E295009019C1607D3DDDC11A8FEFA68C5BC
+ 0B3E78B8664B5A86FC4CF10B4559828C74ECBE77E1B6C9498D436FD720D37EE1
+ F2F0B99F2A4FCE3BE3FD83D559428A3AB1EAD9D5DB7337E4E1E353A8FE4300A9
+ 6C00394A059B98ED83590A8DEE4EEF24E8DAB5745DCDE9E6F6B6FA63730A3407
+ B62DD347F9A43E75DB76A92AEB83359BD788A4590ACC1D208041D5244896650A
+ 2A4FD4033896DC7C063CE12863D01A50F44DD6868BDF9D3118B45F3D5670EBE0
+ 8B5B785CE65A8023051D67234470658CA464CCF267F249A1528A4718549B0C0E
+ 5CB4021E1A3824C03311641C265BA2E7FA9F9ED6A65F1A3BAF5FAEA269BAF31F
+ 82AE0365AFF284F1EACCB5AB6544CC0D3A5F0EE8FC727078F1289BAF0866AFCC
+ 4D15292418572C0092C5C2C28130830E3A708F38E8C13B5AE79DEE6B376E7536
+ D68602813684F33F22E8FAB874075F9838A12CDE942DE0D1E0D3F7C09043005D
+ 932AB08609B52BC01AE2B0A95269BA325FA1524A52382C32E00B246C23235E8B
+ D9601A36F5DE1EE8D734C7E3916E8443ADF850DB2423E78BE215CA759BB385DC
+ F034DC6C6581795C003AA71346273CAF5435EBDA0A0A36E6A429952BB038B134
+ 1E0FA7A23480CF3FEEB1598C3DC1A0DF8450A368841E70B10739A728FA67D5FA
+ 4D32212F0693A65E30183130FB24A0B78D409FDD08FE70F4E5A65E6FC3EC1CB4
+ C5903C2488590E3A57219A2C24F8FB0F4773A8AC94C3275A1615170185DADCAF
+ BF03660B01439E34D05B8D30E030FABC21FADDD67EDFD9059BE03117D67FEC25
+ 6651E14AA0F85C9496DB306C25C1EC1181CE628201A7D1ED0B460F5D1D98503F
+ 0D7C5AD07CB29C59BF360F6873178CD850CEC7F8A0B75B416B1DF221F8475707
+ 274E3F2D7C5AF0C9FEF79822C17DC88C07119C0783761BF4DB4D30168CBCF1B4
+ 697944B07BF72E6691880271C005DED17B086E06FF546857539FFF9BFF0A9F16
+ 949797970AF8FC16B990827BFD1DE07218778DF7F9CF6A0062FF87E02F9F6855
+ 88E7298D620000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A000005A34944415478DA
+ 8D960B50546514C7CFBDFB625958DC455049C8074A3C44B490C67C8C5A098A8E
+ 8E61A0E68C363A4C884C5A3E7240D1F1C13496A58E634FCD0AABC9416DB29C18
+ D9626C542052234904158170A10576F7DEBBDF7D75BEBB0B3E82F49BF9CF7767
+ F7DCFFEF7CCF731918B8E950C1283B6AB8D96C8C62F5AC4994149EF0A4197F6B
+ 4575A13894D29F81AAAAC00C601EA6D3416A5090F9F9509B65AA2D3C74C490E8
+ C121C19620D6E316E4F616678FCBD973C3E5723B445E2CC7F81A94F7710034EB
+ B17ABD7E516C42744E424AECA8F8F1234D23C63CC10C8D8900539001BC5E1E5A
+ 6EFD0DF57537D53F6A1BF9FADAC66B6D8D1DC7144529C3776F51DF8100D43CCD
+ 1E11B626754A52C69CACA9831252464358B815581DA305CB8A028AAA804F26E0
+ 1638686DBBAB5EB9F417549EAA71D6573595096E72103DAEF442EE07B0A8F1B6
+ 48EB96CC97A6A72F58362B3866F43046A763FBD2A1C6C5F90ED8F8EEB3C0893C
+ 78509C28809BF74243FD6DF5E7D2AA9ECB3F5DFF9678C91E0C6FF0FBDF034418
+ 0CBA4DF397CE5CBD7CCD7C4B544C24A36391C930BDB940D19A735AE0EB7B9F06
+ 0FE1347935103EFB38B8D3D0AE3A3EAD72D59737BD8361FB513DBD0093C1C02E
+ 9B38257157DE9625914F258F445F06588645E1D46048515E399C2E3D08F372F2
+ 20B7244933778B5EF05210422888230234D5DC81F3876B9B3AEA5DEBD1F73402
+ 240A181E3ED476287BD5EC3959AFA6B366B34903E8581DF66C9F396D14B0724F
+ 3CB87D1E70138F96B936020471124E57B7176A8F5F93AE7F7FFB33C9236D4440
+ 07CE33A4C7A5C41ECDDF9A13999C1AA7654DB3A7806DF9157DE6BD80FE5AD4AA
+ 0EE071148244A0F9421B5C3DD2D0E469E65620C0C1982C86E21973D336BF5698
+ 6D1844774C20FB9D05950F98D31D24490A88921C90FF39B7E02DB0AF6C418080
+ 001F74B5F640DD478DA2EBF79E4259944B98109BE5544E6E46E6E2D5E98CDEA0
+ 031617F7ED75171ECB9C2A7F7D21985FB901BCE407705E011A4BEFA8CE739D47
+ 245E59C9D822C2AAF28AB3274E9FFB0C43E77EDF869AC736F71109DED85C0CCC
+ 92BAC0088876465ACF38D5B613CE5F658FFC1C631F32A8A660D7D209A93393B4
+ 1D7968F3953E407FA6D243CF9B0A77009F558D009F66EE9345E83CD705EDDF74
+ D6CA6E790263B5592A96AD9B37EDC5ECC98C04321045842FB7DE8413C7DE7FA4
+ 39ED0B8B77C13F0BCE6BD3A3017C22749C76A9DD673DD58AA0A432C1A1410766
+ 2C9A949BB576B60E8218201844213FEC76C1E71FEEFD5F73AAED3B4BA0655E05
+ F81040307BA18B40676997CAFF269C54457521C31AD8E58993461F78796346A8
+ 2DC61A18A61F72699F0A1FECDFDD6758F06651BFDBB431E34704F8DFE11A04E8
+ FECACD49B7E5125556B7D383161F1963FB62F6EA2929492FC4323E55BC079125
+ 683C6C85F7DEDEAE01E8822AD957B5E9E051DAB468BDDF5CC445F73838953B2B
+ FCA276AB5BF01C545240A8C1ACDB903C2B6EFDF455A966A3DD0082ECD3168B42
+ 44EC5D47A361CF8E426D41DD8B2EF6ED169A756FE634195F1B016F19D72DD5C9
+ 5B41828F11E0E9BDECE22DB6A092B4A5E3D3C7A63FA9978D0AC35388F6B27F67
+ E8BF4ED602DB321D81D1899A4445F2F76E51E52A0442CAC5E340A010439BEFBF
+ 4D8DA8CCC1636D45E316C4260E993458279914C6171809096CBFF09393E166C6
+ 59CDD01730A72324682E54119138C845F52E6C432F074A7AB8E0846255586C1F
+ 655D1B3D6D5842449A5DCFD870573DB026FE7511E994507311FF6B2720541322
+ 568BD56A3BD0ABFA3B943050C9B4A266996C8615F6C4B099D6849060D3082303
+ 363CD1264583116AEA45E05DEC9B7C2AA9177BA4EBF2192CFD9FE0BB9528FE51
+ 45DF801AC31AD9857AAB3ED318AE8F3344E843749178EF5A8021DDA24ADA4549
+ 724A3DB24BF95375AB65B8A02703F5587A54D1EF6DF477FAC91285953A99D1C3
+ 38303276BC074D8A0CBC4A54271EFACBA8AB18D30EFE4F97FF340AF8172272E4
+ FE66E507F40000000049454E44AE426082}
+ Name = 'PngImage16'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A000005A14944415478DA
+ 8D960B50546514C7CFBD771FC0C2E22E026A8A2F140145B490C65047AC0445D3
+ F111A463A38DE608CA949A1A83864C2AD5E8543A4D33659AD360E3E8A036D958
+ 069B943D80C8576E12A8BCC28559D8C7DDBBDF7D75BECB2EBE60F49BF9CFBD77
+ F7DCFFEF7CE77B5D06066E1C2A0C65450D0F0D350C6375AC5194141FF19166FC
+ AD0DD58DE2514A7F06AAAA0233807924C7415A4848E8F31116D30C4B54C4A8D8
+ 1183C3C34C21ACC72DC81DAD0E97D3E1FAD7E974DB449F7801E3EB50DE2701D0
+ ACC7EB74BA25F14923F29252E3C7244E1E6D1C35EE2966485C341843F4E0F5FA
+ A0F5F67F60BF7E4BBD56DFE8B3D737DE686FEC3CA6284A05BE7B9BFA0E04A0E6
+ E9D6E8C882B48C89D9F396CD1894943A1622A3CCC0728C162C2B0A28AA027E99
+ 805BE0A1ADFDAE7AE58F7FA0FA4C9DC35ED35421B8C921F4B81284DC0F605193
+ 2D31E6A29CA5B3B216AD9C1316377628C3716C5F3AD4B864A30DB61D781678D1
+ 071E142F0AE0F679A1C17E47FDA9BCC675F9879B278997ECC3F0865EFF7B8068
+ BD9EDBBE7045E6BA55050B4DC3E262188E4526C30473D12EBB0A2AB5E0B57B13
+ C14378F06A201E3C7E1E5A1A3A54DB17354EFB85A6FD18F231CA150418F57A76
+ E5D48CE43DF945AFC44C48198DBE0CB00C8BC2D260888A5192224169810DCE96
+ 1F820579F9F0D2CE58F02284F68482782240535D0BFCF2697D53A7DDB9197DCF
+ 2240A280E151432C9FE4AE9D3B6FD96B596C68A85103702C87572C11CB8084CF
+ 7E4584F736546900DA2824638BB1B70708E2252C578F17EA8FDF906E7E7BE74B
+ C9236D434027D619B21252E38F6EDC9517939296A0654DB32F2DBCD8EFFCA500
+ 3AD892A4C0D2570B21219F0737027CD80B4122D0FC5B3B5C3DD2D0E469E65723
+ C0C6184DFA92D9F3D3776C28CED50FA2332690FDBB85D57DD9DEDF82E6A2246B
+ 5AF5FA56B0AE69458080003F74B7B9E0FA678DA2F32F57B12CCA654CB8C57426
+ 6F7D76CEF275598C4ECF01CBB25A0FCADEB8F408E061733170BFBEF06D80BC6B
+ 1A80F70AD058DEA23A2ABB8E483E650D63898EACC92FC99D3A6BFE338C36B808
+ A0A37F606BED038081CCA9FC44822D3B4AA07BF1AFDA1A693BE750DB4F392EC9
+ 1EF939C61A3BA8AE70CF8A29699913B5A9884B09449C31878BEC7D80FE4CA587
+ EEB7179742FB822A0488D055D90D1D27BAEA65B73C85315B4C552BDF5C30F3C5
+ DCE98C0432109C2DA22CC189DD2D1AE049CDDB722AB5ECFD7E113ACF3AD59EF3
+ 9E5A4550D298B0889083B3974C5BBF6CD35C0E421820184421DFED75C2A9631F
+ 3D91792BCD1CEB4F307BA19B405779B7EAFB5338AD8AEA6286D5B3AB92A78D3D
+ F8F2B6EC084B9CB9370BD4CFFB49BFD3F4C3F7773F98399AD3C1F54BBD89F10D
+ 02F47CEDE6A53B72992AABBBE9424B8C89B37C35775D46EAC417E219BF2AF641
+ 08968ABE4402CF3D4747C2077B77DDCB9C9605CD8580B98883EDB1F12A7F5EB8
+ A8F6A8453859AA2920421FCABD95322761F3ACB569A106AB1E04D9AF0D163515
+ E5205004B97C02EC2B2DD6CC5B727ED4B20E664E93F1B713F056F03DD27519B3
+ 80CF11E0096E7689264B4859FA8AC959E3B346EA6483C2F8E460B77BCD697DC3
+ 4E3EAD05DFCAFE5E7BA6A2334EBBBA4595AF1208B9201E0702C518D67CFF6E6A
+ 40E50C1E6FD93969517C72ECB4C19C6454187FA02724D083A8D3D3D1FCBC66E8
+ 0F98D31E1234176A88486CE477F52EBC835E3694F4F0811381A7C272EB18F3A6
+ 1133872645A75B758C0567D50363D23B2E222D093517F1BF0E02422D2162AD58
+ AB7600DDAABF4109031D9966D41CA345BFDA9A1C99694E0A0F338E323060C195
+ 6C543418A1A65E04DEC56B935F2576D125DD94CFE1D17F18DFAD46F91E77E8EB
+ 51E35803BB5867D6E518A27409FA685D381783FBAE0918D223AAA443942487E4
+ 929DCADFAA5BADC0013D1D388FA5C71DFAC1467FA79F2CC3F0A44E617430090C
+ 8C15B729A322834F25AA0317FD65D4558CE980DE4F97471A05FC0F622CD6FE88
+ 2F15D20000000049454E44AE426082}
+ Name = 'PngImage15'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000002814944415478DA
+ 63FCFFFF3F032D0123C8822F5C7FFED767DC625876E301458645692830B0B2FF
+ 67E8ECD06184391CCC282EBAF6DFC7478B21AA671BC3F36D5E040DFAF3E71FC3
+ EFBF7F19FEFDFB0F66FF01B275A20E32AC28E766F0F2F26250538B63387F7E3A
+ 235E0B3AD73F25CAD571D6BC60DA28E108C3A783A160365116E07339C4D540FC
+ 07C1364B3EC6D0E0AFCDF0EBD72F8679F3FA48B7009FE1206C957682A1CA5395
+ E1E7AFDF0C4B974CA65E10051AB28169FBACD30CC5CE0A401FFC6658BD6A06F1
+ 3E20E4F2DF50BE73DE59862C2B09A0057F18B66C9E4F9C05C41A0E4A45EE8517
+ 18524C44C03ED8B573097E0B40C9AF7BE333A282C8550D92DEBD4B2F31C4E9F1
+ 03E3E017C3C1FDAB705BF0748B2786EB103EC04CFF3039FF8A2B0CE11A9C601F
+ 1C3FBA1EB7050F37BAE3351C3DB8FE41732CC882402516B005674F6FC16E0138
+ BB032D2107C00C07E583CB1777E1B6E02FD07520853F7FFE82D0504DE86C506A
+ 8188C1F81039909A5BD7F763B7006678754D0159BE5056B303EB7FFCE038A605
+ 6E6EC05CF813E292D6B60A9002AC86FCFEF593E1F7CF9F0CBF8018C4CE2E3A0A
+ 16BF7DF30083AC822558FFCB6767302DB0B757807BB3BBA70E6C0137373758B3
+ 868605C3D9B37B310CFFF3FB17437EF969B805E252266033DEBFB9886981A5A5
+ 343C0C274D6A065B2025A5C42029A9C8A0AB6BCD307B563586E1BF81EA4B6A2F
+ C22D1014D107B3B15A606C2C0A8DC4DF0C336674802D303676061BAEA666C450
+ 90EB8461F81F20AE68BE4E9C053ABA02F0208216B70C09097560C385852519C2
+ 8395300C07D1B59D77095BC0C8C8C8505478F5BF82222B72718B35CC910DFF07
+ CC78F53D0F88B300040C0C32A8D202B87061066A9D4C4B40730B0038C31BFE85
+ 5838D40000000049454E44AE426082}
+ Name = 'PngImage17'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000026D4944415478DA
+ B5966D48535118C7FF138A455F84588C0A7A27AA1163CDB69168929851CB5806
+ 81D5878A7C29412428484264A85006814342E805112DE8436F94F43E74393775
+ ABC1552C87B5EA6286B7B01AB4BBD3CE8D0DC57976B7D9038773B8F79CDFEF9C
+ F33C17AE821082FF198AE982F607CE946C4DCD3731D8D5A2A063FFDA73E4C9FB
+ 469C8CB0E30A4AF61A928247D660F9D225A8BE7019366F0B0CD595C8186B43AB
+ 4D9024F322D06E5C8521F75D2CAB2A85E94026E010C00533D1CD09E99D4014C3
+ E87CE482F2A717D93B8A305AA381A97F4282D3484B40E1A248F0BAE33486825A
+ 188D464C0A5FF1A3AA002A9EC0C7837D457957C7124A6A958DD896AF4146C08D
+ 1B1E23D46A35789E87D56A452010483EC9244C20465A28B27B6767650CFEE5D7
+ 38BE8F7F46AF5026C1559BCDB1AA922D48040F0A1E145B57E06C7D2BAEB5DF4B
+ 4E20176E7778F0F0A54B9E205E0EA6DF793C38DDC463BB5BFE0992D97974DED3
+ 9E01798254E0B4745FF47A120BA2354EFB70E47D435D09FE902294177630E1B4
+ D95D6FD88243BBB324F8AEEB01E95959A8166F3F4E4137F509CEC515B0AC3922
+ C1D7D574CFC8CF95DC050885C370F4FBD88283057A69277432ED2FD51FC5999C
+ 85F03FE7E00F2A71E7C322D435DF8A9D303A2F3A767939B6C0B253175BD4D556
+ 0197E3154EE95663D0FF1B8E491EE50D7D73C2693FE01B660BF6E569638B8E9F
+ 3886D1110E2B5504872D7AE8CD179970DABCDC085BB027678B34B1F8F604BED9
+ CC385FBA1586FD4D33123F179C26DC37FC8E2D28DCAE99B5482E9C464241BE69
+ 53CA705982DCAC0DFFEA5F24B36A9C7E132CB82C41B66E3DEE3FEB433AC114D0
+ 3F84F988A8E02F75743575B8E251160000000049454E44AE426082}
+ Name = 'PngImage18'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300004E2000004E2001167D99DE000004124944415478DA
+ ED955F4C5B551CC77FF7DEFE61D0C204D7758139C15684752C1A565A47D7A983
+ 1664449D75337301A7D68D8CBD69F4C11463627858427C30DD8B3A0C8B0FBA10
+ 71B8F247470706A6996E93617173C060A56D645DD7526EDBDB7BBCE75E6F2D5A
+ 46E2E29BBFE4E49ED3F33DDFCFEFFCEE39B7044208FECB20FE07AC0A584DE070
+ 38C889EB011345C1101EC798786D77D747DF72DDE46A6B1B0F1E54DE1560B7DB
+ A57136DB4033B17373FEB9BF262872978F898D5C73B9622B257EB4ED83B1C0B4
+ 47BF1280B0B6B6CAD4892C3D4D477873868DD76C543D90A028C9101E47A34BC6
+ 1FDD83639916DB6C2D0A2A0785B12E1380686A72C8C91CBA72297A67188B9289
+ 64C3E8E0D7BD78D2F4F4B3FB11CB7431887D6ECCD5DB9D09A0B75A7365843494
+ E91D70E64D9C790167BEC49B2340F5DF9D397D46D41A6BEA9EA024926F922C6B
+ 1DEDEBEDCB08D07380827F02083367AE55AAB64522425908966818EEEBE94D5F
+ BCD56C5EAB9428F2C38CE4D625F797B733012A6A5ECAC9958422CB00369B4D26
+ 55AE33B02C72AF64FEA75E3CD724D7D88C6F903B79DBCF9FD7138474940798CD
+ 6689BAB8CC4800C1671EA7A36F2A08E4CECB96215A921752057D373ADDEE789A
+ 21A1D168642A5561194B4AF3280449890480610072D7150402B3D7A62E9494B0
+ D5119AC100E285A6D71F27097224533233F3334E85E2FEAF064E7DDA2F663F57
+ 21DC01DB867AE7A60D9B0EA7EBF3E6273EFB708DFF45DF758F90C9AB47DE30E1
+ 9AE3C191B60EB82F0B204803F8170166C3003FCF0661F2633B042309CB956117
+ BE60E83897EC6B4E07CC3BDF85503F9DD2FB16A2606F7F14C8DDCDFCDCE9CB1C
+ 605FF361249A57AA01BC11A189001C18E27ABB06D6CA91B574F3634959B66260
+ E709278890E91E9AD737BE550E64FD81947957DD6E200A353A64AA36C13BED1D
+ B086ABE312B37C0738A83B32686FA900AC1303EB87D5592988BAA41408CBBE94
+ F97B1A9D50226EA272E78E277FC03B102314135A20BA1C50AC2DE6C745EB8B40
+ D48F3F9805AF580BF9BEDF7B93374FF4B3BC9E8E45B711566BABBCD4A81D2CB6
+ D8AB372A05C3585200E02736BF18F2C36F278F7AC747CFD9755BB630EA22ADCB
+ 70A803B05E1EFE1D2C6D55BC398EEE636C4A3FF4D3F70FF1C7B4EE99BD0F8763
+ D1C9E71D9F839CE2DE605096DA0D16E3FADF0E069F5A5CB839525E5E0E1ACD23
+ 86ECFCF56EA3FD18B4BCBF19FC37A6F9CCF14E30A82AAA033A112F5B98F9D593
+ BA6886DA5A4DD5F6864F2E8C0D544F5D9D4A01B4BA32EFA4E76AF3BCE762FA27
+ 9AB4ECDDBFE340E897B37B923EE81CF0420F57B646EE0E8990A2CBC2255EF5FF
+ 60A548580BF7708F2FB0399344CD87003AF1EFDC1146E9907B01A0D1F1004CCC
+ 254E70E62FA7CFA543FE3560726B3E3A7BE916EE2A38C0E2DFE731A4A1E21E4A
+ 745CF86CE838F32B77D3FC01CF05F8A9B438C37F0000000049454E44AE426082}
+ Name = 'PngImage19'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000002F14944415478DA
+ D596494C135118C7FF25404B03B614098807C1A84823081421EC0112A322211E
+ B89078E064E2050F9A885E8C8683CB4D0D116334C881C42A1A448301458C0BC4
+ 22298A6C6915D9B1EDD0D26576674ADAD8141968C2C1974CBE37F3BDF9FDDEFB
+ 66DE64643CCF632B9B6CCB051B1DD8D972AB5E08E7098248FCD798D78983A109
+ 04F89C10128B8B098487B1E0680A2C4582A53DE07C71651EEFEC51988C49813A
+ 4EBD718100E7755A13E8DFA3502B59C8927282E134098E7481A11C3050F1988B
+ CB822A761B3C24B5BE4084E76698E1FC69C0AB4F6158B2F238532B03A9D606C0
+ 59CA03561070941B46670C4C09B9881104768713B2F61EE39ACF593EDB87C2AC
+ 092C7C1F42FF68246AEA4A414C0EA1456FC1C9232CC2637782659855B8001605
+ 2CE98191D4602C4E8748A502F61541F0A4DBC89FA8480F80BF7878DB0B9F1B31
+ E2DB8F0854D69678E1C3331A704E2B2CF356E469192855D1A0296A55E2718126
+ DD18B0A930AAC946A45A29AC60255820C2C5B258C73F63782A1EF21D3A6C978F
+ E1D70C8D283987FC4C0568B7036F7A1790B68B44B48201CFD26084076F5E64D0
+ 33AD06959A8E70B502B6657BA04084A7259B10661B449F51859A737AB01C07FD
+ DDCB48D698A04D910975A76018F64097AE80FEE957B4F79301AB4FCADD078536
+ 01B4503E1B610F5EC1E3E60B981E1FC4A9C6E75E38CB72E0381E2F5B2F41EE1A
+ 00870814E5A8B06C36E274338DB3D73A71B1F126BE7435F95F98F286725EA190
+ 83A2E84081085A85F201705FFFDED57AD41D73F8E177DA063031B51424F049BC
+ FBC0279082FB72F76F34A0F77D9717CE08D7CD33963505FE8D260AAACB0E6C08
+ FEF72444B8989B9AB7490B8E976A438233C2F9ECE2B2B4E068519AF7E607ADDD
+ FE447555019E757C58F733925F9881058B435A70B82075D333F746E1B0104E69
+ 4145DEDE90E062241C6E6941D9A13D5E50DBA3B7FE4455653E3A3A3FAE5BA283
+ D9FBE17091D28212DDEE4DCFDCD77793B4B4A030331986916984DA240557AE37
+ 850CF7B57F0AFEFBBF8A3FEEF0D2AAE4F624F60000000049454E44AE426082}
+ Name = 'PngImage20'
+ Background = clWindow
+ end>
+ end
+ inherited JvFormStorage: TJvFormStorage [7]
+ end
+ inherited dsDataTable: TDADataSource [8]
+ end
+ inherited JvAppRegistryStorage: TJvAppRegistryStorage [9]
+ end
+ object ViewPopupMenu: TPopupMenu
+ Images = SmallImages
+ Left = 72
+ Top = 88
+ object Modificar1: TMenuItem
+ Action = actModificar
+ end
+ object Eliminar1: TMenuItem
+ Action = actEliminar
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Nuevo1: TMenuItem
+ Action = actNuevo
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Propiedades1: TMenuItem
+ Action = actPropiedades
+ end
+ end
+ object pngImageNuevo: TPngImageList
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000000F84944415478DA
+ 63FCFFFF3F03084C59BC03C2200072E33C19616C905E46640372623DF06A06AA
+ 6198B77413C3F99DD3194936E0DFBF7F0CD396EE62D051576128AAEB031B42B4
+ 0120CDBFFFFC6398BD720F43B0A70DC3CD7B2FC0869CDB318D91A00130CDBF7F
+ FF6558B06E3FD80B3040D00064CDBFFF40F0AA6D47C1722083F01A804D3304FF
+ 63D8B2EF147E03F06906D13B0F9DC56D0058E16F540D20FC07C607CA1D387911
+ BB01E991AE043583F847CF5EC16E4052881341CD207CEAE275EC06C406D813D4
+ 0CC2E7AFDEC26E40848F2D41CD20B12B37EF603720D8C38AA06610C069809F8B
+ 39C3A63D2789C994D80D404EA6C400900100F58BBFF09BC1E25C000000004945
+ 4E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end>
+ PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
+ Left = 91
+ Top = 224
+ Bitmap = {}
+ end
+end
diff --git a/Source/Modulos/Informes base/Views/uEditorInformes.pas b/Source/Modulos/Informes base/Views/uEditorInformes.pas
new file mode 100644
index 0000000..7375c82
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uEditorInformes.pas
@@ -0,0 +1,220 @@
+unit uEditorInformes;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uEditorDBBase, Menus, DB, uDADataTable, JvAppStorage,
+ JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList,
+ PngImageList, StdActns, ActnList, ComCtrls, TB2ExtItems, TBXExtItems,
+ TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls, JvComponent,
+ JvNavigationPane, pngimage, uBizInformes, uEditorBase,
+ uViewInformes, JvExComCtrls, JvStatusBar, uIEditorInformes, uInformesController,
+ uCustomView, uViewBase, JSDialog, uDAInterfaces;
+
+type
+ TfEditorInformes = class(TfEditorDBBase, IEditorInformes)
+ ViewPopupMenu: TPopupMenu;
+ Modificar1: TMenuItem;
+ Eliminar1: TMenuItem;
+ N1: TMenuItem;
+ Nuevo1: TMenuItem;
+ pngImageNuevo: TPngImageList;
+ actPropiedades: TAction;
+ TBXSeparatorItem14: TTBXSeparatorItem;
+ TBXItem7: TTBXItem;
+ N2: TMenuItem;
+ Propiedades1: TMenuItem;
+ frViewInformes1: TfrViewInformes;
+ procedure actModificarExecute(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ procedure actPropiedadesExecute(Sender: TObject);
+ procedure actPropiedadesUpdate(Sender: TObject);
+
+ private
+ procedure ComprobarPrivilegios;
+
+ protected
+ FInformes : IBizInforme;
+ FController : IInformesController;
+ FViewInformes : IViewInformes;
+ function GetInformes: IBizInforme;
+ procedure SetInformes(const Value: IBizInforme);
+ function GetController: IInformesController;
+ procedure SetController(const Value: IInformesController);
+
+ procedure NuevoInterno; override;
+ procedure EliminarInterno; override;
+ procedure RefrescarInterno; override;
+
+ public
+ property Informes: IBizInforme read GetInformes write SetInformes;
+ property Controller: IInformesController read GetController write SetController;
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+{ TfEditorInformes }
+
+uses uDataModuleUsuarios, uFactuGES_App;
+
+function TfEditorInformes.GetController: IInformesController;
+begin
+ Result := FController;
+end;
+
+function TfEditorInformes.GetInformes: IBizInforme;
+begin
+ Result := FInformes;
+end;
+
+procedure TfEditorInformes.NuevoInterno;
+var
+ Respuesta: integer;
+ Opcion: integer;
+ i: integer;
+begin
+ try
+ Respuesta := frViewInformes1.JsNuevoDialog.Execute;
+ if Respuesta <> IDCANCEL then
+ begin
+ frViewInformes1.JsNuevoDialog.CustomButtonResult;
+ Opcion := frViewInformes1.JsNuevoDialog.CustomButtonResult;
+ for i := 0 to frViewInformes1.JsNuevoDialog.CustomButtons.Count - 1 do
+ if (frViewInformes1.JsNuevoDialog.CustomButtons.Items[i].Value = Opcion) then
+ break;
+
+ FController.Nuevo(frViewInformes1.JsNuevoDialog.CustomButtons.Items[i].Info.Strings[0], FInformes);
+// showmessage('Opcion seleccionada: ' + frViewInformes1.JsNuevoDialog.CustomButtons.Items[i].Info.Strings[0]);
+ end;
+ finally
+ FViewInformes.Refresh;
+ end;
+end;
+
+procedure TfEditorInformes.RefrescarInterno;
+begin
+ inherited;
+ if Assigned(FViewInformes) then
+ FViewInformes.Refresh;
+end;
+
+procedure TfEditorInformes.SetController(const Value: IInformesController);
+begin
+ FController := Value;
+end;
+
+procedure TfEditorInformes.SetInformes(const Value: IBizInforme);
+begin
+ FInformes := Value;
+ dsDataTable.DataTable := FInformes.DataTable;
+
+ ComprobarPrivilegios;
+
+ if Assigned(FViewInformes) then
+ begin
+ FViewInformes.Informes := FInformes;
+ end;
+end;
+
+procedure TfEditorInformes.actModificarExecute(Sender: TObject);
+begin
+ inherited;
+ try
+ FController.Ver(FInformes);
+ finally
+ FViewInformes.Refresh;
+ end;
+end;
+
+procedure TfEditorInformes.FormShow(Sender: TObject);
+begin
+ inherited;
+
+ if not Assigned(FInformes) then
+ raise Exception.Create('No hay ninguna informe asociado');
+
+ if not Assigned(FViewInformes) then
+ raise Exception.Create('No hay ninguna vista asignada');
+
+ if not Assigned(FController) then
+ raise Exception.Create('No hay ningún Controller asignado');
+
+ FViewInformes.OnDblClick := actModificar.OnExecute;
+ FViewInformes.PopupMenu := ViewPopupMenu;
+
+ Informes.DataTable.Active := True;
+ FViewInformes.Refresh;
+end;
+
+destructor TfEditorInformes.Destroy;
+begin
+ FViewInformes := NIL;
+ FController := NIL;
+ FInformes := NIL;
+ inherited;
+end;
+
+procedure TfEditorInformes.EliminarInterno;
+begin
+// if not FController.EsModificable then
+// ShowMessage('Este Controller no se puede borrar')
+
+ if (Application.MessageBox('¿Desea borrar este informe?', 'Atención', MB_YESNO) = IDYES) then
+ begin
+ FController.Eliminar(FInformes);
+ FViewInformes.Refresh;
+ end;
+end;
+
+procedure TfEditorInformes.actPropiedadesExecute(Sender: TObject);
+begin
+ inherited;
+{
+ if Assigned(FController) then
+ try
+ FController.VerPropiedades;
+ actGuardar.Execute;
+ finally
+ FViewController.Refresh;
+ end;
+}
+end;
+
+procedure TfEditorInformes.actPropiedadesUpdate(Sender: TObject);
+begin
+ inherited;
+{
+ if Assigned(dsDataTable.DataTable) then
+ (Sender as TAction).Enabled := (not dsDataTable.DataTable.IsEmpty)
+ and not (dsDataTable.DataTable.State = dsInsert)
+ else
+ (Sender as TAction).Enabled := False;
+}
+end;
+
+procedure TfEditorInformes.ComprobarPrivilegios;
+begin
+ if (AppFactuGES.UsuarioActivo.LOGIN <> 'admin') then
+ begin
+ actNuevo.Enabled := False;
+ actNuevo.Visible := False;
+ actEliminar.Enabled := False;
+ actEliminar.Visible := False;
+ actPropiedades.Enabled := False;
+ actPropiedades.Visible := False;
+ end;
+end;
+
+constructor TfEditorInformes.Create(AOwner: TComponent);
+begin
+ inherited;
+ FViewInformes := frViewInformes1;
+ actModificar.ShortCut := ShortCut(VK_RETURN, []);
+end;
+
+end.
diff --git a/Source/Modulos/Informes base/Views/uFormPropiedadesInforme.dfm b/Source/Modulos/Informes base/Views/uFormPropiedadesInforme.dfm
new file mode 100644
index 0000000..d292eef
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uFormPropiedadesInforme.dfm
@@ -0,0 +1,384 @@
+object frPropiedadesInforme: TfrPropiedadesInforme
+ Left = 569
+ Top = 354
+ ActiveControl = edtNombre
+ BorderStyle = bsDialog
+ Caption = 'Propiedades del informe'
+ ClientHeight = 418
+ ClientWidth = 378
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poMainFormCenter
+ OnCloseQuery = FormCloseQuery
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Label1: TLabel
+ Left = 15
+ Top = 84
+ Width = 92
+ Height = 13
+ Caption = '&Nombre del control:'
+ FocusControl = edtNombre
+ end
+ object Label2: TLabel
+ Left = 48
+ Top = 112
+ Width = 59
+ Height = 13
+ Caption = '&Descripci'#243'n:'
+ FocusControl = memDescripcion
+ end
+ object JvgWizardHeader1: TJvgWizardHeader
+ Left = 0
+ Top = 0
+ Width = 378
+ Height = 60
+ CaptionFont.Charset = DEFAULT_CHARSET
+ CaptionFont.Color = clWindowText
+ CaptionFont.Height = -11
+ CaptionFont.Name = 'MS Sans Serif'
+ CaptionFont.Style = [fsBold]
+ CommentFont.Charset = DEFAULT_CHARSET
+ CommentFont.Color = clWindowText
+ CommentFont.Height = -11
+ CommentFont.Name = 'MS Sans Serif'
+ CommentFont.Style = []
+ SymbolFont.Charset = DEFAULT_CHARSET
+ SymbolFont.Color = clHighlightText
+ SymbolFont.Height = -35
+ SymbolFont.Name = 'Wingdings'
+ SymbolFont.Style = [fsBold]
+ Captions.Strings = (
+ 'Propiedades del control')
+ Comments.Strings = (
+ 'Introduca los datos del control')
+ Gradient.FromColor = clGradientActiveCaption
+ Gradient.ToColor = clGradientInactiveCaption
+ Gradient.Active = True
+ Gradient.Orientation = fgdVertical
+ BufferedDraw = False
+ end
+ object Label3: TLabel
+ Left = 77
+ Top = 272
+ Width = 30
+ Height = 13
+ Caption = '&Icono:'
+ end
+ object Bevel1: TBevel
+ Left = 8
+ Top = 360
+ Width = 361
+ Height = 10
+ Shape = bsBottomLine
+ end
+ object memDescripcion: TcxMemo
+ Left = 120
+ Top = 112
+ Lines.Strings = (
+ '')
+ Properties.ScrollBars = ssVertical
+ Properties.WantReturns = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 1
+ Height = 105
+ Width = 241
+ end
+ object edtNombre: TcxTextEdit
+ Left = 120
+ Top = 80
+ Style.Color = 14745599
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 0
+ Width = 241
+ end
+ object bAceptar: TButton
+ Left = 296
+ Top = 384
+ Width = 75
+ Height = 25
+ Caption = '&Aceptar'
+ Default = True
+ ModalResult = 1
+ TabOrder = 2
+ end
+ object cbModificable: TCheckBox
+ Left = 120
+ Top = 232
+ Width = 234
+ Height = 17
+ Caption = 'No &permitir realizar cambios en este control'
+ TabOrder = 3
+ end
+ object btnIcono: TJvImgBtn
+ Left = 120
+ Top = 272
+ Width = 60
+ Height = 60
+ TabOrder = 4
+ DropDownMenu = JvPopupMenu1
+ DropArrow = True
+ Flat = True
+ HotTrackFont.Charset = DEFAULT_CHARSET
+ HotTrackFont.Color = clWindowText
+ HotTrackFont.Height = -11
+ HotTrackFont.Name = 'MS Sans Serif'
+ HotTrackFont.Style = []
+ Images = ReportImages
+ ImageIndex = 1
+ end
+ object ReportImages: TPngImageList
+ Height = 28
+ Width = 28
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD252000002024944415478DA
+ BDD5DB2E03411800E0E923B870E1CE9D085A940B823894D2489C4FAFE101BC80
+ 8444840B89B3D4A954292D8A2855DD5655EB14E205A4570E09BAFB9B5944C7A1
+ B335F87727F3CFBF93F976B3995D1500A0FF0C553468D93A9107A4F6D6A8313E
+ E4F33597AFCBE74BDED93384FCF67E5534F0F181287061F3186A4AD27E74E746
+ AB80921213507B471785C604CD1B21A82D4DFF1138B1B48F325393D175F88642
+ FF0494F01A46AB07156853D0EDFD0385C604E71D41A82BCB880B1325098922A0
+ 699B80CAF2D2D1E35384420F6C7DAA6FC1B9F523A8D7A9E3C6483F6BF7A2EEBE
+ B14F736282A6F50034E834716392847B51425BDE2B74777F87C2E1B03C6770C2
+ C200D73058CE06BFC23ED64C36171B9C5D3D84C68A4C6E8CD4CC6B6E363863F7
+ 43933E8B1B23F9A2C3C306A7ED07D0ACCFE6C6486EDD14D8E094CD072D955A0A
+ 227B8C0550B5D7F1AAD3A7005CC16095961B23BD63D7CF062757BCD05A95C38D
+ C95BC41D6083C66501DA0CB9DC18694E21A800B40AD062C8E1C6445C77F9426C
+ 107FF1F13BCCE5C622B8F71C9E28031B2BB4DC18C97DC1333638BEE8863A5D36
+ 738F452FFC0ED278E0F4820D8E59F6A0A6348B1B237342E797CAC0EA620D3746
+ 421138BAE0024391861B530C8E9877A1B250CD8D290687E777405FA0E6C61483
+ 43734E28CFCF90FF65BF114C70D0B40DBD0393BF82BD454CF03FE219EFD39C05
+ A47A98E90000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD252000002CB4944415478DA
+ BDD36F4813711807F0EF4984F5A68108254249648689A961334B8C95342CAD4C
+ 222D5F66607F2C825E1426B504090A7B636446A00605A624A4258A664EF1DFA6
+ 0E97298D72AED3306FCB68A277D7EE3776E9727AB7AB1E381EF8DDFD9ECFEFB9
+ E78EE2791EFF33286F90A228E0DA171EB737504AB37E3D48F1DD34A865415556
+ 13CF3CD5504AF2AB660D765D3E8F804F15E8A86644F40FF0597D2F59385B69C7
+ 8353EBFCCA8FD24611929F8B840C15A0676076AA60187720DBC1514B8227B471
+ A0624AC01B2ECACA6CDF05D43C2FC39EE4740C6487E2C0B77982093134F51D21
+ 012C7C82728373D5F160344D639AF90A477E0A8269777D130D9C1126F6374096
+ E3F0AE220FEF9D3BA056AB0926849DF901AAF028268C3CC17CCE500EE8C1E2F7
+ 6F4780B5074F8C6A6C8DD84C30A1539D4E07ABD5EAFB2B5D0816D78CAF08AA1D
+ 3A119B9C9B01373F8B86E15472CF1B53D4A177671E8C9918839331E2B82E14C1
+ 918761785DAA1C94825D2D2AC3E3AA97CA416F6C62D60E8E9D857DD226621DDD
+ 83A86DEC940F2E35C38533F3850987AA6BEAF2BF43E11FE3381EED95CB77D6DE
+ 35409E13C0FA961EFF407F3096E5F1A6AD573EE8C15896C3AD829398E3D39197
+ FA62454CC84DED0679A080DDA9B591B54DB6EB181C9B41ECCC38FA5497901955
+ 2462E7EE772EDA9F16BD8A1CB0A5B35F3A98793056EC4C386D516136AE24AD86
+ A5D90C8B3310D59FD7E0ADE1C3929D913DAEABCDF5F1480633526244ACAE3C17
+ DDFA56E4C586C160F909FD340D666D1C0A6E3EF489B1AE757DAF493A7844132D
+ 163A9D93838F23666C0CE611141A066D7C10128EDD5D169B77E52EE39074F050
+ 7214D95CDA3885AA1B5A848547226B5F201233EE91E26ECC5DD8F326DCE06FBC
+ CF342C1DD4EE8D5C74FA85F394820957BF79443A9892B84D11263C631A1E950E
+ 6AD4118A30216481C9F1E18A30D960D2CE2DA86ED0436948068B4BCA15639E58
+ 11FCD7F10B8E341130466CDCF80000000049454E44AE426082}
+ Name = 'PngImage1'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD252000002B14944415478DA
+ BDD5CB4F13411800F0AF897AF2A0311E8C07F5604C63E9839683040D42A1D098
+ D42A8826DEFC070C4AF4E4C1981883C117C13755B02922A505ACB440855829B5
+ DB07B5151589070831846C222A242ADD717760B14B6B676991AFBB99D9D96FF7
+ 37B3B3D3952084602D439208760E8CE003AE8DDF05C7EC0F6F8B757C1E6F0BF5
+ DA9B2608BB6E4B1281E50312801DFDEF90E1E0DE8C7A6E7150B06DEB66A8BE50
+ 2740D382F6973174B8489611687EFE0694D29D304D7F17A0FF0564D87B581C7E
+ 2850EF811F733F05685AD0E68E2263710EAE5FB14D12A173C6ED10671888C711
+ B43A2928DE27835FBFE70568C8D920F927D8DEF7161DD1CA458F8CC7B8B2CD15
+ 806B0DCD493969416B5F041DD52A568C310C5BC61918087C86D9B959A0691AE7
+ 349A3B09602F0B9690C154D8F236ABD34B06DB7A865145A952F41C26C6A9C24D
+ 820ED87B7D64F0992B8C2A75AAAC46C6B775B9FD64B0D51542C774B959635CDD
+ D14F91C1A7CE20AA2A530B206E8D910041DBE2718F272802EC66C172754673C8
+ 8751B501A3EEC130196CE90EA0E3E59AAC46B650B24BC41721839617143AA1CF
+ CB1AE3760F1515013A2854A5D7648DC5D9766F304606D97F7C760EF3F045D71D
+ 5329E7E864FE467CF31DF7C6539E0F566E8179F67AFFF08838B0A2542D6A64BB
+ 1E4C80A9F8EFB7939E61C07CEB34DCA93D8FF383D10F64F049970F19B5B9C435
+ C63DB2DDA6C92590C3462718A0ECD5507FB906E746DE7F2283CD9D43C850A422
+ 62DC2393367DC1208F8D8E3330133A0B372E9DC139B18F63E2C043850A8C3D1C
+ F89A728E0CCAF5B80332F3145CD5489730FA1B827563355077B11AE789029B3A
+ BC487F409176647C9BC2320DAAA1BB491D5A11F8D83E88CAF6CB89D8C2EB9FBC
+ 14124314F8C8F61AE90AE45963A24153BB0795E4E7E06FD96A04116CB4BE42F5
+ F75B5605E3232DB816F1079F420105E5B916660000000049454E44AE426082}
+ Name = 'PngImage2'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD252000002E14944415478DA
+ 63FCFFFF3F033D0123B2859B0E5C03734062308CC207423082B2C1F260046177
+ 4F9ACF707EE77446640BD03D8462E1C6FD57FFFB3B6A93E5F2E55B4F33488A0A
+ 3214D5F5A1588AD7C20DFBAEFC0F70D221CBC2A55B4E3218682A30BC7EFB19C5
+ 52A22DEC5CFF142E5E1E284D504C86F509838DB13AC3976F3F512CC56BE1FABD
+ 97FF073AEB92E4B3BFFFFE31FCFDFB9F61D58ED30CCE963A0CBF7EFF41B1F4DC
+ 8E698C382D5CB7E7D2FF20173D922D03D16B769E61E89FB618430D5E0BD7EEB9
+ F83FD8451F23F8B081127F49B865FFFE01E9BFFF180E9CB9C7F0F5DB5786B76F
+ DF82D5CC5BBA898085BB8116BAEA93E4339865E8626B771C236CE19A5D17FE87
+ B819506C19486CC3EE13842D5CBDF3FCFF5077439420454F8D20D5202D208341
+ 74B6BB10D8B2C93BDF81B300509821D5818761F3DE53842D5CB5F3DCFF307723
+ 8A7C06636FDD7F9AB0852B779CFD1FEE618CE2A3D20029B0013D9B9EA3F8ECDF
+ 7F089DEECC0FB674FADE8F50710686441B4E865D87CF1261E176A0859EC6703E
+ C85042BE411143E2EF3D7A9EB0852BB69FF91FE16982E2C3026F71B0017D5B5E
+ 217CF60FE1C354475EB06533F77F81C7619C251BC3811317095BB87CDBE9FF91
+ 5EA614F90C2C0FC4874F5F26C2C2ADA7FF877B99800DE9DEF81CECE25C0F51B0
+ 4113B7BF41F1D93F48CDC4906CC705B66CF6C16F701FC698B3301C3B7B85B085
+ C0121F1887A614F9EC2F50FC0F903E75E11A711686B819A3C459B69B10D82048
+ 3E43F80C9662136C38C0F2F38EFC848B459830329CBD7C83B0854B369FF81FE8
+ 6244308FC17C815087E9D38BD76F13B670F1A6E3FFFD9D0CC11A27ED780B8E33
+ 483EFB07CC679F507CF60FDAD48806C617C8B2C527FE80C5402058FF2FC3959B
+ 7788B3D0C7419F229FFD85DA4A94858B361EFBEF65A74FB165445BB870C3D1FF
+ 1EB67A6459B6EA3C13DC1CA28374C1FA23FFDD6DF428F219493E9CBFEEF07F57
+ 2B5D705D460D40D0C2796B0FFD9F327B05552C8301BC16D2030000BD734D0581
+ 7DF1720000000049454E44AE426082}
+ Name = 'PngImage3'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD252000001C64944415478DA
+ 63FCFFFF3F033D01E38059B87CDB699ADB1CE965CA88622150806CC3FE01CDF9
+ F7EF3FC3DFBFFF18FEFEFB87C4FECFB06CD32186794B37319CDB310DBF858C33
+ 1919823435197EFDFD0BC6BFA134980D34F4C79F3F0C3F81EC3F40F64F201BCC
+ 07E237515FE196FD03CAADD87284780BC9011FA2BEC12D03D1ABB71D25CE424A
+ 8211661988BF6EE771D22D644CC4EFDBCF537F30FCF903B1186C21D462107FD3
+ 9E9394F9106CE85F245F807CF7F73F56CB40BEDEB2EF146E0B09F9845470A7E9
+ 35C3F60367F05BF87F3E224B5E5C69C8A01F7E1E271F19A0CB81CCBA59FF8A61
+ D7E1B3F82D4CC830806B2A78C0C030418101271F19A0CB2D987181E17AED0B86
+ 3D47CFD3CF8757AA9F33EC3F7E817E3EBC50FE84E1F0E9CBF4F3E1D9D2C70CC7
+ CE5EA19F0F4F173F643871FE1AFD7C78A2F001C3E98BD7B15B18EE69C2C09CC4
+ 44551F1ECDBBC770EECA4DEC1686BA1B33B0A63053D5878773EE325CB8760BBB
+ 85412E860C1CE9AC54F5E1FECCDB0C576EDEC16EA1BF933E0377263B557D88D7
+ 426F7B5D06FE1C4E066A02BC167ADAE8E02CF149AD2190014E0BDDACB4A86E19
+ 5E0B9D2D3419566D3D42D5208501AC16764F9A4F13CB6000C5427A01BA5B0800
+ BE8AE7E7F700C7D10000000049454E44AE426082}
+ Name = 'PngImage4'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD2520000020E4944415478DA
+ 63FCFFFF3F033D0123C842464646086F06034D6CFF9FFE9F11C5C2695326FDEF
+ 9ED4CFF0A0F801C311EF7D641BFC0F08FFFCFFC5F0FBDF2F300DC2FE4D310CFF
+ E7A359A8A8A6F8FFFEADFB0C8585850C1BB66E6058B26F1E752CDB15C3C07082
+ 01D342980F4100D9329BAD4E382D60636283606636067628FBE1D7470C5BDD57
+ C12D0CDE9D84DD425C3E0459986060806A112307030FB310032F8B1098E666E6
+ 63E060E201E3A8B61C868D754B2016027D1ABE3783741F225B88CF324E661E86
+ C0E60486B5B5F3C096FD065A1AB32F8F7C1F12B20C447B3686302CAB9E0AB610
+ E4CBA403E5E4F99018CB40D8B1DE836151653F3C0ED30ED692EEC334430BA22C
+ 6305261A9B5A278679159D700BB30E3593914A4F90963D669537C32DCC3BDC49
+ 9A0F91C19FFFBFC1090196026186FE46E323F06F86A2237DA4F99012CB4072E5
+ 47A790EE434296FDFAFF1D21CEF01BA5B4A93D3E97781F622BAA6096FE46E363
+ B30C841B4F2C26CE878BF6CDA1D832106E3DB992B00FA9651908779E5A4F9C0F
+ 67EE9E40B16520F57DA7B712F621B52C03D193CEEC26CE871377B6906DD9CF7F
+ DFE1EC19E78E10F621BA65BF900C40CE637843018AE79C3F459C0FDBB695E2CD
+ D0C45806C20B2E5C20EC43522D5B1E7E066B99EAB05800B785E83EACDB9C4991
+ CF6080281F52CB32BC16A2FB10D45CA41AC06621A821ACA0AA006E043FB0A6A2
+ 65508061213D010026DA8D05688EA69C0000000049454E44AE426082}
+ Name = 'PngImage5'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD252000003474944415478DA
+ BD946B48536118C79F95140409E62DBB7C083F85084566372135D2F292B74AD3
+ CCC44B492C32FC966D5AFA2D2A34E9A236733A9D695EA76B622A998917549CA9
+ 980895B75D6995A5DBD9DBD939DBAB23754B9D0FBC9CE7FF1ECEF37BFEEFCB79
+ 180821D8C860E8808CDB03CE649E4AAEAB16E214902B033D741D330039AE7B6D
+ D604637AD8027F500D12A5CA28EF1E0F845EE526386A5F5040026329A055BC08
+ 1173EAE5AB21C672E78353768C37D48895D0DBD36B948B9D7221EFE721C89E3F
+ 029A3C1F06063A8C0D5AE834E99038BB2C007730BBD048FA7E8B029DEF0E812A
+ E7300DB4BDD98DE4596EAB2EA6256B68B50808420B84965C04A29E863DBEA00D
+ 5822040AEE59D3C0FCFC853C2E6E657D296A1E4A8AB7601D10FC83825608DB81
+ F5560B8A22BFB5395CCACD527B558D1D24902081FEC6C0FCC5EDAE43F8FA8751
+ E0DAA64E600935A0280E589D43739D1972417317B01AD4A0E0051A03E3E37BA9
+ 82797907CDBAC388C87928E519DF595DD576ACBD7DE5241481B0B51BD80DF320
+ E79DA38176CC4E24CB765F77673A985A4340D3077218D4CF81BC24480FBCF111
+ C9728E9974187D85006EE166AC432FCCC29BD7DBB03EEDA784C67A1BAC8F7BCD
+ 500DB474F4035BF007E4A5C134D03EA90D499F7A98ED4CD7F5B20E1769EA3DB9
+ DE770D00BBEE37C8F9217AE0B556247D7EF21F87BA1F9AF372618E5E8C9883B2
+ D2AD58FB07A940506D8DB5A78F0C5A447658BB9D98A08EB5BD474C0267496028
+ 0D74486841925C4F2357A6A68739CE74300DF9ECECFB0469B5BF405616A607C6
+ 352149FE29ECF045EE015CB8886B859B08393F0B95E52BDF597BB323D6AEEE5F
+ A81A3D03C3904E02A506A063AC08CD707CD6D599EE9E0DBA7F6814D2ABBE83B4
+ 225C0F8C11A29957675605536BB48BDE2D0D178F7C867BE552905447D3C09DD1
+ 023459E80789097D94CBAC272EF8C394E4617C446919FB202D751CEB943BBBE1
+ 41E604D6D76FD9C1B3C732AC2F27D2434007BCCF9F8299BA583D30AA067D2B0C
+ C09D6A34A67F680D61DA992174C00CDE57986E48A081BB222BD11827C0ECE9F1
+ 3F300CE48EC3B4288906EE09E5A291E270E094BF3339DE561B9905A330D5C4A4
+ 814E5E8FD0B4B5DDDAABAE104E2A194C3627EB8F94045A94A60F0CDCC8D870E0
+ 5FA7D4B1F664B3FE1D0000000049454E44AE426082}
+ Name = 'PngImage6'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD252000001084944415478DA
+ 63FCFFFF3F033D01E3A88534B19031F124ED6DBD7081E1FFF97446B885516106
+ 0CEF7E3130ECD870812134D480E1EB1F06862F50FCE937847E71807C390C0B3D
+ 0220169EDA7681C12BD00045D38B1F1036C3093C72474F31788598E1D4876121
+ CD82F2FF3F60C431A15AB874CBC9FF6E969A0C5FBFFF64387AE11E43B48F3956
+ BD407564C98180914716C3B91DD310161AA849812DBCFDF82DD52D9CB27807C3
+ BCA59B502D549515663875E90E83A0A020568D7FFFFE6558B1FD0C5972D397ED
+ C6B49016D1F7FBD72F0656363686F7EFDF635A48CB38C41AA4A3714809188DC3
+ D1381C8D43E2E21014A42BB71DA3593C6258D83B6521CD2C8301B885F404C3DF
+ 42005A1A11E70A945A890000000049454E44AE426082}
+ Name = 'PngImage7'
+ Background = clWindow
+ end>
+ PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
+ Left = 27
+ Top = 216
+ Bitmap = {}
+ end
+ object JvPopupMenu1: TJvPopupMenu
+ Images = ReportImages
+ OnPopup = JvPopupMenu1Popup
+ Style = msItemPainter
+ ImageMargin.Left = 0
+ ImageMargin.Top = 0
+ ImageMargin.Right = 0
+ ImageMargin.Bottom = 0
+ ImageSize.Height = 0
+ ImageSize.Width = 0
+ Left = 192
+ Top = 288
+ object N11: TMenuItem
+ Caption = '1'
+ end
+ end
+end
diff --git a/Source/Modulos/Informes base/Views/uFormPropiedadesInforme.pas b/Source/Modulos/Informes base/Views/uFormPropiedadesInforme.pas
new file mode 100644
index 0000000..210db4d
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uFormPropiedadesInforme.pas
@@ -0,0 +1,117 @@
+unit uFormPropiedadesInforme;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, cxControls, cxContainer, cxEdit, cxTextEdit, cxMemo, StdCtrls,
+ JvExControls, JvComponent, JvgWizardHeader, ExtCtrls, ImgList,
+ PngImageList, JvExStdCtrls, JvButton, JvCtrls, Menus, JvMenus, ActnList;
+
+type
+ TfrPropiedadesInforme = class(TForm)
+ edtNombre: TcxTextEdit;
+ Label1: TLabel;
+ Label2: TLabel;
+ bAceptar: TButton;
+ memDescripcion: TcxMemo;
+ JvgWizardHeader1: TJvgWizardHeader;
+ cbModificable: TCheckBox;
+ Label3: TLabel;
+ Bevel1: TBevel;
+ btnIcono: TJvImgBtn;
+ ReportImages: TPngImageList;
+ JvPopupMenu1: TJvPopupMenu;
+ N11: TMenuItem;
+ procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+ procedure JvPopupMenu1Popup(Sender: TObject);
+ private
+ procedure SetDescripcion(const Value: String);
+ procedure SetNombre(const Value: String);
+ function GetDescripcion: String;
+ function GetNombre: String;
+ function GetModificable: Boolean;
+ procedure SetModificable(const Value: Boolean);
+ function GetIcono: Integer;
+ procedure SetIcono(const Value: Integer);
+ procedure OnMenuItemClick(Sender: TObject);
+ public
+ property Nombre : String read GetNombre write SetNombre;
+ property Descripcion : String read GetDescripcion write SetDescripcion;
+ property Modificable : Boolean read GetModificable write SetModificable;
+ property Icono : Integer read GetIcono write SetIcono;
+ end;
+
+
+implementation
+
+{$R *.dfm}
+
+procedure TfrPropiedadesInforme.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+begin
+ CanClose := Length(edtNombre.Text) > 0;
+ if not CanClose then
+ ShowMessage('Debe indicar al menos el nombre de este informe.');
+end;
+
+function TfrPropiedadesInforme.GetDescripcion: String;
+begin
+ Result := memDescripcion.Lines.Text;
+end;
+
+function TfrPropiedadesInforme.GetIcono: Integer;
+begin
+ Result := btnIcono.ImageIndex;
+end;
+
+function TfrPropiedadesInforme.GetModificable: Boolean;
+begin
+ Result := not cbModificable.Checked;
+end;
+
+function TfrPropiedadesInforme.GetNombre: String;
+begin
+ Result := edtNombre.Text;
+end;
+
+procedure TfrPropiedadesInforme.SetDescripcion(const Value: String);
+begin
+ memDescripcion.Lines.Text := Value;
+end;
+
+procedure TfrPropiedadesInforme.SetIcono(const Value: Integer);
+begin
+ btnIcono.ImageIndex := Value;
+end;
+
+procedure TfrPropiedadesInforme.SetModificable(const Value: Boolean);
+begin
+ cbModificable.Checked := not Value;
+end;
+
+procedure TfrPropiedadesInforme.SetNombre(const Value: String);
+begin
+ edtNombre.Text := Value;
+end;
+
+procedure TfrPropiedadesInforme.JvPopupMenu1Popup(Sender: TObject);
+var
+ AItem : TMenuItem;
+ i : integer;
+begin
+ JvPopupMenu1.Items.Clear;
+ for i := 0 to ReportImages.Count - 1 do
+ begin
+ AItem := TMenuItem.Create(JvPopupMenu1);
+ AItem.OnClick := OnMenuItemClick;
+ AItem.ImageIndex := i;
+ JvPopupMenu1.Items.Add(AItem);
+ end;
+end;
+
+procedure TfrPropiedadesInforme.OnMenuItemClick(Sender: TObject);
+begin
+ btnIcono.ImageIndex := (Sender as TMenuItem).ImageIndex;
+end;
+
+end.
diff --git a/Source/Modulos/Informes base/Views/uInformesViewRegister.pas b/Source/Modulos/Informes base/Views/uInformesViewRegister.pas
new file mode 100644
index 0000000..f9f5146
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uInformesViewRegister.pas
@@ -0,0 +1,23 @@
+unit uInformesViewRegister;
+
+interface
+
+procedure RegisterViews;
+procedure UnregisterViews;
+
+implementation
+
+uses
+ uEditorRegistryUtils, uEditorInformes;
+
+procedure RegisterViews;
+begin
+ EditorRegistry.RegisterClass(TfEditorInformes, 'EditorInformes');
+end;
+
+procedure UnregisterViews;
+begin
+ EditorRegistry.UnRegisterClass(TfEditorInformes);
+end;
+
+end.
diff --git a/Source/Modulos/Informes base/Views/uViewAgrupaciones.dfm b/Source/Modulos/Informes base/Views/uViewAgrupaciones.dfm
new file mode 100644
index 0000000..b23cd60
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewAgrupaciones.dfm
@@ -0,0 +1,137 @@
+inherited frViewAgrupaciones: TfrViewAgrupaciones
+ Width = 228
+ Height = 396
+ ExplicitWidth = 228
+ ExplicitHeight = 396
+ object TBXLabel1: TTBXLabel
+ Left = 0
+ Top = 0
+ Width = 228
+ Height = 29
+ Margins.Top = 5
+ Margins.Bottom = 10
+ Align = alTop
+ Caption = 'Agrupaciones'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = [fsBold]
+ ParentColor = True
+ ParentFont = False
+ Underline = True
+ end
+ object pnlAgrupaciones: TTBXAlignmentPanel
+ Left = 0
+ Top = 29
+ Width = 228
+ Height = 77
+ Align = alTop
+ AutoSize = True
+ TabOrder = 1
+ DesignSize = (
+ 228
+ 77)
+ object Label3: TLabel
+ Left = 7
+ Top = 60
+ Width = 79
+ Height = 13
+ Caption = 'y por '#250'ltimo por:'
+ Transparent = True
+ end
+ object Label2: TLabel
+ Left = 7
+ Top = 32
+ Width = 63
+ Height = 13
+ Caption = 'despu'#233's por:'
+ Transparent = True
+ end
+ object Label1: TLabel
+ Left = 7
+ Top = 4
+ Width = 101
+ Height = 13
+ Caption = 'Agrupar primero por:'
+ Transparent = True
+ end
+ object TBXButton1: TTBXButton
+ Tag = 1
+ Left = 111
+ Top = 0
+ Width = 111
+ Height = 21
+ Action = actBoton1
+ Anchors = [akLeft, akTop, akRight]
+ AutoSize = False
+ DropDownMenu = PopupMenu1
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ ImageIndex = 0
+ ParentFont = False
+ TabOrder = 0
+ Wrapping = twEndEllipsis
+ end
+ object TBXButton3: TTBXButton
+ Tag = 3
+ Left = 111
+ Top = 56
+ Width = 111
+ Height = 21
+ Action = actBoton3
+ Anchors = [akLeft, akTop, akRight]
+ AutoSize = False
+ DropDownMenu = PopupMenu3
+ ImageIndex = 0
+ TabOrder = 1
+ Wrapping = twEndEllipsis
+ end
+ object TBXButton2: TTBXButton
+ Tag = 2
+ Left = 111
+ Top = 28
+ Width = 111
+ Height = 21
+ Action = actBoton2
+ Anchors = [akLeft, akTop, akRight]
+ AutoSize = False
+ DropDownMenu = PopupMenu2
+ ImageIndex = 0
+ TabOrder = 2
+ Wrapping = twEndEllipsis
+ end
+ end
+ object PopupMenu1: TPopupMenu
+ Left = 32
+ Top = 136
+ end
+ object PopupMenu2: TPopupMenu
+ Left = 64
+ Top = 136
+ end
+ object PopupMenu3: TPopupMenu
+ Left = 96
+ Top = 136
+ end
+ object ActionList1: TActionList
+ Left = 32
+ Top = 168
+ object actBoton2: TAction
+ OnExecute = actBoton2Execute
+ OnUpdate = actBoton2Update
+ end
+ object actBoton3: TAction
+ OnExecute = actBoton3Execute
+ OnUpdate = actBoton3Update
+ end
+ object actBoton1: TAction
+ OnExecute = actBoton1Execute
+ end
+ object actMenuClick: TAction
+ end
+ end
+end
diff --git a/Source/Modulos/Informes base/Views/uViewAgrupaciones.pas b/Source/Modulos/Informes base/Views/uViewAgrupaciones.pas
new file mode 100644
index 0000000..92813df
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewAgrupaciones.pas
@@ -0,0 +1,339 @@
+unit uViewAgrupaciones;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, ActnList, Menus, dxLayoutLookAndFeels, dxLayoutControl, uViewBase,
+ TBXDkPanels, cxControls, StdCtrls, ImgList, uViewInformeBaseGrid,
+ PngImageList, uViewInformeBaseParametros, JvExControls, JvComponent,
+ JvArrowButton, cxLookAndFeelPainters, cxButtons;
+
+type
+ IViewAgrupaciones = interface(IViewInformeBaseParametros)
+ ['{42030B8F-B12D-43D2-AEB2-F642F11D78DA}']
+ function GetAgrupaciones: TStringList;
+ end;
+
+ TfrViewAgrupaciones = class(TfrViewInformeBaseParametros, IViewAgrupaciones)
+ TBXButton1: TTBXButton;
+ TBXButton2: TTBXButton;
+ TBXButton3: TTBXButton;
+ PopupMenu1: TPopupMenu;
+ PopupMenu2: TPopupMenu;
+ PopupMenu3: TPopupMenu;
+ ActionList1: TActionList;
+ actBoton2: TAction;
+ actBoton3: TAction;
+ actBoton1: TAction;
+ actMenuClick: TAction;
+ TBXLabel1: TTBXLabel;
+ Label1: TLabel;
+ Label2: TLabel;
+ Label3: TLabel;
+ pnlAgrupaciones: TTBXAlignmentPanel;
+ procedure actBoton2Update(Sender: TObject);
+ procedure actBoton3Update(Sender: TObject);
+ procedure actBoton2Execute(Sender: TObject);
+ procedure actBoton3Execute(Sender: TObject);
+ procedure actBoton1Execute(Sender: TObject);
+ procedure AMenuItemClick(Sender: TObject);
+ protected
+ FColumns : TStringList;
+
+ FBotonPulsado : TTBXButton;
+ procedure MarcarItem(AMenuItem : TMenuItem); overload;
+ procedure MarcarItem(AMenu : TPopupMenu; const ACaption : String); overload;
+ procedure DesmarcarItem(AMenu : TPopupMenu; const ACaption : String);
+ procedure DesmarcarItems(AMenu : TPopupMenu);
+
+ procedure OnButtonPopup(Sender: TTBXCustomButton; var AllowDropDown: Boolean);
+ procedure RellenarListaColumnas;
+ procedure RellenarAgrupaciones;
+ procedure SetModificable(const Value: Boolean); override;
+ public
+ function GetAgrupaciones: TStringList;
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ procedure Refresh; override;
+ procedure Execute; override;
+ end;
+
+implementation
+
+uses
+ cxGridDBTableView, JclStrings;
+
+{$R *.dfm}
+
+const
+ SIN_AGRUPACION = '(Quitar agrupación)';
+
+{ TfrAgrupaciones }
+
+procedure TfrViewAgrupaciones.MarcarItem(AMenuItem : TMenuItem);
+var
+ AItem : TMenuItem;
+begin
+ AMenuItem.Checked := True;
+
+ AItem := PopupMenu1.Items.Find(AMenuItem.Caption);
+ if Assigned(AItem) then
+ AItem.Enabled := False;
+
+ AItem := PopupMenu2.Items.Find(AMenuItem.Caption);
+ if Assigned(AItem) then
+ AItem.Enabled := False;
+
+ AItem := PopupMenu3.Items.Find(AMenuItem.Caption);
+ if Assigned(AItem) then
+ AItem.Enabled := False;
+end;
+
+procedure TfrViewAgrupaciones.MarcarItem(AMenu : TPopupMenu; const ACaption : String);
+var
+ AItem : TMenuItem;
+begin
+ AItem := AMenu.Items.Find(ACaption);
+ if Assigned(AItem) then
+ MarcarItem(AItem);
+end;
+
+procedure TfrViewAgrupaciones.DesmarcarItem(AMenu : TPopupMenu; const ACaption : String);
+var
+ AItem : TMenuItem;
+begin
+ AItem := AMenu.Items.Find(ACaption);
+ if Assigned(AItem) then
+ begin
+ AItem.Enabled := True;
+ AItem.Checked := False;
+ end;
+end;
+
+procedure TfrViewAgrupaciones.DesmarcarItems(AMenu : TPopupMenu);
+var
+ i : integer;
+begin
+ for i := 0 to AMenu.Items.Count - 1 do
+ begin
+ AMenu.Items[i].Enabled := True;
+ AMenu.Items[i].Checked := False;
+ end;
+end;
+
+
+function TfrViewAgrupaciones.GetAgrupaciones: TStringList;
+var
+ aux : String;
+ AIndex : Integer;
+begin
+ Result := TStringList.Create;
+ if actBoton1.Enabled then
+ begin
+ aux := TBXButton1.Caption;
+ aux := StringReplace(aux, '&', '', [rfReplaceAll, rfIgnoreCase]);
+ if Length(Trim(aux)) > 0 then
+ Result.Add(aux);
+
+ if actBoton2.Enabled then
+ begin
+ aux := TBXButton2.Caption;
+ aux := StringReplace(aux, '&', '', [rfReplaceAll, rfIgnoreCase]);
+ if Length(Trim(aux)) > 0 then
+ Result.Add(aux);
+
+ if actBoton3.Enabled then
+ begin
+ aux := TBXButton3.Caption;
+ aux := StringReplace(aux, '&', '', [rfReplaceAll, rfIgnoreCase]);
+ if Length(Trim(aux)) > 0 then
+ Result.Add(aux);
+ end;
+ end;
+ end;
+end;
+
+procedure TfrViewAgrupaciones.actBoton2Update(Sender: TObject);
+begin
+ (Sender as TAction).Enabled := Length(TBXButton1.Caption) > 0;
+end;
+
+procedure TfrViewAgrupaciones.actBoton3Update(Sender: TObject);
+begin
+ (Sender as TAction).Enabled := Length(TBXButton2.Caption) > 0;
+end;
+
+procedure TfrViewAgrupaciones.actBoton2Execute(Sender: TObject);
+begin
+ //
+end;
+
+procedure TfrViewAgrupaciones.actBoton3Execute(Sender: TObject);
+begin
+ //
+end;
+
+procedure TfrViewAgrupaciones.actBoton1Execute(Sender: TObject);
+begin
+ //
+end;
+
+procedure TfrViewAgrupaciones.AMenuItemClick(Sender: TObject);
+var
+ i : integer;
+begin
+ if (Sender as TMenuItem).MenuIndex > 0 then // El 0 es 'Sin agrupacion'
+ begin
+ DesmarcarItem(PopupMenu1, FBotonPulsado.Caption);
+ DesmarcarItem(PopupMenu2, FBotonPulsado.Caption);
+ DesmarcarItem(PopupMenu3, FBotonPulsado.Caption);
+ FBotonPulsado.Caption := (Sender as TMenuItem).Caption;
+ MarcarItem(Sender as TMenuItem);
+ end
+ else begin
+ DesmarcarItems(PopupMenu1);
+ DesmarcarItems(PopupMenu2);
+ DesmarcarItems(PopupMenu3);
+ // Anular los botones que estén por debajo del actual
+ for i := 3 downto FBotonPulsado.Tag do
+ TTBXButton(FindComponent('TBXButton' + IntToStr(i))).Caption := '';
+ end;
+end;
+
+constructor TfrViewAgrupaciones.Create(AOwner: TComponent);
+begin
+ inherited;
+ FColumns := TStringList.Create;
+
+ TBXButton1.OnDropDown := OnButtonPopup;
+ TBXButton2.OnDropDown := OnButtonPopup;
+ TBXButton3.OnDropDown := OnButtonPopup;
+end;
+
+procedure TfrViewAgrupaciones.OnButtonPopup(Sender: TTBXCustomButton;
+ var AllowDropDown: Boolean);
+begin
+ FBotonPulsado := (Sender as TTBXButton);
+end;
+
+procedure TfrViewAgrupaciones.Execute;
+var
+ AgrBotones : TStringList;
+ i : Integer;
+begin
+ AgrBotones := GetAgrupaciones;
+ for i := 0 to FColumns.Count - 1 do
+ (FColumns.Objects[i] as TcxGridDBColumn).GroupIndex := AgrBotones.IndexOf(FColumns.Strings[i]);
+end;
+
+procedure TfrViewAgrupaciones.Refresh;
+begin
+ RellenarListaColumnas;
+ RellenarAgrupaciones;
+end;
+
+procedure TfrViewAgrupaciones.RellenarListaColumnas;
+var
+ i : integer;
+
+ function DarItem (const ACaption : string):TMenuItem;
+ begin
+ Result := NewItem(ACaption, 0, false, true, AMenuItemClick, 0, '');
+ end;
+
+begin
+ PopupMenu1.Items.Clear;
+ PopupMenu2.Items.Clear;
+ PopupMenu3.Items.Clear;
+
+ PopupMenu1.Items.Add(DarItem(SIN_AGRUPACION));
+ PopupMenu2.Items.Add(DarItem(SIN_AGRUPACION));
+ PopupMenu3.Items.Add(DarItem(SIN_AGRUPACION));
+
+ for i := 0 to ViewInformeBaseGrid.ColumnCount - 1 do
+ begin
+ FColumns.AddObject(ViewInformeBaseGrid.Columns[i].Caption, ViewInformeBaseGrid.Columns[i]);
+ PopupMenu1.Items.Add(DarItem(ViewInformeBaseGrid.Columns[i].Caption));
+ PopupMenu2.Items.Add(DarItem(ViewInformeBaseGrid.Columns[i].Caption));
+ PopupMenu3.Items.Add(DarItem(ViewInformeBaseGrid.Columns[i].Caption));
+ end;
+end;
+
+destructor TfrViewAgrupaciones.Destroy;
+begin
+ FreeAndNIL(FColumns);
+ inherited;
+end;
+
+procedure TfrViewAgrupaciones.RellenarAgrupaciones;
+var
+ i : integer;
+ AList : TStringList;
+begin
+ AList := TStringList.Create;
+
+ try
+ // Recuperar las agrupaciones del grid
+ for i := 0 to ViewInformeBaseGrid.GroupedColumnCount - 1 do
+ begin
+ if i = 3 then
+ Break; // Sólo meter las 3 primera agrupaciones
+ AList.Add(ViewInformeBaseGrid.GroupedColumns[i].Caption);
+ end;
+
+ if AList.Count > 0 then
+ begin
+ DesmarcarItems(PopupMenu1);
+ DesmarcarItems(PopupMenu2);
+ DesmarcarItems(PopupMenu3);
+
+ // Anular los botones que estén por debajo del actual
+ for i := 1 to 3 do
+ TTBXButton(FindComponent('TBXButton' + IntToStr(i))).Caption := '';
+
+ TBXButton1.Caption := AList.Strings[0];
+ MarcarItem(TBXButton1.DropDownMenu, AList.Strings[0]);
+
+ if AList.Count > 1 then
+ begin
+ TBXButton2.Caption := AList.Strings[1];
+ MarcarItem(TBXButton2.DropDownMenu, AList.Strings[1]);
+
+ if AList.Count > 2 then
+ begin
+ TBXButton3.Caption := AList.Strings[2];
+ MarcarItem(TBXButton3.DropDownMenu, AList.Strings[2]);
+ end;
+ end;
+ end;
+ finally
+ FreeAndNil(AList);
+ end;
+end;
+
+procedure TfrViewAgrupaciones.SetModificable(const Value: Boolean);
+begin
+ inherited;
+ pnlAgrupaciones.Enabled := Value;
+
+ if pnlAgrupaciones.Enabled then
+ begin
+ Label1.Font.Color := clWindowText;
+ Label2.Font.Color := clWindowText;
+ Label3.Font.Color := clWindowText;
+ TBXButton1.Font.Color := clWindowText;
+ TBXButton2.Font.Color := clWindowText;
+ TBXButton3.Font.Color := clWindowText;
+ end
+ else begin
+ Label1.Font.Color := clBtnShadow;
+ Label2.Font.Color := clBtnShadow;
+ Label3.Font.Color := clBtnShadow;
+ TBXButton1.Font.Color := clBtnShadow;
+ TBXButton2.Font.Color := clBtnShadow;
+ TBXButton3.Font.Color := clBtnShadow;
+ end
+end;
+
+end.
diff --git a/Source/Modulos/Informes base/Views/uViewColumnas.dfm b/Source/Modulos/Informes base/Views/uViewColumnas.dfm
new file mode 100644
index 0000000..0a4c1b0
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewColumnas.dfm
@@ -0,0 +1,44 @@
+inherited frViewColumnas: TfrViewColumnas
+ Width = 316
+ Height = 350
+ ExplicitWidth = 316
+ ExplicitHeight = 350
+ object TBXLabel1: TTBXLabel
+ Left = 0
+ Top = 0
+ Width = 316
+ Height = 29
+ Margins.Top = 5
+ Margins.Bottom = 10
+ Align = alTop
+ Caption = 'Columnas'
+ FocusControl = lbColumnas
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = [fsBold]
+ ParentColor = True
+ ParentFont = False
+ Underline = True
+ end
+ object lbColumnas: TcxCheckListBox
+ Left = 0
+ Top = 29
+ Width = 316
+ Height = 321
+ Align = alClient
+ Items = <>
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.Color = clWindow
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 1
+ OnClickCheck = lbColumnasClickCheck
+ end
+end
diff --git a/Source/Modulos/Informes base/Views/uViewColumnas.pas b/Source/Modulos/Informes base/Views/uViewColumnas.pas
new file mode 100644
index 0000000..993b686
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewColumnas.pas
@@ -0,0 +1,114 @@
+unit uViewColumnas;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uViewBase, dxLayoutControl, cxControls, cxContainer, cxListBox,
+ TBXDkPanels, ActnList, cxCustomData, cxGridDBTableView, cxGridTableView,
+ JvExControls, JvComponent, JvxCheckListBox, uViewInformeBaseGrid,
+ cxCheckListBox, cxCheckBox, uViewInformeBaseParametros, cxLookAndFeelPainters;
+
+type
+ IViewColumnas = interface(IViewInformeBaseParametros)
+ ['{A7072B8B-5AC1-4AC4-BD58-F03B96FFEA4B}']
+ function GetCheckedColumns : TStringList;
+ end;
+
+ TfrViewColumnas = class(TfrViewInformeBaseParametros, IViewColumnas)
+ lbColumnas: TcxCheckListBox;
+ TBXLabel1: TTBXLabel;
+ procedure lbColumnasClickCheck(Sender: TObject; AIndex: Integer;
+ APrevState, ANewState: TcxCheckBoxState);
+ protected
+ procedure RellenarListaColumnas;
+ procedure SetModificable(const Value : Boolean); override;
+ public
+ procedure Refresh; override;
+ procedure Execute; override;
+ function GetCheckedColumns : TStringList;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+
+{ TfrViewColumnas }
+
+procedure TfrViewColumnas.Refresh;
+begin
+ inherited;
+ RellenarListaColumnas;
+end;
+
+procedure TfrViewColumnas.RellenarListaColumnas;
+var
+ i : integer;
+ AIndex : Integer;
+begin
+ with lbColumnas do
+ begin
+ Items.BeginUpdate;
+ Items.Clear;
+ try
+ for i := 0 to ViewInformeBaseGrid.ColumnCount - 1 do
+ begin
+ AddItem(ViewInformeBaseGrid.Columns[i].Caption);
+ AIndex := Items.Count - 1;
+ Items[AIndex].Checked := ViewInformeBaseGrid.Columns[i].Visible;
+ Items[AIndex].ItemObject := ViewInformeBaseGrid.Columns[i];
+ end;
+ finally
+ Items.EndUpdate;
+ end;
+ end;
+end;
+
+procedure TfrViewColumnas.lbColumnasClickCheck(Sender: TObject;
+ AIndex: Integer; APrevState, ANewState: TcxCheckBoxState);
+var
+ i : integer;
+begin
+ inherited;
+ { No hacer nada por que el cambio en las columnas se debe ver cuando
+ el usuario pulse sobre el botón 'Refrescar'. }
+{ with lbColumnas.Items[AIndex] do
+ if Assigned(ItemObject) then
+ (ItemObject as TcxGridDBColumn).Visible := (ANewState = cbsChecked);}
+end;
+
+procedure TfrViewColumnas.Execute;
+var
+ AIndex : integer;
+begin
+ inherited;
+ for AIndex := 0 to lbColumnas.Items.Count - 1 do
+ with lbColumnas.Items[AIndex] do
+ if Assigned(ItemObject) then
+ (ItemObject as TcxGridDBColumn).Visible := (State = cbsChecked);
+end;
+
+function TfrViewColumnas.GetCheckedColumns: TStringList;
+var
+ AIndex : integer;
+begin
+ result := TStringList.Create;
+ for AIndex := 0 to lbColumnas.Items.Count - 1 do
+ if (lbColumnas.Items[AIndex].State = cbsChecked) then
+ with lbColumnas.Items[AIndex] do
+ if Assigned(ItemObject) then
+ Result.Add((ItemObject as TcxGridDBColumn).DataBinding.FieldName);
+end;
+
+procedure TfrViewColumnas.SetModificable(const Value: Boolean);
+begin
+ inherited;
+ lbColumnas.ReadOnly := not Value;
+ if lbColumnas.ReadOnly then
+ lbColumnas.Style.TextColor := clBtnShadow
+ else
+ lbColumnas.Style.TextColor := clWindowText;
+end;
+
+end.
diff --git a/Source/Modulos/Informes base/Views/uViewFiltros.dfm b/Source/Modulos/Informes base/Views/uViewFiltros.dfm
new file mode 100644
index 0000000..e037d4a
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewFiltros.dfm
@@ -0,0 +1,118 @@
+inherited frViewFiltros: TfrViewFiltros
+ Width = 209
+ Height = 462
+ ExplicitWidth = 209
+ ExplicitHeight = 462
+ object vgFiltros: TcxVerticalGrid
+ Left = 0
+ Top = 229
+ Width = 216
+ Height = 233
+ Enabled = False
+ Images = PngImageList1
+ LookAndFeel.Kind = lfStandard
+ LookAndFeel.NativeStyle = True
+ OptionsView.CellAutoHeight = True
+ OptionsView.CellEndEllipsis = True
+ OptionsView.ScrollBars = ssVertical
+ OptionsView.RowHeaderWidth = 97
+ OptionsView.GridLines = vglVertical
+ OptionsView.ValueMinWidth = 75
+ TabOrder = 0
+ Visible = False
+ object vgFiltrosEditorRow1: TcxEditorRow
+ Properties.EditPropertiesClassName = 'TcxComboBoxProperties'
+ Properties.EditProperties.OnEditValueChanged = vgFiltrosEditorRow1EditPropertiesEditValueChanged
+ Properties.DataBinding.ValueType = 'String'
+ Properties.Value = Null
+ end
+ end
+ object TBXLabel1: TTBXLabel
+ Left = 0
+ Top = 0
+ Width = 209
+ Height = 29
+ Margins.Top = 5
+ Margins.Bottom = 10
+ Align = alTop
+ Caption = 'Filtros'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = [fsBold]
+ ParentColor = True
+ ParentFont = False
+ Underline = True
+ end
+ object cxFilterControl1: TcxFilterControl
+ Left = 0
+ Top = 29
+ Width = 209
+ Height = 403
+ Align = alClient
+ Color = clWindow
+ LookAndFeel.Kind = lfStandard
+ LookAndFeel.NativeStyle = True
+ NullString = ''
+ TabOrder = 2
+ TabStop = True
+ end
+ object TBXAlignmentPanel3: TTBXAlignmentPanel
+ Left = 0
+ Top = 432
+ Width = 209
+ Height = 30
+ Margins.Left = 3
+ Margins.Top = 3
+ Margins.Right = 3
+ Margins.Bottom = 3
+ Align = alBottom
+ TabOrder = 3
+ object bRefrescar: TButton
+ Left = 4
+ Top = 5
+ Width = 100
+ Height = 21
+ Caption = 'Aplicar filtro'
+ TabOrder = 0
+ OnClick = bRefrescarClick
+ end
+ end
+ object cxStyleRepository1: TcxStyleRepository
+ Left = 216
+ Top = 104
+ object cxStyleNombreColumna: TcxStyle
+ AssignedValues = [svTextColor]
+ TextColor = clActiveCaption
+ end
+ object cxStyleCategoria: TcxStyle
+ AssignedValues = [svColor, svTextColor]
+ Color = 15329769
+ TextColor = clHighlight
+ end
+ end
+ object PngImageList1: TPngImageList
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000011E4944415478DA
+ 63FCFFFF3F0325801164C0D22D27C936056E40B48F39511AFEFCFDC7F0FBCF5F
+ 3076082E423540ADEA3C5CE165F924148DBA0FE7C1D967AA351916AD3BC0306F
+ E9264C036EB5198215FD9C09A43DBE3030BC60605830E30E43FA7C882F416A8E
+ 96AA32ACDC728408030C80063CE06058B0E30A8A01070B9519D6EE3886DD006C
+ 5E5870E20243AFE439387F4FAE02C3A63D27C9F7C28E4C59866D07CE90EF85CD
+ A9D20CBB8F9C23DF0BABE3C4180E9FBE4CBE17964589309C387F15D580704F53
+ 06ADDA8B447961619820C3D9CB37500D08723562D06FBC82E20590D36100D90B
+ 7382F8182E5DBF8D6A80AFA33EC39F3F88640A67FFFE0B1543C8FDFBF79FE1CA
+ CD3BA80678DAEA322CDB7488A48C846240EF948564E54600564A377B046BCB77
+ 0000000049454E44AE426082}
+ Name = 'PngImage2'
+ Background = clWindow
+ end>
+ Left = 88
+ Top = 104
+ Bitmap = {}
+ end
+end
diff --git a/Source/Modulos/Informes base/Views/uViewFiltros.pas b/Source/Modulos/Informes base/Views/uViewFiltros.pas
new file mode 100644
index 0000000..8d71778
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewFiltros.pas
@@ -0,0 +1,198 @@
+unit uViewFiltros;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uViewInformeBaseParametros, cxStyles, cxGraphics, cxEdit,
+ TBXDkPanels, cxControls, cxInplaceContainer, cxVGrid, cxDropDownEdit,
+ ImgList, PngImageList, cxFilterControl, uViewInformeBaseGrid,
+ cxDBFilterControl, StdCtrls;
+
+type
+ IViewFiltros = interface(IViewInformeBaseParametros)
+ ['{52E941A1-F878-4D9C-B10A-DEA96A39D40D}']
+ end;
+
+ TfrViewFiltros = class(TfrViewInformeBaseParametros, IViewFiltros)
+ vgFiltros: TcxVerticalGrid;
+ TBXLabel1: TTBXLabel;
+ cxStyleRepository1: TcxStyleRepository;
+ cxStyleNombreColumna: TcxStyle;
+ cxStyleCategoria: TcxStyle;
+ PngImageList1: TPngImageList;
+ vgFiltrosEditorRow1: TcxEditorRow;
+ cxFilterControl1: TcxFilterControl;
+ TBXAlignmentPanel3: TTBXAlignmentPanel;
+ bRefrescar: TButton;
+ procedure vgFiltrosEditorRow1EditPropertiesEditValueChanged(
+ Sender: TObject);
+ procedure bRefrescarClick(Sender: TObject);
+ protected
+ procedure RellenarFiltros;
+ procedure SetViewInformeBaseGrid(const Value: IViewInformeBaseGrid); override;
+ procedure SetModificable(const Value: Boolean); override;
+ public
+ procedure Execute; override;
+ procedure Refresh; override;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+uses
+ cxCustomData, cxFilter, cxGridDBDataDefinitions,
+ cxGridDBTableView, cxGridCustomTableView, cxFilterConsts, cxClasses,
+ cxDBData;
+
+{ TfrViewFiltros }
+
+procedure TfrViewFiltros.Execute;
+begin
+ inherited;
+ cxFilterControl1.ApplyFilter;
+ FViewInformeBaseGrid.FocusedView.DataController.Filter.Active := True;
+end;
+
+procedure TfrViewFiltros.Refresh;
+begin
+ inherited;
+ cxFilterControl1.UpdateFilter;
+ SetModificable(Modificable);
+// RellenarFiltros;
+end;
+
+procedure TfrViewFiltros.RellenarFiltros;
+var
+ i : Integer;
+ ACaption : String;
+ ARow : TcxEditorRow;
+ AColumn : TcxGridDBColumn;
+ AValueList : TcxDataFilterValueList;
+
+ procedure GetFilterStrings(AStrings: TStrings;
+ AValueList: TcxDataFilterValueList);
+ var
+ I: Integer;
+ S: string;
+ begin
+ AStrings.BeginUpdate;
+ try
+ AStrings.Clear;
+ for I := 0 to AValueList.Count - 1 do
+ begin
+ S := AValueList[I].DisplayText;
+ AStrings.AddObject(S, TObject(AValueList[I]));
+ end;
+ finally
+ AStrings.EndUpdate;
+ end;
+ end;
+
+ procedure AddRow;
+ begin
+ ARow := vgFiltros.Add(TcxEditorRow) as TcxEditorRow;
+ ARow.Parent := NIL;
+ ARow.Properties.Caption := AColumn.Caption;
+ ARow.Properties.EditPropertiesClassName := 'TcxComboBoxProperties';
+ with (TcxComboBoxProperties(ARow.Properties.EditProperties)) do
+ begin
+ ARow.Properties.ImageIndex := 0;
+ ImmediateDropDown := True;
+ ImmediatePost := True;
+ ImmediateUpdateText := True;
+ PostPopupValueOnTab := True;
+ OnEditValueChanged := vgFiltrosEditorRow1EditPropertiesEditValueChanged;
+ GetFilterStrings(Items, AValueList);
+ end;
+ end;
+
+begin
+{ vgFiltros.BeginUpdate;
+ try
+ vgFiltros.ClearRows;
+ for i := 0 to ViewInformeBaseParametros.FocusedView.VisibleColumnCount - 1 do
+ begin
+ AColumn := TcxGridDBColumn(ViewInformeBaseParametros.FocusedView.VisibleColumns[i]);
+ AValueList := ViewInformeBaseParametros.FilterValueList[AColumn.Index];
+ AddRow;
+ end;
+ finally
+ vgFiltros.EndUpdate;
+ end;
+}
+end;
+
+procedure TfrViewFiltros.SetViewInformeBaseGrid(const Value: IViewInformeBaseGrid);
+begin
+ inherited;
+ cxFilterControl1.LinkComponent := FViewInformeBaseGrid.FocusedView;
+end;
+
+procedure TfrViewFiltros.vgFiltrosEditorRow1EditPropertiesEditValueChanged(
+ Sender: TObject);
+var
+ ARow : TcxEditorRow;
+ AColumn : TcxGridDBColumn;
+ AItemIndex : Integer;
+begin
+{ ARow := TcxEditorRow(vgFiltros.FocusedRow);
+
+ if not Assigned(ARow) then
+ Exit;
+
+ with (TcxComboBoxProperties(ARow.Properties.EditProperties)) do
+ AItemIndex := Items.IndexOf(ARow.Properties.Value);
+
+ AColumn := ViewInformeBaseParametros.GetColumnByCaption(ARow.Properties.Caption);
+
+ if Assigned(AColumn) and (AItemIndex <> -1) then
+ begin
+ AColumn.DataBinding.Filter.BeginUpdate;
+ try
+ with ViewInformeBaseParametros.FilterValueList[AColumn.Index][AItemIndex]^ do
+ begin
+ if not (Kind in [fviAll, fviCustom]) then
+ AColumn.DataBinding.Filter.Active := True;
+ case Kind of
+ fviAll:
+ begin
+ AColumn.Filtered := False;
+ ARow.Properties.Value := '';
+ end;
+ fviCustom:
+ ViewInformeBaseParametros.FocusedView.Filtering.RunCustomizeDialog(AColumn);
+ fviBlanks:
+ AColumn.DataBinding.AddToFilter(nil, foEqual, Value,
+ cxGetResourceStringNet(cxSFilterBlankCaption));
+ fviNonBlanks:
+ AColumn.DataBinding.AddToFilter(nil, foNotEqual, Value,
+ cxGetResourceStringNet(cxSFilterBlankCaption));
+ fviValue, fviMRU:
+ begin
+ AColumn.DataBinding.AddToFilter(nil, foEqual, Value, DisplayText);
+ AColumn.DataBinding.FilterMRUValueItems.Add(Value, DisplayText);
+ end;
+ end;
+ end;
+ finally
+ AColumn.DataBinding.Filter.EndUpdate;
+ end;
+ end;}
+end;
+
+procedure TfrViewFiltros.bRefrescarClick(Sender: TObject);
+begin
+ inherited;
+ Execute;
+end;
+
+procedure TfrViewFiltros.SetModificable(const Value: Boolean);
+begin
+ inherited;
+ vgFiltros.Enabled := Value;
+end;
+
+end.
+
diff --git a/Source/Modulos/Informes base/Views/uViewInformeBase.dfm b/Source/Modulos/Informes base/Views/uViewInformeBase.dfm
new file mode 100644
index 0000000..7ec3367
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewInformeBase.dfm
@@ -0,0 +1,646 @@
+inherited frViewInformeBase: TfrViewInformeBase
+ Width = 699
+ Height = 607
+ ExplicitWidth = 699
+ ExplicitHeight = 607
+ object TBXMultiDock1: TTBXMultiDock [0]
+ Left = 0
+ Top = 132
+ Width = 222
+ Height = 475
+ Position = dpLeft
+ object pnlParametros: TTBXDockablePanel
+ Left = 0
+ Top = 0
+ Caption = 'Par'#225'metros del informe'
+ CloseButton = False
+ CloseButtonWhenDocked = False
+ DockedWidth = 218
+ DockedHeight = 185
+ DockMode = dmCannotFloat
+ DockPos = 0
+ ParentShowHint = False
+ ShowHint = False
+ SplitHeight = 261
+ SupportedDocks = [dkStandardDock, dkMultiDock]
+ TabOrder = 0
+ object TBXAlignmentPanel2: TTBXAlignmentPanel
+ Left = 0
+ Top = 0
+ Width = 218
+ Height = 67
+ Margins.Left = 4
+ Margins.Top = 4
+ Margins.Right = 4
+ Margins.Bottom = 4
+ Align = alTop
+ AutoSize = True
+ TabOrder = 0
+ object TBXLink1: TTBXLink
+ Left = 4
+ Top = 4
+ Width = 210
+ Height = 19
+ Cursor = crHandPoint
+ Margins.Top = 2
+ Margins.Bottom = 2
+ Align = alTop
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clActiveCaption
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ImageIndex = 29
+ ParentColor = True
+ ParentFont = False
+ TabOrder = 0
+ Wrapping = twPathEllipsis
+ end
+ object TBXLink5: TTBXLink
+ Left = 4
+ Top = 23
+ Width = 210
+ Height = 20
+ Cursor = crHandPoint
+ Margins.Top = 2
+ Margins.Bottom = 2
+ Action = actColumnas
+ Align = alTop
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clActiveCaption
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ImageIndex = 3
+ Images = SmallImages
+ ParentColor = True
+ ParentFont = False
+ TabOrder = 1
+ Wrapping = twPathEllipsis
+ end
+ object TBXLink2: TTBXLink
+ Left = 4
+ Top = 43
+ Width = 210
+ Height = 20
+ Cursor = crHandPoint
+ Margins.Top = 2
+ Margins.Bottom = 2
+ Action = actAgrupaciones
+ Align = alTop
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clActiveCaption
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ImageIndex = 0
+ Images = SmallImages
+ ParentColor = True
+ ParentFont = False
+ TabOrder = 2
+ Wrapping = twPathEllipsis
+ end
+ end
+ object pcParametros: TPageControl
+ Left = 0
+ Top = 67
+ Width = 218
+ Height = 133
+ ActivePage = tsColumnas
+ Align = alClient
+ Style = tsFlatButtons
+ TabOrder = 1
+ ExplicitHeight = 39
+ object TabSheet5: TTabSheet
+ Caption = 'TabSheet5'
+ TabVisible = False
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
+ end
+ object tsColumnas: TTabSheet
+ Caption = 'tsColumnas'
+ ImageIndex = 1
+ TabVisible = False
+ ExplicitHeight = 29
+ inline frViewColumnas1: TfrViewColumnas
+ Left = 0
+ Top = 0
+ Width = 210
+ Height = 123
+ Align = alClient
+ TabOrder = 0
+ ReadOnly = False
+ ExplicitWidth = 210
+ ExplicitHeight = 29
+ inherited TBXLabel1: TTBXLabel
+ Width = 210
+ ExplicitWidth = 210
+ end
+ inherited lbColumnas: TcxCheckListBox
+ Width = 210
+ Height = 94
+ ExplicitWidth = 210
+ ExplicitHeight = 0
+ end
+ end
+ end
+ object tsAgrupacion: TTabSheet
+ Caption = 'tsAgrupacion'
+ ImageIndex = 2
+ TabVisible = False
+ inline frViewAgrupaciones1: TfrViewAgrupaciones
+ Left = 0
+ Top = 0
+ Width = 210
+ Height = 123
+ Align = alClient
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 0
+ ReadOnly = False
+ ExplicitWidth = 210
+ ExplicitHeight = 123
+ inherited TBXLabel1: TTBXLabel
+ Width = 210
+ ExplicitWidth = 210
+ end
+ inherited pnlAgrupaciones: TTBXAlignmentPanel
+ Width = 210
+ ExplicitWidth = 210
+ DesignSize = (
+ 210
+ 77)
+ inherited Label3: TLabel
+ Width = 74
+ ExplicitWidth = 74
+ end
+ inherited Label2: TLabel
+ Width = 61
+ ExplicitWidth = 61
+ end
+ inherited Label1: TLabel
+ Width = 95
+ ExplicitWidth = 95
+ end
+ inherited TBXButton1: TTBXButton
+ Width = 97
+ ExplicitWidth = 97
+ end
+ inherited TBXButton3: TTBXButton
+ Width = 97
+ ExplicitWidth = 97
+ end
+ inherited TBXButton2: TTBXButton
+ Width = 97
+ ExplicitWidth = 97
+ end
+ end
+ inherited PopupMenu1: TPopupMenu
+ Left = 24
+ Top = 120
+ end
+ inherited PopupMenu2: TPopupMenu
+ Left = 56
+ Top = 120
+ end
+ inherited PopupMenu3: TPopupMenu
+ Left = 88
+ Top = 120
+ end
+ end
+ end
+ end
+ end
+ object pnlTareas: TTBXDockablePanel
+ Left = 0
+ Top = 222
+ Caption = 'Modificar el informe'
+ CloseButton = False
+ CloseButtonWhenDocked = False
+ DockedWidth = 218
+ DockMode = dmCannotFloat
+ DockPos = 222
+ FloatingWidth = 128
+ FloatingHeight = 128
+ SplitHeight = 276
+ SplitWidth = 3
+ SupportedDocks = [dkStandardDock, dkMultiDock]
+ TabOrder = 1
+ object TBXPageScroller1: TTBXPageScroller
+ Left = 0
+ Top = 0
+ Width = 218
+ Height = 215
+ Align = alClient
+ DoubleBuffered = False
+ Range = 0
+ TabOrder = 0
+ ExplicitHeight = 106
+ object TBXAlignmentPanel1: TTBXAlignmentPanel
+ Left = 0
+ Top = 0
+ Width = 218
+ Height = 48
+ Margins.Left = 4
+ Margins.Top = 4
+ Margins.Right = 4
+ Margins.Bottom = 4
+ Align = alTop
+ AutoSize = True
+ TabOrder = 0
+ object bFiltros: TTBXLink
+ Left = 4
+ Top = 24
+ Width = 210
+ Height = 20
+ Cursor = crHandPoint
+ Margins.Top = 2
+ Margins.Bottom = 2
+ Action = actFiltros
+ Align = alTop
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clActiveCaption
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ImageIndex = 1
+ Images = SmallImages
+ ParentColor = True
+ ParentFont = False
+ TabOrder = 0
+ end
+ object bSumarios: TTBXLink
+ Left = 4
+ Top = 4
+ Width = 210
+ Height = 20
+ Cursor = crHandPoint
+ Margins.Top = 2
+ Margins.Bottom = 2
+ Action = actSumarios
+ Align = alTop
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clActiveCaption
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ImageIndex = 2
+ Images = SmallImages
+ ParentColor = True
+ ParentFont = False
+ TabOrder = 1
+ end
+ end
+ object pcTareas: TPageControl
+ Left = 0
+ Top = 48
+ Width = 218
+ Height = 167
+ ActivePage = tsFiltros
+ Align = alClient
+ Style = tsButtons
+ TabOrder = 1
+ ExplicitHeight = 58
+ object tsSumarios: TTabSheet
+ Caption = 'tsSumarios'
+ ImageIndex = 2
+ TabVisible = False
+ inline frViewSumarios1: TfrViewSumarios
+ Left = 0
+ Top = 0
+ Width = 210
+ Height = 157
+ Align = alClient
+ TabOrder = 0
+ ReadOnly = False
+ ExplicitWidth = 210
+ ExplicitHeight = 157
+ inherited TBXLabel1: TTBXLabel
+ Width = 210
+ ExplicitWidth = 210
+ end
+ inherited vgSumarios: TcxVerticalGrid
+ Width = 210
+ Height = 128
+ ExplicitWidth = 210
+ ExplicitHeight = 128
+ end
+ end
+ end
+ object tsFiltros: TTabSheet
+ Caption = 'tsFiltros'
+ ImageIndex = 1
+ TabVisible = False
+ inline frViewFiltros1: TfrViewFiltros
+ Left = 0
+ Top = 0
+ Width = 210
+ Height = 157
+ Align = alClient
+ TabOrder = 0
+ ReadOnly = False
+ ExplicitWidth = 210
+ ExplicitHeight = 157
+ inherited vgFiltros: TcxVerticalGrid
+ Width = 196
+ Height = 0
+ ExplicitWidth = 196
+ ExplicitHeight = 0
+ inherited vgFiltrosEditorRow1: TcxEditorRow
+ Properties.EditProperties.OnEditValueChanged = nil
+ end
+ end
+ inherited TBXLabel1: TTBXLabel
+ Width = 210
+ ExplicitWidth = 210
+ end
+ inherited cxFilterControl1: TcxFilterControl
+ Width = 210
+ Height = 98
+ ExplicitWidth = 210
+ ExplicitHeight = 98
+ end
+ inherited TBXAlignmentPanel3: TTBXAlignmentPanel
+ Top = 127
+ Width = 210
+ ExplicitTop = 127
+ ExplicitWidth = 210
+ end
+ end
+ end
+ end
+ end
+ end
+ end
+ object TBXMultiDock2: TTBXMultiDock [1]
+ Left = 0
+ Top = 0
+ Width = 699
+ Height = 132
+ object pnlIntervaloFechas: TTBXDockablePanel
+ Left = 0
+ Top = 0
+ Caption = 'Modificar el informe'
+ CloseButton = False
+ CloseButtonWhenDocked = False
+ DockedWidth = 218
+ DockMode = dmCannotFloat
+ DockPos = 0
+ FloatingWidth = 128
+ FloatingHeight = 128
+ SplitHeight = 276
+ SplitWidth = 3
+ SupportedDocks = [dkStandardDock, dkMultiDock]
+ TabOrder = 0
+ object TBXAlignmentPanel3: TTBXAlignmentPanel
+ Left = 0
+ Top = 98
+ Width = 661
+ Height = 30
+ Align = alBottom
+ TabOrder = 0
+ object bRefrescar: TButton
+ Left = 2
+ Top = 4
+ Width = 100
+ Height = 21
+ Action = actRefrescar
+ TabOrder = 0
+ end
+ end
+ end
+ end
+ object SmallImages: TPngImageList
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000000794944415478DA
+ 63FCFFFF3F0325809162030CDD338936E1FCCEE98C580DC8CF4C870BFCF9F397
+ E1FBCF5F0CDF7E00F1F79F0C5FBEFF6078F6FA3DC38D8B27F01BB0F3D845BCB6
+ E33580222F60530832149B62AC81884B825843F02A20C6108236103204671810
+ E37FBC06109B36F01A404CDAA0DC0B039E1B0126BE69852B2E82B70000000049
+ 454E44AE426082}
+ Name = 'PngImage23'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001574944415478DA
+ 63FCFFFF3F0308303232826943C3648800109C3F3F9791010780EB433600A4D9
+ B1A892E1129300C399C38719144F6E61483F3F17AE2903A88CA001E7053C1918
+ B8B9197C448E33F82C68620868296078346B2503EBA3E70C27910CC169809AC5
+ 578685FA3718FEE99A332CB29EC9602427C9C00FD4CC0A54B38B9001B53D0BFE
+ 57F34C60600E2E6160E27AC6F07BF1328605191718D480F27C407C069F0175BD
+ 0BFF4BE87832243F7067604F2F61F839B38781D53E8AE1D9C5DD0C5B237683D5
+ 6C4D6A03D34FCEDF6538776E0E238A017EC9EDFF37CDAD64F8F4FD2F43CFB425
+ 60B10BD79EA1847C4A4626C39377BF18E65456611A00F2826F521BDC90379FFE
+ 30BCFDFC07AEF9F9FBDF70CDA0E8C51A062080CD1074CD38031106900D3970E5
+ 3386668206201B326DE72B0CCD2419606494823549D3C780096D450C219ED9E4
+ 1B004A30B8722451066C9E5745303B030083AA15F0BB1362F30000000049454E
+ 44AE426082}
+ Name = 'PngImage24'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000E9C00000E9C01079453DD000000534944415478DA
+ 63FCFFFF3F03258071F018C0C8C848944940F58CB80CB0075207A0E20E407C10
+ BB7EDC0680288286A07B19DD0082861063005E43883500A72174710145614051
+ 2C509C0E284B89E4028A0D0000DBA366E1865C514F0000000049454E44AE4260
+ 82}
+ Name = 'PngImage27'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000011E4944415478DA
+ 63FCFFFF3F0325801164C0D22D27C936056E40B48F39511AFEFCFDC7F0FBCF5F
+ 3076082E423540ADEA3C5CE165F924148DBA0FE7C1D967AA351916AD3BC0306F
+ E9264C036EB5198215FD9C09A43DBE3030BC60605830E30E43FA7C882F416A8E
+ 96AA32ACDC728408030C80063CE06058B0E30A8A01070B9519D6EE3886DD006C
+ 5E5870E20243AFE439387F4FAE02C3A63D27C9F7C28E4C59866D07CE90EF85CD
+ A9D20CBB8F9C23DF0BABE3C4180E9FBE4CBE17964589309C387F15D580704F53
+ 06ADDA8B447961619820C3D9CB37500D08723562D06FBC82E20590D36100D90B
+ 7382F8182E5DBF8D6A80AFA33EC39F3F88640A67FFFE0B1543C8FDFBF79FE1CA
+ CD3BA80678DAEA322CDB7488A48C846240EF948564E54600564A377B046BCB77
+ 0000000049454E44AE426082}
+ Name = 'PngImage28'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001534944415478DA
+ 63542C3BFB9F8102C00832A0CE570F43E2E76F06864F5FFF337CFCF20F4C7FFA
+ FE9FE11750ECF3B7FF0C5FBE41E87FD74BB11B804D334C13CC001060B9033580
+ 5CE70B5C9CC3C0B866CDEAFFC1C1217815FEFDF79FE1F79FBF402FFC61F8FDFB
+ 2F98BD66FB3186794B37611AC0987812CE6E50D881D5C0C4B43C864D7B4EE236
+ E044860183C58C0B0C5247F318562FD8CF109AE008A6ADACB8181A1B1B196292
+ 7218B61F388D6A0048026CEB030FB861475375C19A4100640008ECDEDDCD101E
+ 97C9B0E7C8394C03EAEBEB198E1DFB06B60944C334C30C80B9C03F3C85E1C8E9
+ CB9806B8BA96E20CC8CBD6DC70B6E1A5870CA72E5C23EC02647A26232343FAD9
+ B30C338D8D1974CEDE63387FF526F630C005241A1AE06CF593B719AEDCBC8330
+ C0D73F101EBFBF40348CFDE72F5671104031C0C3CB8F61FE9A7D24A744B801AD
+ B349D70C4F37FFFF53949B1900BA770EC0E001FEA50000000049454E44AE4260
+ 82}
+ Name = 'PngImage29'
+ Background = clWindow
+ end>
+ PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
+ Left = 368
+ Top = 32
+ Bitmap = {}
+ end
+ object LargeImages: TPngImageList
+ Height = 24
+ Width = 24
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000000CA4944415478DA
+ 63FCFFFF3F032D01E3D0B7A0A0730DD56C98501EC288D5020375151441908D7F
+ FFFE63F8FBEF1FC33F10FDF72F980D11FB0F66FF0189FD05D110F68EED9B19CE
+ EF9C4ED802720C07B177EFDA4AD802720D07D1FBF7EEC06F012586FF03CA1FDC
+ BF13B705FA400BEE3D7E497464A21B0E02782D38B86F2F555211560B88D50C73
+ 083643F00192149363094916906309C916906A095916906209232ECDE45A4CB4
+ 05D42A9F88B28092F289A00594964F782DA046F984D3026A954F382DA056F934
+ F42B7D00F75AE9FD6BE4FF8E0000000049454E44AE426082}
+ Name = 'PngImage23'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000022F4944415478DA
+ 63FCFFFF3F030C303232C2D98686C9FA406A0A101B00F174205E7AFEFCDC8B0C
+ 44001433B1590034FC30C8E0ECB9737840FCA9C92920AA1F8817822CD902B40C
+ C85EE6C3C0B095640B8086AF033203818633ACBBCFC0B0EDFA7584AFD6F63234
+ 9F9F8B6C16C89268522DF82F593387615B0BD4202323087DEE1CC396F3290CB6
+ F3BA19FEBC7DC670BCB49F410B28BC0F8881FE6324C982F346D908D54083FFF7
+ A4306C7566C0301C06D02D21CA82648E7360B11EAB140681A8974053C4C19680
+ 00B2E120F00A88AF205982D782C6A605FF1FBDFCC3602A3187215CE904C47086
+ CD60F90FCB52186E46430C7342337C63521BC3E67955F82D686A5EF85F4C531D
+ CCCE10B2049A826AB880E51C86F3FB52187EA5400CD5811AFE7BF571B09A6DDB
+ F783E94D732B19715AF0878B81E1C2B567508562D040069AA83807AE0E64C9B9
+ 14081B6438C860032D2906091D4F861DABE6E2B7A0AC2296E1D79FFF0CBF8178
+ E2ACA508CB6AC4E086D71F6B83EB01196C62E70F663F79F70BBF05A038A8ED59
+ F0BF2A2F96E1EB8F7F0CBFFFFE67F803C4207AFEE21560CB4006FA0784A0C87D
+ FEFE0F6E38281E08E66498251FBEFE851B8242FF41B0DF7DF98B6238C1540403
+ A0D4040AAE379FFEE0B4E0D5C73F1886136D01B225CFDFFFC6B0E0E9BBDF580D
+ 27C902644B1EBFF905B7E0C1AB5F380D27D902644BEEBDFC09B6E0C88D2F380D
+ 27CB02644BE6ED7B83D7F0510B86B80522669E040DA7C882330F9E11349C220B
+ EAEB12081A8E6E01002A731EEF226ACE030000000049454E44AE426082}
+ Name = 'PngImage24'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300004E2000004E2001167D99DE000000DB4944415478DA
+ 63FCFFFF3F032D01E3A805245BC0C8C848B68D40B31889B16002908A066211A8
+ 9003101FC463AE3D10EB03F144622D0051CD405C0315DA09C4ED4458D20034CB
+ 91580B40603E102740D97B80B88580250CD8E2139F0520D007C48550F62520CE
+ 43B304A49805887F936B01084C841A0C02A780B80C974FC8B500045600713894
+ BD05887BB0F8E43F29168035A0A96D00E27A28FB3210E7A2FB84121FB001F12F
+ 205E0EC41150B11D40DC01C42780F827A916D0DD07548F036440D35444937CC0
+ 0AD540D39C4CD3B288E6A5296DEB036A83A16F01003B61B4D1E99D5171000000
+ 0049454E44AE426082}
+ Name = 'PngImage27'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000001AD4944415478DA
+ 63FCFFFF3F032D0123C882A55B4ED2C496681F7346B805400E5986FC03EAFFF7
+ EF3FC3DFBFFF20F81F88FECFE01456CC706EC734540BE44BCFA168BEA5928C61
+ A0DA9DB9782D3C5FA3C1B06CD32186794B3761B7E07E97215CF1EF59460C0C1E
+ 6F802C1606862FEC0C0B7A6E32A4CEFB0797572C3B8FA21EC43F53A5C6B072CB
+ 11522CF800369CE1051BC3822597095A70B25C9561CDF6A3245860F31D6C38C3
+ 1D668605272E10B4E058A932C3FA9DC7715B8011070F24E0FC052F7630B4899C
+ C51B07878B141936ED3949BB383858A0C0B065DF29DAC5C1DE5C39861D07CFD0
+ 2E0E7666C930EC39728E7671B02D5D8A61FFF10BB48B83CDA9120C874E5EA25D
+ 1C6C481263387AE60AEDE2606DBC28C389F357312D88F436032BA0340E56440B
+ 319CBD7C03D382704F5306E58A0B14C7C1D24801860B576F615A10E46AC4A051
+ 7399E2385814C6C770F9C61D4C0BFC9D0C18B4EBAF521C070B43F918AEDCC462
+ 818F833E835EE3358C3800198A0C08C5014E0B3C6D75E1B51184FE07A9A9D0C4
+ 20B5D67F863F2835D83F06E4AA1DAB056ED6DAE08A825A00C382DE290BA96638
+ 0CC02DA02500004F8255EF277FDA8C0000000049454E44AE426082}
+ Name = 'PngImage28'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000022E4944415478DA
+ 63FCFFFF3F032D0123DD2C60646404D351F98B2700A97C209EB86C626C013186
+ E0D203321B9B05FF974E886130F2C86238BF733A23911660D583628152F93930
+ C3F2E735063B4D558699EB17327CD04F212A1870E9B9D769C48862419DAF1EC3
+ EE352BC0FCEB378E31E4D54C4231E8DB8FFF0C5F81184243F8DF80F4CF3B6BE0
+ 7AB8F47BC0E21F386E62B7E0E6C5730C3B372F6070F74D6050D7372268F8F79F
+ 0C0C7FDF5C60B8737E11838C761CC3933FBA0C7FFE32307CE1C661013680CF70
+ 30FBE77F381B64380860B580DCA4880BA058B076F7C5FFC1AEFA446BFEF70FE4
+ DA7F0C7F804E86D040FC17C25EB7F338C3BCA59B18CEED9886DF02C6C49328FC
+ C94EEF095AECE76CCEB069EF49122CB87082E1C48C0C068B191718A48EE6313C
+ BD7592E1D8B16F0C56565C6035C8EC298B7730783998326C3B709A780B4E6418
+ 80D9200B1678BC60A8AA6D6358BD603FD850693573381B66819BAD31C3AEC367
+ 715B00520403B9FB04512C3C9AAACB70FBF16EB0253000B20006CEDD3DC4E064
+ 69C0B0EFF805FC16E4C47A60781F990D7239B205C83EB033D3633874EA12F916
+ 201B8ECD020B432D8613E7AFE1B7C048D98EE8E47AD99A1B85AF7FFE3EC399CB
+ 37280B2264F64C60297C0648CF3E7B9661A6B13183F699BB0C17AEDDA2AE05E9
+ 40C3C16CA005EA276F335CB97987B854440C608DF344E1E3B5C0DF511792DDC1
+ D9FE1F1A1BA938C0210F03382DF0B6D36298B36A2F493EC005B05AD0DA3B932A
+ 86C3008A05B40200F47739EF77A04B0C0000000049454E44AE426082}
+ Name = 'PngImage29'
+ Background = clWindow
+ end>
+ PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
+ Left = 328
+ Top = 32
+ Bitmap = {}
+ end
+ object EditorActionList: TActionList
+ Images = SmallImages
+ Left = 288
+ Top = 32
+ object actAgrupaciones: TAction
+ Category = 'Tareas'
+ Caption = 'Agrupaciones'
+ ImageIndex = 0
+ OnExecute = actAgrupacionesExecute
+ end
+ object actColumnas: TAction
+ Category = 'Tareas'
+ Caption = 'Columnas'
+ ImageIndex = 3
+ OnExecute = actColumnasExecute
+ end
+ object actSumarios: TAction
+ Category = 'Tareas'
+ Caption = 'Res'#250'menes'
+ ImageIndex = 2
+ OnExecute = actSumariosExecute
+ end
+ object actFiltros: TAction
+ Category = 'Tareas'
+ Caption = 'Filtros'
+ ImageIndex = 1
+ OnExecute = actFiltrosExecute
+ end
+ object actRefrescar: TAction
+ Category = 'Ver'
+ Caption = 'Refrescar'
+ end
+ end
+end
diff --git a/Source/Modulos/Informes base/Views/uViewInformeBase.pas b/Source/Modulos/Informes base/Views/uViewInformeBase.pas
new file mode 100644
index 0000000..f8dbf01
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewInformeBase.pas
@@ -0,0 +1,250 @@
+unit uViewInformeBase;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Forms,
+ Dialogs, uViewBase, TBXDkPanels, StdCtrls, ComCtrls, TB2Dock,
+ uViewAgrupaciones, uCustomView, uViewColumnas, ImgList, PngImageList,
+ ActnList, uViewInformeBaseGrid, uBizInformes, uViewSumarios, uViewGridBase,
+ uViewInformeBaseParametros, uViewFiltros, cxStyles, Controls, uViewFiltroBase,
+ DB, uDADataTable, uDAInterfaces;
+
+type
+ IViewInformeBase = interface(IViewGridBase)
+ ['{D716BE6B-1F41-4825-9385-0231D2AEF819}']
+ function GetModificable: Boolean;
+ procedure SetModificable(const Value: Boolean);
+ property Modificable : Boolean read GetModificable write SetModificable;
+
+ function GetInforme: IBizInforme;
+ procedure SetInforme(const Value: IBizInforme);
+ property Informe: IBizInforme read GetInforme write SetInforme;
+
+ function GetOnViewChanged : TNotifyEvent;
+ procedure SetOnViewChanged(const Value : TNotifyEvent);
+ property OnViewChanged: TNotifyEvent read GetOnViewChanged write SetOnViewChanged;
+ end;
+
+ TfrViewInformeBase = class(TfrViewGridBase, IViewInformeBase)
+ TBXMultiDock1: TTBXMultiDock;
+ pnlParametros: TTBXDockablePanel;
+ TBXAlignmentPanel2: TTBXAlignmentPanel;
+ TBXLink1: TTBXLink;
+ TBXLink5: TTBXLink;
+ TBXLink2: TTBXLink;
+ pcParametros: TPageControl;
+ TabSheet5: TTabSheet;
+ tsColumnas: TTabSheet;
+ tsAgrupacion: TTabSheet;
+ pnlTareas: TTBXDockablePanel;
+ TBXPageScroller1: TTBXPageScroller;
+ TBXAlignmentPanel1: TTBXAlignmentPanel;
+ bFiltros: TTBXLink;
+ bSumarios: TTBXLink;
+ pcTareas: TPageControl;
+ tsSumarios: TTabSheet;
+ tsFiltros: TTabSheet;
+ frViewColumnas1: TfrViewColumnas;
+ frViewAgrupaciones1: TfrViewAgrupaciones;
+ SmallImages: TPngImageList;
+ LargeImages: TPngImageList;
+ EditorActionList: TActionList;
+ actAgrupaciones: TAction;
+ actColumnas: TAction;
+ actSumarios: TAction;
+ actFiltros: TAction;
+ frViewSumarios1: TfrViewSumarios;
+ actRefrescar: TAction;
+ frViewFiltros1: TfrViewFiltros;
+ TBXMultiDock2: TTBXMultiDock;
+ pnlIntervaloFechas: TTBXDockablePanel;
+ TBXAlignmentPanel3: TTBXAlignmentPanel;
+ bRefrescar: TButton;
+ procedure actColumnasExecute(Sender: TObject);
+ procedure actSumariosExecute(Sender: TObject);
+ procedure actFiltrosExecute(Sender: TObject);
+ procedure actAgrupacionesExecute(Sender: TObject);
+
+ private
+ procedure ComprobarPrivilegios;
+
+ protected
+ FInforme : IBizInforme;
+ FOnViewChanged : TNotifyEvent;
+ FModificable : Boolean;
+ procedure ActivarTarea (const ATarea : Integer); virtual;
+ function GetInforme: IBizInforme; virtual;
+ procedure SetInforme(const Value: IBizInforme); virtual;
+ function GetOnViewChanged : TNotifyEvent; virtual;
+ procedure SetOnViewChanged(const Value : TNotifyEvent); virtual;
+ function GetModificable: Boolean; virtual;
+ procedure SetModificable(const Value: Boolean); virtual;
+
+ procedure FiltrarGrid(TextoFiltro : String); override;
+
+ public
+ property Modificable : Boolean read GetModificable write SetModificable;
+ property OnViewChanged: TNotifyEvent read GetOnViewChanged write SetOnViewChanged;
+ property Informe: IBizInforme read GetInforme write SetInforme;
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ procedure Refresh; override;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+uses cxGridDBTableView, cxFilter, uFactuGES_App;
+
+const
+ COLUMNAS = 1;
+ AGRUPACIONES = 2;
+ SUMARIOS = 3;
+ FILTROS = 4;
+
+procedure TfrViewInformeBase.actColumnasExecute(Sender: TObject);
+begin
+ inherited;
+ ActivarTarea(COLUMNAS);
+ frViewColumnas1.Refresh;
+end;
+
+procedure TfrViewInformeBase.ActivarTarea(const ATarea: Integer);
+begin
+ case ATarea of
+ COLUMNAS : pcParametros.ActivePage := tsColumnas;
+ AGRUPACIONES : pcParametros.ActivePage := tsAgrupacion;
+ SUMARIOS : pcTareas.ActivePage := tsSumarios;
+ FILTROS : pcTareas.ActivePage := tsFiltros;
+ end;
+end;
+
+function TfrViewInformeBase.GetInforme: IBizInforme;
+begin
+ Result := FInforme;
+end;
+
+procedure TfrViewInformeBase.SetInforme(const Value: IBizInforme);
+begin
+ FInforme := Value;
+ frViewColumnas1.Refresh;
+ frViewAgrupaciones1.Refresh;
+
+ ComprobarPrivilegios;
+ // ¿Es modificable el InformeBase?
+// Self.Modificable := FInformeBase.EsModificable;
+end;
+
+procedure TfrViewInformeBase.actSumariosExecute(Sender: TObject);
+begin
+ inherited;
+ ActivarTarea(SUMARIOS);
+ frViewSumarios1.Refresh;
+end;
+
+procedure TfrViewInformeBase.actFiltrosExecute(Sender: TObject);
+begin
+ inherited;
+ ActivarTarea(FILTROS);
+ frViewFiltros1.Refresh;
+ end;
+
+procedure TfrViewInformeBase.actAgrupacionesExecute(Sender: TObject);
+begin
+ inherited;
+ ActivarTarea(AGRUPACIONES);
+ frViewAgrupaciones1.Refresh;
+end;
+
+function TfrViewInformeBase.GetOnViewChanged: TNotifyEvent;
+begin
+ Result := FOnViewChanged;
+end;
+
+procedure TfrViewInformeBase.Refresh;
+var
+ i: Integer;
+begin
+ inherited;
+
+end;
+
+procedure TfrViewInformeBase.SetOnViewChanged(const Value: TNotifyEvent);
+begin
+ FOnViewChanged := Value;
+end;
+
+procedure TfrViewInformeBase.ComprobarPrivilegios;
+begin
+ if (AppFactuGES.UsuarioActivo.LOGIN <> 'admin') then
+ TBXMultiDock1.Visible := False;
+end;
+
+constructor TfrViewInformeBase.Create(AOwner: TComponent);
+begin
+ inherited;
+ FModificable := False;
+ pcParametros.ActivePage := tsColumnas;
+ pcTareas.ActivePage := tsSumarios;
+ FOnViewChanged := nil;
+end;
+
+destructor TfrViewInformeBase.Destroy;
+begin
+ ViewFiltros := Nil;
+ inherited;
+end;
+
+procedure TfrViewInformeBase.FiltrarGrid(TextoFiltro: String);
+var
+ Columna: TcxGridDBColumn;
+ i: Integer;
+ AItemList: TcxFilterCriteriaItemList;
+begin
+ with _FocusedView.DataController.Filter do
+ begin
+ BeginUpdate;
+ try
+ Options := [fcoCaseInsensitive, fcoSoftCompare];
+// Hemos tenido que sobreescribir este metodo porque hemos tenido que cambiar el orden a aplicar los filtros
+// en el caso de los informes debemos aplicar el filtro del campo de texto siempre despues del filtro
+// establecido para el informe, por ello este método nunca limpiará el filtro que tenga ya establecido el grid
+// sino que se añadirá al filtro existente
+// Root.Clear;
+ if Length(TextoFiltro) > 0 then
+ begin
+ AItemList := Root.AddItemList(fboAnd);
+ AItemList.BoolOperatorKind := fboOr;
+ for i:=0 to (_FocusedView as TcxGridDBTableView).ColumnCount - 1 do
+ begin
+ Columna := (_FocusedView as TcxGridDBTableView).Columns[i];
+ if (Length(Columna.Caption) > 0) and (Columna.Caption <> 'RecID') then
+ AItemList.AddItem(Columna, foLike, '%'+TextoFiltro+'%', IntToStr(i));
+ end;
+ Active := True;
+ end
+ else
+ Active := False;
+ finally
+ ExpandirTodo;
+ EndUpdate;
+ end;
+ end;
+end;
+
+function TfrViewInformeBase.GetModificable: Boolean;
+begin
+ Result := FModificable;
+end;
+
+procedure TfrViewInformeBase.SetModificable(const Value: Boolean);
+begin
+ FModificable := Value;
+
+ frViewColumnas1.Modificable := FModificable;
+ frViewAgrupaciones1.Modificable := FModificable;
+end;
+
+end.
diff --git a/Source/Modulos/Informes base/Views/uViewInformeBaseGrid.dfm b/Source/Modulos/Informes base/Views/uViewInformeBaseGrid.dfm
new file mode 100644
index 0000000..b0574b7
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewInformeBaseGrid.dfm
@@ -0,0 +1,149 @@
+inherited frViewInformeBaseGrid: TfrViewInformeBaseGrid
+ object dxPrintStyleManager1: TdxPrintStyleManager
+ CurrentStyle = dxPrintStyleManager1Style1
+ PageSetupDialog = dxPageSetupDialog1
+ Version = 0
+ Left = 16
+ Top = 16
+ object dxPrintStyleManager1Style1: TdxPSPrintStyle
+ PrinterPage.DMPaper = 9
+ PrinterPage.Footer = 6350
+ PrinterPage.Header = 6350
+ PrinterPage.Margins.Bottom = 20000
+ PrinterPage.Margins.Left = 12700
+ PrinterPage.Margins.Right = 12700
+ PrinterPage.Margins.Top = 20000
+ PrinterPage.PageFooter.CenterTitle.Strings = (
+ '[Date & Time Printed]')
+ PrinterPage.PageFooter.Font.Charset = DEFAULT_CHARSET
+ PrinterPage.PageFooter.Font.Color = clBlack
+ PrinterPage.PageFooter.Font.Height = -12
+ PrinterPage.PageFooter.Font.Name = 'Tahoma'
+ PrinterPage.PageFooter.Font.Style = []
+ PrinterPage.PageFooter.LeftTitle.Strings = (
+ 'LUIS LE'#211'N REPRESENTACIONES S.L.')
+ PrinterPage.PageFooter.RightTitle.Strings = (
+ '[Page #] de [Total Pages]')
+ PrinterPage.PageHeader.Font.Charset = DEFAULT_CHARSET
+ PrinterPage.PageHeader.Font.Color = clBlack
+ PrinterPage.PageHeader.Font.Height = -15
+ PrinterPage.PageHeader.Font.Name = 'Tahoma'
+ PrinterPage.PageHeader.Font.Style = []
+ PrinterPage.PageHeader.LeftTitle.Strings = (
+ '')
+ PrinterPage.PageSize.X = 210000
+ PrinterPage.PageSize.Y = 297000
+ PrinterPage._dxMeasurementUnits_ = 0
+ PrinterPage._dxLastMU_ = 2
+ BuiltInStyle = True
+ end
+ end
+ object dxPageSetupDialog1: TdxPageSetupDialog
+ ButtonsVisible = [psbStyleOptions]
+ Left = 48
+ Top = 16
+ end
+ object dxPSEngineController1: TdxPSEngineController
+ LookAndFeel = pslfOffice11
+ UseNativeLookAndFeel = False
+ Left = 80
+ Top = 16
+ end
+ object dxComponentPrinter: TdxComponentPrinter
+ CurrentLink = dxPrinterLinkcxGrid
+ PreviewOptions.ShowExplorer = True
+ PreviewOptions.WindowState = wsMaximized
+ Version = 0
+ Left = 112
+ Top = 16
+ object dxPrinterLinkcxGrid: TdxGridReportLink
+ PrinterPage.DMPaper = 9
+ PrinterPage.Footer = 6350
+ PrinterPage.GrayShading = True
+ PrinterPage.Header = 6350
+ PrinterPage.Margins.Bottom = 12700
+ PrinterPage.Margins.Left = 12700
+ PrinterPage.Margins.Right = 12700
+ PrinterPage.Margins.Top = 12700
+ PrinterPage.PageSize.X = 210000
+ PrinterPage.PageSize.Y = 297000
+ PrinterPage.ScaleMode = smFit
+ PrinterPage._dxMeasurementUnits_ = 0
+ PrinterPage._dxLastMU_ = 2
+ ReportDocument.CreationDate = 38877.461868113420000000
+ StyleManager = dxPrintStyleManager1
+ OptionsCards.Shadow.Depth = 0
+ OptionsFormatting.SuppressBackgroundBitmaps = True
+ OptionsFormatting.UseNativeStyles = True
+ OptionsFormatting.ConsumeSelectionStyle = True
+ OptionsLevels.Unwrap = True
+ OptionsRefinements.TransparentGraphics = True
+ OptionsSize.AutoWidth = True
+ OptionsView.Caption = False
+ OptionsView.ExpandButtons = False
+ OptionsView.FilterBar = False
+ StyleRepository = cxStyleRepositoryInforme
+ Styles.Content = cxStyleContentInforme
+ Styles.Footer = cxStyleFooterInforme
+ Styles.Group = cxStyleGroupInforme
+ Styles.Header = cxStyleHeaderInforme
+ Styles.Selection = cxStyleSelectionInforme
+ BuiltInReportLink = True
+ end
+ end
+ object cxStyleRepositoryInforme: TcxStyleRepository
+ Left = 112
+ Top = 48
+ PixelsPerInch = 96
+ object cxStyleContentInforme: TcxStyle
+ AssignedValues = [svColor, svFont, svTextColor]
+ Color = clWhite
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlack
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ TextColor = clBlack
+ end
+ object cxStyleFooterInforme: TcxStyle
+ AssignedValues = [svColor, svFont, svTextColor]
+ Color = 14803425
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlack
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ TextColor = clBlack
+ end
+ object cxStyleGroupInforme: TcxStyle
+ AssignedValues = [svColor, svFont, svTextColor]
+ Color = clWhite
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlack
+ Font.Height = -12
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ TextColor = clBlack
+ end
+ object cxStyleHeaderInforme: TcxStyle
+ AssignedValues = [svColor, svFont, svTextColor]
+ Color = 14803425
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlack
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ TextColor = clBlack
+ end
+ object cxStyleSelectionInforme: TcxStyle
+ AssignedValues = [svColor, svFont, svTextColor]
+ Color = clWhite
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlack
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ TextColor = clBlack
+ end
+ end
+end
diff --git a/Source/Modulos/Informes base/Views/uViewInformeBaseGrid.pas b/Source/Modulos/Informes base/Views/uViewInformeBaseGrid.pas
new file mode 100644
index 0000000..2b3c507
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewInformeBaseGrid.pas
@@ -0,0 +1,284 @@
+{*******************************************************}
+{ }
+{ Administración de puntos de venta }
+{ }
+{ Copyright (C) 2006 Rodax Software S.L. }
+{ }
+{*******************************************************}
+
+unit uViewInformeBaseGrid;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uViewBase, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
+ cxDataStorage, cxEdit, DB, cxDBData, dxPSGlbl, dxPSUtl, dxPSEngn,
+ dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
+ dxPSEdgePatterns, dxPSCore, ActnList, uDADataTable, cxGridLevel,
+ cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
+ cxGridTableView, cxGridDBTableView, cxGrid, dxPScxCommon, dxPScxGrid6Lnk,
+ dxPgsDlg;
+
+type
+ IViewInformeBaseGrid = interface(IViewBase)
+ ['{35BD610D-3BCF-4496-BA98-B86A7821CEFC}']
+ procedure ExpandirTodo;
+ procedure ContraerTodo;
+ procedure AjustarAncho;
+ procedure Preview;
+ procedure Print;
+ procedure PrintSetup;
+ procedure GotoFirst;
+ procedure GotoLast;
+
+ function GetColumnByCaption (const ACaption : String): TcxGridDBColumn;
+
+ function GetFocusedView : TcxGridDBTableView;
+ property FocusedView : TcxGridDBTableView read GetFocusedView;
+
+ function GetColumnCount: Integer;
+ function GetColumns(Index: Integer): TcxGridDBColumn;
+ property Columns[Index: Integer] : TcxGridDBColumn read GetColumns;
+ property ColumnCount : Integer read GetColumnCount;
+
+ function GetGroupedColumnCount: Integer;
+ function GetGroupedColumns(index: Integer): TcxGridColumn;
+ property GroupedColumns[Index: Integer] : TcxGridColumn read GetGroupedColumns;
+ property GroupedColumnCount : Integer read GetGroupedColumnCount;
+
+ function GetOnViewChanged : TNotifyEvent;
+ procedure SetOnViewChanged(const Value : TNotifyEvent);
+ property OnViewChanged: TNotifyEvent read GetOnViewChanged write SetOnViewChanged;
+
+ function GetViewProperties: String;
+ procedure SetViewProperties(const Value: String);
+ property ViewProperties: String read GetViewProperties write SetViewProperties;
+
+ function GetFilterValueList(index: Integer) : TStringList;
+ property FilterValueList[Index : Integer]: TStringList read GetFilterValueList;
+
+ function GetOnFilterChanged: TNotifyEvent;
+ procedure SetOnFilterChanged(const Value: TNotifyEvent);
+ property OnFilterChanged: TNotifyEvent read GetOnFilterChanged write SetOnFilterChanged;
+ end;
+
+ TfrViewInformeBaseGrid = class(TfrViewBase, IViewInformeBaseGrid)
+ dxPrintStyleManager1: TdxPrintStyleManager;
+ dxPrintStyleManager1Style1: TdxPSPrintStyle;
+ dxPageSetupDialog1: TdxPageSetupDialog;
+ dxPSEngineController1: TdxPSEngineController;
+ dxComponentPrinter: TdxComponentPrinter;
+ dxPrinterLinkcxGrid: TdxGridReportLink;
+ cxStyleRepositoryInforme: TcxStyleRepository;
+ cxStyleContentInforme: TcxStyle;
+ cxStyleFooterInforme: TcxStyle;
+ cxStyleGroupInforme: TcxStyle;
+ cxStyleHeaderInforme: TcxStyle;
+ cxStyleSelectionInforme: TcxStyle;
+ private
+ protected
+ FOnViewChanged : TNotifyEvent;
+ FOnFilterChanged : TNotifyEvent;
+ function GetColumnCount: Integer;
+ function GetColumns(Index: Integer): TcxGridDBColumn;
+ function GetGroupedColumnCount: Integer;
+ function GetGroupedColumns(Index: Integer): TcxGridColumn;
+ function GetFocusedView : TcxGridDBTableView; virtual; abstract;
+ function GetColumnByCaption (const ACaption : String): TcxGridDBColumn;
+ function GetOnViewChanged : TNotifyEvent; virtual;
+ procedure SetOnViewChanged(const Value : TNotifyEvent); virtual;
+ function GetOnFilterChanged: TNotifyEvent; virtual;
+ procedure SetOnFilterChanged(const Value: TNotifyEvent); virtual;
+ function GetViewProperties: String; virtual;
+ procedure SetViewProperties(const Value: String); virtual;
+ function GetFilterValueList(index: Integer) : TStringList; virtual;
+ procedure ActivarEventos; virtual;
+ procedure DesactivarEventos; virtual;
+ public
+ procedure Preview; virtual;
+ procedure Print; virtual;
+ procedure PrintSetup; virtual;
+ procedure GotoFirst; virtual;
+ procedure GotoLast; virtual;
+ procedure ExpandirTodo; virtual;
+ procedure ContraerTodo; virtual;
+ procedure AjustarAncho; virtual;
+ property FocusedView : TcxGridDBTableView read GetFocusedView;
+ property Columns[Index: Integer] : TcxGridDBColumn read GetColumns;
+ property ColumnCount : Integer read GetColumnCount;
+ property GroupedColumns[Index: Integer] : TcxGridColumn read GetGroupedColumns;
+ property GroupedColumnCount : Integer read GetGroupedColumnCount;
+ property OnViewChanged: TNotifyEvent read GetOnViewChanged write SetOnViewChanged;
+ property OnFilterChanged: TNotifyEvent read GetOnFilterChanged write SetOnFilterChanged;
+ property ViewProperties: String read GetViewProperties write SetViewProperties;
+ property FilterValueList[Index : Integer]: TStringList read GetFilterValueList;
+ constructor Create(AOwner: TComponent); override;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+{ TfrViewInformeBaseGrid }
+
+procedure TfrViewInformeBaseGrid.ActivarEventos;
+begin
+ //
+end;
+
+procedure TfrViewInformeBaseGrid.AjustarAncho;
+begin
+ FocusedView.ApplyBestFit;
+end;
+
+procedure TfrViewInformeBaseGrid.ContraerTodo;
+begin
+ FocusedView.ViewData.Collapse(True);
+end;
+
+constructor TfrViewInformeBaseGrid.Create(AOwner: TComponent);
+begin
+ inherited;
+ FOnViewChanged := nil;
+end;
+
+procedure TfrViewInformeBaseGrid.DesactivarEventos;
+begin
+ //
+end;
+
+procedure TfrViewInformeBaseGrid.ExpandirTodo;
+begin
+ FocusedView.ViewData.Expand(True);
+end;
+
+function TfrViewInformeBaseGrid.GetColumnByCaption(
+ const ACaption: String): TcxGridDBColumn;
+var
+ i : integer;
+begin
+ Result := NIL;
+ for i := 0 to FocusedView.ColumnCount - 1 do
+ if FocusedView.Columns[i].Caption = ACaption then
+ begin
+ Result := FocusedView.Columns[i];
+ Break;
+ end;
+end;
+
+function TfrViewInformeBaseGrid.GetColumnCount: Integer;
+begin
+ Result := FocusedView.ColumnCount;
+end;
+
+function TfrViewInformeBaseGrid.GetColumns(Index: Integer): TcxGridDBColumn;
+begin
+ Result := FocusedView.Columns[Index];
+end;
+
+function TfrViewInformeBaseGrid.GetFilterValueList(
+ index: Integer): TStringList;
+var
+ AValueList : TcxDataFilterValueList;
+ i : Integer;
+begin
+ Result := TStringList.Create;
+ AValueList := TcxDataFilterValueList.Create(FocusedView.DataController.Filter);
+ try
+ AValueList.Load(Columns[Index].Index);
+ for i := 0 to AValueList.Count - 1 do
+ Result.Add(AValueList[i].DisplayText);
+ finally
+ FreeAndNil(AValueList);
+ end;
+end;
+
+function TfrViewInformeBaseGrid.GetGroupedColumnCount: Integer;
+begin
+ Result := FocusedView.GroupedColumnCount;
+end;
+
+function TfrViewInformeBaseGrid.GetGroupedColumns(
+ Index: Integer): TcxGridColumn;
+begin
+ Result := FocusedView.GroupedColumns[Index];
+end;
+
+function TfrViewInformeBaseGrid.GetOnFilterChanged: TNotifyEvent;
+begin
+ Result := FOnFilterChanged;
+end;
+
+function TfrViewInformeBaseGrid.GetOnViewChanged: TNotifyEvent;
+begin
+ Result := FOnViewChanged;
+end;
+
+function TfrViewInformeBaseGrid.GetViewProperties: String;
+var
+ AStream : TStringStream;
+begin
+ DesactivarEventos;
+ AStream := TStringStream.Create('');
+ try
+ FocusedView.StoreToStream(AStream, [gsoUseFilter,gsoUseSummary], FocusedView.Name);
+ Result := AStream.DataString;
+ finally
+ AStream.Free;
+ ActivarEventos;
+ end;
+end;
+
+procedure TfrViewInformeBaseGrid.GotoFirst;
+begin
+ FocusedView.DataController.GotoFirst;
+end;
+
+procedure TfrViewInformeBaseGrid.GotoLast;
+begin
+ FocusedView.DataController.GotoLast;
+end;
+
+procedure TfrViewInformeBaseGrid.Preview;
+begin
+ dxPrinterLinkcxGrid.Preview;
+end;
+
+procedure TfrViewInformeBaseGrid.Print;
+begin
+ dxPrinterLinkcxGrid.Print(True, nil);
+end;
+
+procedure TfrViewInformeBaseGrid.PrintSetup;
+begin
+ dxPrinterLinkcxGrid.PageSetup;
+end;
+
+procedure TfrViewInformeBaseGrid.SetOnFilterChanged(const Value: TNotifyEvent);
+begin
+ FOnFilterChanged := Value;
+end;
+
+procedure TfrViewInformeBaseGrid.SetOnViewChanged(const Value: TNotifyEvent);
+begin
+ FOnViewChanged := Value;
+end;
+
+procedure TfrViewInformeBaseGrid.SetViewProperties(const Value: String);
+var
+ AStream : TStringStream;
+begin
+ DesactivarEventos;
+ AStream := TStringStream.Create(Value);
+ try
+ AStream.Position := 0;
+ FocusedView.RestoreFromStream(AStream, True, True, [gsoUseFilter,gsoUseSummary],
+ FocusedView.Name);
+ finally
+ AStream.Free;
+ ActivarEventos;
+ end;
+end;
+
+end.
diff --git a/Source/Modulos/Informes base/Views/uViewInformeBaseParametros.dfm b/Source/Modulos/Informes base/Views/uViewInformeBaseParametros.dfm
new file mode 100644
index 0000000..6cf96d6
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewInformeBaseParametros.dfm
@@ -0,0 +1,3 @@
+inherited frViewInformeBaseParametros: TfrViewInformeBaseParametros
+ ParentFont = True
+end
diff --git a/Source/Modulos/Informes base/Views/uViewInformeBaseParametros.pas b/Source/Modulos/Informes base/Views/uViewInformeBaseParametros.pas
new file mode 100644
index 0000000..ce86877
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewInformeBaseParametros.pas
@@ -0,0 +1,82 @@
+unit uViewInformeBaseParametros;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uViewBase, uViewInformeBaseGrid;
+
+type
+ IViewInformeBaseParametros = interface(IViewBase)
+ ['{7830A245-0BB2-4E24-88AE-2D937A3FC904}']
+ function GetModificable: Boolean;
+ procedure SetModificable(const Value: Boolean);
+ property Modificable : Boolean read GetModificable write SetModificable;
+
+ procedure SetViewInformeBaseGrid (const Value : IViewInformeBaseGrid);
+ function GetViewInformeBaseGrid : IViewInformeBaseGrid;
+ property ViewInformeBaseGrid : IViewInformeBaseGrid read GetViewInformeBaseGrid write SetViewInformeBaseGrid;
+
+ procedure Execute;
+ procedure Refresh;
+ end;
+
+ TfrViewInformeBaseParametros = class(TfrViewBase, IViewInformeBaseParametros)
+ protected
+ FViewInformeBaseGrid : IViewInformeBaseGrid;
+ FModificable : Boolean;
+ function GetModificable: Boolean; virtual;
+ procedure SetModificable(const Value: Boolean); virtual;
+ procedure SetViewInformeBaseGrid (const Value : IViewInformeBaseGrid); virtual;
+ function GetViewInformeBaseGrid : IViewInformeBaseGrid; virtual;
+ public
+ property Modificable : Boolean read GetModificable write SetModificable;
+ property ViewInformeBaseGrid : IViewInformeBaseGrid read GetViewInformeBaseGrid write SetViewInformeBaseGrid;
+ procedure Execute; virtual;
+ procedure Refresh; override;
+ end;
+
+
+implementation
+
+{$R *.dfm}
+
+{ TfrViewInformeBaseParametros }
+
+
+procedure TfrViewInformeBaseParametros.Execute;
+begin
+ if not Assigned(ViewInformeBaseGrid) then
+ raise Exception.Create('Vista para el control no asignada (Execute)');
+end;
+
+function TfrViewInformeBaseParametros.GetModificable: Boolean;
+begin
+ Result := FModificable;
+end;
+
+function TfrViewInformeBaseParametros.GetViewInformeBaseGrid: IViewInformeBaseGrid;
+begin
+ Result := FViewInformeBaseGrid;
+end;
+
+procedure TfrViewInformeBaseParametros.Refresh;
+begin
+ inherited;
+ if not Assigned(ViewInformeBaseGrid) then
+ raise Exception.Create('Vista para el control no asignada (Refresh)');
+end;
+
+procedure TfrViewInformeBaseParametros.SetModificable(
+ const Value: Boolean);
+begin
+ FModificable := Value;
+end;
+
+procedure TfrViewInformeBaseParametros.SetViewInformeBaseGrid(
+ const Value: IViewInformeBaseGrid);
+begin
+ FViewInformeBaseGrid := Value;
+end;
+
+end.
diff --git a/Source/Modulos/Informes base/Views/uViewInformes.dfm b/Source/Modulos/Informes base/Views/uViewInformes.dfm
new file mode 100644
index 0000000..530eb8b
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewInformes.dfm
@@ -0,0 +1,558 @@
+inherited frViewInformes: TfrViewInformes
+ Width = 469
+ Height = 308
+ ExplicitWidth = 469
+ ExplicitHeight = 308
+ object EasyListview: TcxListView
+ Left = 0
+ Top = 0
+ Width = 469
+ Height = 308
+ Align = alClient
+ Columns = <
+ item
+ AutoSize = True
+ Caption = 'Margen'
+ end
+ item
+ AutoSize = True
+ Caption = 'Ventas'
+ end>
+ Items.ItemData = {
+ 0160000000010000000000000001000000FFFFFFFF0000000000000000256100
+ 6100610061006100610020007300640066007300640020007300640066002000
+ 7300640066007300640020007300640066002000640073002000660073006400
+ 6600730064006600}
+ LargeImages = ReportImages
+ ParentShowHint = False
+ ShowHint = True
+ ShowWorkAreas = True
+ TabOrder = 0
+ OnDblClick = EasyListviewDblClick
+ OnSelectItem = EasyListviewSelectItem
+ end
+ object ReportImages: TPngImageList
+ Height = 28
+ Width = 28
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD252000002024944415478DA
+ BDD5DB2E03411800E0E923B870E1CE9D085A940B823894D2489C4FAFE101BC80
+ 8444840B89B3D4A954292D8A2855DD5655EB14E205A4570E09BAFB9B5944C7A1
+ B335F87727F3CFBF93F976B3995D1500A0FF0C553468D93A9107A4F6D6A8313E
+ E4F33597AFCBE74BDED93384FCF67E5534F0F181287061F3186A4AD27E74E746
+ AB80921213507B471785C604CD1B21A82D4DFF1138B1B48F325393D175F88642
+ FF0494F01A46AB07156853D0EDFD0385C604E71D41A82BCB880B1325098922A0
+ 699B80CAF2D2D1E35384420F6C7DAA6FC1B9F523A8D7A9E3C6483F6BF7A2EEBE
+ B14F736282A6F50034E834716392847B51425BDE2B74777F87C2E1B03C6770C2
+ C200D73058CE06BFC23ED64C36171B9C5D3D84C68A4C6E8CD4CC6B6E363863F7
+ 43933E8B1B23F9A2C3C306A7ED07D0ACCFE6C6486EDD14D8E094CD072D955A0A
+ 227B8C0550B5D7F1AAD3A7005CC16095961B23BD63D7CF062757BCD05A95C38D
+ C95BC41D6083C66501DA0CB9DC18694E21A800B40AD062C8E1C6445C77F9426C
+ 107FF1F13BCCE5C622B8F71C9E28031B2BB4DC18C97DC1333638BEE8863A5D36
+ 738F452FFC0ED278E0F4820D8E59F6A0A6348B1B237342E797CAC0EA620D3746
+ 421138BAE0024391861B530C8E9877A1B250CD8D290687E777405FA0E6C61483
+ 43734E28CFCF90FF65BF114C70D0B40DBD0393BF82BD454CF03FE219EFD39C05
+ A47A98E90000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD252000002CB4944415478DA
+ BDD36F4813711807F0EF4984F5A68108254249648689A961334B8C95342CAD4C
+ 222D5F66607F2C825E1426B504090A7B636446A00605A624A4258A664EF1DFA6
+ 0E97298D72AED3306FCB68A277D7EE3776E9727AB7AB1E381EF8DDFD9ECFEFB9
+ E78EE2791EFF33286F90A228E0DA171EB737504AB37E3D48F1DD34A865415556
+ 13CF3CD5504AF2AB660D765D3E8F804F15E8A86644F40FF0597D2F59385B69C7
+ 8353EBFCCA8FD24611929F8B840C15A0676076AA60187720DBC1514B8227B471
+ A0624AC01B2ECACA6CDF05D43C2FC39EE4740C6487E2C0B77982093134F51D21
+ 012C7C82728373D5F160344D639AF90A477E0A8269777D130D9C1126F6374096
+ E3F0AE220FEF9D3BA056AB0926849DF901AAF028268C3CC17CCE500EE8C1E2F7
+ 6F4780B5074F8C6A6C8DD84C30A1539D4E07ABD5EAFB2B5D0816D78CAF08AA1D
+ 3A119B9C9B01373F8B86E15472CF1B53D4A177671E8C9918839331E2B82E14C1
+ 918761785DAA1C94825D2D2AC3E3AA97CA416F6C62D60E8E9D857DD226621DDD
+ 83A86DEC940F2E35C38533F3850987AA6BEAF2BF43E11FE3381EED95CB77D6DE
+ 35409E13C0FA961EFF407F3096E5F1A6AD573EE8C15896C3AD829398E3D39197
+ FA62454CC84DED0679A080DDA9B591B54DB6EB181C9B41ECCC38FA5497901955
+ 2462E7EE772EDA9F16BD8A1CB0A5B35F3A98793056EC4C386D516136AE24AD86
+ A5D90C8B3310D59FD7E0ADE1C3929D913DAEABCDF5F1480633526244ACAE3C17
+ DDFA56E4C586C160F909FD340D666D1C0A6E3EF489B1AE757DAF493A7844132D
+ 163A9D93838F23666C0CE611141A066D7C10128EDD5D169B77E52EE39074F050
+ 7214D95CDA3885AA1B5A848547226B5F201233EE91E26ECC5DD8F326DCE06FBC
+ CF342C1DD4EE8D5C74FA85F394820957BF79443A9892B84D11263C631A1E950E
+ 6AD4118A30216481C9F1E18A30D960D2CE2DA86ED0436948068B4BCA15639E58
+ 11FCD7F10B8E341130466CDCF80000000049454E44AE426082}
+ Name = 'PngImage1'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD252000002B14944415478DA
+ BDD5CB4F13411800F0AF897AF2A0311E8C07F5604C63E9839683040D42A1D098
+ D42A8826DEFC070C4AF4E4C1981883C117C13755B02922A505ACB440855829B5
+ DB07B5151589070831846C222A242ADD717760B14B6B676991AFBB99D9D96FF7
+ 37B3B3D3952084602D439208760E8CE003AE8DDF05C7EC0F6F8B757C1E6F0BF5
+ DA9B2608BB6E4B1281E50312801DFDEF90E1E0DE8C7A6E7150B06DEB66A8BE50
+ 2740D382F6973174B8489611687EFE0694D29D304D7F17A0FF0564D87B581C7E
+ 2850EF811F733F05685AD0E68E2263710EAE5FB14D12A173C6ED10671888C711
+ B43A2928DE27835FBFE70568C8D920F927D8DEF7161DD1CA458F8CC7B8B2CD15
+ 806B0DCD493969416B5F041DD52A568C310C5BC61918087C86D9B959A0691AE7
+ 349A3B09602F0B9690C154D8F236ABD34B06DB7A865145A952F41C26C6A9C24D
+ 820ED87B7D64F0992B8C2A75AAAC46C6B775B9FD64B0D51542C774B959635CDD
+ D14F91C1A7CE20AA2A530B206E8D910041DBE2718F272802EC66C172754673C8
+ 8751B501A3EEC130196CE90EA0E3E59AAC46B650B24BC41721839617143AA1CF
+ CB1AE3760F1515013A2854A5D7648DC5D9766F304606D97F7C760EF3F045D71D
+ 5329E7E864FE467CF31DF7C6539E0F566E8179F67AFFF08838B0A2542D6A64BB
+ 1E4C80A9F8EFB7939E61C07CEB34DCA93D8FF383D10F64F049970F19B5B9C435
+ C63DB2DDA6C92590C3462718A0ECD5507FB906E746DE7F2283CD9D43C850A422
+ 62DC2393367DC1208F8D8E3330133A0B372E9DC139B18F63E2C043850A8C3D1C
+ F89A728E0CCAF5B80332F3145CD5489730FA1B827563355077B11AE789029B3A
+ BC487F409176647C9BC2320DAAA1BB491D5A11F8D83E88CAF6CB89D8C2EB9FBC
+ 14124314F8C8F61AE90AE45963A24153BB0795E4E7E06FD96A04116CB4BE42F5
+ F75B5605E3232DB816F1079F420105E5B916660000000049454E44AE426082}
+ Name = 'PngImage2'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD252000002E14944415478DA
+ 63FCFFFF3F033D0123B2859B0E5C03734062308CC207423082B2C1F260046177
+ 4F9ACF707EE77446640BD03D8462E1C6FD57FFFB3B6A93E5F2E55B4F33488A0A
+ 3214D5F5A1588AD7C20DFBAEFC0F70D221CBC2A55B4E3218682A30BC7EFB19C5
+ 52A22DEC5CFF142E5E1E284D504C86F509838DB13AC3976F3F512CC56BE1FABD
+ 97FF073AEB92E4B3BFFFFE31FCFDFB9F61D58ED30CCE963A0CBF7EFF41B1F4DC
+ 8E698C382D5CB7E7D2FF20173D922D03D16B769E61E89FB618430D5E0BD7EEB9
+ F83FD8451F23F8B081127F49B865FFFE01E9BFFF180E9CB9C7F0F5DB5786B76F
+ DF82D5CC5BBA898085BB8116BAEA93E4339865E8626B771C236CE19A5D17FE87
+ B819506C19486CC3EE13842D5CBDF3FCFF5077439420454F8D20D5202D208341
+ 74B6BB10D8B2C93BDF81B300509821D5818761F3DE53842D5CB5F3DCFF307723
+ 8A7C06636FDD7F9AB0852B779CFD1FEE618CE2A3D20029B0013D9B9EA3F8ECDF
+ 7F089DEECC0FB674FADE8F50710686441B4E865D87CF1261E176A0859EC6703E
+ C85042BE411143E2EF3D7A9EB0852BB69FF91FE16982E2C3026F71B0017D5B5E
+ 217CF60FE1C354475EB06533F77F81C7619C251BC3811317095BB87CDBE9FF91
+ 5EA614F90C2C0FC4874F5F26C2C2ADA7FF877B99800DE9DEF81CECE25C0F51B0
+ 4113B7BF41F1D93F48CDC4906CC705B66CF6C16F701FC698B3301C3B7B85B085
+ C0121F1887A614F9EC2F50FC0F903E75E11A711686B819A3C459B69B10D82048
+ 3E43F80C9662136C38C0F2F38EFC848B459830329CBD7C83B0854B369FF81FE8
+ 6244308FC17C815087E9D38BD76F13B670F1A6E3FFFD9D0CC11A27ED780B8E33
+ 483EFB07CC679F507CF60FDAD48806C617C8B2C527FE80C5402058FF2FC3959B
+ 7788B3D0C7419F229FFD85DA4A94858B361EFBEF65A74FB165445BB870C3D1FF
+ 1EB67A6459B6EA3C13DC1CA28374C1FA23FFDD6DF428F219493E9CBFEEF07F57
+ 2B5D705D460D40D0C2796B0FFD9F327B05552C8301BC16D2030000BD734D0581
+ 7DF1720000000049454E44AE426082}
+ Name = 'PngImage3'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD252000001C64944415478DA
+ 63FCFFFF3F033D01E38059B87CDB699ADB1CE965CA88622150806CC3FE01CDF9
+ F7EF3FC3DFBFFF18FEFEFB87C4FECFB06CD32186794B37319CDB310DBF858C33
+ 1919823435197EFDFD0BC6BFA134980D34F4C79F3F0C3F81EC3F40F64F201BCC
+ 07E237515FE196FD03CAADD87284780BC9011FA2BEC12D03D1ABB71D25CE424A
+ 8211661988BF6EE771D22D644CC4EFDBCF537F30FCF903B1186C21D462107FD3
+ 9E9394F9106CE85F245F807CF7F73F56CB40BEDEB2EF146E0B09F9845470A7E9
+ 35C3F60367F05BF87F3E224B5E5C69C8A01F7E1E271F19A0CB81CCBA59FF8A61
+ D7E1B3F82D4CC830806B2A78C0C030418101271F19A0CB2D987181E17AED0B86
+ 3D47CFD3CF8757AA9F33EC3F7E817E3EBC50FE84E1F0E9CBF4F3E1D9D2C70CC7
+ CE5EA19F0F4F173F643871FE1AFD7C78A2F001C3E98BD7B15B18EE69C2C09CC4
+ 44551F1ECDBBC770EECA4DEC1686BA1B33B0A63053D5878773EE325CB8760BBB
+ 85412E860C1CE9AC54F5E1FECCDB0C576EDEC16EA1BF933E0377263B557D88D7
+ 426F7B5D06FE1C4E066A02BC167ADAE8E02CF149AD2190014E0BDDACB4A86E19
+ 5E0B9D2D3419566D3D42D5208501AC16764F9A4F13CB6000C5427A01BA5B0800
+ BE8AE7E7F700C7D10000000049454E44AE426082}
+ Name = 'PngImage4'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD2520000020E4944415478DA
+ 63FCFFFF3F033D0123C842464646086F06034D6CFF9FFE9F11C5C2695326FDEF
+ 9ED4CFF0A0F801C311EF7D641BFC0F08FFFCFFC5F0FBDF2F300DC2FE4D310CFF
+ E7A359A8A8A6F8FFFEADFB0C8585850C1BB66E6058B26F1E752CDB15C3C07082
+ 01D342980F4100D9329BAD4E382D60636283606636067628FBE1D7470C5BDD57
+ C12D0CDE9D84DD425C3E0459986060806A112307030FB310032F8B1098E666E6
+ 63E060E201E3A8B61C868D754B2016027D1ABE3783741F225B88CF324E661E86
+ C0E60486B5B5F3C096FD065A1AB32F8F7C1F12B20C447B3686302CAB9E0AB610
+ E4CBA403E5E4F99018CB40D8B1DE836151653F3C0ED30ED692EEC334430BA22C
+ 6305261A9B5A278679159D700BB30E3593914A4F90963D669537C32DCC3BDC49
+ 9A0F91C19FFFBFC1090196026186FE46E323F06F86A2237DA4F99012CB4072E5
+ 47A790EE434296FDFAFF1D21CEF01BA5B4A93D3E97781F622BAA6096FE46E363
+ B30C841B4F2C26CE878BF6CDA1D832106E3DB992B00FA9651908779E5A4F9C0F
+ 67EE9E40B16520F57DA7B712F621B52C03D193CEEC26CE871377B6906DD9CF7F
+ DFE1EC19E78E10F621BA65BF900C40CE637843018AE79C3F459C0FDBB695E2CD
+ D0C45806C20B2E5C20EC43522D5B1E7E066B99EAB05800B785E83EACDB9C4991
+ CF6080281F52CB32BC16A2FB10D45CA41AC06621A821ACA0AA006E043FB0A6A2
+ 65508061213D010026DA8D05688EA69C0000000049454E44AE426082}
+ Name = 'PngImage5'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD252000003474944415478DA
+ BD946B48536118C79F95140409E62DBB7C083F85084566372135D2F292B74AD3
+ CCC44B492C32FC966D5AFA2D2A34E9A236733A9D695EA76B622A998917549CA9
+ 980895B75D6995A5DBD9DBD939DBAB23754B9D0FBC9CE7FF1ECEF37BFEEFCB79
+ 180821D8C860E8808CDB03CE649E4AAEAB16E214902B033D741D330039AE7B6D
+ D604637AD8027F500D12A5CA28EF1E0F845EE526386A5F5040026329A055BC08
+ 1173EAE5AB21C672E78353768C37D48895D0DBD36B948B9D7221EFE721C89E3F
+ 029A3C1F06063A8C0D5AE834E99038BB2C007730BBD048FA7E8B029DEF0E812A
+ E7300DB4BDD98DE4596EAB2EA6256B68B50808420B84965C04A29E863DBEA00D
+ 5822040AEE59D3C0FCFC853C2E6E657D296A1E4A8AB7601D10FC83825608DB81
+ F5560B8A22BFB5395CCACD527B558D1D24902081FEC6C0FCC5EDAE43F8FA8751
+ E0DAA64E600935A0280E589D43739D1972417317B01AD4A0E0051A03E3E37BA9
+ 82797907CDBAC388C87928E519DF595DD576ACBD7DE5241481B0B51BD80DF320
+ E79DA38176CC4E24CB765F77673A985A4340D3077218D4CF81BC24480FBCF111
+ C9728E9974187D85006EE166AC432FCCC29BD7DBB03EEDA784C67A1BAC8F7BCD
+ 500DB474F4035BF007E4A5C134D03EA90D499F7A98ED4CD7F5B20E1769EA3DB9
+ DE770D00BBEE37C8F9217AE0B556247D7EF21F87BA1F9AF372618E5E8C9883B2
+ D2AD58FB07A940506D8DB5A78F0C5A447658BB9D98A08EB5BD474C0267496028
+ 0D74486841925C4F2357A6A68739CE74300DF9ECECFB0469B5BF405616A607C6
+ 352149FE29ECF045EE015CB8886B859B08393F0B95E52BDF597BB323D6AEEE5F
+ A81A3D03C3904E02A506A063AC08CD707CD6D599EE9E0DBA7F6814D2ABBE83B4
+ 225C0F8C11A29957675605536BB48BDE2D0D178F7C867BE552905447D3C09DD1
+ 023459E80789097D94CBAC272EF8C394E4617C446919FB202D751CEB943BBBE1
+ 41E604D6D76FD9C1B3C732AC2F27D2434007BCCF9F8299BA583D30AA067D2B0C
+ C09D6A34A67F680D61DA992174C00CDE57986E48A081BB222BD11827C0ECE9F1
+ 3F300CE48EC3B4288906EE09E5A291E270E094BF3339DE561B9905A330D5C4A4
+ 814E5E8FD0B4B5DDDAABAE104E2A194C3627EB8F94045A94A60F0CDCC8D870E0
+ 5FA7D4B1F664B3FE1D0000000049454E44AE426082}
+ Name = 'PngImage6'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD252000001084944415478DA
+ 63FCFFFF3F033D01E3A88534B19031F124ED6DBD7081E1FFF97446B885516106
+ 0CEF7E3130ECD870812134D480E1EB1F06862F50FCE937847E71807C390C0B3D
+ 0220169EDA7681C12BD00045D38B1F1036C3093C72474F31788598E1D4876121
+ CD82F2FF3F60C431A15AB874CBC9FF6E969A0C5FBFFF64387AE11E43B48F3956
+ BD407564C98180914716C3B91DD310161AA849812DBCFDF82DD52D9CB27807C3
+ BCA59B502D549515663875E90E83A0A020568D7FFFFE6558B1FD0C5972D397ED
+ C6B49016D1F7FBD72F0656363686F7EFDF635A48CB38C41AA4A3714809188DC3
+ D1381C8D43E2E21014A42BB71DA3593C6258D83B6521CD2C8301B885F404C3DF
+ 42005A1A11E70A945A890000000049454E44AE426082}
+ Name = 'PngImage7'
+ Background = clWindow
+ end>
+ PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
+ Left = 115
+ Top = 96
+ Bitmap = {}
+ end
+ object dsDataTable: TDADataSource
+ Left = 40
+ Top = 96
+ end
+ object JsNuevoDialog: TJSDialog
+ Content.Strings = (
+ 'Elija una opci'#243'n:')
+ DialogOptions = [doCommandLinks, doModal]
+ Glyph.Data = {
+ 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
+ 00001C0806000000720DDF940000000970485973000017120000171201679FD2
+ 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14
+ 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD
+ 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2
+ 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD
+ B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010
+ 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3
+ 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045
+ A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8
+ 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281
+ 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87
+ A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F
+ 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B
+ EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F
+ 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8
+ 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10
+ 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8
+ CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF
+ 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32
+ F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF
+ 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165
+ 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF
+ 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2
+ ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312
+ FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
+ 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
+ 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
+ Instruction.Text = 'Previsualizar...'
+ Instruction.Glyph.Data = {
+ 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
+ 00001C0806000000720DDF940000000970485973000017120000171201679FD2
+ 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14
+ 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD
+ 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2
+ 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD
+ B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010
+ 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3
+ 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045
+ A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8
+ 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281
+ 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87
+ A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F
+ 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B
+ EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F
+ 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8
+ 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10
+ 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8
+ CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF
+ 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32
+ F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF
+ 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165
+ 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF
+ 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2
+ ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312
+ FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
+ 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
+ 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
+ Instruction.Icon = tdiCustom
+ ButtonBar.Buttons = [cbCancel]
+ MainIcon = tdiCustom
+ Title = 'FactuGES'
+ Position = dpMainFormCenter
+ Icon.Data = {
+ 0000010003002020100001000400E8020000360000002020000001000800A808
+ 00001E0300002020000001002000A8100000C60B000028000000200000004000
+ 0000010004000000000000020000000000000000000000000000000000000000
+ 000000008000008000000080800080000000800080008080000080808000C0C0
+ C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
+ 0000000000000000000000000000000008777777777777777777777700000000
+ 0877767777677776777767760000000008F88888888888888888888700000000
+ 08F8FF8F8F888888888888860000000008FF8F8F88F8F8888888888C00000000
+ 08F88888F8888888888888860000000008F8688878E8888E88E8788700000000
+ 08F8688888F8F8FFFFFF88760000000008FF4888888F8FFFFFFF788700000000
+ 08F8676767677677677658E50000000008FF8888888887878787888700000000
+ 08FF8887887E8888888888860000000008FFE8E8E788C8E8FF8F8F8600000000
+ 08FFF8F8F8F8FF8F88F8F8870000000008FFFFFF8FF8F8F8F88F888600000000
+ 0FF8477878787878788788860000000008FF68888888F8FF8F8F788700000000
+ 08B7588888FF8FFFFFFF78860000083008BB47887776777777776F86000000B7
+ 8B9B73BB88788787E87878870000008BB8B9BB78888888EFF8F8FF8600000087
+ B8BB8B888E8E8E88FFF8F886000000088BBB888FFFFFFFFFF8F877770000B9BB
+ B8FFBB9B9BFFFFFFF87466460000BBB9BB8FBBBBB8FFFFFFF88F888700000008
+ B8BB88888FFFFFFFF88F8F7700000008BBBBBB8FFFFFFFFFFF8887700000007B
+ B7B98BB8FFFFFFFFF8887700000000B78B9B87B888F88F88F8877000000007B0
+ 08BB883B78888788787700000000000000B9000000000000000000000000FFFF
+ FFFFF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000F9800000FC000000FC000000FC000000FE000000F0000
+ 000F0000000FE000000FE000001FC000003FC000007F980000FFFCFFFFFF2800
+ 0000200000004000000001000800000000000004000000000000000000000001
+ 00000001000000000000694731007C5D49007E604C0081635000826451008567
+ 540085685500886B5900896D5B008A6E5D008B705F008E715F008B7260008C72
+ 61008E74640084766C00957A6900977D6D00887B72009A8171009D8272009C84
+ 76009D8778009F897B00A28A7900A08B7D00A18C7E00E1B06E00E1B67D003E7A
+ 970073A0A5007AA2B70074AFBD007BB2BB003CAACE0028A5DB0020ADDF000D9A
+ E500209EE3000DA6E2001AA4EF0000A6FF000CABFE0009ACFE0010A4F10015AC
+ FA0000B5FB0000B0FD000CB6FC0000BFF90000BAFD0004BAFD0009BBFB0013B6
+ F40015BFFA001CBDFB0026B7FD00589EC50040A4CD0040ABCC0050A2C7005DAE
+ C00060A3C20062A4C60060B7CB006AB0CD007BB6C80077BAC80061BADD0044AD
+ E50000C3F80007C6FB0000CAF80000CFFB0000D4F90026C8FA0026CDF8002BCC
+ F90039C4FB0039C2FC0039CAFA003FCFFB0024D6F80030D2F80039D5F80000F8
+ F8001FF8F8002CF6F8003EF4F8005AC6DC0070CDDF0052C0E40054C9E3004DCE
+ FA005FC7FF004FD2FB004DD9F8005FD9FB006ED3E70063CDFE0060D1FB0060D8
+ F90060DDF80046F8F90056F0F8005FFAFA0073E3F80073E4F90073EEF80060F1
+ F800958A84009A918C0081999500A68F8200AD968500A3968C00AE988900AD9A
+ 8D00B19A8B00AF9C9000B09E9200B59F9200B7A29300B2A19600B5A19400B7A4
+ 9700BDA79700B4A39800B1A59D00B4A79F00BAA69800BCA79900B4A89F00BCA8
+ 9900BAA89C00BDAA9D00BEAC9E0083ADBD00B5A9A100BDABA000BEADA100BFAF
+ A500A0BABE00C0AB9E00C1AC9E00C6AE9F00E2B98100E4BA8300E4BB8400E5BC
+ 8500E1BD8E00E3BF9000C0ADA000C2B0A300C2B1A500C4B2A600C1B2A800C3B5
+ AB00C8B4A800CCB9AD00CEBCB100D0BEB200D1BFB400E4C19300E5C29400E6C4
+ 9600E8C69900D0C9A300CFC1B800D2C1B600D3C3B800D5C4B900D6C6BC00D8C6
+ BC00D6C8BE00DAC9BF00ECD3B000EDD4B200EFD6B500E7D1B800E7D3BD00F0D8
+ B6008CB7C40080BEC70097C3C70099C3C900ABD7CF00AFD9DD0086E3F90086E7
+ F90086ECF8009EE5FB0090E8F900ACEDFC00BCEAFD00BCF1FB00BFF1FD00D7C9
+ C000D9CAC100DCCBC200DACCC200DDCCC300DACCC400DDCEC400DED0C600DED1
+ C900DED3CC00DFD4CD00E1D1C900E2D5CD00F0DCC200E3D8D200E5D9D200E2DA
+ D500E6DBD400E5DCD500E8DDD600E6DDD800E9DFD900E6E0DB00EAE0DA00EAE2
+ DD00ECE3DE00EBE4DE00ECE4DE00F3E7D900C6E1EF00C9EFFD00D7F6FD00DFF3
+ FF00DFFEFE00EBE7E300EDE6E100EFE7E400EEE8E400F0EAE600F2EDE900F2EE
+ EC00F4EFEC00F5F0EE00F9F4ED00E7FAFD00EBF8FF00F6F2F000F7F4F100F8F4
+ F200F9F7F500FAF8F600FBF9F900FCFBFA00FCFCFB00FEFEFE00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000007D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D
+ 0D0D0000000000000000009C9C19191919191919191919191919191919191919
+ 1903000000000000000000ABDECBCBC7C7AFABABABABAAA3A2A2A0A0A0A0A0A0
+ 8607000000000000000000ABECEAE9DEDEDEDED7D5D2D2D2CBCBCBCBB0CBB0CB
+ 9007000000000000000000ABEDECEAE9DEDEDBD7D7D5D2D2D2CDCDCBB0B0B0B0
+ 9007000000000000000000AFEDE9A9CFD2CFD2CDCBCBCBB0B0ABACA3A3A3A3B0
+ 9007000000000000000000AFF0D5017783838386868686869099909999907BB0
+ 9007000000000000000000B0F4D501A0B0CBD2D5DEECEDF7FAFAFAFAFAF77BAA
+ 9007000000000000000000CBF4DC01A0B0B0B0D2D5DBEAEDF7FAFAFAFAF47BB0
+ 9007000000000000000000CBF8DC010404070604090909090D0D110D110D02A3
+ 9007000000000000000000CBFAED9E9E9E9C999E8C8C8C868683837E7D7D7ACB
+ 9007000000000000000000CBFAF1A7A7A6A6A6A69898989898B5DBDBD5D5D2D2
+ 9907000000000000000000CDFAF796969696961D961D931D1DB4DEDBD7D5D5D2
+ 9C07000000000000000000CFFAFAFAFAF8F7F0F0EDEDEDECE9E9DEDEDED7D5D5
+ 9907000000000000000000CDFAFAEAF0EDEDECEAEAE9DEDEDBDCD5D5D5D5D2D5
+ 9C07000000000000000000D2FAEC01737D7D7B7D7D7B7D7B7D7B7B7B7D7B7DD2
+ 9907000000000000000000CFFAEC019EABB0CBD2D5DCDEECEDF4F4F4F4EA7BD2
+ 9C07000000000000000000B9524601A0B0B0CBB5D5DEEAEDF7FAFAFAFAF47DD5
+ 9C070000000000213F0000B83226010C3F5C1F111214141616191B1B1B1807D2
+ 9C07000000000000253D8A5B322D711E2860BA7E7E7A7E797A797979767676D5
+ 9E0700000000000041375E662F2B65314EBBB6B6B6B6B4B4B1E2F4EDEDEDECEA
+ 9C070000000000008F5D66663232394EC1A81C1C1C1C1C1C1CD3F7F4EDDED7D5
+ 9C0700000000000000B7BE6E5758BEBDE4E6E6F3FAFAFAFAFAFAF7F4D5928675
+ 7304000000002A2A2A2A4A6AFAE7562F2A2A2A5FFAFAFAFAFAFAF8D577010101
+ 0101000000004747472F4A59C5E7564A32474766FAFAFAFAFAFAFADCA0D2CFB0
+ A20C00000000000000436C6958686D6BC2C5C5E7FAFAFAFAFAFAFADEAADEDBCB
+ 1470000000000000004551534A4A5250C0E7FAFAFAFAFAFAFAFAFADEAAD7B514
+ 700000000000000042384C54472B613550C3FAFAFAFAFAFAFAFAFADEA1B0196F
+ 000000000000000024234463322EBC5A3664E3ECE9E9E9E9E9E9E9CF90731300
+ 000000000000003A3C00002232298B8B3E3B207E8B7E8B7E827E817E74100000
+ 0000000000000000000000003227000000000000000000000000000000000000
+ 000000000000FFFFFFFFF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000F9800000FC000000FC000000FC000
+ 000FE000000F0000000F0000000FE000000FE000001FC000003FC000007F9800
+ 00FFFCFFFFFF2800000020000000400000000100200000000000801000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000007067
+ 5F70AA9382E570513CE3735540E3735540E3735540E3735540E3735540E37355
+ 40E3735540E3735540E3735540E3735540E3735540E3735540E3735540E37355
+ 40E3735540E3735540E3735540E3735540E3735540E3735540E372533EE5BAAB
+ A070000000000000000000000000000000000000000000000000000000005E54
+ 4C7FCAB7ABFFC5B5AAFFA18877FFA28A78FFA28A79FFA28A79FFA28A79FFA28A
+ 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A
+ 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA58D7CFF7A5B46FFB2A1
+ 967F000000000000000000000000000000000000000000000000000000006055
+ 4D7ED7C6BBFFEDE4E0FFD9CCC4FFD9CCC4FFD9CBC3FFD8CAC1FFD7C9BFFFD6C7
+ BDFFD5C6BBFFD4C4BAFFD3C3B8FFD2C1B7FFD1C0B5FFD0BEB3FFCFBDB2FFCEBC
+ B0FFCEBBAFFFCEBBAFFFCEBBAFFFCEBBAFFFCEBCB0FFBEAA9CFF82644FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006056
+ 4D7ED7C8BCFFF2EBE8FFEFE9E5FFEEE7E2FFECE5E0FFEBE2DEFFEAE0DBFFE9DE
+ D8FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCDC4FFDCCB
+ C2FFDBC9BFFFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC1FFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006155
+ 4E7ED8C9BDFFF3EDE9FFF1EAE6FFF0E9E6FFEEE6E1FFECE4DFFFEBE2DDFFEAE0
+ DAFFE9DED7FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCD
+ C4FFDCCBC2FFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC0FFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006157
+ 4E7ED9C9BFFFF4EFEDFFEFE8E3FFD0C2B9FFDFD5CEFFE0D5CEFFE0D4CCFFDED3
+ CBFFDDD1C8FFDCCFC6FFDACCC4FFD9CBC1FFD8C9BFFFD7C7BDFFD6C5BBFFD5C4
+ B9FFD3C2B7FFD2C0B5FFD2BFB4FFD2BFB4FFDAC8BEFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDACCC0FFF5F2EFFFE5DDD9FF5C3821FFB0998AFFB8A394FFB8A394FFB9A3
+ 94FFB8A495FFB9A597FFB9A698FFBAA698FFBBA799FFBBA89AFFBBA89BFFBCA8
+ 9BFFBCA89BFFBCA89BFFBBA89AFFB49E8FFFD8C6BBFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDBCBC1FFF8F4F3FFE7E0DBFF5F3C24FFD0BDB2FFDCCBC1FFDDCCC3FFE2D2
+ CBFFE7DBD4FFEDE2DEFFF0E8E6FFF5F0EDFFF9F7F4FFFDFDFDFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFAF8F7FFB39D8DFFD8C6BBFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDCCEC3FFFAF6F5FFE9E2DDFF5F3C24FFD2BFB5FFDFCDC4FFDECCC3FFE0CE
+ C6FFE4D4CDFFE9DDD6FFEFE4E0FFF1EAE8FFF7F1EFFFFBF8F6FFFFFEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFBFAFFB5A090FFD9C7BEFFC1AD9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006257
+ 4F7EDDCFC4FFFCF9F9FFE9E4E0FF5F3A23FF7C5D49FF7F5F4CFF7E5F4CFF7E60
+ 4DFF7F614DFF816350FF826552FF836654FF846856FF856A57FF866B59FF876C
+ 5BFF876D5BFF876D5BFF866B59FF72523DFFD5C3B9FFC1AFA1FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006357
+ 507EDECFC6FFFCFCFBFFF4F1F0FFC3B6AEFFC3B5ADFFC1B4ACFFC0B3AAFFBFB1
+ A9FFBEB0A6FFBDAEA5FFBDACA3FFBCABA2FFBBAAA0FFBAA99FFFB8A69AFFB8A4
+ 98FFB6A396FFB5A194FFB49F93FFB39D90FFDCCDC4FFC2AEA1FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006357
+ 507EDFD2C7FFFEFEFDFFF9F5EFFFE8C696FFE9C799FFE8C697FFE7C596FFE7C4
+ 95FFE6C394FFE5C293FFE4C091FFE4C090FFE3BF8FFFE2BD8CFFE9D5BFFFEBE1
+ DCFFEADFD8FFE7DCD5FFE5DAD3FFE4D8D0FFE3D4CCFFC2AFA2FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006458
+ 517EE0D3C8FFFFFFFFFFFAF5EFFFE3B77CFFE4B97FFFE2B87EFFE3B77DFFE2B7
+ 7CFFE2B67BFFE1B57AFFE1B479FFE0B478FFE0B377FFDFB174FFE6D0B7FFEBE1
+ DCFFE8DFD9FFE8DDD6FFE6D9D2FFE3D8D1FFE4D7CFFFC3AFA2FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006458
+ 517EE1D2C9FFFFFFFFFFFEFEFDFFFEFFFFFFFCFDFEFFFBFBFBFFF9F7F8FFF8F5
+ F6FFF7F3F2FFF5F1F0FFF4EFEEFFF1EDEBFFF0EBE9FFEEE9E6FFEDE6E2FFECE3
+ DEFFEBE1DBFFE9DFD9FFE8DDD6FFE6DAD3FFE5D9D2FFC3B0A3FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006459
+ 517EE1D4CAFFFFFFFFFFFDFDFCFFEEEBE8FFF5F2F0FFF4F0EFFFF3EFECFFF2ED
+ EAFFF1EBE8FFEEE9E5FFEFE7E3FFECE5E1FFEAE4DEFFEAE1DCFFE8E0DAFFE7DE
+ D8FFE6DDD6FFE5DBD4FFE4D8D1FFE2D6CEFFE6DBD4FFC3B1A4FF81634EFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006559
+ 527EE2D4CAFFFFFFFFFFF0ECEAFF5B361EFFAB9383FFB39D8EFFB39D8DFFB39D
+ 8DFFB29D8DFFB29C8DFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C
+ 8CFFB29C8CFFB29C8CFFB29C8DFFB39D8EFFE3D8D0FFC4B1A4FF81634EFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006559
+ 527EE5D4CAFFFFFFFFFFF7F0EBFF5F3B24FFCCB8ADFFD7C5BAFFD9C7BDFFDCCC
+ C3FFE1D4CCFFE5DAD4FFE8E0DBFFEDE5E1FFF1EBE9FFF5F2EFFFF7F5F3FFF8F6
+ F4FFF8F5F4FFF8F6F4FFF1EEEAFFB29C8DFFE6DAD3FFC4B2A5FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000000000000000000000685A
+ 527E9AC6C9FF35CFFEFF3DAEEBFF663E24FFD2BFB4FFE0CBBFFFE0C9BDFFE1CD
+ C4FFE4D5CDFFE9DED7FFEEE5E0FFF2EBE8FFF6F2F0FFFCF8F8FFFFFFFEFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFAF9FFB49E8FFFE7DED7FFC5B3A6FF81634EFFB2A1
+ 967E00000000000000000000000000000000007792910072A7A3001E33366957
+ 4C7C86C1C8FF00BFFBFF079AEBFF6A3E23FF926D57FF5FA3C8FF4AC1E8FF6C9C
+ A2FF917260FF927767FF947A69FF957C6CFF977E6FFF998171FF9A8374FF9B85
+ 76FF9C8678FF9C8678FF998274FF7D5E49FFE3D9D4FFC5B3A7FF81634EFFB2A1
+ 967E00000000000000000000000000000000005A6F7000A9E5E40075AEAE5C90
+ A5BD75D0E0FF00BFFAFF0CA3F4FF8A9A91FF3C7492FF03A4E4FF4AD5FFFF98C4
+ CBFFB3A196FFB1A197FFB0A096FFB09F95FFAF9D92FFAF9C91FFAD9A8EFFAC99
+ 8CFFAB988AFFAB9789FFAA9688FFA99386FFE8E0DAFFC5B4A7FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000002DA5BFC110C2FFFF4DD0
+ FDFF64DBF9FF00B3FAFF09A8FEFF68D7FFFF04B5FFFF24CCFBFFAFD8CEFFF7DA
+ B8FFF3DBBBFFF3DBBAFFF2D9B9FFF1D8B7FFF0D7B4FFEED5B2FFF6EADDFFF9F6
+ F4FFF7F3F1FFF5F1EEFFF5EFECFFF4EDEAFFF1EBE7FFC6B4A8FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000005F8A909142C7E4E960DE
+ F8FF64D7FAFF00B6FDFF00B8FDFF21B2FDFF1ECCF7FF93EBFCFFD2C69BFFE1AB
+ 63FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDEA961FFEFDBC0FFF8F6
+ F5FFF6F2F0FFF3EDEBFFECE2DCFFE9DFD9FFE5DBD6FFC2B1A4FF81634FFFB2A1
+ 967E000000000000000000000000000E171A000E171A00040B145994A4A990EB
+ FCFF61F1F7FF13FAF7FF23F9F7FF93EDF7FF8CE5F8FFD5F2FDFFE9F8FFFFE7F8
+ FFFFF0FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFDFEFFFFFAFAF9FFF9F7
+ F5FFF7F2F0FFE8DFD8FFC7AE9FFFBEA998FFAF9888FFB09A8AFF7F604DFFB2A1
+ 967E00000000000000000000000000AAFFFF00AAFFFF00AAFFFF00A4FFFF00CD
+ FAFF5DFCF9FFFFFFFFFFEEFEFEFF00FBF7FF00AAFEFF00A1FFFF00A1FFFF00A0
+ FFFF56C3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFBFFFCFBFAFFFBFA
+ F8FFE6DDD6FFAA9180FF5D3922FF603D26FF613E27FF613E28FF634029FFB4A3
+ 987E00000000000000000000000000CAFFFF00CAFFFF00CBFFFF00B0FFFF00CD
+ FBFF38F5F7FFC3EFFAFFF0FFFEFF00FAF7FF00C8F7FF00C2F7FF00C2F7FF00C1
+ F7FF57D7FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFDFDFCFFFCFC
+ FBFFE7DED8FFCCB9ACFFE6DBD5FFE2D7D0FFDCCFC5FFD7C5BBFF8E705DFFB4A2
+ 9680000000000000000000000000002E383C002E383C00252F364C99B0B57DE8
+ FBFF59F1F7FF25F7F7FF41FAF8FF7CEEF7FF77E4F7FFB5EFFCFFC6F2FDFFC3F2
+ FDFFD9F6FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFEFFFEFE
+ FEFFE9E1DAFFCEBCAFFFF1E9E3FFEADFD8FFE4D5CCFF9D816FFF3A291F868985
+ 831C00000000000000000000000000000000000000004E7073774AB0DADC37C9
+ FBFF22D5F7FF00D3F9FF02C3FBFF37D5F7FF34BEFCFFA2E6FAFFECFBFDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF
+ FFFFEAE2DCFFCDBBADFFEADFD8FFE3D5CBFF9F8271FF3E2D2386050100200000
+ 000000000000000000000000000000000000000000003E9CC4C219C0FFFF23C9
+ FCFF30D3F8FF00BEF8FF06A8FEFF4FDCF8FF00B8FCFF32C2FBFFC0EBFCFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFEAE3DEFFCDB9ABFFDDCEC4FFA58979FF3E2C1F8F0905041B000000000000
+ 000000000000000000000000000000000000003451510099DDDB0091C0C35DAD
+ BCCF76D7E9FF00BEF9FF10A9FBFFBDDEDEFF5AC8DDFF0AB5F7FF62CEFFFFCBE4
+ F1FFF1E7E0FFEFE7E1FFEEE6E1FFEEE6E1FFEEE6E0FFEDE6E0FFEDE5E0FFEEE6
+ E1FFE1D4CCFFC5AE9FFFA68D7FF53E2718A10402000E00000000000000000000
+ 0000000000000000000000000000000000000075B7AF0099C7C500323E425442
+ 3B5C6BA8B1DA00C1FCFF0EA1F3F8A98E80C0AB9081C12698B1C10088C4C14C85
+ A3C1A18D80C19E8D81C19E8B81C19D8C80C19B8C7FC19B8A7FC19C897FC19A89
+ 7EC19B8B7EC1897769C2432B1BAC000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000045565A00C5FFFF0094E6E2000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000FFFFFFFFF0000007F0000007F0000007F000
+ 0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000
+ 0007F0000007F0000007F0000007F0000007F0000007F0000007800000078000
+ 0007C0000007C000000700000007000000070000000700000007C000000FC000
+ 001F8000003F800000FFF8FFFFFF}
+ Width = 450
+ Left = 224
+ Top = 88
+ end
+end
diff --git a/Source/Modulos/Informes base/Views/uViewInformes.pas b/Source/Modulos/Informes base/Views/uViewInformes.pas
new file mode 100644
index 0000000..36995d2
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewInformes.pas
@@ -0,0 +1,258 @@
+unit uViewInformes;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uViewBase, cxGraphics, cxCustomData, cxStyles, cxTL,
+ cxImageComboBox, cxMaskEdit, cxTextEdit, cxInplaceContainer, cxDBTL,
+ cxControls, cxTLData, Menus, uBizInformes, DB, uDADataTable,
+ ImgList, PngImageList,
+ //EasyListview,
+// MPCommonUtilities,
+// MPCommonObjects,
+ pngimage, JSDialog, uDAInterfaces, ComCtrls, cxContainer, cxListView,
+ JvExComCtrls, JvListView;
+
+type
+ IViewInformes = interface(IViewBase)
+ ['{D991FCEC-08DB-4F77-BD57-FA04B3C88788}']
+ function GetDblClick: TNotifyEvent;
+ procedure SetDblClick(const Value: TNotifyEvent);
+ property OnDblClick: TNotifyEvent read GetDblClick write SetDblClick;
+
+ function GetPopupMenu: TPopupMenu;
+ procedure SetPopupMenu(const Value: TPopupMenu);
+ property PopupMenu: TPopupMenu read GetPopupMenu write SetPopupMenu;
+
+ function GetInformes: IBizInforme;
+ procedure SetInformes(const Value: IBizInforme);
+ property Informes: IBizInforme read GetInformes write SetInformes;
+
+ procedure Refresh;
+ end;
+
+ TfrViewInformes = class(TfrViewBase, IViewInformes)
+ ReportImages: TPngImageList;
+ dsDataTable: TDADataSource;
+ JsNuevoDialog: TJSDialog;
+ EasyListview: TcxListView;
+ procedure EasyListviewSelectItem(Sender: TObject; Item: TListItem;
+ Selected: Boolean);
+ procedure EasyListviewDblClick(Sender: TObject);
+// procedure EasyListviewItemDblClick(Sender: TCustomEasyListview;
+// Button: TEasyMouseButton; MousePos: TPoint;
+// HitInfo: TEasyHitInfoItem);
+
+{ procedure EasyListviewItemContextMenu(Sender: TCustomEasyListview;
+ HitInfo: TEasyHitInfoItem; WindowPoint: TPoint; var Menu: TPopupMenu;
+ var Handled: Boolean);
+ procedure EasyListviewItemSelectionChanged(Sender: TCustomEasyListview;
+ Item: TEasyItem);
+ procedure EasyListviewItemDblClick(Sender: TCustomEasyListview;
+ Button: TCommonMouseButton; MousePos: TPoint; HitInfo: TEasyHitInfoItem);
+}
+ protected
+ FInformes : IBizInforme;
+ FOnDblClick: TNotifyEvent;
+ FPopupMenu: TPopupMenu;
+
+ function GetDblClick: TNotifyEvent; virtual;
+ procedure SetDblClick(const Value: TNotifyEvent); virtual;
+
+ function GetPopupMenu: TPopupMenu; virtual;
+ procedure SetPopupMenu(const Value: TPopupMenu); virtual;
+
+ function GetInformes: IBizInforme; virtual;
+ procedure SetInformes(const Value: IBizInforme); virtual;
+ public
+ procedure Refresh; override;
+ property Informes: IBizInforme read GetInformes write SetInformes;
+ property OnDblClick: TNotifyEvent read GetDblClick write SetDblClick;
+ property PopupMenu: TPopupMenu read GetPopupMenu write SetPopupMenu;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+{ TfrViewInformes }
+
+function TfrViewInformes.GetInformes: IBizInforme;
+begin
+ Result := FInformes;
+end;
+
+procedure TfrViewInformes.EasyListviewDblClick(Sender: TObject);
+begin
+ inherited;
+ if Assigned(FOnDblClick) then
+ FOnDblClick(Self);
+end;
+
+procedure TfrViewInformes.EasyListviewSelectItem(Sender: TObject;
+ Item: TListItem; Selected: Boolean);
+begin
+ inherited;
+ if Selected then
+ begin
+ //showmessage(Item.Caption);
+ FInformes.First;
+ FInformes.Locate('ID', Item.Indent, []);
+ end;
+end;
+
+function TfrViewInformes.GetDblClick: TNotifyEvent;
+begin
+ Result := FOnDblClick;
+end;
+
+function TfrViewInformes.GetPopupMenu: TPopupMenu;
+begin
+ Result := FPopupMenu;
+end;
+
+procedure TfrViewInformes.Refresh;
+var
+// Group: TEasyGroup;
+// GroupModificable: TEasyGroup;
+ AItem : TListItem;
+ i: Integer;
+ IDSelected : integer;
+ CategoriaAux : String;
+ Opcion: TJsCustomButtonItem;
+begin
+ inherited;
+
+ if not Assigned(FInformes) then
+ Exit;
+
+// EasyListview.BeginUpdate; // BeginUpdate(False);
+ try
+ IDSelected := 0;
+ if EasyListview.Items.Count > 0 then
+ begin
+ for i := 0 to EasyListview.Items.Count - 1 do
+ if EasyListview.Items[i].Selected then
+ IDSelected := EasyListview.Items[i].Indent; // Columna ID
+
+ EasyListview.Items.Clear;
+ end;
+
+
+// Group := EasyListview.Groups.Add;
+// Group.Caption := 'Controles generales';
+// Group.Bold := True;
+
+// GroupModificable := EasyListview.Groups.Add;
+// GroupModificable.Caption := 'Controles personalizados';
+// GroupModificable.Bold := True;
+
+ with FInformes do
+ begin
+ JsNuevoDialog.CustomButtons.Clear;
+ FInformes.First;
+ for i := 0 to (FInformes.RecordCount - 1) do
+ begin
+{ if CategoriaAux <> FInformes.CATEGORIA then
+ begin
+ CategoriaAux := FInformes.CATEGORIA;
+
+// Group := EasyListview.Groups.Add;
+// Group.Caption := FInformes.CATEGORIA;
+// Group.Bold := True;
+
+ Opcion := JsNuevoDialog.CustomButtons.Add;
+// Opcion.Caption := Group.Caption;
+ Opcion.Info.Add(FInformes.CONTROLLER);
+ end;
+
+// if EsModificable then
+}
+ AItem := EasyListview.Items.Add;
+ AItem.Caption := NOMBRE;
+ AItem.Indent := ID;
+ AItem.
+
+ // else
+// AItem := GroupNoModificable.Items.Add(NIL);
+
+{ AItem.ImageIndex := ICONO;
+ AItem.Captions[0] := NOMBRE;
+ AItem.Captions[1] := DESCRIPCION;
+ AItem.Captions[3] := IntToStr(ID);
+ AItem.Captions[4] := MODIFICABLE;
+ AItem.DetailCount := 2;
+ AItem.Details[0] := 0; // Columna NOMBRE;
+ AItem.Details[1] := 1; // Columna DESCRIPCION;
+
+ AItem.Selected := (IDSelected = AItem.Captions[3]);
+}
+ FInformes.Next;
+ end;
+ end;
+ finally
+// EasyListview.Sort.SortAll;
+// EasyListview.EndUpdate;
+
+ if (IDSelected = 0) and (EasyListview.Items.Count > 0) then
+ EasyListview.Items[0].Selected := True;
+
+ for i := 0 to EasyListview.Items.Count - 1 do
+ if EasyListview.Items[i].Selected then
+ begin
+ FInformes.First;
+ FInformes.Locate('ID', EasyListview.Items[i].Indent, []);
+ Break;
+ end;
+
+// EasyListview.ShowGroupMargins := True;
+ end
+end;
+
+procedure TfrViewInformes.SetInformes(const Value: IBizInforme);
+begin
+ FInformes := Value;
+ dsDataTable.DataTable := Value.DataTable;
+end;
+
+procedure TfrViewInformes.SetDblClick(const Value: TNotifyEvent);
+begin
+ FOnDblClick := Value;
+end;
+
+procedure TfrViewInformes.SetPopupMenu(const Value: TPopupMenu);
+begin
+ FPopupMenu := Value;
+end;
+{
+procedure TfrViewInformes.EasyListviewItemContextMenu(
+ Sender: TCustomEasyListview; HitInfo: TEasyHitInfoItem;
+ WindowPoint: TPoint; var Menu: TPopupMenu; var Handled: Boolean);
+begin
+ inherited;
+ if Assigned(FPopupMenu) then
+ Menu := FPopupMenu;
+end;
+
+procedure TfrViewInformes.EasyListviewItemDblClick(Sender: TCustomEasyListview;
+ Button: TCommonMouseButton; MousePos: TPoint; HitInfo: TEasyHitInfoItem);
+begin
+ inherited;
+ if Assigned(FOnDblClick) then
+ FOnDblClick(Self);
+end;
+
+procedure TfrViewInformes.EasyListviewItemSelectionChanged(
+ Sender: TCustomEasyListview; Item: TEasyItem);
+begin
+ inherited;
+ if not Item.Destroying then
+ begin
+ FInformes.First;
+ FInformes.Locate('ID', StrToInt(Item.Captions[3]), []);
+ end;
+end;
+}
+end.
+
diff --git a/Source/Modulos/Informes base/Views/uViewPeriodoFechas.dfm b/Source/Modulos/Informes base/Views/uViewPeriodoFechas.dfm
new file mode 100644
index 0000000..d6aca5f
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewPeriodoFechas.dfm
@@ -0,0 +1,163 @@
+inherited frViewPeriodoFechas: TfrViewPeriodoFechas
+ Width = 769
+ Height = 75
+ ExplicitWidth = 769
+ ExplicitHeight = 75
+ object TBXDockablePanel1: TTBXDockablePanel
+ Left = 0
+ Top = 0
+ Align = alClient
+ Caption = 'TBXDockablePanel1'
+ FloatingWidth = 128
+ FloatingHeight = 128
+ SupportedDocks = [dkStandardDock, dkMultiDock]
+ TabOrder = 0
+ ExplicitTop = 3
+ ExplicitWidth = 128
+ ExplicitHeight = 128
+ object dxLayoutControl1: TdxLayoutControl
+ Left = 0
+ Top = 0
+ Width = 769
+ Height = 75
+ Align = alClient
+ ParentBackground = True
+ TabOrder = 0
+ LookAndFeel = dxLayoutStandardLookAndFeel1
+ ExplicitWidth = 455
+ ExplicitHeight = 74
+ DesignSize = (
+ 769
+ 75)
+ object cbPeriodo: TcxComboBox
+ Left = 55
+ Top = 37
+ RepositoryItem = cxRepositoryPeriodos
+ Anchors = [akLeft, akTop, akRight]
+ Properties.OnChange = cbPeriodoPropertiesChange
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ Style.ButtonStyle = bts3D
+ Style.PopupBorderStyle = epbsFrame3D
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 2
+ Text = 'Este mes'
+ Width = 385
+ end
+ object edtFechaIni: TcxDateEdit
+ Left = 55
+ Top = 10
+ Properties.DateButtons = [btnToday]
+ Properties.PostPopupValueOnTab = True
+ Properties.SaveTime = False
+ Properties.ShowTime = False
+ Properties.OnValidate = edtFechaIni2PropertiesValidate
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ Style.ButtonStyle = bts3D
+ Style.PopupBorderStyle = epbsFrame3D
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 0
+ Width = 170
+ end
+ object edtFechaFin: TcxDateEdit
+ Left = 268
+ Top = 10
+ Properties.DateButtons = [btnToday]
+ Properties.PostPopupValueOnTab = True
+ Properties.SaveTime = False
+ Properties.ShowTime = False
+ Properties.OnValidate = edtFechaFinPropertiesValidate
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ Style.ButtonStyle = bts3D
+ Style.PopupBorderStyle = epbsFrame3D
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 1
+ Width = 170
+ end
+ object dxLayoutGroup1: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ ShowBorder = False
+ object dxLayoutGroup2: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ LayoutDirection = ldHorizontal
+ ShowBorder = False
+ object dxLayoutControl1Item2: TdxLayoutItem
+ Caption = 'Desde:'
+ Control = edtFechaIni
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Item3: TdxLayoutItem
+ Caption = 'Hasta:'
+ Control = edtFechaFin
+ ControlOptions.ShowBorder = False
+ end
+ end
+ object dxLayoutItem1: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ Caption = 'Periodo:'
+ Control = cbPeriodo
+ ControlOptions.ShowBorder = False
+ end
+ end
+ end
+ end
+ object cxRepository: TcxEditRepository
+ Left = 184
+ Top = 32
+ object cxRepositoryPeriodos: TcxEditRepositoryComboBoxItem
+ Properties.BeepOnError = True
+ Properties.DropDownListStyle = lsFixedList
+ Properties.DropDownRows = 10
+ Properties.ImmediatePost = True
+ Properties.ImmediateUpdateText = True
+ Properties.Items.Strings = (
+ 'Hoy'
+ 'Ayer'
+ 'Esta semana'
+ 'Este mes'
+ 'Este a'#241'o'
+ #218'ltimos 7 d'#237'as'
+ #218'ltimos 30 d'#237'as'
+ #218'ltimos 3 meses'
+ 'Mes anterior'
+ 'A'#241'o anterior'
+ 'Personalizado')
+ Properties.PostPopupValueOnTab = True
+ Properties.ReadOnly = False
+ end
+ end
+ object dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList
+ Left = 136
+ Top = 16
+ object dxLayoutStandardLookAndFeel1: TdxLayoutStandardLookAndFeel
+ end
+ end
+end
diff --git a/Source/Modulos/Informes base/Views/uViewPeriodoFechas.pas b/Source/Modulos/Informes base/Views/uViewPeriodoFechas.pas
new file mode 100644
index 0000000..c937783
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewPeriodoFechas.pas
@@ -0,0 +1,206 @@
+unit uViewPeriodoFechas;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, cxGraphics, cxEdit, cxDropDownEdit, cxCalendar, StdCtrls,
+ cxControls, cxContainer, cxTextEdit, cxMaskEdit, TBXDkPanels,
+ cxEditRepositoryItems, dxLayoutControl, dxLayoutLookAndFeels, uViewBase,
+ Mask, JvExMask, JvToolEdit, uViewInformeBaseParametros, TB2Dock;
+
+type
+ IViewPeriodoFechas = interface(IViewInformeBaseParametros)
+ ['{793084E2-873E-4C57-8BD6-9087816CCF3A}']
+ end;
+
+ TfrViewPeriodoFechas = class(TfrViewInformeBaseParametros, IViewPeriodoFechas)
+ cxRepository: TcxEditRepository;
+ cxRepositoryPeriodos: TcxEditRepositoryComboBoxItem;
+ dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
+ dxLayoutStandardLookAndFeel1: TdxLayoutStandardLookAndFeel;
+ TBXDockablePanel1: TTBXDockablePanel;
+ dxLayoutControl1: TdxLayoutControl;
+ cbPeriodo: TcxComboBox;
+ edtFechaIni: TcxDateEdit;
+ edtFechaFin: TcxDateEdit;
+ dxLayoutGroup1: TdxLayoutGroup;
+ dxLayoutGroup2: TdxLayoutGroup;
+ dxLayoutControl1Item2: TdxLayoutItem;
+ dxLayoutControl1Item3: TdxLayoutItem;
+ dxLayoutItem1: TdxLayoutItem;
+ procedure cbPeriodoPropertiesChange(Sender: TObject);
+ procedure edtFechaIni2PropertiesValidate(Sender: TObject;
+ var DisplayValue: Variant; var ErrorText: TCaption;
+ var Error: Boolean);
+ procedure edtFechaFinPropertiesValidate(Sender: TObject;
+ var DisplayValue: Variant; var ErrorText: TCaption;
+ var Error: Boolean);
+ private
+ function GetFechaFinal: TDateTime;
+ function GetFechaInicial: TDateTime;
+ procedure SetFechaFinal(const Value: TDateTime);
+ procedure SetFechaInicial(const Value: TDateTime);
+ public
+ procedure Hoy;
+ procedure Ayer;
+ procedure EstaSemana;
+ procedure EsteMes;
+ procedure EsteAno;
+ procedure Ultimos7dias;
+ procedure Ultimos30dias;
+ procedure Ultimos3meses;
+ procedure MesAnterior;
+ procedure AnoAnterior;
+ procedure Personalizado;
+ property FechaInicial : TDateTime read GetFechaInicial write SetFechaInicial;
+ property FechaFinal : TDateTime read GetFechaFinal write SetFechaFinal;
+ constructor Create(AOwner: TComponent); override;
+ end;
+
+implementation
+
+uses DateUtils;
+
+{$R *.dfm}
+
+procedure TfrViewPeriodoFechas.AnoAnterior;
+begin
+ edtFechaIni.Date := StartOfTheYear(IncYear(Today, -1));
+ edtFechaFin.Date := EndOfTheYear(IncYear(Today, -1));
+end;
+
+procedure TfrViewPeriodoFechas.Ayer;
+begin
+ edtFechaIni.Date := Yesterday;
+ edtFechaFin.Date := Yesterday;
+end;
+
+procedure TfrViewPeriodoFechas.EstaSemana;
+begin
+ edtFechaIni.Date := StartOfTheWeek(Today);
+ edtFechaFin.Date := EndOfTheWeek(Today);
+end;
+
+procedure TfrViewPeriodoFechas.EsteAno;
+begin
+ edtFechaIni.Date := StartOfTheYear(Today);
+ edtFechaFin.Date := EndOfTheYear(Today);
+end;
+
+procedure TfrViewPeriodoFechas.EsteMes;
+begin
+ edtFechaIni.Date := StartOfTheMonth(Today);
+ edtFechaFin.Date := EndOfTheMonth(Today);
+end;
+
+function TfrViewPeriodoFechas.GetFechaFinal: TDateTime;
+begin
+ Result := DateOf(edtFechaFin.Date);
+end;
+
+function TfrViewPeriodoFechas.GetFechaInicial: TDateTime;
+begin
+ Result := DateOf(edtFechaIni.Date);
+end;
+
+procedure TfrViewPeriodoFechas.Hoy;
+begin
+ edtFechaIni.Date := Today;
+ edtFechaFin.Date := Today;
+end;
+
+procedure TfrViewPeriodoFechas.MesAnterior;
+begin
+ edtFechaIni.Date := StartOfTheMonth(IncMonth(Today, -1));
+ edtFechaFin.Date := EndOfTheMonth(IncMonth(Today, -1));
+end;
+
+procedure TfrViewPeriodoFechas.Personalizado;
+begin
+ edtFechaIni.SetFocus;
+end;
+
+procedure TfrViewPeriodoFechas.SetFechaFinal(const Value: TDateTime);
+begin
+ edtFechaFin.Date := Value;
+end;
+
+procedure TfrViewPeriodoFechas.SetFechaInicial(const Value: TDateTime);
+begin
+ edtFechaIni.Date := Value;
+end;
+
+procedure TfrViewPeriodoFechas.Ultimos30dias;
+begin
+ edtFechaIni.Date := IncDay(Today, -30);
+ edtFechaFin.Date := Today
+end;
+
+procedure TfrViewPeriodoFechas.Ultimos3meses;
+begin
+ edtFechaIni.Date := IncMonth(Today, -3);
+ edtFechaFin.Date := Today
+end;
+
+procedure TfrViewPeriodoFechas.Ultimos7dias;
+begin
+ edtFechaIni.Date := IncDay(Today, -7);
+ edtFechaFin.Date := Today
+end;
+
+procedure TfrViewPeriodoFechas.cbPeriodoPropertiesChange(Sender: TObject);
+begin
+ case (Sender as TcxComboBox).ItemIndex of
+ 0 : Hoy;
+ 1 : Ayer;
+ 2 : EstaSemana;
+ 3 : EsteMes;
+ 4 : EsteAno;
+ 5 : Ultimos7dias;
+ 6 : Ultimos30dias;
+ 7 : Ultimos3meses;
+ 8 : MesAnterior;
+ 9 : AnoAnterior;
+ else
+ Personalizado;
+ end;
+end;
+
+constructor TfrViewPeriodoFechas.Create(AOwner: TComponent);
+begin
+ inherited;
+ cbPeriodo.ItemIndex := 3;
+ EsteMes;
+end;
+
+procedure TfrViewPeriodoFechas.edtFechaIni2PropertiesValidate(
+ Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
+ var Error: Boolean);
+begin
+ inherited;
+ if DisplayValue <> edtFechaIni.Date then
+ cbPeriodo.ItemIndex := 12;
+ if DisplayValue > edtFechaFin.Date then
+ begin
+ edtFechaFin.EditText := DisplayValue;
+ edtFechaFin.ValidateEdit(True);
+ end;
+end;
+
+procedure TfrViewPeriodoFechas.edtFechaFinPropertiesValidate(
+ Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
+ var Error: Boolean);
+begin
+ inherited;
+ if DisplayValue <> edtFechaFin.Date then
+ cbPeriodo.ItemIndex := 12;
+ if DisplayValue < edtFechaIni.Date then
+ begin
+ edtFechaIni.EditText := DisplayValue;
+ edtFechaIni.ValidateEdit(True);
+ end;
+end;
+
+end.
+
diff --git a/Source/Modulos/Informes base/Views/uViewSumarios.dfm b/Source/Modulos/Informes base/Views/uViewSumarios.dfm
new file mode 100644
index 0000000..2cdfdca
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewSumarios.dfm
@@ -0,0 +1,118 @@
+inherited frViewSumarios: TfrViewSumarios
+ Width = 344
+ Height = 472
+ ExplicitWidth = 344
+ ExplicitHeight = 472
+ object TBXLabel1: TTBXLabel
+ Left = 0
+ Top = 0
+ Width = 344
+ Height = 29
+ Margins.Top = 5
+ Margins.Bottom = 10
+ Align = alTop
+ Caption = 'Res'#250'menes'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = [fsBold]
+ ParentColor = True
+ ParentFont = False
+ Underline = True
+ end
+ object vgSumarios: TcxVerticalGrid
+ Left = 0
+ Top = 29
+ Width = 344
+ Height = 443
+ Align = alClient
+ Images = PngImageList1
+ LookAndFeel.Kind = lfStandard
+ LookAndFeel.NativeStyle = True
+ OptionsView.CellAutoHeight = True
+ OptionsView.CellEndEllipsis = True
+ OptionsView.ScrollBars = ssVertical
+ OptionsView.RowHeaderWidth = 133
+ OptionsView.GridLines = vglVertical
+ OptionsView.ValueMinWidth = 75
+ Styles.Category = cxStyleCategoria
+ TabOrder = 1
+ end
+ object PngImageList1: TPngImageList
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000E9C00000E9C01079453DD000000534944415478DA
+ 63FCFFFF3F03258071F018C0C8C848944940F58CB80CB0075207A0E20E407C10
+ BB7EDC0680288286A07B19DD0082861063005E43883500A72174710145614051
+ 2C509C0E284B89E4028A0D0000DBA366E1865C514F0000000049454E44AE4260
+ 82}
+ Name = 'PngImage0'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000000794944415478DA
+ 63FCFFFF3F0325809162030CDD338936E1FCCEE98C580DC8CF4C870BFCF9F397
+ E1FBCF5F0CDF7E00F1F79F0C5FBEFF6078F6FA3DC38D8B27F01BB0F3D845BCB6
+ E33580222F60530832149B62AC81884B825843F02A20C6108236103204671810
+ E37FBC06109B36F01A404CDAA0DC0B039E1B0126BE69852B2E82B70000000049
+ 454E44AE426082}
+ Name = 'PngImage1'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000011E4944415478DA
+ 63FCFFFF3F0325801164C0D22D27C936056E40B48F39511AFEFCFDC7F0FBCF5F
+ 3076082E423540ADEA3C5CE165F924148DBA0FE7C1D967AA351916AD3BC0306F
+ E9264C036EB5198215FD9C09A43DBE3030BC60605830E30E43FA7C882F416A8E
+ 96AA32ACDC728408030C80063CE06058B0E30A8A01070B9519D6EE3886DD006C
+ 5E5870E20243AFE439387F4FAE02C3A63D27C9F7C28E4C59866D07CE90EF85CD
+ A9D20CBB8F9C23DF0BABE3C4180E9FBE4CBE17964589309C387F15D580704F53
+ 06ADDA8B447961619820C3D9CB37500D08723562D06FBC82E20590D36100D90B
+ 7382F8182E5DBF8D6A80AFA33EC39F3F88640A67FFFE0B1543C8FDFBF79FE1CA
+ CD3BA80678DAEA322CDB7488A48C846240EF948564E54600564A377B046BCB77
+ 0000000049454E44AE426082}
+ Name = 'PngImage2'
+ Background = clWindow
+ end>
+ Left = 88
+ Top = 104
+ Bitmap = {}
+ end
+ object cxStyleRepository1: TcxStyleRepository
+ Left = 216
+ Top = 104
+ PixelsPerInch = 96
+ object cxStyleNombreColumna: TcxStyle
+ AssignedValues = [svColor, svTextColor]
+ Color = clWindow
+ TextColor = clActiveCaption
+ end
+ object cxStyleCategoria: TcxStyle
+ AssignedValues = [svColor, svTextColor]
+ Color = 15329769
+ TextColor = clHighlight
+ end
+ object cxStyleNombreColumnaInactivo: TcxStyle
+ AssignedValues = [svColor, svTextColor]
+ Color = clWindow
+ TextColor = cl3DDkShadow
+ end
+ object cxStyleCategoriaInactivo: TcxStyle
+ AssignedValues = [svColor, svTextColor]
+ Color = 15329769
+ TextColor = clBtnShadow
+ end
+ object cxStyleContentInactivo: TcxStyle
+ AssignedValues = [svColor, svTextColor]
+ Color = clWindow
+ TextColor = clBtnShadow
+ end
+ end
+end
diff --git a/Source/Modulos/Informes base/Views/uViewSumarios.pas b/Source/Modulos/Informes base/Views/uViewSumarios.pas
new file mode 100644
index 0000000..a0a03b5
--- /dev/null
+++ b/Source/Modulos/Informes base/Views/uViewSumarios.pas
@@ -0,0 +1,323 @@
+unit uViewSumarios;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uViewBase, dxLayoutControl, cxControls, cxContainer, cxListBox,
+ TBXDkPanels, ActnList, cxCustomData, cxGridDBTableView, cxGridTableView,
+ cxGraphics, cxStyles, cxTL, cxTextEdit, cxDropDownEdit, ImgList,
+ PngImageList, ComCtrls, JvExComCtrls, JvComCtrls, cxInplaceContainer,
+ ExtCtrls, cxEdit, TBXToolPals, uViewInformeBaseGrid,
+ uViewInformeBaseParametros, cxVGrid;
+
+type
+ IViewSumarios = interface(IViewInformeBaseParametros)
+ ['{B0C5A7EB-FEFA-49A5-BEF9-E3DD72E97AF4}']
+ end;
+
+ TfrViewSumarios = class(TfrViewInformeBaseParametros, IViewSumarios)
+ PngImageList1: TPngImageList;
+ vgSumarios: TcxVerticalGrid;
+ TBXLabel1: TTBXLabel;
+ cxStyleRepository1: TcxStyleRepository;
+ cxStyleNombreColumna: TcxStyle;
+ cxStyleCategoria: TcxStyle;
+ cxStyleNombreColumnaInactivo: TcxStyle;
+ cxStyleCategoriaInactivo: TcxStyle;
+ cxStyleContentInactivo: TcxStyle;
+ procedure vgSumariosEditorRowInitPopup(Sender: TObject);
+ procedure vgSumariosEditorRowEditValueChanged(
+ Sender: TObject);
+ protected
+ procedure RellenarArbolTotales;
+
+ function AnadirSumario(const ACaption : String;
+ const AKind : TcxSummaryKind) : TcxEditorRow;
+
+ procedure RellenarTotalesPie;
+ procedure RellenarTotalesGrupo(const AGroupName : String);
+ procedure RellenarCategorias;
+ procedure RellenarCategoria(const APosition : TcxSummaryPosition;
+ const AGroupName : String = '');
+
+ procedure AplicarSumarioVista(const APosition : TcxSummaryPosition;
+ const AColumnCaption : String; const AKind : TcxSummaryKind);
+ procedure SetModificable(const Value: Boolean); override;
+ public
+ procedure Execute; override;
+ procedure Refresh; override;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+uses
+ DB, cxGridPopupMenuConsts;
+
+var
+ SumaryKindStrArray : array[skNone..skAverage] of String
+ = ('', 'Sumar', 'Mínimo', 'Máximo', 'Contar', 'Promedio');
+
+procedure TfrViewSumarios.Refresh;
+begin
+ RellenarCategorias;
+end;
+
+procedure TfrViewSumarios.RellenarArbolTotales;
+var
+ i : Integer;
+begin
+ // Recuperar las agrupaciones del grid
+ for i := 0 to ViewInformeBaseGrid.GroupedColumnCount - 1 do
+ begin
+ if i = 3 then
+ Break; // Sólo meter las 3 primera agrupaciones
+ RellenarCategoria(spGroup, ViewInformeBaseGrid.GroupedColumns[i].Caption);
+ end;
+end;
+
+function TfrViewSumarios.AnadirSumario(const ACaption : String;
+ const AKind : TcxSummaryKind) : TcxEditorRow;
+begin
+ Result := vgSumarios.Add(TcxEditorRow) as TcxEditorRow;
+ with Result do
+ begin
+ Properties.Caption := ACaption;
+ Properties.Value := SumaryKindStrArray[AKind];
+ Properties.ImageIndex := 2;
+ Properties.EditPropertiesClass := TcxComboBoxProperties;
+ with TcxComboBoxProperties(Properties.EditProperties) do
+ begin
+ ImmediateDropDown := True;
+ DropDownListStyle := lsFixedList;
+ ImmediatePost := True;
+ ImmediateUpdateText := True;
+ PostPopupValueOnTab := True;
+ OnInitPopup := vgSumariosEditorRowInitPopup;
+ OnEditValueChanged := vgSumariosEditorRowEditValueChanged;
+ end;
+ end;
+end;
+
+procedure TfrViewSumarios.AplicarSumarioVista (
+ const APosition: TcxSummaryPosition; const AColumnCaption: String;
+ const AKind: TcxSummaryKind);
+var
+ AColumn : TcxGridDBColumn;
+ ADisplayFormat : string;
+begin
+ AColumn := ViewInformeBaseGrid.GetColumnByCaption(AColumnCaption);
+
+ if (AColumn.Properties is TcxCustomTextEditProperties) then
+ ADisplayFormat := TcxCustomTextEditProperties(AColumn.Properties).DisplayFormat
+ else
+ ADisplayFormat := '';
+
+ if APosition = spFooter then
+ begin
+ AColumn.Summary.FooterKind := AKind;
+ //AColumn.Summary.FooterFormat := ADisplayFormat;
+ end
+ else begin
+ AColumn.Summary.GroupFooterKind := AKind;
+ // AColumn.Summary.GroupFooterFormat := ADisplayFormat;
+ end;
+end;
+
+procedure TfrViewSumarios.RellenarTotalesPie;
+var
+ i, j: Integer;
+ ASummary: TcxDataFooterSummaryItems;
+ AClase : TcxSummaryKind;
+ ACaption : String;
+ ACategory : TcxCategoryRow;
+ ARow : TcxEditorRow;
+begin
+ vgSumarios.BeginUpdate;
+ try
+ ACategory := (vgSumarios.AddChild(nil, TcxCategoryRow) as TcxCategoryRow);
+ with ACategory.Properties do
+ begin
+ ASummary := ViewInformeBaseGrid.FocusedView.DataController.Summary.FooterSummaryItems;
+ ImageIndex := 0;
+ Caption := 'Resúmenes totales'
+ end;
+
+ for i := 0 to ViewInformeBaseGrid.FocusedView.VisibleColumnCount - 1 do
+ begin
+ ACaption := ViewInformeBaseGrid.FocusedView.VisibleColumns[i].Caption;
+ AClase := ViewInformeBaseGrid.FocusedView.VisibleColumns[i].Summary.FooterKind;
+ ARow := AnadirSumario(ACaption, AClase);
+ ARow.Parent := ACategory;
+ end;
+ finally
+ vgSumarios.EndUpdate;
+ end;
+end;
+
+
+procedure TfrViewSumarios.RellenarCategoria(
+ const APosition: TcxSummaryPosition; const AGroupName: String);
+begin
+ if APosition = spFooter then
+ RellenarTotalesPie
+ else
+ RellenarTotalesGrupo(AGroupName);
+end;
+
+procedure TfrViewSumarios.RellenarCategorias;
+var
+ i : Integer;
+begin
+ vgSumarios.ClearRows;
+ RellenarCategoria(spFooter);
+
+ // Recuperar las agrupaciones del grid
+ for i := 0 to ViewInformeBaseGrid.GroupedColumnCount - 1 do
+ begin
+ if i = 3 then
+ Break; // Sólo meter las 3 primera agrupaciones
+ RellenarCategoria(spGroup, ViewInformeBaseGrid.GroupedColumns[i].Caption);
+ end;
+end;
+
+procedure TfrViewSumarios.vgSumariosEditorRowInitPopup(Sender: TObject);
+var
+ AColumn: TcxGridDBColumn;
+ ARow : TcxEditorRow;
+const
+ NumberFieldTypes =
+ [ftSmallint, ftInteger, ftWord, ftFloat, ftCurrency, ftBCD, ftDate, ftTime,
+ ftDateTime, ftAutoInc];
+ TimeFieldTypes = [ftDate, ftTime, ftDateTime];
+
+begin
+ inherited;
+
+ ARow := TcxEditorRow(vgSumarios.FocusedRow);
+ AColumn := TcxGridDBColumn(ViewInformeBaseGrid.FocusedView.VisibleColumns[ARow.Index]);
+
+ if Assigned(AColumn.DataBinding.Field) then
+ with TcxComboBoxProperties(TcxPopupEdit(Sender).Properties) do
+ begin
+ Items.Clear;
+ BeginUpdate;
+ try
+ Items.Add(SumaryKindStrArray[skNone]);
+ Items.Add(SumaryKindStrArray[skCount]);
+
+ if AColumn.DataBinding.Field.DataType in NumberFieldTypes then
+ begin
+ Items.Add(SumaryKindStrArray[skMax]);
+ Items.Add(SumaryKindStrArray[skMin]);
+ if not (AColumn.DataBinding.Field.DataType in TimeFieldTypes) then
+ begin
+ Items.Add(SumaryKindStrArray[skSum]);
+ Items.Add(SumaryKindStrArray[skAverage]);
+ end;
+ end;
+ finally
+ EndUpdate;
+ end;
+ end;
+end;
+
+procedure TfrViewSumarios.vgSumariosEditorRowEditValueChanged(
+ Sender: TObject);
+var
+ AColumn : String;
+ ARow : TcxEditorRow;
+ AKind : TcxSummaryKind;
+
+ function DarSummaryKind(AKind : String) : TcxSummaryKind;
+ var
+ i : TcxSummaryKind;
+ begin
+ if Length(AKind) = 0 then
+ Result := skNone
+ else
+ for i := skSum to skAverage do
+ if SumaryKindStrArray[i] = AKind then
+ begin
+ Result := i;
+ Break;
+ end;
+ end;
+
+begin
+ inherited;
+
+ ARow := TcxEditorRow(vgSumarios.FocusedRow);
+ AColumn := ARow.Properties.Caption;
+ AKind := DarSummaryKind(VarToStr(ARow.Properties.Value));
+
+ if Assigned(ARow.Parent) then
+ begin
+ if(ARow.Parent.Index = 0) then
+ AplicarSumarioVista(spFooter, AColumn, AKind)
+ else
+ AplicarSumarioVista(spGroup, AColumn, AKind)
+ end;
+end;
+
+procedure TfrViewSumarios.RellenarTotalesGrupo(const AGroupName: String);
+var
+ i, j: Integer;
+ ASummary: TcxDataSummaryGroup;
+ AClase : TcxSummaryKind;
+ ACaption : String;
+ ACategory : TcxCategoryRow;
+ ARow : TcxEditorRow;
+
+begin
+ ASummary := ViewInformeBaseGrid.FocusedView.DataController.Summary.SummaryGroups.FindByItemLink(ViewInformeBaseGrid.GetColumnByCaption(AGroupName));
+
+ vgSumarios.BeginUpdate;
+ try
+ ACategory := (vgSumarios.AddChild(nil, TcxCategoryRow) as TcxCategoryRow);
+ with ACategory.Properties do
+ begin
+ ImageIndex := 1;
+ Caption := 'Totales de ' + AGroupName;
+ end;
+
+ for i := 0 to ViewInformeBaseGrid.FocusedView.VisibleColumnCount - 1 do
+ begin
+ ACaption := ViewInformeBaseGrid.FocusedView.VisibleColumns[i].Caption;
+ AClase := ViewInformeBaseGrid.FocusedView.VisibleColumns[i].Summary.GroupFooterKind;
+ ARow := AnadirSumario(ACaption, AClase);
+ ARow.Parent := ACategory;
+ end;
+ finally
+ vgSumarios.EndUpdate;
+ end;
+end;
+
+procedure TfrViewSumarios.Execute;
+begin
+ inherited;
+ //
+end;
+
+procedure TfrViewSumarios.SetModificable(const Value: Boolean);
+begin
+ inherited;
+ vgSumarios.Enabled := Value;
+ if Value then
+ begin
+ vgSumarios.Styles.Category := cxStyleCategoria;
+ vgSumarios.Styles.Header := cxStyleNombreColumna;
+ vgSumarios.Styles.Content := nil;
+ end
+ else begin
+ vgSumarios.Styles.Category := cxStyleCategoriaInactivo;
+ vgSumarios.Styles.Header := cxStyleNombreColumnaInactivo;
+ vgSumarios.Styles.Content := cxStyleContentInactivo;
+ end;
+end;
+
+end.
+
+
diff --git a/Source/Modulos/Tienda web/Test/TiendaWeb_Tests.res b/Source/Modulos/Tienda web/Test/TiendaWeb_Tests.res
new file mode 100644
index 0000000..759b21b
Binary files /dev/null and b/Source/Modulos/Tienda web/Test/TiendaWeb_Tests.res differ
diff --git a/Source/Modulos/Tienda web/TiendaWeb_Group.config b/Source/Modulos/Tienda web/TiendaWeb_Group.config
new file mode 100644
index 0000000..c8f2834
--- /dev/null
+++ b/Source/Modulos/Tienda web/TiendaWeb_Group.config
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/Source/Modulos/Tienda web/TiendaWeb_Group.groupproj b/Source/Modulos/Tienda web/TiendaWeb_Group.groupproj
new file mode 100644
index 0000000..0c79544
--- /dev/null
+++ b/Source/Modulos/Tienda web/TiendaWeb_Group.groupproj
@@ -0,0 +1,134 @@
+
+
+ {63b52b8d-c304-4581-90ea-19e9faf0e651}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default.Personality
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file