From d2b0a4c27dd95e7b04bd5af9b27f74718eec444a Mon Sep 17 00:00:00 2001 From: jesus Date: Wed, 2 Apr 2008 01:43:04 +0000 Subject: [PATCH] LazReport, fix aggregate functions for groups git-svn-id: trunk@14722 - --- components/lazreport/source/lr_class.pas | 19 +- .../source/lr_funct_editor_unit1.lfm | 147 +++++++++---- .../source/lr_funct_editor_unit1.lrs | 197 ++++++++++++------ .../source/lr_funct_editor_unit1.pas | 4 + 4 files changed, 256 insertions(+), 111 deletions(-) diff --git a/components/lazreport/source/lr_class.pas b/components/lazreport/source/lr_class.pas index ab3925a7f2..fb20cf3a87 100644 --- a/components/lazreport/source/lr_class.pas +++ b/components/lazreport/source/lr_class.pas @@ -8314,6 +8314,7 @@ procedure TfrStdFunctionLibrary.DoFunction(FNo: Integer; p1, p2, p3: Variant; var DataSet: TfrTDataSet; Field: TfrTField; + Obj: TFrObject; s1, s2, VarName: String; min, max, avg, sum, count, d, v: Double; dk: (dkNone, dkSum, dkMin, dkMax, dkAvg, dkCount); @@ -8376,20 +8377,28 @@ begin 21: val := '''' + AnsiUpperCase(frParser.Calc(p1)) + ''''; //Add('UPPERCASE'); {21} 22: val := YearOf(frParser.Calc(p1)); //Add('YEAROF'); {22} end; + if dk <> dkNone then begin if dk = dkCount then DataSet := frGetDataSet(lrGetUnBrackedStr(p1)) else - frGetDataSetAndField(lrGetUnBrackedStr(p1), DataSet, Field); + begin + // if bandname is provided if yes, don't try to use dataset/field + Obj := curPage.FindObject(trim(P2)); + + if (obj is TfrBandView) and + (TfrBandView(Obj).BandType in [btMasterData,btDetailData, + btSubDetailData,btCrossData]) + then + DataSet := nil + else + frGetDataSetAndField(lrGetUnBrackedStr(p1), DataSet, Field); + end; if (DataSet <> nil) and AggrBand.Visible then begin - // NOTE: this will probably work only when iterating detail records - // for non master-detail relationships like simple grouping on - // single datasets it will iterate over all records and not only - // over group records. min := 1e200; max := -1e200; sum := 0; count := 0; avg := 0; BM:=DataSet.GetBookMark; DataSet.DisableControls; diff --git a/components/lazreport/source/lr_funct_editor_unit1.lfm b/components/lazreport/source/lr_funct_editor_unit1.lfm index 4440581dfb..7ff6667ce8 100644 --- a/components/lazreport/source/lr_funct_editor_unit1.lfm +++ b/components/lazreport/source/lr_funct_editor_unit1.lfm @@ -10,8 +10,8 @@ object LR_FunctEditor1Form: TLR_FunctEditor1Form Caption = 'LR_FunctEditor1Form' ClientHeight = 300 ClientWidth = 412 - PixelsPerInch = 96 Position = poDesktopCenter + LCLVersion = '0.9.25' object Panel1: TPanel Height = 64 Width = 412 @@ -41,6 +41,7 @@ object LR_FunctEditor1Form: TLR_FunctEditor1Form Color = clInfoBk ParentColor = False Transparent = False + WordWrap = True end end object Panel2: TPanel @@ -95,7 +96,6 @@ object LR_FunctEditor1Form: TLR_FunctEditor1Form Top = 14 Width = 55 Caption = 'Argument 1' - Color = clNone ParentColor = False end object Label4: TLabel @@ -104,7 +104,6 @@ object LR_FunctEditor1Form: TLR_FunctEditor1Form Top = 49 Width = 55 Caption = 'Argument 2' - Color = clNone ParentColor = False end object Label5: TLabel @@ -113,7 +112,6 @@ object LR_FunctEditor1Form: TLR_FunctEditor1Form Top = 81 Width = 55 Caption = 'Argument 3' - Color = clNone ParentColor = False end object BitBtn3: TBitBtn @@ -125,19 +123,40 @@ object LR_FunctEditor1Form: TLR_FunctEditor1Form Anchors = [akTop, akRight] BorderSpacing.InnerBorder = 2 Glyph.Data = { - 9C0100002F2A2058504D202A2F0A7374617469632063686172202A6772617068 - 69635B5D203D207B0A22313620313620332031222C0A222E2063204E6F6E6522 - 2C0A222C20632023303030303030222C0A222D20632023413141314131222C0A - 222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E - 2E2E2E2E2E222C0A222E2E2E2E2E2E2E2C2C2C2E2E2E2E2E2E222C0A222E2E2E - 2E2E2E2C2C2E2D2C2E2E2E2E2E222C0A222E2E2E2E2E2E2C2D2E2E2E2E2E2E2E - 2E222C0A222E2E2E2E2C2C2C2C2C2E2E2E2E2E2E2E222C0A222E2E2E2E2E2D2C - 2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2C2D2E2C2C2E2D2C2E2E2E222C0A - 222E2E2E2E2D2C2D2E2E2C2C2C2E2E2E2E222C0A222E2E2E2E2D2C2E2E2D2C2C - 2E2E2E2E2E222C0A222E2E2E2E2C2D2E2C2C2E2C2C2E2E2E2E222C0A222E2E2E - 2E2C2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2C2E2E2E2E2E2E2E2E2E2E2E - 2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E - 2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E227D0A + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FFA1A1A1FF00000000000000FF000000FF0000 + 0000000000FF000000FF00000000000000000000000000000000000000000000 + 00000000000000000000A1A1A1FF000000FF0000000000000000A1A1A1FF0000 + 00FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000A1A1A1FF000000FFA1A1A1FF00000000000000000000 + 00FF000000FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000FFA1A1A1FF00000000000000FF0000 + 00FF00000000A1A1A1FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000A1A1A1FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FF000000FF000000FF000000FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000FFA1A1A1FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000FF000000FF00000000A1A1 + A1FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000 } Layout = blGlyphBottom NumGlyphs = 0 @@ -169,19 +188,40 @@ object LR_FunctEditor1Form: TLR_FunctEditor1Form Anchors = [akTop, akRight] BorderSpacing.InnerBorder = 2 Glyph.Data = { - 9C0100002F2A2058504D202A2F0A7374617469632063686172202A6772617068 - 69635B5D203D207B0A22313620313620332031222C0A222E2063204E6F6E6522 - 2C0A222C20632023303030303030222C0A222D20632023413141314131222C0A - 222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E - 2E2E2E2E2E222C0A222E2E2E2E2E2E2E2C2C2C2E2E2E2E2E2E222C0A222E2E2E - 2E2E2E2C2C2E2D2C2E2E2E2E2E222C0A222E2E2E2E2E2E2C2D2E2E2E2E2E2E2E - 2E222C0A222E2E2E2E2C2C2C2C2C2E2E2E2E2E2E2E222C0A222E2E2E2E2E2D2C - 2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2C2D2E2C2C2E2D2C2E2E2E222C0A - 222E2E2E2E2D2C2D2E2E2C2C2C2E2E2E2E222C0A222E2E2E2E2D2C2E2E2D2C2C - 2E2E2E2E2E222C0A222E2E2E2E2C2D2E2C2C2E2C2C2E2E2E2E222C0A222E2E2E - 2E2C2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2C2E2E2E2E2E2E2E2E2E2E2E - 2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E - 2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E227D0A + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FFA1A1A1FF00000000000000FF000000FF0000 + 0000000000FF000000FF00000000000000000000000000000000000000000000 + 00000000000000000000A1A1A1FF000000FF0000000000000000A1A1A1FF0000 + 00FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000A1A1A1FF000000FFA1A1A1FF00000000000000000000 + 00FF000000FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000FFA1A1A1FF00000000000000FF0000 + 00FF00000000A1A1A1FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000A1A1A1FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FF000000FF000000FF000000FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000FFA1A1A1FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000FF000000FF00000000A1A1 + A1FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000 } Layout = blGlyphBottom NumGlyphs = 0 @@ -205,19 +245,40 @@ object LR_FunctEditor1Form: TLR_FunctEditor1Form Anchors = [akTop, akRight] BorderSpacing.InnerBorder = 2 Glyph.Data = { - 9C0100002F2A2058504D202A2F0A7374617469632063686172202A6772617068 - 69635B5D203D207B0A22313620313620332031222C0A222E2063204E6F6E6522 - 2C0A222C20632023303030303030222C0A222D20632023413141314131222C0A - 222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E - 2E2E2E2E2E222C0A222E2E2E2E2E2E2E2C2C2C2E2E2E2E2E2E222C0A222E2E2E - 2E2E2E2C2C2E2D2C2E2E2E2E2E222C0A222E2E2E2E2E2E2C2D2E2E2E2E2E2E2E - 2E222C0A222E2E2E2E2C2C2C2C2C2E2E2E2E2E2E2E222C0A222E2E2E2E2E2D2C - 2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2C2D2E2C2C2E2D2C2E2E2E222C0A - 222E2E2E2E2D2C2D2E2E2C2C2C2E2E2E2E222C0A222E2E2E2E2D2C2E2E2D2C2C - 2E2E2E2E2E222C0A222E2E2E2E2C2D2E2C2C2E2C2C2E2E2E2E222C0A222E2E2E - 2E2C2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2C2E2E2E2E2E2E2E2E2E2E2E - 2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E - 2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E227D0A + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FFA1A1A1FF00000000000000FF000000FF0000 + 0000000000FF000000FF00000000000000000000000000000000000000000000 + 00000000000000000000A1A1A1FF000000FF0000000000000000A1A1A1FF0000 + 00FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000A1A1A1FF000000FFA1A1A1FF00000000000000000000 + 00FF000000FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000FFA1A1A1FF00000000000000FF0000 + 00FF00000000A1A1A1FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000A1A1A1FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FF000000FF000000FF000000FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000FFA1A1A1FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000FF000000FF00000000A1A1 + A1FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000 } Layout = blGlyphBottom NumGlyphs = 0 diff --git a/components/lazreport/source/lr_funct_editor_unit1.lrs b/components/lazreport/source/lr_funct_editor_unit1.lrs index 4f2ce00744..ecdece2b0e 100644 --- a/components/lazreport/source/lr_funct_editor_unit1.lrs +++ b/components/lazreport/source/lr_funct_editor_unit1.lrs @@ -5,67 +5,138 @@ LazarusResources.Add('TLR_FunctEditor1Form','FORMDATA',[ +'ght'#3','#1#3'Top'#3#161#0#5'Width'#3#156#1#18'HorzScrollBar.Page'#3#155#1 +#18'VertScrollBar.Page'#3'+'#1#13'ActiveControl'#7#7'BitBtn1'#11'BorderIcons' +#11#12'biSystemMenu'#6'biHelp'#0#7'Caption'#6#19'LR_FunctEditor1Form'#12'Cli' - +'entHeight'#3','#1#11'ClientWidth'#3#156#1#13'PixelsPerInch'#2'`'#8'Position' - +#7#15'poDesktopCenter'#0#6'TPanel'#6'Panel1'#6'Height'#2'@'#5'Width'#3#156#1 - +#5'Align'#7#5'alTop'#10'BevelOuter'#7#9'bvLowered'#12'ClientHeight'#2'@'#11 - +'ClientWidth'#3#156#1#8'TabOrder'#2#0#0#6'TLabel'#6'Label1'#4'Left'#2#1#6'He' - +'ight'#2#14#3'Top'#2#1#5'Width'#3#154#1#5'Align'#7#5'alTop'#7'Caption'#6#6'L' - +'abel1'#5'Color'#7#7'clWhite'#11'ParentColor'#8#11'Transparent'#8#0#0#6'TLab' - +'el'#6'Label2'#4'Left'#2#1#6'Height'#2'0'#3'Top'#2#15#5'Width'#3#154#1#5'Ali' - +'gn'#7#8'alClient'#7'Caption'#6#6'Label2'#5'Color'#7#8'clInfoBk'#11'ParentCo' - +'lor'#8#11'Transparent'#8#0#0#0#6'TPanel'#6'Panel2'#6'Height'#2'('#3'Top'#3#4 - +#1#5'Width'#3#156#1#5'Align'#7#8'alBottom'#10'BevelOuter'#7#6'bvNone'#12'Cli' - +'entHeight'#2'('#11'ClientWidth'#3#156#1#8'TabOrder'#2#1#0#7'TBitBtn'#7'BitB' - +'tn1'#4'Left'#3#252#0#6'Height'#2#30#3'Top'#2#6#5'Width'#2'K'#7'Anchors'#11#5 - +'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#3'&Ok'#7 - +'Default'#9#4'Kind'#7#4'bkOK'#11'ModalResult'#2#1#9'NumGlyphs'#2#0#8'TabOrde' - +'r'#2#0#0#0#7'TBitBtn'#7'BitBtn2'#4'Left'#3'L'#1#6'Height'#2#30#3'Top'#2#6#5 - +'Width'#2'K'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorde' - +'r'#2#2#7'Caption'#6#6'Cancel'#4'Kind'#7#8'bkCancel'#11'ModalResult'#2#2#9'N' - +'umGlyphs'#2#0#8'TabOrder'#2#1#0#0#0#9'TGroupBox'#9'GroupBox1'#6'Height'#3 - +#196#0#3'Top'#2'@'#5'Width'#3#156#1#5'Align'#7#8'alClient'#7'Caption'#6#9'Ar' - +'guments'#12'ClientHeight'#3#178#0#11'ClientWidth'#3#152#1#8'TabOrder'#2#2#0 - +#6'TLabel'#6'Label3'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#14#5'Width'#2'7'#7 - +'Caption'#6#10'Argument 1'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLab' - +'el'#6'Label4'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'1'#5'Width'#2'7'#7'Captio' - +'n'#6#10'Argument 2'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#6 - +'Label5'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'Q'#5'Width'#2'7'#7'Caption'#6#10 - +'Argument 3'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#7'TBitBtn'#7'BitBtn3' - +#3'Tag'#2#1#4'Left'#3'v'#1#6'Height'#2#23#3'Top'#2#5#5'Width'#2#27#7'Anchors' - +#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#2#10'Glyph.Data'#10 - +#160#1#0#0#156#1#0#0'/* XPM */'#10'static char *graphic[] = {'#10'"16 16 3 1' - +'",'#10'". c None",'#10'", c #000000",'#10'"- c #A1A1A1",'#10'".............' - +'...",'#10'"................",'#10'".......,,,......",'#10'"......,,.-,.....' - +'",'#10'"......,-........",'#10'"....,,,,,.......",'#10'".....-,.........",' - +#10'".....,-.,,.-,...",'#10'"....-,-..,,,....",'#10'"....-,..-,,.....",'#10 - +'"....,-.,,.,,....",'#10'"....,...........",'#10'"...,............",'#10'"..' - +'..............",'#10'"................",'#10'"................"}'#10#6'Layo' - +'ut'#7#13'blGlyphBottom'#9'NumGlyphs'#2#0#7'OnClick'#7#12'BitBtn5Click'#8'Ta' - +'bOrder'#2#0#0#0#5'TEdit'#5'Edit1'#4'Left'#2'N'#6'Height'#2#23#3'Top'#2#5#5 - +'Width'#3'('#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#1 - +#0#0#5'TEdit'#5'Edit2'#4'Left'#2'N'#6'Height'#2#23#3'Top'#2'('#5'Width'#3'(' - +#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#2#0#0#7'TBitB' - +'tn'#7'BitBtn4'#3'Tag'#2#2#4'Left'#3'v'#1#6'Height'#2#23#3'Top'#2'('#5'Width' - +#2#27#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#2 - +#10'Glyph.Data'#10#160#1#0#0#156#1#0#0'/* XPM */'#10'static char *graphic[] ' - +'= {'#10'"16 16 3 1",'#10'". c None",'#10'", c #000000",'#10'"- c #A1A1A1",' - +#10'"................",'#10'"................",'#10'".......,,,......",'#10 - +'"......,,.-,.....",'#10'"......,-........",'#10'"....,,,,,.......",'#10'"..' - +'...-,.........",'#10'".....,-.,,.-,...",'#10'"....-,-..,,,....",'#10'"....-' - +',..-,,.....",'#10'"....,-.,,.,,....",'#10'"....,...........",'#10'"...,....' - +'........",'#10'"................",'#10'"................",'#10'"...........' - +'....."}'#10#6'Layout'#7#13'blGlyphBottom'#9'NumGlyphs'#2#0#7'OnClick'#7#12 - +'BitBtn5Click'#8'TabOrder'#2#3#0#0#5'TEdit'#5'Edit3'#4'Left'#2'N'#6'Height'#2 - +#23#3'Top'#2'H'#5'Width'#3'('#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0 - +#8'TabOrder'#2#4#0#0#7'TBitBtn'#7'BitBtn5'#3'Tag'#2#3#4'Left'#3'v'#1#6'Heigh' - +'t'#2#23#3'Top'#2'H'#5'Width'#2#27#7'Anchors'#11#5'akTop'#7'akRight'#0#25'Bo' - +'rderSpacing.InnerBorder'#2#2#10'Glyph.Data'#10#160#1#0#0#156#1#0#0'/* XPM *' - +'/'#10'static char *graphic[] = {'#10'"16 16 3 1",'#10'". c None",'#10'", c ' - +'#000000",'#10'"- c #A1A1A1",'#10'"................",'#10'"................"' - +','#10'".......,,,......",'#10'"......,,.-,.....",'#10'"......,-........",' - +#10'"....,,,,,.......",'#10'".....-,.........",'#10'".....,-.,,.-,...",'#10 - +'"....-,-..,,,....",'#10'"....-,..-,,.....",'#10'"....,-.,,.,,....",'#10'"..' - ,'..,...........",'#10'"...,............",'#10'"................",'#10'".....' - +'...........",'#10'"................"}'#10#6'Layout'#7#13'blGlyphBottom'#9'N' - +'umGlyphs'#2#0#7'OnClick'#7#12'BitBtn5Click'#8'TabOrder'#2#5#0#0#0#0 + +'entHeight'#3','#1#11'ClientWidth'#3#156#1#8'Position'#7#15'poDesktopCenter' + +#10'LCLVersion'#6#6'0.9.25'#0#6'TPanel'#6'Panel1'#6'Height'#2'@'#5'Width'#3 + +#156#1#5'Align'#7#5'alTop'#10'BevelOuter'#7#9'bvLowered'#12'ClientHeight'#2 + +'@'#11'ClientWidth'#3#156#1#8'TabOrder'#2#0#0#6'TLabel'#6'Label1'#4'Left'#2#1 + +#6'Height'#2#14#3'Top'#2#1#5'Width'#3#154#1#5'Align'#7#5'alTop'#7'Caption'#6 + +#6'Label1'#5'Color'#7#7'clWhite'#11'ParentColor'#8#11'Transparent'#8#0#0#6'T' + +'Label'#6'Label2'#4'Left'#2#1#6'Height'#2'0'#3'Top'#2#15#5'Width'#3#154#1#5 + +'Align'#7#8'alClient'#7'Caption'#6#6'Label2'#5'Color'#7#8'clInfoBk'#11'Paren' + +'tColor'#8#11'Transparent'#8#8'WordWrap'#9#0#0#0#6'TPanel'#6'Panel2'#6'Heigh' + +'t'#2'('#3'Top'#3#4#1#5'Width'#3#156#1#5'Align'#7#8'alBottom'#10'BevelOuter' + +#7#6'bvNone'#12'ClientHeight'#2'('#11'ClientWidth'#3#156#1#8'TabOrder'#2#1#0 + +#7'TBitBtn'#7'BitBtn1'#4'Left'#3#252#0#6'Height'#2#30#3'Top'#2#6#5'Width'#2 + +'K'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#2#7 + +'Caption'#6#3'&Ok'#7'Default'#9#4'Kind'#7#4'bkOK'#11'ModalResult'#2#1#9'NumG' + +'lyphs'#2#0#8'TabOrder'#2#0#0#0#7'TBitBtn'#7'BitBtn2'#4'Left'#3'L'#1#6'Heigh' + +'t'#2#30#3'Top'#2#6#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'Bor' + +'derSpacing.InnerBorder'#2#2#7'Caption'#6#6'Cancel'#4'Kind'#7#8'bkCancel'#11 + +'ModalResult'#2#2#9'NumGlyphs'#2#0#8'TabOrder'#2#1#0#0#0#9'TGroupBox'#9'Grou' + +'pBox1'#6'Height'#3#196#0#3'Top'#2'@'#5'Width'#3#156#1#5'Align'#7#8'alClient' + +#7'Caption'#6#9'Arguments'#12'ClientHeight'#3#178#0#11'ClientWidth'#3#152#1#8 + +'TabOrder'#2#2#0#6'TLabel'#6'Label3'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#14#5 + +'Width'#2'7'#7'Caption'#6#10'Argument 1'#11'ParentColor'#8#0#0#6'TLabel'#6'L' + +'abel4'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'1'#5'Width'#2'7'#7'Caption'#6#10 + +'Argument 2'#11'ParentColor'#8#0#0#6'TLabel'#6'Label5'#4'Left'#2#6#6'Height' + +#2#14#3'Top'#2'Q'#5'Width'#2'7'#7'Caption'#6#10'Argument 3'#11'ParentColor'#8 + +#0#0#7'TBitBtn'#7'BitBtn3'#3'Tag'#2#1#4'Left'#3'v'#1#6'Height'#2#23#3'Top'#2 + +#5#5'Width'#2#27#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerB' + +'order'#2#2#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0 + +'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#255#161#161#161#255#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#255#0 + +#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#161 + +#161#161#255#0#0#0#255#0#0#0#0#0#0#0#0#161#161#161#255#0#0#0#255#0#0#0#255#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#161 + +#161#161#255#0#0#0#255#161#161#161#255#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0 + +#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#255#161#161#161#255#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#0#161#161 + +#161#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#161#161#161#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0 + +#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#161 + +#161#161#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#0 + +#161#161#161#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#6'Layout'#7#13'blGlyphBottom'#9'NumGlyphs'#2#0#7'OnClick'#7#12'BitBtn5Click' + +#8'TabOrder'#2#0#0#0#5'TEdit'#5'Edit1'#4'Left'#2'N'#6'Height'#2#23#3'Top'#2#5 + ,#5'Width'#3'('#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2 + +#1#0#0#5'TEdit'#5'Edit2'#4'Left'#2'N'#6'Height'#2#23#3'Top'#2'('#5'Width'#3 + +'('#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#2#0#0#7'TB' + +'itBtn'#7'BitBtn4'#3'Tag'#2#2#4'Left'#3'v'#1#6'Height'#2#23#3'Top'#2'('#5'Wi' + +'dth'#2#27#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder' + +#2#2#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0 + +#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#255#161#161#161#255#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#255#0#0#0#255 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#161#161#161 + +#255#0#0#0#255#0#0#0#0#0#0#0#0#161#161#161#255#0#0#0#255#0#0#0#255#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#161#161#161 + +#255#0#0#0#255#161#161#161#255#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#255#161#161#161#255#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#0#161#161#161#255#0 + +#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#161 + +#161#161#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0 + +#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#161#161#161 + +#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#0#161#161 + +#161#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#6'Layou' + +'t'#7#13'blGlyphBottom'#9'NumGlyphs'#2#0#7'OnClick'#7#12'BitBtn5Click'#8'Tab' + +'Order'#2#3#0#0#5'TEdit'#5'Edit3'#4'Left'#2'N'#6'Height'#2#23#3'Top'#2'H'#5 + +'Width'#3'('#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#4 + +#0#0#7'TBitBtn'#7'BitBtn5'#3'Tag'#2#3#4'Left'#3'v'#1#6'Height'#2#23#3'Top'#2 + +'H'#5'Width'#2#27#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.Inner' + +'Border'#2#2#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0 + +'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#255#161#161#161#255#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#255#0 + +#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#161 + +#161#161#255#0#0#0#255#0#0#0#0#0#0#0#0#161#161#161#255#0#0#0#255#0#0#0#255#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#161 + +#161#161#255#0#0#0#255#161#161#161#255#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0 + +#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#255#161#161#161#255#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#0#161#161 + +#161#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#161#161#161#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0 + +#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#161 + ,#161#161#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#0 + +#161#161#161#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#6'Layout'#7#13'blGlyphBottom'#9'NumGlyphs'#2#0#7'OnClick'#7#12'BitBtn5Click' + +#8'TabOrder'#2#5#0#0#0#0 ]); diff --git a/components/lazreport/source/lr_funct_editor_unit1.pas b/components/lazreport/source/lr_funct_editor_unit1.pas index 32ce06b5d2..9197e3df7f 100644 --- a/components/lazreport/source/lr_funct_editor_unit1.pas +++ b/components/lazreport/source/lr_funct_editor_unit1.pas @@ -68,6 +68,10 @@ var S, S1:string; i:integer; begin + + // TODO: context sensitive inpunts, for example for + // bandname use the list of available bands. + FD:=AFD; S:=FD.funDescription; S1:=Copy(S, 1, Pos('/', S)-1);