Removed file/folder

git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES/trunk@87 c93665c3-c93d-084d-9b98-7d5f4a9c3376
This commit is contained in:
roberto 2007-07-11 15:23:27 +00:00
parent 307facca22
commit 312398b982
44 changed files with 0 additions and 8948 deletions

View File

@ -1,369 +0,0 @@
inherited frViewControlesBase: TfrViewControlesBase
object cxTreeList: TcxDBTreeList
Left = 0
Top = 0
Width = 296
Height = 216
BorderStyle = cxcbsNone
Align = alClient
Bands = <
item
Options.Sizing = False
end
item
end>
BufferedPaint = True
DataController.DataSource = dsDataTable
DataController.ParentField = 'ID'
DataController.KeyField = 'ID'
DefaultRowHeight = 18
OptionsCustomizing.BandCustomizing = False
OptionsCustomizing.BandHorzSizing = False
OptionsCustomizing.BandMoving = False
OptionsCustomizing.BandVertSizing = False
OptionsCustomizing.ColumnCustomizing = False
OptionsCustomizing.ColumnHorzSizing = False
OptionsCustomizing.ColumnMoving = False
OptionsCustomizing.ColumnVertSizing = False
OptionsCustomizing.DynamicSizing = True
OptionsCustomizing.RowSizing = True
OptionsData.Editing = False
OptionsData.Deleting = False
OptionsData.CheckHasChildren = False
OptionsSelection.CellSelect = False
OptionsView.CellAutoHeight = True
OptionsView.CellEndEllipsis = True
OptionsView.ScrollBars = ssVertical
OptionsView.Buttons = False
OptionsView.ColumnAutoWidth = True
OptionsView.Headers = False
OptionsView.ShowRoot = False
RootValue = -1
TabOrder = 0
object cxDBTreeListICONO: TcxDBTreeListColumn
PropertiesClassName = 'TcxImageComboBoxProperties'
Properties.Alignment.Horz = taCenter
Properties.Images = ReportImages
Properties.Items = <
item
ImageIndex = 0
Value = 1
end
item
ImageIndex = 1
Value = 2
end
item
ImageIndex = 2
Value = 3
end
item
Value = 0
end
item
ImageIndex = 3
Value = 4
end
item
ImageIndex = 4
Value = 5
end
item
ImageIndex = 5
Value = 6
end
item
ImageIndex = 6
Value = 7
end
item
ImageIndex = 7
Value = 8
end>
Properties.LargeImages = ReportImages
Properties.MultiLineText = True
Properties.ReadOnly = True
DataBinding.FieldName = 'ICONO'
Width = 45
Position.ColIndex = 0
Position.LineCount = 2
Position.RowIndex = 0
Position.BandIndex = 0
end
object cxDBTreeListORDEN: TcxDBTreeListColumn
Visible = False
DataBinding.FieldName = 'ORDEN'
Options.Sizing = False
Width = 45
Position.ColIndex = 0
Position.RowIndex = 1
Position.BandIndex = 0
end
object cxDBTreeListNOMBRE: TcxDBTreeListColumn
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Vert = taBottomJustify
DataBinding.FieldName = 'NOMBRE'
Width = 588
Position.ColIndex = 0
Position.RowIndex = 0
Position.BandIndex = 1
end
object cxDBTreeListDESCRIPCION: TcxDBTreeListColumn
PropertiesClassName = 'TcxTextEditProperties'
DataBinding.FieldName = 'DESCRIPCION'
Width = 588
Position.ColIndex = 0
Position.RowIndex = 1
Position.BandIndex = 1
end
object cxDBTreeListDUMMY: TcxDBTreeListColumn
Width = 588
Position.ColIndex = 0
Position.RowIndex = 2
Position.BandIndex = 1
end
end
object cxStyleRepository1: TcxStyleRepository
Left = 80
Top = 96
object cxStyleTITULO: TcxStyle
AssignedValues = [svFont, svTextColor]
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
TextColor = clActiveCaption
end
object cxStyleDESCRIPCION: TcxStyle
end
object cxStyle1: TcxStyle
AssignedValues = [svColor, svTextColor]
Color = clHighlight
TextColor = clHighlightText
end
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
end

View File

@ -1,108 +0,0 @@
unit uViewControlesBase_TreeView;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, cxGraphics, cxCustomData, cxStyles, cxTL,
cxImageComboBox, cxMaskEdit, cxTextEdit, cxInplaceContainer, cxDBTL,
cxControls, cxTLData, Menus, uBizControlesBase, DB, uDADataTable,
ImgList, PngImageList;
type
IViewControlesBase = 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 GetControl: IBizControlBase;
procedure SetControl(const Value: IBizControlBase);
property Control: IBizControlBase read GetControl write SetControl;
procedure Refresh;
end;
TfrViewControlesBase = class(TfrViewBase, IViewControlesBase)
cxTreeList: TcxDBTreeList;
cxDBTreeListICONO: TcxDBTreeListColumn;
cxDBTreeListORDEN: TcxDBTreeListColumn;
cxDBTreeListNOMBRE: TcxDBTreeListColumn;
cxDBTreeListDESCRIPCION: TcxDBTreeListColumn;
cxDBTreeListDUMMY: TcxDBTreeListColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyleTITULO: TcxStyle;
cxStyleDESCRIPCION: TcxStyle;
cxStyle1: TcxStyle;
ReportImages: TPngImageList;
dsDataTable: TDADataSource;
protected
FControl : IBizControlBase;
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 GetControl: IBizControlBase; virtual;
procedure SetControl(const Value: IBizControlBase); virtual;
public
procedure Refresh; override;
property Control: IBizControlBase read GetControl write SetControl;
property OnDblClick: TNotifyEvent read GetDblClick write SetDblClick;
property PopupMenu: TPopupMenu read GetPopupMenu write SetPopupMenu;
end;
implementation
{$R *.dfm}
{ TfrViewControlesBase }
function TfrViewControlesBase.GetControl: IBizControlBase;
begin
Result := FControl;
end;
function TfrViewControlesBase.GetDblClick: TNotifyEvent;
begin
Result := FOnDblClick;
end;
function TfrViewControlesBase.GetPopupMenu: TPopupMenu;
begin
Result := FPopupMenu;
end;
procedure TfrViewControlesBase.Refresh;
begin
inherited;
cxTreeList.Refresh;
end;
procedure TfrViewControlesBase.SetControl(const Value: IBizControlBase);
begin
FControl := Value;
dsDataTable.DataTable := Value.DataTable;
end;
procedure TfrViewControlesBase.SetDblClick(const Value: TNotifyEvent);
begin
FOnDblClick := Value;
end;
procedure TfrViewControlesBase.SetPopupMenu(const Value: TPopupMenu);
begin
FPopupMenu := Value;
cxTreeList.PopupMenu := FPopupMenu;
end;
end.

View File

@ -1,222 +0,0 @@
object dmControles: TdmControles
OldCreateOrder = True
OnCreate = DAClientDataModuleCreate
SchemaCall.MethodName = 'GetSchemaAsXML'
SchemaCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtString
end>
Left = 528
Top = 297
Height = 300
Width = 300
object RemoteService: TRORemoteService
ServiceName = 'srvControles'
Message = dmBase.ROMessage
Channel = dmBase.ROChannel
Left = 40
Top = 16
end
object tbl_Controles: TDACDSDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datAutoInc
BlobType = dabtUnknown
Required = True
DisplayWidth = 0
Alignment = taLeftJustify
ServerAutoRefresh = True
InPrimaryKey = True
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'CATEGORIA'
DataType = datString
Size = 15
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'MODIFICABLE'
DataType = datString
Size = 1
BlobType = dabtUnknown
DefaultValue = 'S'
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'ICONO'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'NOMBRE'
DataType = datString
Size = 50
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'DESCRIPCION'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'ORDEN'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'VISTA'
DataType = datMemo
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end>
Params = <
item
Name = 'CATEGORIA'
DataType = datString
Size = 15
BlobType = dabtUnknown
Value = ''
ParamType = daptInput
end>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming]
SchemaCall.MethodName = 'GetDatasetSchema'
SchemaCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtBinary
end
item
Name = 'aDatasetName'
ParamType = fIn
DataType = rtString
Value = 'ListaControlesPorCategoria'
end>
DataRequestCall.MethodName = 'GetDatasetDataEx'
DataRequestCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtBinary
end
item
Name = 'DatasetName'
ParamType = fIn
DataType = rtString
Value = 'ListaControlesPorCategoria'
end
item
Name = 'Params'
ParamType = fIn
DataType = rtUserDefined
UserClassName = 'TDADatasetParamArray'
end
item
Name = 'UserFilter'
ParamType = fIn
DataType = rtString
Value = ''
end
item
Name = 'IncludeSchema'
ParamType = fIn
DataType = rtBoolean
Value = False
end
item
Name = 'MaxRecords'
ParamType = fIn
DataType = rtInteger
Value = -1
end>
DataUpdateCall.MethodName = 'UpdateData'
DataUpdateCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtBinary
end
item
Name = 'Delta'
ParamType = fIn
DataType = rtBinary
end>
ScriptCall.MethodName = 'GetDatasetScripts'
ScriptCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtString
Value = ''
end
item
Name = 'DatasetNames'
ParamType = fIn
DataType = rtString
Value = 'ListaControlesPorCategoria'
end>
ReadOnly = False
RemoteService = RemoteService
Adapter = dmBase.DABINAdapter
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'ListaControlesPorCategoria'
IndexDefs = <>
Left = 176
Top = 16
end
object ds_Controles: TDADataSource
DataTable = tbl_Controles
Left = 176
Top = 80
end
end

View File

@ -1,70 +0,0 @@
unit uDataModuleControles;
interface
uses {vcl:} SysUtils, Classes, DB, DBClient,
{RemObjects:} uDAClientDataModule, uDADataTable, uDAScriptingProvider,
uDACDSDataTable, uROClient, uROServiceComponent, uRORemoteService;
type
TdmControles = class(TDAClientDataModule)
RemoteService: TRORemoteService;
tbl_Controles: TDACDSDataTable;
ds_Controles: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
function GetItems (const ACategoria : String): TDACDSDataTable;
end;
var
dmControles: TdmControles;
implementation
{$R *.DFM}
uses
Forms, Controls,
schControlesClient_Intf,
uDataModuleBase, uDataTableUtils, DataAbstract_Intf, cxControls;
procedure TdmControles.DAClientDataModuleCreate(Sender: TObject);
begin
RemoteService.Channel := dmBase.Channel;
RemoteService.Message := dmBase.Message;
end;
function TdmControles.GetItems (const ACategoria : String): TDACDSDataTable;
var
dtControles: TDACDSDataTable;
AParams : TDADatasetParamArray;
begin
ShowHourglassCursor;
try
dtControles := TDACDSDataTable.Create(NIL);
CloneDataTable(tbl_Controles, dtControles);
AParams := TDADatasetParamArray.Create;
with AParams.Add do begin
Name := fld_ListaControlesPorCategoriaCATEGORIA;
Value := ACategoria;
end;
dtControles.DataRequestCall.ParamByName(par_Params).AsComplexType := AParams;
Result := dtControles;
finally
HideHourglassCursor;
end;
end;
initialization
dmControles := TdmControles.Create(nil);
finalization
FreeAndNil(dmControles);
end.

View File

@ -1,68 +0,0 @@
{*******************************************************}
{ }
{ Administración de puntos de venta }
{ }
{ Copyright (C) 2006 Rodax Software S.L. }
{ }
{*******************************************************}
unit uDateUtils;
interface
function NumberDayOfTheWeek(const ADay : String) : Word;
function NumberMonthOfTheYear(const AMonth : String) : Word;
implementation
uses
DateUtils;
function NumberDayOfTheWeek(const ADay : String) : Word;
begin
if (ADay = 'Monday') or (ADay = 'Lunes') then
Result := DayMonday;
if (ADay = 'Tuesday') or (ADay = 'Martes') then
Result := DayTuesday;
if (ADay = 'Wednesday') or (ADay = 'Miercoles') or (ADay = 'Miércoles') then
Result := DayWednesday;
if (ADay = 'Thursday') or (ADay = 'Jueves') then
Result := DayThursday;
if (ADay = 'Friday') or (ADay = 'Viernes') then
Result := DayFriday;
if (ADay = 'Saturday') or (ADay = 'Sabado') or (ADay = 'Sábado') then
Result := DaySaturday;
if (ADay = 'Sunday') or (ADay = 'Domingo') then
Result := DaySunday;
end;
function NumberMonthOfTheYear(const AMonth : String) : Word;
begin
if (AMonth = 'January') or (AMonth = 'Enero') then
Result := 1;
if (AMonth = 'February') or (AMonth = 'Febrero') then
Result := 2;
if (AMonth = 'March') or (AMonth = 'Marzo') then
Result := 3;
if (AMonth = 'April') or (AMonth = 'Abril') then
Result := 4;
if (AMonth = 'May') or (AMonth = 'Mayo') then
Result := 5;
if (AMonth = 'June') or (AMonth = 'Junio') then
Result := 6;
if (AMonth = 'July') or (AMonth = 'Julio') then
Result := 7;
if (AMonth = 'August') or (AMonth = 'Agosto') then
Result := 8;
if (AMonth = 'September') or (AMonth = 'Septiembre') or (AMonth = 'Setiembre') then
Result := 9;
if (AMonth = 'October') or (AMonth = 'Octubre') then
Result := 10;
if (AMonth = 'November') or (AMonth = 'Noviembre') then
Result := 11;
if (AMonth = 'December') or (AMonth = 'Diciembre') then
Result := 12;
end;
end.

View File

@ -1,133 +0,0 @@
unit uEditorControlBase;
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,
uBizControlesBase, schControlesClient_Intf, uViewControlBase;
type
IEditorControlBase = interface(IEditorDBItem)
['{A9892225-82DB-41AF-B69D-821E0663B3EF}']
function GetControl: IBizControlBase;
procedure SetControl(const Value: IBizControlBase);
property Control: IBizControlBase read GetControl write SetControl;
end;
TfEditorControlBase = class(TfEditorDBItem, IEditorControlBase)
actPropiedades: TAction;
TBXSeparatorItem14: TTBXSeparatorItem;
tbxiPropiedades: TTBXItem;
TBXSeparatorItem15: TTBXSeparatorItem;
tbxiPropiedades2: TTBXItem;
procedure actPropiedadesExecute(Sender: TObject);
procedure actGuardarCerrarUpdate(Sender: TObject);
procedure actGuardarUpdate(Sender: TObject);
procedure actPrevisualizarExecute(Sender: TObject);
procedure actImprimirExecute(Sender: TObject);
procedure actEliminarExecute(Sender: TObject);
protected
FControl : IBizControlBase;
FViewControl : IViewControlBase;
function GetControl: IBizControlBase; virtual;
procedure SetControl(const Value: IBizControlBase); virtual;
procedure RefrescarTituloEditor; virtual;
function GetModified: Boolean; override;
procedure RellenarCabeceraInforme; virtual;
public
property Control: IBizControlBase read GetControl write SetControl;
end;
implementation
uses uEditorDBBase, uEditorBase;
{$R *.dfm}
{ TfEditorControlBase }
function TfEditorControlBase.GetControl: IBizControlBase;
begin
Result := FControl;
end;
procedure TfEditorControlBase.SetControl(const Value: IBizControlBase);
begin
FControl := Value;
dsDataTable.DataTable := FControl.DataTable;
if Assigned(FViewControl) then
FViewControl.Control := FControl;
end;
procedure TfEditorControlBase.actPropiedadesExecute(Sender: TObject);
begin
inherited;
try
FControl.VerPropiedades;
finally
RefrescarTituloEditor;
FViewControl.Modificable := FControl.EsModificable;
inherited actGuardarExecute(Sender);
end;
end;
procedure TfEditorControlBase.RefrescarTituloEditor;
begin
if Assigned(FControl) and (Length(FControl.NOMBRE) > 0) then
begin
Caption := FControl.NOMBRE;
JvNavPanelHeader.Caption := FControl.NOMBRE;
end;
end;
function TfEditorControlBase.GetModified: Boolean;
begin
Result := inherited GetModified and
(Assigned(FControl) and FControl.EsModificable);
end;
procedure TfEditorControlBase.actGuardarCerrarUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := Assigned(FControl) and (FControl.EsModificable);
end;
procedure TfEditorControlBase.actGuardarUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := Assigned(FControl) and (FControl.EsModificable);
end;
procedure TfEditorControlBase.actPrevisualizarExecute(Sender: TObject);
begin
RellenarCabeceraInforme;
inherited;
end;
procedure TfEditorControlBase.RellenarCabeceraInforme;
begin
inherited;
//
end;
procedure TfEditorControlBase.actImprimirExecute(Sender: TObject);
begin
RellenarCabeceraInforme;
inherited;
end;
procedure TfEditorControlBase.actEliminarExecute(Sender: TObject);
begin
if not FControl.EsModificable then
ShowMessage('Este control no se puede eliminar')
else
inherited
end;
end.

View File

@ -1,167 +0,0 @@
unit uEditorControlesBase;
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, uBizControlesBase, uEditorBase,
uViewControlesBase;
type
IEditorControlesBase = interface(IEditorDBBase)
['{9B15BCEA-4C31-442A-89EC-773B66460A3B}']
function GetControl: IBizControlBase;
procedure SetControl(const Value: IBizControlBase);
property Control: IBizControlBase read GetControl write SetControl;
end;
TfEditorControlesBase = class(TfEditorDBBase, IEditorControlesBase)
ViewPopupMenu: TPopupMenu;
Modificar1: TMenuItem;
Eliminar1: TMenuItem;
N1: TMenuItem;
Nuevo1: TMenuItem;
pngImageNuevo: TPngImageList;
actPropiedades: TAction;
TBXSeparatorItem14: TTBXSeparatorItem;
TBXItem7: TTBXItem;
N2: TMenuItem;
Propiedades1: TMenuItem;
procedure actNuevoExecute(Sender: TObject);
procedure actModificarExecute(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure actEliminarExecute(Sender: TObject);
procedure actRefrescarExecute(Sender: TObject);
procedure actPropiedadesExecute(Sender: TObject);
procedure actPropiedadesUpdate(Sender: TObject);
protected
FControl : IBizControlBase;
FViewControl : IViewControlesBase;
function GetControl: IBizControlBase; virtual;
procedure SetControl(const Value: IBizControlBase); virtual;
public
destructor Destroy; override;
property Control: IBizControlBase read GetControl write SetControl;
constructor Create(AOwner: TComponent); override;
end;
implementation
{$R *.dfm}
{ TfEditorControlesBase }
function TfEditorControlesBase.GetControl: IBizControlBase;
begin
Result := FControl;
end;
procedure TfEditorControlesBase.SetControl(const Value: IBizControlBase);
begin
FControl := Value;
dsDataTable.DataTable := FControl.DataTable;
if Assigned(FViewControl) then
begin
FViewControl.Control := FControl;
end;
end;
procedure TfEditorControlesBase.actNuevoExecute(Sender: TObject);
begin
inherited;
try
FControl.Insert;
FControl.Show;
finally
FViewControl.Refresh;
end;
end;
procedure TfEditorControlesBase.actModificarExecute(Sender: TObject);
begin
inherited;
try
FControl.Show;
finally
FViewControl.Refresh;
end;
end;
procedure TfEditorControlesBase.FormShow(Sender: TObject);
begin
inherited;
if not Assigned(FViewControl) then
raise Exception.Create('No hay ninguna vista asignada');
if not Assigned(Control) then
raise Exception.Create('No hay ningún control asignado');
FViewControl.OnDblClick := actModificar.OnExecute;
FViewControl.PopupMenu := ViewPopupMenu;
Control.DataTable.Active := True;
FViewControl.Refresh;
end;
destructor TfEditorControlesBase.Destroy;
begin
FViewControl := NIL;
FControl := NIL;
inherited;
end;
procedure TfEditorControlesBase.actEliminarExecute(Sender: TObject);
begin
try
if not FControl.EsModificable then
ShowMessage('Este control no se puede borrar')
else
if (Application.MessageBox('¿Desea borrar este control?', 'Atención', MB_YESNO) = IDYES) then
inherited;
finally
FViewControl.Refresh;
end;
end;
procedure TfEditorControlesBase.actRefrescarExecute(Sender: TObject);
begin
inherited;
if Assigned(FViewControl) then
FViewControl.Refresh;
end;
procedure TfEditorControlesBase.actPropiedadesExecute(Sender: TObject);
begin
inherited;
if Assigned(FControl) then
try
FControl.VerPropiedades;
actGuardar.Execute;
finally
FViewControl.Refresh;
end;
end;
procedure TfEditorControlesBase.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;
constructor TfEditorControlesBase.Create(AOwner: TComponent);
begin
inherited;
actModificar.ShortCut := ShortCut(VK_RETURN, []);
end;
end.

View File

@ -1,384 +0,0 @@
object frPropiedadesControl: TfrPropiedadesControl
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

View File

@ -1,117 +0,0 @@
unit uFormPropiedadesControl;
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
TfrPropiedadesControl = 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 TfrPropiedadesControl.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 control.');
end;
function TfrPropiedadesControl.GetDescripcion: String;
begin
Result := memDescripcion.Lines.Text;
end;
function TfrPropiedadesControl.GetIcono: Integer;
begin
Result := btnIcono.ImageIndex;
end;
function TfrPropiedadesControl.GetModificable: Boolean;
begin
Result := not cbModificable.Checked;
end;
function TfrPropiedadesControl.GetNombre: String;
begin
Result := edtNombre.Text;
end;
procedure TfrPropiedadesControl.SetDescripcion(const Value: String);
begin
memDescripcion.Lines.Text := Value;
end;
procedure TfrPropiedadesControl.SetIcono(const Value: Integer);
begin
btnIcono.ImageIndex := Value;
end;
procedure TfrPropiedadesControl.SetModificable(const Value: Boolean);
begin
cbModificable.Checked := not Value;
end;
procedure TfrPropiedadesControl.SetNombre(const Value: String);
begin
edtNombre.Text := Value;
end;
procedure TfrPropiedadesControl.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 TfrPropiedadesControl.OnMenuItemClick(Sender: TObject);
begin
btnIcono.ImageIndex := (Sender as TMenuItem).ImageIndex;
end;
end.

View File

@ -1,135 +0,0 @@
inherited frViewAgrupaciones: TfrViewAgrupaciones
Width = 228
Height = 396
object TBXLabel1: TTBXLabel
Left = 0
Top = 0
Width = 228
Height = 29
Align = alTop
Caption = 'Agrupaciones'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
Margins.Top = 5
Margins.Bottom = 10
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 = 74
Height = 13
Caption = 'y por '#250'ltimo por:'
Transparent = True
end
object Label2: TLabel
Left = 7
Top = 32
Width = 61
Height = 13
Caption = 'despu'#233's por:'
Transparent = True
end
object Label1: TLabel
Left = 7
Top = 4
Width = 95
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

View File

@ -1,339 +0,0 @@
unit uViewAgrupaciones;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ActnList, Menus, dxLayoutLookAndFeels, dxLayoutControl, uViewBase,
TBXDkPanels, cxControls, StdCtrls, ImgList, uViewControlGrid,
PngImageList, uViewParametrosControlGrid, JvExControls, JvComponent,
JvArrowButton, cxLookAndFeelPainters, cxButtons;
type
IViewAgrupaciones = interface(IViewParametrosControlGrid)
['{42030B8F-B12D-43D2-AEB2-F642F11D78DA}']
function GetAgrupaciones: TStringList;
end;
TfrViewAgrupaciones = class(TfrViewParametrosControlGrid, 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 ViewControlGrid.ColumnCount - 1 do
begin
FColumns.AddObject(ViewControlGrid.Columns[i].Caption, ViewControlGrid.Columns[i]);
PopupMenu1.Items.Add(DarItem(ViewControlGrid.Columns[i].Caption));
PopupMenu2.Items.Add(DarItem(ViewControlGrid.Columns[i].Caption));
PopupMenu3.Items.Add(DarItem(ViewControlGrid.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 ViewControlGrid.GroupedColumnCount - 1 do
begin
if i = 3 then
Break; // Sólo meter las 3 primera agrupaciones
AList.Add(ViewControlGrid.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.

View File

@ -1,42 +0,0 @@
inherited frViewColumnas: TfrViewColumnas
Width = 316
Height = 350
object TBXLabel1: TTBXLabel
Left = 0
Top = 0
Width = 316
Height = 29
Align = alTop
Caption = 'Columnas'
FocusControl = lbColumnas
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
Margins.Top = 5
Margins.Bottom = 10
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

View File

@ -1,113 +0,0 @@
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, uViewControlGrid,
cxCheckListBox, cxCheckBox, uViewParametrosControlGrid;
type
IViewColumnas = interface(IViewParametrosControlGrid)
['{FD33275B-6875-421A-ABAC-595982ACDDDB}']
function GetCheckedColumns : TStringList;
end;
TfrViewColumnas = class(TfrViewParametrosControlGrid, 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 ViewControlGrid.ColumnCount - 1 do
begin
AddItem(ViewControlGrid.Columns[i].Caption);
AIndex := Items.Count - 1;
Items[AIndex].Checked := ViewControlGrid.Columns[i].Visible;
Items[AIndex].ItemObject := ViewControlGrid.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.

View File

@ -1,576 +0,0 @@
inherited frViewControlBase: TfrViewControlBase
Width = 699
Height = 607
object TBXMultiDock1: TTBXMultiDock
Left = 0
Top = 0
Width = 222
Height = 607
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
Align = alTop
AutoSize = True
Margins.Left = 4
Margins.Top = 4
Margins.Right = 4
Margins.Bottom = 4
TabOrder = 0
object TBXLink1: TTBXLink
Left = 4
Top = 4
Width = 210
Height = 19
Cursor = crHandPoint
Align = alTop
Font.Charset = DEFAULT_CHARSET
Font.Color = clActiveCaption
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ImageIndex = 29
Margins.Top = 2
Margins.Bottom = 2
ParentColor = True
ParentFont = False
TabOrder = 0
Wrapping = twPathEllipsis
end
object TBXLink5: TTBXLink
Left = 4
Top = 23
Width = 210
Height = 20
Cursor = crHandPoint
Action = actColumnas
Align = alTop
Font.Charset = DEFAULT_CHARSET
Font.Color = clActiveCaption
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ImageIndex = 3
Images = SmallImages
Margins.Top = 2
Margins.Bottom = 2
ParentColor = True
ParentFont = False
TabOrder = 1
Wrapping = twPathEllipsis
end
object TBXLink2: TTBXLink
Left = 4
Top = 43
Width = 210
Height = 20
Cursor = crHandPoint
Action = actAgrupaciones
Align = alTop
Font.Charset = DEFAULT_CHARSET
Font.Color = clActiveCaption
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ImageIndex = 0
Images = SmallImages
Margins.Top = 2
Margins.Bottom = 2
ParentColor = True
ParentFont = False
TabOrder = 2
Wrapping = twPathEllipsis
end
end
object pcParametros: TPageControl
Left = 0
Top = 67
Width = 218
Height = 169
ActivePage = tsAgrupacion
Align = alClient
Style = tsFlatButtons
TabOrder = 1
object TabSheet5: TTabSheet
Caption = 'TabSheet5'
TabVisible = False
end
object tsColumnas: TTabSheet
Caption = 'tsColumnas'
ImageIndex = 1
TabVisible = False
inline frViewColumnas1: TfrViewColumnas
Left = 0
Top = 0
Width = 210
Height = 159
Align = alClient
TabOrder = 0
ReadOnly = False
inherited TBXLabel1: TTBXLabel
Width = 210
end
inherited lbColumnas: TcxCheckListBox
Width = 210
Height = 130
end
end
end
object tsAgrupacion: TTabSheet
Caption = 'tsAgrupacion'
ImageIndex = 2
TabVisible = False
inline frViewAgrupaciones1: TfrViewAgrupaciones
Left = 0
Top = 0
Width = 210
Height = 159
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
inherited TBXLabel1: TTBXLabel
Width = 210
end
inherited pnlAgrupaciones: TTBXAlignmentPanel
Width = 210
DesignSize = (
210
77)
inherited TBXButton1: TTBXButton
Width = 97
end
inherited TBXButton3: TTBXButton
Width = 97
end
inherited TBXButton2: TTBXButton
Width = 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
object TBXAlignmentPanel3: TTBXAlignmentPanel
Left = 0
Top = 236
Width = 218
Height = 30
Align = alBottom
TabOrder = 2
object bRefrescar: TButton
Left = 2
Top = 4
Width = 100
Height = 21
Action = actRefrescar
TabOrder = 0
end
end
end
object pnlTareas: TTBXDockablePanel
Left = 0
Top = 288
Caption = 'Modificar el informe'
CloseButton = False
CloseButtonWhenDocked = False
DockedWidth = 218
DockMode = dmCannotFloat
DockPos = 288
FloatingWidth = 128
FloatingHeight = 128
SplitHeight = 276
SplitWidth = 3
SupportedDocks = [dkStandardDock, dkMultiDock]
TabOrder = 1
object TBXPageScroller1: TTBXPageScroller
Left = 0
Top = 0
Width = 218
Height = 281
Align = alClient
DoubleBuffered = False
Range = 0
TabOrder = 0
object TBXAlignmentPanel1: TTBXAlignmentPanel
Left = 0
Top = 0
Width = 218
Height = 48
Align = alTop
AutoSize = True
Margins.Left = 4
Margins.Top = 4
Margins.Right = 4
Margins.Bottom = 4
TabOrder = 0
object bFiltros: TTBXLink
Left = 4
Top = 24
Width = 210
Height = 20
Cursor = crHandPoint
Action = actFiltros
Align = alTop
Font.Charset = DEFAULT_CHARSET
Font.Color = clActiveCaption
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ImageIndex = 1
Images = SmallImages
Margins.Top = 2
Margins.Bottom = 2
ParentColor = True
ParentFont = False
TabOrder = 0
end
object bSumarios: TTBXLink
Left = 4
Top = 4
Width = 210
Height = 20
Cursor = crHandPoint
Action = actSumarios
Align = alTop
Font.Charset = DEFAULT_CHARSET
Font.Color = clActiveCaption
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ImageIndex = 2
Images = SmallImages
Margins.Top = 2
Margins.Bottom = 2
ParentColor = True
ParentFont = False
TabOrder = 1
end
end
object pcTareas: TPageControl
Left = 0
Top = 48
Width = 218
Height = 233
ActivePage = tsFiltros
Align = alClient
Style = tsButtons
TabOrder = 1
object tsSumarios: TTabSheet
Caption = 'tsSumarios'
ImageIndex = 2
TabVisible = False
inline frViewSumarios1: TfrViewSumarios
Left = 0
Top = 0
Width = 210
Height = 223
Align = alClient
TabOrder = 0
ReadOnly = False
inherited TBXLabel1: TTBXLabel
Width = 210
end
inherited vgSumarios: TcxVerticalGrid
Width = 210
Height = 194
end
end
end
object tsFiltros: TTabSheet
Caption = 'tsFiltros'
ImageIndex = 1
TabVisible = False
inline frViewFiltros1: TfrViewFiltros
Left = 0
Top = 0
Width = 210
Height = 223
Align = alClient
TabOrder = 0
ReadOnly = False
inherited vgFiltros: TcxVerticalGrid
Width = 196
Height = 0
inherited vgFiltrosEditorRow1: TcxEditorRow
Properties.EditProperties.OnEditValueChanged = nil
end
end
inherited TBXLabel1: TTBXLabel
Width = 210
end
inherited cxFilterControl1: TcxFilterControl
Width = 210
Height = 164
end
inherited TBXAlignmentPanel3: TTBXAlignmentPanel
Top = 193
Width = 210
end
end
end
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

View File

@ -1,179 +0,0 @@
unit uViewControlBase;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, TBXDkPanels, StdCtrls, ComCtrls, TB2Dock,
uViewAgrupaciones, uCustomView, uViewColumnas, ImgList, PngImageList,
ActnList, uViewControlGrid, uBizControlesBase, uViewSumarios,
uViewParametrosControlGrid, uViewFiltros, cxStyles;
type
IViewControlBase = interface(IViewBase)
['{A9892225-82DB-41AF-B69D-821E0663B3EF}']
function GetModificable: Boolean;
procedure SetModificable(const Value: Boolean);
property Modificable : Boolean read GetModificable write SetModificable;
function GetControl: IBizControlBase;
procedure SetControl(const Value: IBizControlBase);
property Control: IBizControlBase read GetControl write SetControl;
function GetOnViewChanged : TNotifyEvent;
procedure SetOnViewChanged(const Value : TNotifyEvent);
property OnViewChanged: TNotifyEvent read GetOnViewChanged write SetOnViewChanged;
end;
TfrViewControlBase = class(TfrViewBase, IViewControlBase)
TBXMultiDock1: TTBXMultiDock;
pnlParametros: TTBXDockablePanel;
TBXAlignmentPanel2: TTBXAlignmentPanel;
TBXLink1: TTBXLink;
TBXLink5: TTBXLink;
TBXLink2: TTBXLink;
pcParametros: TPageControl;
TabSheet5: TTabSheet;
tsColumnas: TTabSheet;
tsAgrupacion: TTabSheet;
TBXAlignmentPanel3: TTBXAlignmentPanel;
bRefrescar: TButton;
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;
procedure actColumnasExecute(Sender: TObject);
procedure actSumariosExecute(Sender: TObject);
procedure actFiltrosExecute(Sender: TObject);
procedure actAgrupacionesExecute(Sender: TObject);
protected
FControl : IBizControlBase;
FOnViewChanged : TNotifyEvent;
FModificable : Boolean;
procedure ActivarTarea (const ATarea : Integer); virtual;
function GetControl: IBizControlBase; virtual;
procedure SetControl(const Value: IBizControlBase); virtual;
function GetOnViewChanged : TNotifyEvent; virtual;
procedure SetOnViewChanged(const Value : TNotifyEvent); virtual;
function GetModificable: Boolean; virtual;
procedure SetModificable(const Value: Boolean); virtual;
public
property Modificable : Boolean read GetModificable write SetModificable;
property OnViewChanged: TNotifyEvent read GetOnViewChanged write SetOnViewChanged;
property Control: IBizControlBase read GetControl write SetControl;
constructor Create(AOwner: TComponent); override;
end;
implementation
{$R *.dfm}
const
COLUMNAS = 1;
AGRUPACIONES = 2;
SUMARIOS = 3;
FILTROS = 4;
procedure TfrViewControlBase.actColumnasExecute(Sender: TObject);
begin
inherited;
ActivarTarea(COLUMNAS);
frViewColumnas1.Refresh;
end;
procedure TfrViewControlBase.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 TfrViewControlBase.GetControl: IBizControlBase;
begin
Result := FControl;
end;
procedure TfrViewControlBase.SetControl(const Value: IBizControlBase);
begin
FControl := Value;
frViewColumnas1.Refresh;
frViewAgrupaciones1.Refresh;
// ¿Es modificable el control?
Self.Modificable := FControl.EsModificable;
end;
procedure TfrViewControlBase.actSumariosExecute(Sender: TObject);
begin
inherited;
ActivarTarea(SUMARIOS);
frViewSumarios1.Refresh;
end;
procedure TfrViewControlBase.actFiltrosExecute(Sender: TObject);
begin
inherited;
ActivarTarea(FILTROS);
frViewFiltros1.Refresh;
end;
procedure TfrViewControlBase.actAgrupacionesExecute(Sender: TObject);
begin
inherited;
ActivarTarea(AGRUPACIONES);
frViewAgrupaciones1.Refresh;
end;
function TfrViewControlBase.GetOnViewChanged: TNotifyEvent;
begin
Result := FOnViewChanged;
end;
procedure TfrViewControlBase.SetOnViewChanged(const Value: TNotifyEvent);
begin
FOnViewChanged := Value;
end;
constructor TfrViewControlBase.Create(AOwner: TComponent);
begin
inherited;
FModificable := False;
pcParametros.ActivePage := tsColumnas;
pcTareas.ActivePage := tsSumarios;
FOnViewChanged := nil;
end;
function TfrViewControlBase.GetModificable: Boolean;
begin
Result := FModificable;
end;
procedure TfrViewControlBase.SetModificable(const Value: Boolean);
begin
FModificable := Value;
frViewColumnas1.Modificable := FModificable;
frViewAgrupaciones1.Modificable := FModificable;
end;
end.

View File

@ -1,149 +0,0 @@
inherited frViewControlGrid: TfrViewControlGrid
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 = (
'VARELA IMAGEN Y DISE'#209'O 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
OptionsExpanding.ExpandGroupRows = True
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
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

View File

@ -1,284 +0,0 @@
{*******************************************************}
{ }
{ Administración de puntos de venta }
{ }
{ Copyright (C) 2006 Rodax Software S.L. }
{ }
{*******************************************************}
unit uViewControlGrid;
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, dxPScxGridLnk,
dxPgsDlg;
type
IViewControlGrid = interface(IViewBase)
['{566F315A-70A6-4BCE-8A02-0C7E10FF311A}']
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;
TfrViewControlGrid = class(TfrViewBase, IViewControlGrid)
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}
{ TfrViewControlGrid }
procedure TfrViewControlGrid.ActivarEventos;
begin
//
end;
procedure TfrViewControlGrid.AjustarAncho;
begin
FocusedView.ApplyBestFit;
end;
procedure TfrViewControlGrid.ContraerTodo;
begin
FocusedView.ViewData.Collapse(True);
end;
constructor TfrViewControlGrid.Create(AOwner: TComponent);
begin
inherited;
FOnViewChanged := nil;
end;
procedure TfrViewControlGrid.DesactivarEventos;
begin
//
end;
procedure TfrViewControlGrid.ExpandirTodo;
begin
FocusedView.ViewData.Expand(True);
end;
function TfrViewControlGrid.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 TfrViewControlGrid.GetColumnCount: Integer;
begin
Result := FocusedView.ColumnCount;
end;
function TfrViewControlGrid.GetColumns(Index: Integer): TcxGridDBColumn;
begin
Result := FocusedView.Columns[Index];
end;
function TfrViewControlGrid.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 TfrViewControlGrid.GetGroupedColumnCount: Integer;
begin
Result := FocusedView.GroupedColumnCount;
end;
function TfrViewControlGrid.GetGroupedColumns(
Index: Integer): TcxGridColumn;
begin
Result := FocusedView.GroupedColumns[Index];
end;
function TfrViewControlGrid.GetOnFilterChanged: TNotifyEvent;
begin
Result := FOnFilterChanged;
end;
function TfrViewControlGrid.GetOnViewChanged: TNotifyEvent;
begin
Result := FOnViewChanged;
end;
function TfrViewControlGrid.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 TfrViewControlGrid.GotoFirst;
begin
FocusedView.DataController.GotoFirst;
end;
procedure TfrViewControlGrid.GotoLast;
begin
FocusedView.DataController.GotoLast;
end;
procedure TfrViewControlGrid.Preview;
begin
dxPrinterLinkcxGrid.Preview;
end;
procedure TfrViewControlGrid.Print;
begin
dxPrinterLinkcxGrid.Print(True, nil);
end;
procedure TfrViewControlGrid.PrintSetup;
begin
dxPrinterLinkcxGrid.PageSetup;
end;
procedure TfrViewControlGrid.SetOnFilterChanged(const Value: TNotifyEvent);
begin
FOnFilterChanged := Value;
end;
procedure TfrViewControlGrid.SetOnViewChanged(const Value: TNotifyEvent);
begin
FOnViewChanged := Value;
end;
procedure TfrViewControlGrid.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.

View File

@ -1,263 +0,0 @@
inherited frViewControlesBase: TfrViewControlesBase
object EasyListview: TEasyListview
Left = 0
Top = 0
Width = 296
Height = 216
Align = alClient
EditManager.TabMoveFocus = False
UseDockManager = False
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
GroupFont.Charset = DEFAULT_CHARSET
GroupFont.Color = clWindowText
GroupFont.Height = -11
GroupFont.Name = 'Tahoma'
GroupFont.Style = []
Header.Font.Charset = DEFAULT_CHARSET
Header.Font.Color = clWindowText
Header.Font.Height = -11
Header.Font.Name = 'Tahoma'
Header.Font.Style = []
ImagesLarge = ReportImages
PaintInfoGroup.BandColor = clGradientActiveCaption
PaintInfoGroup.BandThickness = 2
PaintInfoGroup.CaptionIndent = 5
PaintInfoGroup.Expandable = False
ParentFont = False
Selection.AlphaBlend = True
Selection.MouseButton = [embLeft, embRight]
Selection.MouseButtonSelRect = [embLeft, embRight]
TabOrder = 0
View = elsTile
OnItemContextMenu = EasyListviewItemContextMenu
OnItemDblClick = EasyListviewItemDblClick
OnItemSelectionChanged = EasyListviewItemSelectionChanged
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
end

View File

@ -1,204 +0,0 @@
unit uViewControlesBase;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, cxGraphics, cxCustomData, cxStyles, cxTL,
cxImageComboBox, cxMaskEdit, cxTextEdit, cxInplaceContainer, cxDBTL,
cxControls, cxTLData, Menus, uBizControlesBase, DB, uDADataTable,
ImgList, PngImageList, EasyLVCommonObjects, EasyListview,
EasyLVCommonUtilities;
type
IViewControlesBase = 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 GetControl: IBizControlBase;
procedure SetControl(const Value: IBizControlBase);
property Control: IBizControlBase read GetControl write SetControl;
procedure Refresh;
end;
TfrViewControlesBase = class(TfrViewBase, IViewControlesBase)
ReportImages: TPngImageList;
dsDataTable: TDADataSource;
EasyListview: TEasyListview;
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);
protected
FControl : IBizControlBase;
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 GetControl: IBizControlBase; virtual;
procedure SetControl(const Value: IBizControlBase); virtual;
public
procedure Refresh; override;
property Control: IBizControlBase read GetControl write SetControl;
property OnDblClick: TNotifyEvent read GetDblClick write SetDblClick;
property PopupMenu: TPopupMenu read GetPopupMenu write SetPopupMenu;
end;
implementation
{$R *.dfm}
{ TfrViewControlesBase }
function TfrViewControlesBase.GetControl: IBizControlBase;
begin
Result := FControl;
end;
function TfrViewControlesBase.GetDblClick: TNotifyEvent;
begin
Result := FOnDblClick;
end;
function TfrViewControlesBase.GetPopupMenu: TPopupMenu;
begin
Result := FPopupMenu;
end;
procedure TfrViewControlesBase.Refresh;
var
GroupNoModificable: TEasyGroup;
GroupModificable: TEasyGroup;
AItem : TEasyItem;
i: Integer;
IDSelected : string;
begin
inherited;
if not Assigned(FControl) then
Exit;
EasyListview.BeginUpdate(False);
try
IDSelected := '';
if EasyListview.Groups.Count > 0 then
begin
for i := 0 to EasyListview.Items.Count - 1 do
if EasyListview.Items[i].Selected then
IDSelected := EasyListview.Items[i].Captions[3]; // Columna ID
EasyListview.Groups.Clear;
end;
GroupNoModificable := EasyListview.Groups.Add;
GroupNoModificable.Caption := 'Controles generales';
GroupNoModificable.Bold := True;
GroupModificable := EasyListview.Groups.Add;
GroupModificable.Caption := 'Controles personalizados';
GroupModificable.Bold := True;
with FControl do
begin
FControl.First;
for i := 0 to (FControl.RecordCount - 1) do
begin
if EsModificable then
AItem := GroupModificable.Items.Add(NIL)
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]);
FControl.Next;
end;
end;
finally
EasyListview.Sort.SortAll;
EasyListview.EndUpdate;
if (Length(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
FControl.First;
FControl.Locate('ID', StrToInt(EasyListview.Items[i].Captions[3]), []);
Break;
end;
EasyListview.ShowGroupMargins := True;
end
end;
procedure TfrViewControlesBase.SetControl(const Value: IBizControlBase);
begin
FControl := Value;
dsDataTable.DataTable := Value.DataTable;
end;
procedure TfrViewControlesBase.SetDblClick(const Value: TNotifyEvent);
begin
FOnDblClick := Value;
end;
procedure TfrViewControlesBase.SetPopupMenu(const Value: TPopupMenu);
begin
FPopupMenu := Value;
end;
procedure TfrViewControlesBase.EasyListviewItemDblClick(
Sender: TCustomEasyListview; Button: TEasyMouseButton; MousePos: TPoint;
HitInfo: TEasyHitInfoItem);
begin
inherited;
if Assigned(FOnDblClick) then
FOnDblClick(Self);
end;
procedure TfrViewControlesBase.EasyListviewItemContextMenu(
Sender: TCustomEasyListview; HitInfo: TEasyHitInfoItem;
WindowPoint: TPoint; var Menu: TPopupMenu; var Handled: Boolean);
begin
inherited;
if Assigned(FPopupMenu) then
Menu := FPopupMenu;
end;
procedure TfrViewControlesBase.EasyListviewItemSelectionChanged(
Sender: TCustomEasyListview; Item: TEasyItem);
begin
inherited;
if not Item.Destroying then
begin
FControl.First;
FControl.Locate('ID', StrToInt(Item.Captions[3]), []);
end;
end;
end.

View File

@ -1,115 +0,0 @@
inherited frViewFiltros: TfrViewFiltros
Width = 209
Height = 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
Align = alTop
Caption = 'Filtros'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
Margins.Top = 5
Margins.Bottom = 10
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
TabOrder = 2
TabStop = True
end
object TBXAlignmentPanel3: TTBXAlignmentPanel
Left = 0
Top = 432
Width = 209
Height = 30
Align = alBottom
Margins.Left = 3
Margins.Top = 3
Margins.Right = 3
Margins.Bottom = 3
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

View File

@ -1,197 +0,0 @@
unit uViewFiltros;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewParametrosControlGrid, cxStyles, cxGraphics, cxEdit,
TBXDkPanels, cxControls, cxInplaceContainer, cxVGrid, cxDropDownEdit,
ImgList, PngImageList, cxFilterControl, uViewControlGrid,
cxDBFilterControl, StdCtrls;
type
IViewFiltros = interface(IViewParametrosControlGrid)
['{92FA8AF8-D0D8-4BC6-9611-CF3094CD4385}']
end;
TfrViewFiltros = class(TfrViewParametrosControlGrid, 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 SetViewControlGrid(const Value: IViewControlGrid); 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;
FViewControlGrid.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 ViewControlGrid.FocusedView.VisibleColumnCount - 1 do
begin
AColumn := TcxGridDBColumn(ViewControlGrid.FocusedView.VisibleColumns[i]);
AValueList := ViewControlGrid.FilterValueList[AColumn.Index];
AddRow;
end;
finally
vgFiltros.EndUpdate;
end;}
end;
procedure TfrViewFiltros.SetViewControlGrid(const Value: IViewControlGrid);
begin
inherited;
cxFilterControl1.LinkComponent := FViewControlGrid.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 := ViewControlGrid.GetColumnByCaption(ARow.Properties.Caption);
if Assigned(AColumn) and (AItemIndex <> -1) then
begin
AColumn.DataBinding.Filter.BeginUpdate;
try
with ViewControlGrid.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:
ViewControlGrid.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.

View File

@ -1,3 +0,0 @@
inherited frViewParametrosControlGrid: TfrViewParametrosControlGrid
ParentFont = True
end

View File

@ -1,82 +0,0 @@
unit uViewParametrosControlGrid;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, uViewControlGrid;
type
IViewParametrosControlGrid = interface(IViewBase)
['{A060605B-AFB1-4F6F-8273-7739C4C4905B}']
function GetModificable: Boolean;
procedure SetModificable(const Value: Boolean);
property Modificable : Boolean read GetModificable write SetModificable;
procedure SetViewControlGrid (const Value : IViewControlGrid);
function GetViewControlGrid : IViewControlGrid;
property ViewControlGrid : IViewControlGrid read GetViewControlGrid write SetViewControlGrid;
procedure Execute;
procedure Refresh;
end;
TfrViewParametrosControlGrid = class(TfrViewBase, IViewParametrosControlGrid)
protected
FViewControlGrid : IViewControlGrid;
FModificable : Boolean;
function GetModificable: Boolean; virtual;
procedure SetModificable(const Value: Boolean); virtual;
procedure SetViewControlGrid (const Value : IViewControlGrid); virtual;
function GetViewControlGrid : IViewControlGrid; virtual;
public
property Modificable : Boolean read GetModificable write SetModificable;
property ViewControlGrid : IViewControlGrid read GetViewControlGrid write SetViewControlGrid;
procedure Execute; virtual;
procedure Refresh; override;
end;
implementation
{$R *.dfm}
{ TfrViewParametrosControlGrid }
procedure TfrViewParametrosControlGrid.Execute;
begin
if not Assigned(ViewControlGrid) then
raise Exception.Create('Vista para el control no asignada (Execute)');
end;
function TfrViewParametrosControlGrid.GetModificable: Boolean;
begin
Result := FModificable;
end;
function TfrViewParametrosControlGrid.GetViewControlGrid: IViewControlGrid;
begin
Result := FViewControlGrid;
end;
procedure TfrViewParametrosControlGrid.Refresh;
begin
inherited;
if not Assigned(ViewControlGrid) then
raise Exception.Create('Vista para el control no asignada (Refresh)');
end;
procedure TfrViewParametrosControlGrid.SetModificable(
const Value: Boolean);
begin
FModificable := Value;
end;
procedure TfrViewParametrosControlGrid.SetViewControlGrid(
const Value: IViewControlGrid);
begin
FViewControlGrid := Value;
end;
end.

View File

@ -1,174 +0,0 @@
inherited frViewPeriodoFechas: TfrViewPeriodoFechas
Width = 253
Height = 351
object TBXLabel1: TTBXLabel
Left = 0
Top = 50
Width = 253
Height = 29
Align = alTop
Caption = 'Rango de fechas'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
Margins.Top = 5
Margins.Bottom = 10
ParentColor = True
ParentFont = False
Underline = True
end
object TBXLabel2: TTBXLabel
Left = 0
Top = 0
Width = 253
Height = 29
Align = alTop
Caption = 'Periodo'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
Margins.Top = 5
Margins.Bottom = 10
ParentColor = True
ParentFont = False
Underline = True
end
object TBXAlignmentPanel1: TTBXAlignmentPanel
Left = 0
Top = 29
Width = 253
Height = 21
Align = alTop
AutoSize = True
Margins.Left = 5
Margins.Right = 5
TabOrder = 2
DesignSize = (
253
21)
object cbPeriodo: TcxComboBox
Left = 8
Top = 0
RepositoryItem = cxRepositoryPeriodos
Anchors = [akLeft, akTop, akRight]
Properties.OnChange = cbPeriodoPropertiesChange
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
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
Text = 'Este mes'
Width = 209
end
end
object TBXAlignmentPanel2: TTBXAlignmentPanel
Left = 0
Top = 79
Width = 253
Height = 48
Align = alTop
AutoSize = True
Margins.Left = 5
Margins.Right = 5
TabOrder = 3
object Label1: TLabel
Left = 9
Top = 4
Width = 34
Height = 13
Caption = 'Desde:'
Transparent = True
end
object Label2: TLabel
Left = 14
Top = 31
Width = 29
Height = 13
Caption = 'hasta:'
Transparent = True
end
object edtFechaIni: TcxDateEdit
Left = 48
Top = 0
Properties.DateButtons = [btnToday]
Properties.PostPopupValueOnTab = True
Properties.SaveTime = False
Properties.ShowTime = False
Properties.OnValidate = edtFechaIni2PropertiesValidate
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
Style.ButtonStyle = bts3D
Style.PopupBorderStyle = epbsDefault
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 = 48
Top = 27
Properties.DateButtons = [btnToday]
Properties.PostPopupValueOnTab = True
Properties.SaveTime = False
Properties.ShowTime = False
Properties.OnValidate = edtFechaFinPropertiesValidate
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
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
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
end

View File

@ -1,203 +0,0 @@
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, uViewParametrosControlGrid;
type
IViewPeriodoFechas = interface(IViewParametrosControlGrid)
['{793084E2-873E-4C57-8BD6-9087816CCF3A}']
end;
TfrViewPeriodoFechas = class(TfrViewParametrosControlGrid, IViewPeriodoFechas)
cbPeriodo: TcxComboBox;
edtFechaIni: TcxDateEdit;
edtFechaFin: TcxDateEdit;
cxRepository: TcxEditRepository;
cxRepositoryPeriodos: TcxEditRepositoryComboBoxItem;
TBXLabel1: TTBXLabel;
TBXLabel2: TTBXLabel;
TBXAlignmentPanel1: TTBXAlignmentPanel;
TBXAlignmentPanel2: TTBXAlignmentPanel;
Label1: TLabel;
Label2: TLabel;
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.

View File

@ -1,115 +0,0 @@
inherited frViewSumarios: TfrViewSumarios
Width = 344
Height = 472
object TBXLabel1: TTBXLabel
Left = 0
Top = 0
Width = 344
Height = 29
Align = alTop
Caption = 'Res'#250'menes'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
Margins.Top = 5
Margins.Bottom = 10
ParentColor = True
ParentFont = False
Underline = True
end
object vgSumarios: TcxVerticalGrid
Left = 0
Top = 29
Width = 344
Height = 443
Styles.Category = cxStyleCategoria
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
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
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

View File

@ -1,325 +0,0 @@
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, cxVGrid, TBXToolPals, uViewControlGrid,
uViewParametrosControlGrid;
type
IViewSumarios = interface(IViewParametrosControlGrid)
['{4AEE3447-C6A4-491F-87E7-02CD255A7695}']
end;
TfrViewSumarios = class(TfrViewParametrosControlGrid, 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 ViewControlGrid.GroupedColumnCount - 1 do
begin
if i = 3 then
Break; // Sólo meter las 3 primera agrupaciones
RellenarCategoria(spGroup, ViewControlGrid.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);
const
MASK_MONEDA = ',0.## €;-,0.## €';
MASK_NUMERO = '#,##0';
var
AColumn : TcxGridDBColumn;
begin
AColumn := ViewControlGrid.GetColumnByCaption(AColumnCaption);
if APosition = spFooter then
begin
AColumn.Summary.FooterKind := AKind;
if (AKind in [skSum, skAverage]) and (AColumn.PropertiesClassName = 'TcxCurrencyEditProperties') then
AColumn.Summary.FooterFormat := MASK_MONEDA
else
AColumn.Summary.FooterFormat := MASK_NUMERO;
end
else begin
AColumn.Summary.GroupFooterKind := AKind;
if (AKind in [skSum, skAverage]) and (AColumn.PropertiesClassName = 'TcxCurrencyEditProperties') then
AColumn.Summary.GroupFooterFormat := MASK_MONEDA
else
AColumn.Summary.GroupFooterFormat := MASK_NUMERO;
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 := ViewControlGrid.FocusedView.DataController.Summary.FooterSummaryItems;
ImageIndex := 0;
Caption := 'Resúmenes totales'
end;
for i := 0 to ViewControlGrid.FocusedView.VisibleColumnCount - 1 do
begin
ACaption := ViewControlGrid.FocusedView.VisibleColumns[i].Caption;
AClase := ViewControlGrid.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 ViewControlGrid.GroupedColumnCount - 1 do
begin
if i = 3 then
Break; // Sólo meter las 3 primera agrupaciones
RellenarCategoria(spGroup, ViewControlGrid.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(ViewControlGrid.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 := ViewControlGrid.FocusedView.DataController.Summary.SummaryGroups.FindByItemLink(ViewControlGrid.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 ViewControlGrid.FocusedView.VisibleColumnCount - 1 do
begin
ACaption := ViewControlGrid.FocusedView.VisibleColumns[i].Caption;
AClase := ViewControlGrid.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.

View File

@ -1,492 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<BorlandProject>
<PersonalityInfo>
<Option>
<Option Name="Personality">Delphi.Personality</Option>
<Option Name="ProjectType">VCLApplication</Option>
<Option Name="Version">1.0</Option>
<Option Name="GUID">{E69E6CDD-AD95-4BFC-94DA-E0E41134D5D8}</Option>
</Option>
</PersonalityInfo>
<Delphi.Personality>
<Source>
<Source Name="MainSource">InformesBase.dpk</Source>
</Source>
<FileVersion>
<FileVersion Name="Version">7.0</FileVersion>
</FileVersion>
<Compiler>
<Compiler Name="A">8</Compiler>
<Compiler Name="B">0</Compiler>
<Compiler Name="C">1</Compiler>
<Compiler Name="D">1</Compiler>
<Compiler Name="E">0</Compiler>
<Compiler Name="F">0</Compiler>
<Compiler Name="G">1</Compiler>
<Compiler Name="H">1</Compiler>
<Compiler Name="I">1</Compiler>
<Compiler Name="J">0</Compiler>
<Compiler Name="K">0</Compiler>
<Compiler Name="L">1</Compiler>
<Compiler Name="M">0</Compiler>
<Compiler Name="N">1</Compiler>
<Compiler Name="O">0</Compiler>
<Compiler Name="P">1</Compiler>
<Compiler Name="Q">0</Compiler>
<Compiler Name="R">0</Compiler>
<Compiler Name="S">0</Compiler>
<Compiler Name="T">0</Compiler>
<Compiler Name="U">0</Compiler>
<Compiler Name="V">1</Compiler>
<Compiler Name="W">1</Compiler>
<Compiler Name="X">1</Compiler>
<Compiler Name="Y">1</Compiler>
<Compiler Name="Z">1</Compiler>
<Compiler Name="ShowHints">True</Compiler>
<Compiler Name="ShowWarnings">True</Compiler>
<Compiler Name="UnitAliases">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler>
<Compiler Name="NamespacePrefix"></Compiler>
<Compiler Name="GenerateDocumentation">False</Compiler>
<Compiler Name="DefaultNamespace"></Compiler>
<Compiler Name="SymbolDeprecated">True</Compiler>
<Compiler Name="SymbolLibrary">True</Compiler>
<Compiler Name="SymbolPlatform">True</Compiler>
<Compiler Name="SymbolExperimental">True</Compiler>
<Compiler Name="UnitLibrary">True</Compiler>
<Compiler Name="UnitPlatform">True</Compiler>
<Compiler Name="UnitDeprecated">True</Compiler>
<Compiler Name="UnitExperimental">True</Compiler>
<Compiler Name="HResultCompat">True</Compiler>
<Compiler Name="HidingMember">True</Compiler>
<Compiler Name="HiddenVirtual">True</Compiler>
<Compiler Name="Garbage">True</Compiler>
<Compiler Name="BoundsError">True</Compiler>
<Compiler Name="ZeroNilCompat">True</Compiler>
<Compiler Name="StringConstTruncated">True</Compiler>
<Compiler Name="ForLoopVarVarPar">True</Compiler>
<Compiler Name="TypedConstVarPar">True</Compiler>
<Compiler Name="AsgToTypedConst">True</Compiler>
<Compiler Name="CaseLabelRange">True</Compiler>
<Compiler Name="ForVariable">True</Compiler>
<Compiler Name="ConstructingAbstract">True</Compiler>
<Compiler Name="ComparisonFalse">True</Compiler>
<Compiler Name="ComparisonTrue">True</Compiler>
<Compiler Name="ComparingSignedUnsigned">True</Compiler>
<Compiler Name="CombiningSignedUnsigned">True</Compiler>
<Compiler Name="UnsupportedConstruct">True</Compiler>
<Compiler Name="FileOpen">True</Compiler>
<Compiler Name="FileOpenUnitSrc">True</Compiler>
<Compiler Name="BadGlobalSymbol">True</Compiler>
<Compiler Name="DuplicateConstructorDestructor">True</Compiler>
<Compiler Name="InvalidDirective">True</Compiler>
<Compiler Name="PackageNoLink">True</Compiler>
<Compiler Name="PackageThreadVar">True</Compiler>
<Compiler Name="ImplicitImport">True</Compiler>
<Compiler Name="HPPEMITIgnored">True</Compiler>
<Compiler Name="NoRetVal">True</Compiler>
<Compiler Name="UseBeforeDef">True</Compiler>
<Compiler Name="ForLoopVarUndef">True</Compiler>
<Compiler Name="UnitNameMismatch">True</Compiler>
<Compiler Name="NoCFGFileFound">True</Compiler>
<Compiler Name="ImplicitVariants">True</Compiler>
<Compiler Name="UnicodeToLocale">True</Compiler>
<Compiler Name="LocaleToUnicode">True</Compiler>
<Compiler Name="ImagebaseMultiple">True</Compiler>
<Compiler Name="SuspiciousTypecast">True</Compiler>
<Compiler Name="PrivatePropAccessor">True</Compiler>
<Compiler Name="UnsafeType">False</Compiler>
<Compiler Name="UnsafeCode">False</Compiler>
<Compiler Name="UnsafeCast">False</Compiler>
<Compiler Name="OptionTruncated">True</Compiler>
<Compiler Name="WideCharReduced">True</Compiler>
<Compiler Name="DuplicatesIgnored">True</Compiler>
<Compiler Name="UnitInitSeq">True</Compiler>
<Compiler Name="LocalPInvoke">True</Compiler>
<Compiler Name="MessageDirective">True</Compiler>
<Compiler Name="CodePage"></Compiler>
</Compiler>
<Linker>
<Linker Name="MapFile">3</Linker>
<Linker Name="OutputObjs">0</Linker>
<Linker Name="GenerateHpps">False</Linker>
<Linker Name="ConsoleApp">1</Linker>
<Linker Name="DebugInfo">False</Linker>
<Linker Name="RemoteSymbols">False</Linker>
<Linker Name="GenerateDRC">False</Linker>
<Linker Name="MinStackSize">16384</Linker>
<Linker Name="MaxStackSize">1048576</Linker>
<Linker Name="ImageBase">4194304</Linker>
<Linker Name="ExeDescription"></Linker>
</Linker>
<Directories>
<Directories Name="OutputDir"></Directories>
<Directories Name="UnitOutputDir">.\</Directories>
<Directories Name="PackageDLLOutputDir">..\Output\Cliente</Directories>
<Directories Name="PackageDCPOutputDir">.\</Directories>
<Directories Name="SearchPath">..\Base</Directories>
<Directories Name="Packages">vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7</Directories>
<Directories Name="Conditionals"></Directories>
<Directories Name="DebugSourceDirs"></Directories>
<Directories Name="UsePackages">False</Directories>
</Directories>
<Parameters>
<Parameters Name="RunParams"></Parameters>
<Parameters Name="HostApplication"></Parameters>
<Parameters Name="Launcher"></Parameters>
<Parameters Name="UseLauncher">False</Parameters>
<Parameters Name="DebugCWD"></Parameters>
<Parameters Name="Debug Symbols Search Path"></Parameters>
<Parameters Name="LoadAllSymbols">True</Parameters>
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
</Parameters>
<Language>
<Language Name="ActiveLang"></Language>
<Language Name="ProjectLang">$00000000</Language>
<Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language>
</Language>
<VersionInfo>
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
<VersionInfo Name="MajorVer">1</VersionInfo>
<VersionInfo Name="MinorVer">0</VersionInfo>
<VersionInfo Name="Release">3</VersionInfo>
<VersionInfo Name="Build">0</VersionInfo>
<VersionInfo Name="Debug">False</VersionInfo>
<VersionInfo Name="PreRelease">False</VersionInfo>
<VersionInfo Name="Special">False</VersionInfo>
<VersionInfo Name="Private">False</VersionInfo>
<VersionInfo Name="DLL">False</VersionInfo>
<VersionInfo Name="Locale">3082</VersionInfo>
<VersionInfo Name="CodePage">1252</VersionInfo>
</VersionInfo>
<VersionInfoKeys>
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">1.0.3.0</VersionInfoKeys>
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
</VersionInfoKeys>
</Delphi.Personality>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=519
Activate=1
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
Freeze Message=The application seems to be frozen.
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
Show TerminateBtn=1
TerminateBtn Operation=1
Errors Number=32
Errors Terminate=3
Email Address=
Email Object=
Email Send Options=0
Output Path=
Encrypt Password=
AutoCloseDialogSecs=0
WebSendMode=0
SupportULR=
HTMLLayout Count=15
HTMLLine0="%3Chtml%3E"
HTMLLine1=" %3Chead%3E"
HTMLLine2=" %3C/head%3E"
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
HTMLLine5=" %3Ctr%3E"
HTMLLine6=" %3Ctd nowrap%3E"
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
HTMLLine8=" %3C%%HTML_TAG%%%3E"
HTMLLine9=" %3C/font%3E"
HTMLLine10=" %3C/td%3E"
HTMLLine11=" %3C/tr%3E"
HTMLLine12=" %3C/table%3E"
HTMLLine13=" %3C/body%3E"
HTMLLine14="%3C/html%3E"
AutoCrashOperation=1
AutoCrashNumber=10
AutoCrashMinutes=1
WebURL=
WebUserID=
WebPassword=
WebPort=0
AttachedFiles=
Count=0
EMail Message Line Count=0
loNoDuplicateErrors=0
loAppendReproduceText=0
loDeleteLogAtVersionChange=0
loAddComputerNameInLogFileName=0
loSaveModulesSection=1
loSaveCPUSection=1
soAppStartDate=1
soAppName=1
soAppVersionNumber=1
soAppParameters=1
soAppCompilationDate=1
soExcDate=1
soExcAddress=1
soExcModule=1
soExcType=1
soExcMessage=1
soActCtlsFormClass=1
soActCtlsFormText=1
soActCtlsControlClass=1
soActCtlsControlText=1
soCmpName=1
soCmpUser=1
soCmpTotalMemory=1
soCmpFreeMemory=1
soCmpTotalDisk=1
soCmpFreeDisk=1
soCmpSysUpTime=1
soCmpProcessor=1
soCmpDisplayMode=1
soOSType=1
soOSBuildN=1
soOSUpdate=1
soOSLanguage=1
soNetIP=1
soNetSubmask=1
soNetGateway=1
soNetDNS1=1
soNetDNS2=1
soNetDHCP=1
sndShowSendDialog=1
sndShowSuccessFailureMsg=0
sndSendEntireLog=0
sndSendXMLLogCopy=0
sndSendScreenshot=0
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndCompressAllFiles=0
edoShowExceptionDialog=1
edoSendEmailChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=1
csoShowDLLs=1
csoShowBPLs=1
csoShowBorlandThreads=1
csoShowWindowsThreads=1
csoShowProcedureOffset=0
boActivateCrashDetection=0
boPauseBorlandThreads=0
boDoNotPauseMainThread=0
boPauseWindowsThreads=0
boUseMainModuleOptions=1
boCopyLogInCaseOfError=1
boSaveCompressedCopyInCaseOfError=0
Count mtInformationMsgCaption=1
mtInformationMsgCaption0="Information."
Count mtQuestionMsgCaption=1
mtQuestionMsgCaption0="Question."
Count mtDialog_Caption=1
mtDialog_Caption0="Error."
Count mtDialog_ErrorMsgCaption=2
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
Count mtDialog_GeneralCaption=1
mtDialog_GeneralCaption0="General"
Count mtDialog_GeneralHeader=1
mtDialog_GeneralHeader0="General Information"
Count mtDialog_CallStackCaption=1
mtDialog_CallStackCaption0="Call Stack"
Count mtDialog_CallStackHeader=1
mtDialog_CallStackHeader0="Call Stack Information"
Count mtDialog_ModulesCaption=1
mtDialog_ModulesCaption0="Modules"
Count mtDialog_ModulesHeader=1
mtDialog_ModulesHeader0="Modules Information"
Count mtDialog_CPUCaption=1
mtDialog_CPUCaption0="CPU"
Count mtDialog_CPUHeader=1
mtDialog_CPUHeader0="CPU Information"
Count mtDialog_CustomDataCaption=1
mtDialog_CustomDataCaption0="Other"
Count mtDialog_CustomDataHeader=1
mtDialog_CustomDataHeader0="Other Information"
Count mtDialog_OKButtonCaption=1
mtDialog_OKButtonCaption0="%26OK"
Count mtDialog_TerminateButtonCaption=1
mtDialog_TerminateButtonCaption0="%26Terminate"
Count mtDialog_RestartButtonCaption=1
mtDialog_RestartButtonCaption0="%26Restart"
Count mtDialog_DetailsButtonCaption=1
mtDialog_DetailsButtonCaption0="%26Details"
Count mtDialog_SendMessage=1
mtDialog_SendMessage0="%26Send this error via Internet"
Count mtDialog_ScreenshotMessage=1
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
Count mtDialog_CopyMessage=1
mtDialog_CopyMessage0="%26Copy to Clipboard"
Count mtDialog_SupportMessage=1
mtDialog_SupportMessage0="Go to the Support Page"
Count mtLog_AppHeader=1
mtLog_AppHeader0="Application"
Count mtLog_AppStartDate=1
mtLog_AppStartDate0="Start Date"
Count mtLog_AppName=1
mtLog_AppName0="Name/Description"
Count mtLog_AppVersionNumber=1
mtLog_AppVersionNumber0="Version Number"
Count mtLog_AppParameters=1
mtLog_AppParameters0="Parameters"
Count mtLog_AppCompilationDate=1
mtLog_AppCompilationDate0="Compilation Date"
Count mtLog_ExcHeader=1
mtLog_ExcHeader0="Exception"
Count mtLog_ExcDate=1
mtLog_ExcDate0="Date"
Count mtLog_ExcAddress=1
mtLog_ExcAddress0="Address"
Count mtLog_ExcModule=1
mtLog_ExcModule0="Module"
Count mtLog_ExcType=1
mtLog_ExcType0="Type"
Count mtLog_ExcMessage=1
mtLog_ExcMessage0="Message"
Count mtLog_ActCtrlsHeader=1
mtLog_ActCtrlsHeader0="Active Controls"
Count mtLog_ActCtrlsFormClass=1
mtLog_ActCtrlsFormClass0="Form Class"
Count mtLog_ActCtrlsFormText=1
mtLog_ActCtrlsFormText0="Form Text"
Count mtLog_ActCtrlsControlClass=1
mtLog_ActCtrlsControlClass0="Control Class"
Count mtLog_ActCtrlsControlText=1
mtLog_ActCtrlsControlText0="Control Text"
Count mtLog_CmpHeader=1
mtLog_CmpHeader0="Computer"
Count mtLog_CmpName=1
mtLog_CmpName0="Name"
Count mtLog_CmpUser=1
mtLog_CmpUser0="User"
Count mtLog_CmpTotalMemory=1
mtLog_CmpTotalMemory0="Total Memory"
Count mtLog_CmpFreeMemory=1
mtLog_CmpFreeMemory0="Free Memory"
Count mtLog_CmpTotalDisk=1
mtLog_CmpTotalDisk0="Total Disk"
Count mtLog_CmpFreeDisk=1
mtLog_CmpFreeDisk0="Free Disk"
Count mtLog_CmpSystemUpTime=1
mtLog_CmpSystemUpTime0="System Up Time"
Count mtLog_CmpProcessor=1
mtLog_CmpProcessor0="Processor"
Count mtLog_CmpDisplayMode=1
mtLog_CmpDisplayMode0="Display Mode"
Count mtLog_OSHeader=1
mtLog_OSHeader0="Operating System"
Count mtLog_OSType=1
mtLog_OSType0="Type"
Count mtLog_OSBuildN=1
mtLog_OSBuildN0="Build #"
Count mtLog_OSUpdate=1
mtLog_OSUpdate0="Update"
Count mtLog_OSLanguage=1
mtLog_OSLanguage0="Language"
Count mtLog_NetHeader=1
mtLog_NetHeader0="Network"
Count mtLog_NetIP=1
mtLog_NetIP0="IP Address"
Count mtLog_NetSubmask=1
mtLog_NetSubmask0="Submask"
Count mtLog_NetGateway=1
mtLog_NetGateway0="Gateway"
Count mtLog_NetDNS1=1
mtLog_NetDNS10="DNS 1"
Count mtLog_NetDNS2=1
mtLog_NetDNS20="DNS 2"
Count mtLog_NetDHCP=1
mtLog_NetDHCP0="DHCP"
Count mtLog_CustInfoHeader=1
mtLog_CustInfoHeader0="Custom Information"
Count mtCallStack_Address=1
mtCallStack_Address0="Address"
Count mtCallStack_Name=1
mtCallStack_Name0="Module"
Count mtCallStack_Unit=1
mtCallStack_Unit0="Unit"
Count mtCallStack_Class=1
mtCallStack_Class0="Class"
Count mtCallStack_Procedure=1
mtCallStack_Procedure0="Procedure/Method"
Count mtCallStack_Line=1
mtCallStack_Line0="Line"
Count mtCallStack_MainThread=1
mtCallStack_MainThread0="Main"
Count mtCallStack_ExceptionThread=1
mtCallStack_ExceptionThread0="Exception Thread"
Count mtCallStack_RunningThread=1
mtCallStack_RunningThread0="Running Thread"
Count mtCallStack_CallingThread=1
mtCallStack_CallingThread0="Calling Thread"
Count mtCallStack_ThreadID=1
mtCallStack_ThreadID0="ID"
Count mtCallStack_ThreadPriority=1
mtCallStack_ThreadPriority0="Priority"
Count mtCallStack_ThreadClass=1
mtCallStack_ThreadClass0="Class"
Count mtSendDialog_Caption=1
mtSendDialog_Caption0="Send."
Count mtSendDialog_Message=1
mtSendDialog_Message0="Message"
Count mtSendDialog_Resolving=1
mtSendDialog_Resolving0="Resolving DNS..."
Count mtSendDialog_Connecting=1
mtSendDialog_Connecting0="Connecting with server..."
Count mtSendDialog_Connected=1
mtSendDialog_Connected0="Connected with server."
Count mtSendDialog_Sending=1
mtSendDialog_Sending0="Sending message..."
Count mtReproduceDialog_Caption=1
mtReproduceDialog_Caption0="Request"
Count mtReproduceDialog_Request=1
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
Count mtReproduceDialog_OKButtonCaption=1
mtReproduceDialog_OKButtonCaption0="%26OK"
Count mtModules_Handle=1
mtModules_Handle0="Handle"
Count mtModules_Name=1
mtModules_Name0="Name"
Count mtModules_Description=1
mtModules_Description0="Description"
Count mtModules_Version=1
mtModules_Version0="Version"
Count mtModules_Size=1
mtModules_Size0="Size"
Count mtModules_LastModified=1
mtModules_LastModified0="Modified"
Count mtModules_Path=1
mtModules_Path0="Path"
Count mtCPU_Registers=1
mtCPU_Registers0="Registers"
Count mtCPU_Stack=1
mtCPU_Stack0="Stack"
Count mtCPU_MemoryDump=1
mtCPU_MemoryDump0="Memory Dump"
Count mtSend_SuccessMsg=1
mtSend_SuccessMsg0="The message was sent successfully."
Count mtSend_FailureMsg=1
mtSend_FailureMsg0="Sorry, sending the message didn't work."
EurekaLog Last Line -->
</BorlandProject>

View File

@ -1,86 +0,0 @@
package InformesBase;
{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION OFF}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$RUNONLY}
{$IMPLICITBUILD OFF}
requires
rtl,
vcl,
PngComponentsD7,
DataAbstract_D7,
PNG_D7,
BaseD7,
dbrtl,
dsnap,
adortl,
JvGlobusD7R,
cxTreeListVCLD7,
vclactnband,
vclx,
tb2k_d7,
tbx_d7,
JvCoreD7R,
vcljpg,
Jcl,
JclVcl,
JvSystemD7R,
JvPageCompsD7R,
JvStdCtrlsD7R,
dxThemeD7,
cxLibraryVCLD7,
cxExportVCLD7,
cxEditorsVCLD7,
cxDataD7,
vcldb,
cxExtEditorsVCLD7,
cxGridVCLD7,
cxPageControlVCLD7,
dxLayoutControlD7,
dxComnD7,
cxVerticalGridVCLD7,
dxPSCoreD7,
VclSmp,
bdertl,
EasyListviewD7;
contains
uEditorControlesBase in 'Cliente\uEditorControlesBase.pas' {fEditorControlesBase: TCustomEditor},
schControlesClient_Intf in 'Reglas\schControlesClient_Intf.pas',
uBizControlesBase in 'Reglas\uBizControlesBase.pas',
uDataModuleControles in 'Cliente\uDataModuleControles.pas' {dmControles: TDAClientDataModule},
uEditorControlBase in 'Cliente\uEditorControlBase.pas' {fEditorControlBase: TCustomEditor},
uViewAgrupaciones in 'Cliente\uViewAgrupaciones.pas' {frViewAgrupaciones: TCustomView},
uViewColumnas in 'Cliente\uViewColumnas.pas' {frViewColumnas: TCustomView},
uViewSumarios in 'Cliente\uViewSumarios.pas' {frViewSumarios: TCustomView},
uViewControlGrid in 'Cliente\uViewControlGrid.pas' {frViewControlGrid: TCustomView},
uViewControlBase in 'Cliente\uViewControlBase.pas' {frViewControlBase: TCustomView},
uViewParametrosControlGrid in 'Cliente\uViewParametrosControlGrid.pas' {frViewParametrosControlGrid: TCustomView},
uFormPropiedadesControl in 'Cliente\uFormPropiedadesControl.pas' {frPropiedadesControl},
uViewFiltros in 'Cliente\uViewFiltros.pas' {frViewFiltros: TCustomView},
uViewPeriodoFechas in 'Cliente\uViewPeriodoFechas.pas' {frViewPeriodoFechas: TCustomView},
uViewControlesBase in 'Cliente\uViewControlesBase.pas' {frViewControlesBase: TCustomView},
uDateUtils in 'Cliente\uDateUtils.pas';
end.

View File

@ -1,209 +0,0 @@
unit schControlesClient_Intf;
interface
uses
Classes, DB, SysUtils, uROClasses, uDADataTable;
const
{ Data table rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_ListaControlesPorCategoria = '{E00A0F0C-CDD1-4E50-AED7-E0AD758A5DEF}';
{ Data table names }
nme_ListaControlesPorCategoria = 'ListaControlesPorCategoria';
{ ListaControlesPorCategoria fields }
fld_ListaControlesPorCategoriaID = 'ID';
fld_ListaControlesPorCategoriaCATEGORIA = 'CATEGORIA';
fld_ListaControlesPorCategoriaMODIFICABLE = 'MODIFICABLE';
fld_ListaControlesPorCategoriaICONO = 'ICONO';
fld_ListaControlesPorCategoriaNOMBRE = 'NOMBRE';
fld_ListaControlesPorCategoriaDESCRIPCION = 'DESCRIPCION';
fld_ListaControlesPorCategoriaORDEN = 'ORDEN';
fld_ListaControlesPorCategoriaVISTA = 'VISTA';
{ ListaControlesPorCategoria field indexes }
idx_ListaControlesPorCategoriaID = 0;
idx_ListaControlesPorCategoriaCATEGORIA = 1;
idx_ListaControlesPorCategoriaMODIFICABLE = 2;
idx_ListaControlesPorCategoriaICONO = 3;
idx_ListaControlesPorCategoriaNOMBRE = 4;
idx_ListaControlesPorCategoriaDESCRIPCION = 5;
idx_ListaControlesPorCategoriaORDEN = 6;
idx_ListaControlesPorCategoriaVISTA = 7;
type
{ IListaControlesPorCategoria }
IListaControlesPorCategoria = interface(IDAStronglyTypedDataTable)
['{A9D98B29-EE5D-49D6-A871-DA34463DD0EC}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
function GetCATEGORIAValue: String;
procedure SetCATEGORIAValue(const aValue: String);
function GetMODIFICABLEValue: String;
procedure SetMODIFICABLEValue(const aValue: String);
function GetICONOValue: Integer;
procedure SetICONOValue(const aValue: Integer);
function GetNOMBREValue: String;
procedure SetNOMBREValue(const aValue: String);
function GetDESCRIPCIONValue: String;
procedure SetDESCRIPCIONValue(const aValue: String);
function GetORDENValue: Integer;
procedure SetORDENValue(const aValue: Integer);
function GetVISTAValue: IROStrings;
procedure SetVISTAValue(const aValue: IROStrings);
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
property CATEGORIA: String read GetCATEGORIAValue write SetCATEGORIAValue;
property MODIFICABLE: String read GetMODIFICABLEValue write SetMODIFICABLEValue;
property ICONO: Integer read GetICONOValue write SetICONOValue;
property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property ORDEN: Integer read GetORDENValue write SetORDENValue;
property VISTA: IROStrings read GetVISTAValue write SetVISTAValue;
end;
{ TListaControlesPorCategoriaDataTableRules }
TListaControlesPorCategoriaDataTableRules = class(TDADataTableRules, IListaControlesPorCategoria)
private
protected
{ Property getters and setters }
function GetIDValue: Integer; virtual;
procedure SetIDValue(const aValue: Integer); virtual;
function GetCATEGORIAValue: String; virtual;
procedure SetCATEGORIAValue(const aValue: String); virtual;
function GetMODIFICABLEValue: String; virtual;
procedure SetMODIFICABLEValue(const aValue: String); virtual;
function GetICONOValue: Integer; virtual;
procedure SetICONOValue(const aValue: Integer); virtual;
function GetNOMBREValue: String; virtual;
procedure SetNOMBREValue(const aValue: String); virtual;
function GetDESCRIPCIONValue: String; virtual;
procedure SetDESCRIPCIONValue(const aValue: String); virtual;
function GetORDENValue: Integer; virtual;
procedure SetORDENValue(const aValue: Integer); virtual;
function GetVISTAValue: IROStrings; virtual;
procedure SetVISTAValue(const aValue: IROStrings); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
property CATEGORIA: String read GetCATEGORIAValue write SetCATEGORIAValue;
property MODIFICABLE: String read GetMODIFICABLEValue write SetMODIFICABLEValue;
property ICONO: Integer read GetICONOValue write SetICONOValue;
property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property ORDEN: Integer read GetORDENValue write SetORDENValue;
property VISTA: IROStrings read GetVISTAValue write SetVISTAValue;
public
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
end;
implementation
uses Variants;
{ TListaControlesPorCategoriaDataTableRules }
constructor TListaControlesPorCategoriaDataTableRules.Create(aDataTable: TDADataTable);
begin
inherited;
end;
destructor TListaControlesPorCategoriaDataTableRules.Destroy;
begin
inherited;
end;
function TListaControlesPorCategoriaDataTableRules.GetIDValue: Integer;
begin
result := DataTable.Fields[idx_ListaControlesPorCategoriaID].AsInteger;
end;
procedure TListaControlesPorCategoriaDataTableRules.SetIDValue(const aValue: Integer);
begin
DataTable.Fields[idx_ListaControlesPorCategoriaID].AsInteger := aValue;
end;
function TListaControlesPorCategoriaDataTableRules.GetCATEGORIAValue: String;
begin
result := DataTable.Fields[idx_ListaControlesPorCategoriaCATEGORIA].AsString;
end;
procedure TListaControlesPorCategoriaDataTableRules.SetCATEGORIAValue(const aValue: String);
begin
DataTable.Fields[idx_ListaControlesPorCategoriaCATEGORIA].AsString := aValue;
end;
function TListaControlesPorCategoriaDataTableRules.GetMODIFICABLEValue: String;
begin
result := DataTable.Fields[idx_ListaControlesPorCategoriaMODIFICABLE].AsString;
end;
procedure TListaControlesPorCategoriaDataTableRules.SetMODIFICABLEValue(const aValue: String);
begin
DataTable.Fields[idx_ListaControlesPorCategoriaMODIFICABLE].AsString := aValue;
end;
function TListaControlesPorCategoriaDataTableRules.GetICONOValue: Integer;
begin
result := DataTable.Fields[idx_ListaControlesPorCategoriaICONO].AsInteger;
end;
procedure TListaControlesPorCategoriaDataTableRules.SetICONOValue(const aValue: Integer);
begin
DataTable.Fields[idx_ListaControlesPorCategoriaICONO].AsInteger := aValue;
end;
function TListaControlesPorCategoriaDataTableRules.GetNOMBREValue: String;
begin
result := DataTable.Fields[idx_ListaControlesPorCategoriaNOMBRE].AsString;
end;
procedure TListaControlesPorCategoriaDataTableRules.SetNOMBREValue(const aValue: String);
begin
DataTable.Fields[idx_ListaControlesPorCategoriaNOMBRE].AsString := aValue;
end;
function TListaControlesPorCategoriaDataTableRules.GetDESCRIPCIONValue: String;
begin
result := DataTable.Fields[idx_ListaControlesPorCategoriaDESCRIPCION].AsString;
end;
procedure TListaControlesPorCategoriaDataTableRules.SetDESCRIPCIONValue(const aValue: String);
begin
DataTable.Fields[idx_ListaControlesPorCategoriaDESCRIPCION].AsString := aValue;
end;
function TListaControlesPorCategoriaDataTableRules.GetORDENValue: Integer;
begin
result := DataTable.Fields[idx_ListaControlesPorCategoriaORDEN].AsInteger;
end;
procedure TListaControlesPorCategoriaDataTableRules.SetORDENValue(const aValue: Integer);
begin
DataTable.Fields[idx_ListaControlesPorCategoriaORDEN].AsInteger := aValue;
end;
function TListaControlesPorCategoriaDataTableRules.GetVISTAValue: IROStrings;
begin
result := NewROStrings();
result.Text := DataTable.Fields[idx_ListaControlesPorCategoriaVISTA].AsString;
end;
procedure TListaControlesPorCategoriaDataTableRules.SetVISTAValue(const aValue: IROStrings);
begin
DataTable.Fields[idx_ListaControlesPorCategoriaVISTA].AsString := aValue.Text;
end;
initialization
RegisterDataTableRules(RID_ListaControlesPorCategoria, TListaControlesPorCategoriaDataTableRules);
end.

View File

@ -1,235 +0,0 @@
unit schControlesServer_Intf;
interface
uses
Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, schControlesClient_Intf;
const
{ Delta rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_ListaControlesPorCategoriaDelta = '{65EAE0A6-0E97-4F81-A0E0-E554B067286C}';
type
{ IListaControlesPorCategoriaDelta }
IListaControlesPorCategoriaDelta = interface(IListaControlesPorCategoria)
['{65EAE0A6-0E97-4F81-A0E0-E554B067286C}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldCATEGORIAValue : String;
function GetOldMODIFICABLEValue : String;
function GetOldICONOValue : Integer;
function GetOldNOMBREValue : String;
function GetOldDESCRIPCIONValue : String;
function GetOldORDENValue : Integer;
function GetOldVISTAValue : IROStrings;
{ Properties }
property OldID : Integer read GetOldIDValue;
property OldCATEGORIA : String read GetOldCATEGORIAValue;
property OldMODIFICABLE : String read GetOldMODIFICABLEValue;
property OldICONO : Integer read GetOldICONOValue;
property OldNOMBRE : String read GetOldNOMBREValue;
property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
property OldORDEN : Integer read GetOldORDENValue;
property OldVISTA : IROStrings read GetOldVISTAValue;
end;
{ TListaControlesPorCategoriaBusinessProcessorRules }
TListaControlesPorCategoriaBusinessProcessorRules = class(TDABusinessProcessorRules, IListaControlesPorCategoria, IListaControlesPorCategoriaDelta)
private
protected
{ Property getters and setters }
function GetIDValue: Integer; virtual;
function GetOldIDValue: Integer; virtual;
procedure SetIDValue(const aValue: Integer); virtual;
function GetCATEGORIAValue: String; virtual;
function GetOldCATEGORIAValue: String; virtual;
procedure SetCATEGORIAValue(const aValue: String); virtual;
function GetMODIFICABLEValue: String; virtual;
function GetOldMODIFICABLEValue: String; virtual;
procedure SetMODIFICABLEValue(const aValue: String); virtual;
function GetICONOValue: Integer; virtual;
function GetOldICONOValue: Integer; virtual;
procedure SetICONOValue(const aValue: Integer); virtual;
function GetNOMBREValue: String; virtual;
function GetOldNOMBREValue: String; virtual;
procedure SetNOMBREValue(const aValue: String); virtual;
function GetDESCRIPCIONValue: String; virtual;
function GetOldDESCRIPCIONValue: String; virtual;
procedure SetDESCRIPCIONValue(const aValue: String); virtual;
function GetORDENValue: Integer; virtual;
function GetOldORDENValue: Integer; virtual;
procedure SetORDENValue(const aValue: Integer); virtual;
function GetVISTAValue: IROStrings; virtual;
function GetOldVISTAValue: IROStrings; virtual;
procedure SetVISTAValue(const aValue: IROStrings); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
property OldID : Integer read GetOldIDValue;
property CATEGORIA : String read GetCATEGORIAValue write SetCATEGORIAValue;
property OldCATEGORIA : String read GetOldCATEGORIAValue;
property MODIFICABLE : String read GetMODIFICABLEValue write SetMODIFICABLEValue;
property OldMODIFICABLE : String read GetOldMODIFICABLEValue;
property ICONO : Integer read GetICONOValue write SetICONOValue;
property OldICONO : Integer read GetOldICONOValue;
property NOMBRE : String read GetNOMBREValue write SetNOMBREValue;
property OldNOMBRE : String read GetOldNOMBREValue;
property DESCRIPCION : String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
property ORDEN : Integer read GetORDENValue write SetORDENValue;
property OldORDEN : Integer read GetOldORDENValue;
property VISTA : IROStrings read GetVISTAValue write SetVISTAValue;
property OldVISTA : IROStrings read GetOldVISTAValue;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
destructor Destroy; override;
end;
implementation
uses
Variants, uROBinaryHelpers;
{ TListaControlesPorCategoriaBusinessProcessorRules }
constructor TListaControlesPorCategoriaBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
inherited;
end;
destructor TListaControlesPorCategoriaBusinessProcessorRules.Destroy;
begin
inherited;
end;
function TListaControlesPorCategoriaBusinessProcessorRules.GetIDValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaControlesPorCategoriaID];
end;
function TListaControlesPorCategoriaBusinessProcessorRules.GetOldIDValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaControlesPorCategoriaID];
end;
procedure TListaControlesPorCategoriaBusinessProcessorRules.SetIDValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaControlesPorCategoriaID] := aValue;
end;
function TListaControlesPorCategoriaBusinessProcessorRules.GetCATEGORIAValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaControlesPorCategoriaCATEGORIA];
end;
function TListaControlesPorCategoriaBusinessProcessorRules.GetOldCATEGORIAValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaControlesPorCategoriaCATEGORIA];
end;
procedure TListaControlesPorCategoriaBusinessProcessorRules.SetCATEGORIAValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaControlesPorCategoriaCATEGORIA] := aValue;
end;
function TListaControlesPorCategoriaBusinessProcessorRules.GetMODIFICABLEValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaControlesPorCategoriaMODIFICABLE];
end;
function TListaControlesPorCategoriaBusinessProcessorRules.GetOldMODIFICABLEValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaControlesPorCategoriaMODIFICABLE];
end;
procedure TListaControlesPorCategoriaBusinessProcessorRules.SetMODIFICABLEValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaControlesPorCategoriaMODIFICABLE] := aValue;
end;
function TListaControlesPorCategoriaBusinessProcessorRules.GetICONOValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaControlesPorCategoriaICONO];
end;
function TListaControlesPorCategoriaBusinessProcessorRules.GetOldICONOValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaControlesPorCategoriaICONO];
end;
procedure TListaControlesPorCategoriaBusinessProcessorRules.SetICONOValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaControlesPorCategoriaICONO] := aValue;
end;
function TListaControlesPorCategoriaBusinessProcessorRules.GetNOMBREValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaControlesPorCategoriaNOMBRE];
end;
function TListaControlesPorCategoriaBusinessProcessorRules.GetOldNOMBREValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaControlesPorCategoriaNOMBRE];
end;
procedure TListaControlesPorCategoriaBusinessProcessorRules.SetNOMBREValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaControlesPorCategoriaNOMBRE] := aValue;
end;
function TListaControlesPorCategoriaBusinessProcessorRules.GetDESCRIPCIONValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaControlesPorCategoriaDESCRIPCION];
end;
function TListaControlesPorCategoriaBusinessProcessorRules.GetOldDESCRIPCIONValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaControlesPorCategoriaDESCRIPCION];
end;
procedure TListaControlesPorCategoriaBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaControlesPorCategoriaDESCRIPCION] := aValue;
end;
function TListaControlesPorCategoriaBusinessProcessorRules.GetORDENValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaControlesPorCategoriaORDEN];
end;
function TListaControlesPorCategoriaBusinessProcessorRules.GetOldORDENValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaControlesPorCategoriaORDEN];
end;
procedure TListaControlesPorCategoriaBusinessProcessorRules.SetORDENValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaControlesPorCategoriaORDEN] := aValue;
end;
function TListaControlesPorCategoriaBusinessProcessorRules.GetVISTAValue: IROStrings;
begin
result := NewROStrings();
result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaControlesPorCategoriaVISTA];
end;
function TListaControlesPorCategoriaBusinessProcessorRules.GetOldVISTAValue: IROStrings;
begin
result := NewROStrings();
result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaControlesPorCategoriaVISTA];
end;
procedure TListaControlesPorCategoriaBusinessProcessorRules.SetVISTAValue(const aValue: IROStrings);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaControlesPorCategoriaVISTA] := aValue.Text;
end;
initialization
RegisterBusinessProcessorRules(RID_ListaControlesPorCategoriaDelta, TListaControlesPorCategoriaBusinessProcessorRules);
end.

View File

@ -1,80 +0,0 @@
unit uBizControlesBase;
interface
uses
Classes, DB, SysUtils, uROClasses, uDADataTable, schControlesClient_Intf;
type
IBizControlBase = interface(IListaControlesPorCategoria)
['{203A654A-16DF-404B-ACD4-CCCA796091C6}']
procedure Show;
procedure VerPropiedades;
function EsModificable : Boolean;
end;
TBizControlBaseDataTableRules = class(TListaControlesPorCategoriaDataTableRules, IBizControlBase)
protected
function GetVISTAValue: IROStrings; override;
procedure BeforePost(Sender: TDADataTable); override;
public
procedure Show; virtual; abstract;
procedure VerPropiedades;
function EsModificable : Boolean;
end;
implementation
uses
Windows, Dialogs, uDACDSDataTable, uDataModuleBase,
uEditorUtils, Variants, uFormPropiedadesControl, Forms, Controls;
{ TBizInformesVentasDataTableRules }
procedure TBizControlBaseDataTableRules.BeforePost(
Sender: TDADataTable);
begin
inherited;
if Length(CATEGORIA) = 0 then
raise Exception.Create('Categoría no asignada');
if Length(NOMBRE) = 0 then
VerPropiedades;
end;
function TBizControlBaseDataTableRules.EsModificable: Boolean;
begin
Result := (MODIFICABLE = 'S');
end;
function TBizControlBaseDataTableRules.GetVISTAValue: IROStrings;
begin
Result := NewROStrings();
Result.Add(DataTable.Fields[idx_ListaControlesPorCategoriaVISTA].AsString);
end;
procedure TBizControlBaseDataTableRules.VerPropiedades;
begin
with TfrPropiedadesControl.Create(NIL) do
try
Nombre := Self.NOMBRE;
Descripcion := Self.DESCRIPCION;
Modificable := Self.EsModificable;
Icono := Self.ICONO;
if (ShowModal = mrOK) then
begin
DataTable.Edit;
Self.NOMBRE := Nombre;
Self.DESCRIPCION := Descripcion;
Self.ICONO := Icono;
if Modificable then
Self.MODIFICABLE := 'S'
else
Self.MODIFICABLE := 'N';
end;
finally
Free;
end;
end;
end.