From 2b8ff3ad92616cc93b80919d0f19bfdbbd0ac35b Mon Sep 17 00:00:00 2001 From: darius Date: Sat, 8 Nov 2008 21:21:35 +0000 Subject: [PATCH] Code cleanup, variable and component renaming Demo now does not SIGSEGV no matter what button user pressed :-) Ability to clear series in the demo Patch by Alexander Klenin Fixes: http://bugs.freepascal.org/view.php?id=12589 git-svn-id: trunk@17290 - --- components/tachart/demo/demo.lpi | 13 +- components/tachart/demo/unit1.lfm | 651 +++++++++++++++++++++++++----- components/tachart/demo/unit1.lrs | 254 +++++++++--- components/tachart/demo/unit1.pas | 269 ++++++------ 4 files changed, 887 insertions(+), 300 deletions(-) diff --git a/components/tachart/demo/demo.lpi b/components/tachart/demo/demo.lpi index 15cefeca33..3db88b739c 100644 --- a/components/tachart/demo/demo.lpi +++ b/components/tachart/demo/demo.lpi @@ -1,12 +1,11 @@ - + - @@ -14,7 +13,6 @@ - @@ -22,7 +20,7 @@ - + @@ -44,17 +42,14 @@ + - - - - - + diff --git a/components/tachart/demo/unit1.lfm b/components/tachart/demo/unit1.lfm index bb8d52fb75..52f85354ce 100644 --- a/components/tachart/demo/unit1.lfm +++ b/components/tachart/demo/unit1.lfm @@ -3,208 +3,649 @@ object Form1: TForm1 Height = 499 Top = 114 Width = 585 - HorzScrollBar.Page = 584 - VertScrollBar.Page = 498 - ActiveControl = Button1 + HelpContext = 0 + ActiveControl = Panel1 + Align = alNone + AllowDropFiles = False + AutoScroll = True + AutoSize = False + BorderIcons = [biSystemMenu, biMinimize, biMaximize] + BorderStyle = bsSizeable Caption = 'Form1' + ChildSizing.LeftRightSpacing = 0 + ChildSizing.TopBottomSpacing = 0 + ChildSizing.HorizontalSpacing = 0 + ChildSizing.VerticalSpacing = 0 + ChildSizing.ControlsPerLine = 0 ClientHeight = 499 ClientWidth = 585 + DockSite = False + DragKind = dkDrag + DragMode = dmManual + Enabled = True + Font.Height = 0 + Font.Style = [] + FormStyle = fsNormal + ParentBiDiMode = True + ParentFont = False + Position = poScreenCenter + ShowInTaskBar = stDefault + UseDockManager = False + LCLVersion = '0.9.27' + WindowState = wsNormal object Chart1: TChart - Height = 430 + Left = 0 + Height = 424 + Top = 0 Width = 585 - AutoUpdateXMin = True - AutoUpdateXMax = True - AutoUpdateYMin = True - AutoUpdateYMax = True + HelpContext = 0 + MirrorX = False + ShowVerticalReticule = False + ShowReticule = False + Legend.Visible = False Legend.Alignment = laRight Legend.Font.Height = -11 Legend.Font.Name = 'MS Sans Serif' + Legend.Font.Style = [] + Legend.Frame.Visible = False Title.Visible = True Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Font.Height = -11 Title.Font.Name = 'MS Sans Serif' + Title.Font.Style = [] + Title.Frame.Visible = False Title.Alignment = taCenter Title.Text.Strings = ( 'Centered Chart Title' ) + Foot.Visible = False Foot.Brush.Color = clBtnFace Foot.Font.Color = clRed Foot.Font.Height = -13 Foot.Font.Name = 'MS Sans Serif' Foot.Font.Style = [fsBold] + Foot.Frame.Visible = False + Foot.Alignment = taLeftJustify Foot.Text.Strings = ( 'This a LeftAligned Footer' ) - AllowZoom = True LeftAxis.Visible = True + LeftAxis.Inverted = False LeftAxis.Title.Angle = 90 LeftAxis.Title.Font.Height = -11 LeftAxis.Title.Font.Name = 'MS Sans Serif' + LeftAxis.Title.Font.Style = [] LeftAxis.Grid.Color = clGray LeftAxis.Grid.Style = psDot LeftAxis.Grid.Visible = True BottomAxis.Visible = True + BottomAxis.Inverted = False + BottomAxis.Title.Angle = 0 BottomAxis.Title.Font.Height = -11 BottomAxis.Title.Font.Name = 'MS Sans Serif' + BottomAxis.Title.Font.Style = [] BottomAxis.Grid.Color = clGray BottomAxis.Grid.Style = psDot BottomAxis.Grid.Visible = True Frame.Visible = True BackColor = clBtnFace - AxisVisible = True Align = alClient Color = clBtnFace + DragCursor = crDrag + DragMode = dmManual + Enabled = True ParentColor = False + ParentShowHint = True + Visible = True end object Panel1: TPanel - Height = 69 - Top = 430 + Left = 0 + Height = 75 + Top = 424 Width = 585 + HelpContext = 0 Align = alBottom - ClientHeight = 69 + Alignment = taCenter + AutoSize = False + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill + BevelInner = bvNone + BevelOuter = bvRaised + BevelWidth = 1 + BorderWidth = 0 + BorderStyle = bsNone + ChildSizing.LeftRightSpacing = 0 + ChildSizing.TopBottomSpacing = 0 + ChildSizing.HorizontalSpacing = 0 + ChildSizing.VerticalSpacing = 0 + ChildSizing.ControlsPerLine = 0 + ClientHeight = 75 ClientWidth = 585 + DockSite = False + DragCursor = crDrag + DragKind = dkDrag + DragMode = dmManual + Enabled = True + FullRepaint = True + ParentColor = True + ParentFont = True + ParentShowHint = True TabOrder = 0 - OnClick = Panel1Click - object Button1: TButton - Left = 16 + TabStop = False + Visible = True + object lblAdd: TLabel + Left = 13 + Height = 18 + Top = 10 + Width = 30 + HelpContext = 0 + Align = alNone + Alignment = taLeftJustify + AutoSize = True + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill + Caption = 'Add:' + DragCursor = crDrag + DragMode = dmManual + Enabled = True + Layout = tlTop + ParentBidiMode = True + ParentColor = False + ParentFont = True + ParentShowHint = True + ShowAccelChar = True + Transparent = True + Visible = True + WordWrap = False + OptimalFill = False + end + object lblAdd1: TLabel + Left = 13 + Height = 18 + Top = 42 + Width = 38 + HelpContext = 0 + Align = alNone + Alignment = taLeftJustify + AutoSize = True + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill + Caption = 'Clear:' + DragCursor = crDrag + DragMode = dmManual + Enabled = True + Layout = tlTop + ParentBidiMode = True + ParentColor = False + ParentFont = True + ParentShowHint = True + ShowAccelChar = True + Transparent = True + Visible = True + WordWrap = False + OptimalFill = False + end + object btnAddPie: TButton + Left = 64 Height = 25 Top = 8 - Width = 75 + Width = 52 + HelpContext = 0 + Align = alNone + AutoSize = False + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 BorderSpacing.InnerBorder = 4 - Caption = 'create pie' - OnClick = Button1Click + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill + Cancel = False + Caption = 'Pie' + Default = False + DragCursor = crDrag + DragMode = dmManual + Enabled = True + ParentBidiMode = True + ModalResult = 0 + OnClick = btnAddPieClick + ParentFont = True + ParentShowHint = True TabOrder = 0 + TabStop = True + Visible = True end - object Button2: TButton - Left = 96 + object btnAddLine: TButton + Left = 232 Height = 25 Top = 8 - Width = 75 + Width = 52 + HelpContext = 0 + Align = alNone + AutoSize = False + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 BorderSpacing.InnerBorder = 4 - Caption = 'create area' - OnClick = Button2Click + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill + Cancel = False + Caption = 'Line' + Default = False + DragCursor = crDrag + DragMode = dmManual + Enabled = True + ParentBidiMode = True + ModalResult = 0 + OnClick = btnAddLineClick + ParentFont = True + ParentShowHint = True TabOrder = 1 + TabStop = True + Visible = True end - object Button3: TButton - Left = 96 + object btnAddArea: TButton + Left = 120 Height = 25 - Top = 40 - Width = 75 + Top = 8 + Width = 52 + HelpContext = 0 + Align = alNone + AutoSize = False + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 BorderSpacing.InnerBorder = 4 - Caption = 'create line' - OnClick = Button3Click + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill + Cancel = False + Caption = 'Area' + Default = False + DragCursor = crDrag + DragMode = dmManual + Enabled = True + ParentBidiMode = True + ModalResult = 0 + OnClick = btnAddAreaClick + ParentFont = True + ParentShowHint = True TabOrder = 2 + TabStop = True + Visible = True end - object Button5: TButton - Left = 208 + object btnAddBar: TButton + Left = 176 Height = 25 Top = 8 - Width = 75 + Width = 52 + HelpContext = 0 + Align = alNone + AutoSize = False + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 BorderSpacing.InnerBorder = 4 - Caption = 'add pie' - OnClick = Button5Click + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill + Cancel = False + Caption = 'Bar' + Default = False + DragCursor = crDrag + DragMode = dmManual + Enabled = True + ParentBidiMode = True + ModalResult = 0 + OnClick = btnAddBarClick + ParentFont = True + ParentShowHint = True TabOrder = 3 + TabStop = True + Visible = True end - object Button7: TButton - Left = 288 - Height = 25 - Top = 40 - Width = 75 - BorderSpacing.InnerBorder = 4 - Caption = 'add line' - OnClick = Button7Click - TabOrder = 4 - end - object Button8: TButton - Left = 288 - Height = 25 - Top = 8 - Width = 75 - BorderSpacing.InnerBorder = 4 - Caption = 'add area' - OnClick = Button8Click - TabOrder = 5 - end - object Button9: TButton - Left = 16 - Height = 25 - Top = 40 - Width = 75 - BorderSpacing.InnerBorder = 4 - Caption = 'create bar' - OnClick = Button9Click - TabOrder = 6 - end - object Button10: TButton - Left = 208 - Height = 25 - Top = 40 - Width = 75 - BorderSpacing.InnerBorder = 4 - Caption = 'add bar' - OnClick = Button10Click - TabOrder = 7 - end - object Legend: TCheckBox + object cbLegend: TCheckBox Left = 408 - Height = 21 + Height = 22 Top = 8 - Width = 64 + Width = 71 + HelpContext = 0 + Align = alNone + AllowGrayed = False + AutoSize = True + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill Caption = 'Legend' - OnChange = LegendChange - TabOrder = 8 + Checked = False + DragCursor = crDrag + DragKind = dkDrag + DragMode = dmManual + Enabled = True + OnChange = cbLegendChange + ParentColor = True + ParentFont = True + ParentShowHint = True + ParentBidiMode = True + State = cbUnchecked + TabOrder = 4 + TabStop = True + UseOnChange = False + Visible = True end - object CheckBox1: TCheckBox + object cbBottomAxis: TCheckBox Left = 408 - Height = 21 + Height = 22 Top = 24 - Width = 90 + Width = 102 + HelpContext = 0 + Align = alNone + AllowGrayed = False + AutoSize = True + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill Caption = 'Bottom Axis' Checked = True - OnChange = CheckBox1Change + DragCursor = crDrag + DragKind = dkDrag + DragMode = dmManual + Enabled = True + OnChange = cbBottomAxisChange + ParentColor = True + ParentFont = True + ParentShowHint = True + ParentBidiMode = True State = cbChecked - TabOrder = 9 + TabOrder = 5 + TabStop = True + UseOnChange = False + Visible = True end - object CheckBox2: TCheckBox + object cbLeftAxis: TCheckBox Left = 408 - Height = 21 + Height = 22 Top = 40 - Width = 70 + Width = 78 + HelpContext = 0 + Align = alNone + AllowGrayed = False + AutoSize = True + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill Caption = 'Left Axis' Checked = True - OnChange = CheckBox2Change + DragCursor = crDrag + DragKind = dkDrag + DragMode = dmManual + Enabled = True + OnChange = cbLeftAxisChange + ParentColor = True + ParentFont = True + ParentShowHint = True + ParentBidiMode = True State = cbChecked - TabOrder = 10 + TabOrder = 6 + TabStop = True + UseOnChange = False + Visible = True end - object CheckBox3: TCheckBox + object cbTitle: TCheckBox Left = 496 - Height = 21 + Height = 22 Top = 8 - Width = 44 - Caption = 'title' + Width = 50 + HelpContext = 0 + Align = alNone + AllowGrayed = False + AutoSize = True + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill + Caption = 'Title' Checked = True - OnChange = CheckBox3Change + DragCursor = crDrag + DragKind = dkDrag + DragMode = dmManual + Enabled = True + OnChange = cbTitleChange + ParentColor = True + ParentFont = True + ParentShowHint = True + ParentBidiMode = True State = cbChecked - TabOrder = 11 + TabOrder = 7 + TabStop = True + UseOnChange = False + Visible = True end - object CheckBox4: TCheckBox + object cbFooter: TCheckBox Left = 496 - Height = 21 + Height = 22 Top = 24 - Width = 59 + Width = 65 + HelpContext = 0 + Align = alNone + AllowGrayed = False + AutoSize = True + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill Caption = 'Footer' - OnChange = CheckBox4Change - TabOrder = 12 + Checked = False + DragCursor = crDrag + DragKind = dkDrag + DragMode = dmManual + Enabled = True + OnChange = cbFooterChange + ParentColor = True + ParentFont = True + ParentShowHint = True + ParentBidiMode = True + State = cbUnchecked + TabOrder = 8 + TabStop = True + UseOnChange = False + Visible = True end - object CheckBox5: TCheckBox + object cbInverted: TCheckBox Left = 496 - Height = 21 + Height = 22 Top = 40 - Width = 69 + Width = 76 + HelpContext = 0 + Align = alNone + AllowGrayed = False + AutoSize = True + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill Caption = 'Inverted' - OnChange = CheckBox5Change + Checked = False + DragCursor = crDrag + DragKind = dkDrag + DragMode = dmManual + Enabled = True + OnChange = cbInvertedChange + ParentColor = True + ParentFont = True + ParentShowHint = True + ParentBidiMode = True + State = cbUnchecked + TabOrder = 9 + TabStop = True + UseOnChange = False + Visible = True + end + object btnClearBar: TButton + Left = 176 + Height = 25 + Top = 40 + Width = 52 + HelpContext = 0 + Align = alNone + AutoSize = False + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 + BorderSpacing.InnerBorder = 4 + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill + Cancel = False + Caption = 'Bar' + Default = False + DragCursor = crDrag + DragMode = dmManual + Enabled = True + ParentBidiMode = True + ModalResult = 0 + OnClick = btnClearBarClick + ParentFont = True + ParentShowHint = True + TabOrder = 10 + TabStop = True + Visible = True + end + object btnClearArea: TButton + Left = 120 + Height = 25 + Top = 40 + Width = 52 + HelpContext = 0 + Align = alNone + AutoSize = False + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 + BorderSpacing.InnerBorder = 4 + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill + Cancel = False + Caption = 'Area' + Default = False + DragCursor = crDrag + DragMode = dmManual + Enabled = True + ParentBidiMode = True + ModalResult = 0 + OnClick = btnClearAreaClick + ParentFont = True + ParentShowHint = True + TabOrder = 11 + TabStop = True + Visible = True + end + object btnClearLine: TButton + Left = 232 + Height = 25 + Top = 40 + Width = 52 + HelpContext = 0 + Align = alNone + AutoSize = False + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 + BorderSpacing.InnerBorder = 4 + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill + Cancel = False + Caption = 'Line' + Default = False + DragCursor = crDrag + DragMode = dmManual + Enabled = True + ParentBidiMode = True + ModalResult = 0 + OnClick = btnClearLineClick + ParentFont = True + ParentShowHint = True + TabOrder = 12 + TabStop = True + Visible = True + end + object btnClearPie: TButton + Left = 64 + Height = 25 + Top = 40 + Width = 52 + HelpContext = 0 + Align = alNone + AutoSize = False + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 + BorderSpacing.InnerBorder = 4 + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill + Cancel = False + Caption = 'Pie' + Default = False + DragCursor = crDrag + DragMode = dmManual + Enabled = True + ParentBidiMode = True + ModalResult = 0 + OnClick = btnClearPieClick + ParentFont = True + ParentShowHint = True TabOrder = 13 + TabStop = True + Visible = True end end end diff --git a/components/tachart/demo/unit1.lrs b/components/tachart/demo/unit1.lrs index d70b65b8a3..c2f8678b13 100644 --- a/components/tachart/demo/unit1.lrs +++ b/components/tachart/demo/unit1.lrs @@ -1,60 +1,200 @@ +{ This is an automatically generated lazarus resource file } + LazarusResources.Add('TForm1','FORMDATA',[ 'TPF0'#6'TForm1'#5'Form1'#4'Left'#3'Y'#1#6'Height'#3#243#1#3'Top'#2'r'#5'Widt' - +'h'#3'I'#2#18'HorzScrollBar.Page'#3'H'#2#18'VertScrollBar.Page'#3#242#1#13'A' - +'ctiveControl'#7#7'Button1'#7'Caption'#6#5'Form1'#12'ClientHeight'#3#243#1#11 - +'ClientWidth'#3'I'#2#0#6'TChart'#6'Chart1'#6'Height'#3#174#1#5'Width'#3'I'#2 - +#14'AutoUpdateXMin'#9#14'AutoUpdateXMax'#9#14'AutoUpdateYMin'#9#14'AutoUpdat' - +'eYMax'#9#16'Legend.Alignment'#7#7'laRight'#18'Legend.Font.Height'#2#245#16 - +'Legend.Font.Name'#6#13'MS Sans Serif'#13'Title.Visible'#9#17'Title.Brush.Co' - +'lor'#7#9'clBtnFace'#16'Title.Font.Color'#7#6'clBlue'#17'Title.Font.Height'#2 - +#245#15'Title.Font.Name'#6#13'MS Sans Serif'#15'Title.Alignment'#7#8'taCente' - +'r'#18'Title.Text.Strings'#1#6#20'Centered Chart Title'#0#16'Foot.Brush.Colo' - +'r'#7#9'clBtnFace'#15'Foot.Font.Color'#7#5'clRed'#16'Foot.Font.Height'#2#243 - +#14'Foot.Font.Name'#6#13'MS Sans Serif'#15'Foot.Font.Style'#11#6'fsBold'#0#17 - +'Foot.Text.Strings'#1#6#25'This a LeftAligned Footer'#0#9'AllowZoom'#9#16'Le' - +'ftAxis.Visible'#9#20'LeftAxis.Title.Angle'#2'Z'#26'LeftAxis.Title.Font.Heig' - +'ht'#2#245#24'LeftAxis.Title.Font.Name'#6#13'MS Sans Serif'#19'LeftAxis.Grid' - +'.Color'#7#6'clGray'#19'LeftAxis.Grid.Style'#7#5'psDot'#21'LeftAxis.Grid.Vis' - +'ible'#9#18'BottomAxis.Visible'#9#28'BottomAxis.Title.Font.Height'#2#245#26 - +'BottomAxis.Title.Font.Name'#6#13'MS Sans Serif'#21'BottomAxis.Grid.Color'#7 - +#6'clGray'#21'BottomAxis.Grid.Style'#7#5'psDot'#23'BottomAxis.Grid.Visible'#9 - +#13'Frame.Visible'#9#9'BackColor'#7#9'clBtnFace'#11'AxisVisible'#9#5'Align'#7 - +#8'alClient'#5'Color'#7#9'clBtnFace'#11'ParentColor'#8#0#0#6'TPanel'#6'Panel' - +'1'#6'Height'#2'E'#3'Top'#3#174#1#5'Width'#3'I'#2#5'Align'#7#8'alBottom'#12 - +'ClientHeight'#2'E'#11'ClientWidth'#3'I'#2#8'TabOrder'#2#0#7'OnClick'#7#11'P' - +'anel1Click'#0#7'TButton'#7'Button1'#4'Left'#2#16#6'Height'#2#25#3'Top'#2#8#5 - +'Width'#2'K'#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#10'create pie'#7 - +'OnClick'#7#12'Button1Click'#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Lef' - +'t'#2'`'#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#25'BorderSpacing.InnerBorde' - +'r'#2#4#7'Caption'#6#11'create area'#7'OnClick'#7#12'Button2Click'#8'TabOrde' - +'r'#2#1#0#0#7'TButton'#7'Button3'#4'Left'#2'`'#6'Height'#2#25#3'Top'#2'('#5 - +'Width'#2'K'#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#11'create line'#7 - +'OnClick'#7#12'Button3Click'#8'TabOrder'#2#2#0#0#7'TButton'#7'Button5'#4'Lef' - +'t'#3#208#0#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#25'BorderSpacing.InnerBo' - +'rder'#2#4#7'Caption'#6#7'add pie'#7'OnClick'#7#12'Button5Click'#8'TabOrder' - +#2#3#0#0#7'TButton'#7'Button7'#4'Left'#3' '#1#6'Height'#2#25#3'Top'#2'('#5'W' - +'idth'#2'K'#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#8'add line'#7'OnC' - +'lick'#7#12'Button7Click'#8'TabOrder'#2#4#0#0#7'TButton'#7'Button8'#4'Left'#3 - +' '#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#25'BorderSpacing.InnerBorder'#2 - +#4#7'Caption'#6#8'add area'#7'OnClick'#7#12'Button8Click'#8'TabOrder'#2#5#0#0 - +#7'TButton'#7'Button9'#4'Left'#2#16#6'Height'#2#25#3'Top'#2'('#5'Width'#2'K' - +#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#10'create bar'#7'OnClick'#7 - +#12'Button9Click'#8'TabOrder'#2#6#0#0#7'TButton'#8'Button10'#4'Left'#3#208#0 - +#6'Height'#2#25#3'Top'#2'('#5'Width'#2'K'#25'BorderSpacing.InnerBorder'#2#4#7 - +'Caption'#6#7'add bar'#7'OnClick'#7#13'Button10Click'#8'TabOrder'#2#7#0#0#9 - +'TCheckBox'#6'Legend'#4'Left'#3#152#1#6'Height'#2#21#3'Top'#2#8#5'Width'#2'@' - +#7'Caption'#6#6'Legend'#8'OnChange'#7#12'LegendChange'#8'TabOrder'#2#8#0#0#9 - +'TCheckBox'#9'CheckBox1'#4'Left'#3#152#1#6'Height'#2#21#3'Top'#2#24#5'Width' - +#2'Z'#7'Caption'#6#11'Bottom Axis'#7'Checked'#9#8'OnChange'#7#15'CheckBox1Ch' - +'ange'#5'State'#7#9'cbChecked'#8'TabOrder'#2#9#0#0#9'TCheckBox'#9'CheckBox2' - +#4'Left'#3#152#1#6'Height'#2#21#3'Top'#2'('#5'Width'#2'F'#7'Caption'#6#9'Lef' - +'t Axis'#7'Checked'#9#8'OnChange'#7#15'CheckBox2Change'#5'State'#7#9'cbCheck' - +'ed'#8'TabOrder'#2#10#0#0#9'TCheckBox'#9'CheckBox3'#4'Left'#3#240#1#6'Height' - +#2#21#3'Top'#2#8#5'Width'#2','#7'Caption'#6#5'title'#7'Checked'#9#8'OnChange' - +#7#15'CheckBox3Change'#5'State'#7#9'cbChecked'#8'TabOrder'#2#11#0#0#9'TCheck' - +'Box'#9'CheckBox4'#4'Left'#3#240#1#6'Height'#2#21#3'Top'#2#24#5'Width'#2';'#7 - +'Caption'#6#6'Footer'#8'OnChange'#7#15'CheckBox4Change'#8'TabOrder'#2#12#0#0 - +#9'TCheckBox'#9'CheckBox5'#4'Left'#3#240#1#6'Height'#2#21#3'Top'#2'('#5'Widt' - +'h'#2'E'#7'Caption'#6#8'Inverted'#8'OnChange'#7#15'CheckBox5Change'#8'TabOrd' - +'er'#2#13#0#0#0#0 + +'h'#3'I'#2#11'HelpContext'#2#0#13'ActiveControl'#7#6'Panel1'#5'Align'#7#6'al' + +'None'#14'AllowDropFiles'#8#10'AutoScroll'#9#8'AutoSize'#8#11'BorderIcons'#11 + +#12'biSystemMenu'#10'biMinimize'#10'biMaximize'#0#11'BorderStyle'#7#10'bsSiz' + +'eable'#7'Caption'#6#5'Form1'#28'ChildSizing.LeftRightSpacing'#2#0#28'ChildS' + +'izing.TopBottomSpacing'#2#0#29'ChildSizing.HorizontalSpacing'#2#0#27'ChildS' + +'izing.VerticalSpacing'#2#0#27'ChildSizing.ControlsPerLine'#2#0#12'ClientHei' + +'ght'#3#243#1#11'ClientWidth'#3'I'#2#8'DockSite'#8#8'DragKind'#7#6'dkDrag'#8 + +'DragMode'#7#8'dmManual'#7'Enabled'#9#11'Font.Height'#2#0#10'Font.Style'#11#0 + +#9'FormStyle'#7#8'fsNormal'#14'ParentBiDiMode'#9#10'ParentFont'#8#8'Position' + +#7#14'poScreenCenter'#13'ShowInTaskBar'#7#9'stDefault'#14'UseDockManager'#8 + +#10'LCLVersion'#6#6'0.9.27'#11'WindowState'#7#8'wsNormal'#0#6'TChart'#6'Char' + +'t1'#4'Left'#2#0#6'Height'#3#168#1#3'Top'#2#0#5'Width'#3'I'#2#11'HelpContext' + +#2#0#7'MirrorX'#8#20'ShowVerticalReticule'#8#12'ShowReticule'#8#14'Legend.Vi' + +'sible'#8#16'Legend.Alignment'#7#7'laRight'#18'Legend.Font.Height'#2#245#16 + +'Legend.Font.Name'#6#13'MS Sans Serif'#17'Legend.Font.Style'#11#0#20'Legend.' + +'Frame.Visible'#8#13'Title.Visible'#9#17'Title.Brush.Color'#7#9'clBtnFace'#16 + +'Title.Font.Color'#7#6'clBlue'#17'Title.Font.Height'#2#245#15'Title.Font.Nam' + +'e'#6#13'MS Sans Serif'#16'Title.Font.Style'#11#0#19'Title.Frame.Visible'#8 + +#15'Title.Alignment'#7#8'taCenter'#18'Title.Text.Strings'#1#6#20'Centered Ch' + +'art Title'#0#12'Foot.Visible'#8#16'Foot.Brush.Color'#7#9'clBtnFace'#15'Foot' + +'.Font.Color'#7#5'clRed'#16'Foot.Font.Height'#2#243#14'Foot.Font.Name'#6#13 + +'MS Sans Serif'#15'Foot.Font.Style'#11#6'fsBold'#0#18'Foot.Frame.Visible'#8 + +#14'Foot.Alignment'#7#13'taLeftJustify'#17'Foot.Text.Strings'#1#6#25'This a ' + +'LeftAligned Footer'#0#16'LeftAxis.Visible'#9#17'LeftAxis.Inverted'#8#20'Lef' + +'tAxis.Title.Angle'#2'Z'#26'LeftAxis.Title.Font.Height'#2#245#24'LeftAxis.Ti' + +'tle.Font.Name'#6#13'MS Sans Serif'#25'LeftAxis.Title.Font.Style'#11#0#19'Le' + +'ftAxis.Grid.Color'#7#6'clGray'#19'LeftAxis.Grid.Style'#7#5'psDot'#21'LeftAx' + +'is.Grid.Visible'#9#18'BottomAxis.Visible'#9#19'BottomAxis.Inverted'#8#22'Bo' + +'ttomAxis.Title.Angle'#2#0#28'BottomAxis.Title.Font.Height'#2#245#26'BottomA' + +'xis.Title.Font.Name'#6#13'MS Sans Serif'#27'BottomAxis.Title.Font.Style'#11 + +#0#21'BottomAxis.Grid.Color'#7#6'clGray'#21'BottomAxis.Grid.Style'#7#5'psDot' + +#23'BottomAxis.Grid.Visible'#9#13'Frame.Visible'#9#9'BackColor'#7#9'clBtnFac' + +'e'#5'Align'#7#8'alClient'#5'Color'#7#9'clBtnFace'#10'DragCursor'#7#6'crDrag' + +#8'DragMode'#7#8'dmManual'#7'Enabled'#9#11'ParentColor'#8#14'ParentShowHint' + +#9#7'Visible'#9#0#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6'Height'#2'K'#3'Top'#3 + +#168#1#5'Width'#3'I'#2#11'HelpContext'#2#0#5'Align'#7#8'alBottom'#9'Alignmen' + +'t'#7#8'taCenter'#8'AutoSize'#8#18'BorderSpacing.Left'#2#0#17'BorderSpacing.' + +'Top'#2#0#19'BorderSpacing.Right'#2#0#20'BorderSpacing.Bottom'#2#0#20'Border' + +'Spacing.Around'#2#0'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'Bor' + +'derSpacing.CellAlignVertical'#7#7'ccaFill'#10'BevelInner'#7#6'bvNone'#10'Be' + +'velOuter'#7#8'bvRaised'#10'BevelWidth'#2#1#11'BorderWidth'#2#0#11'BorderSty' + +'le'#7#6'bsNone'#28'ChildSizing.LeftRightSpacing'#2#0#28'ChildSizing.TopBott' + +'omSpacing'#2#0#29'ChildSizing.HorizontalSpacing'#2#0#27'ChildSizing.Vertica' + +'lSpacing'#2#0#27'ChildSizing.ControlsPerLine'#2#0#12'ClientHeight'#2'K'#11 + +'ClientWidth'#3'I'#2#8'DockSite'#8#10'DragCursor'#7#6'crDrag'#8'DragKind'#7#6 + +'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#11'FullRepaint'#9#11'ParentC' + +'olor'#9#10'ParentFont'#9#14'ParentShowHint'#9#8'TabOrder'#2#0#7'TabStop'#8#7 + +'Visible'#9#0#6'TLabel'#6'lblAdd'#4'Left'#2#13#6'Height'#2#18#3'Top'#2#10#5 + +'Width'#2#30#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9'Alignment'#7#13'taLe' + +'ftJustify'#8'AutoSize'#9#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top'#2 + +#0#19'BorderSpacing.Right'#2#0#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing' + +'.Around'#2#0'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpac' + +'ing.CellAlignVertical'#7#7'ccaFill'#7'Caption'#6#4'Add:'#10'DragCursor'#7#6 + +'crDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#6'Layout'#7#5'tlTop'#14'Pare' + +'ntBidiMode'#9#11'ParentColor'#8#10'ParentFont'#9#14'ParentShowHint'#9#13'Sh' + +'owAccelChar'#9#11'Transparent'#9#7'Visible'#9#8'WordWrap'#8#11'OptimalFill' + +#8#0#0#6'TLabel'#7'lblAdd1'#4'Left'#2#13#6'Height'#2#18#3'Top'#2'*'#5'Width' + +#2'&'#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9'Alignment'#7#13'taLeftJusti' + +'fy'#8'AutoSize'#9#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'B' + +'orderSpacing.Right'#2#0#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing.Aroun' + +'d'#2#0'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.Ce' + +'llAlignVertical'#7#7'ccaFill'#7'Caption'#6#6'Clear:'#10'DragCursor'#7#6'crD' + +'rag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#6'Layout'#7#5'tlTop'#14'ParentB' + ,'idiMode'#9#11'ParentColor'#8#10'ParentFont'#9#14'ParentShowHint'#9#13'ShowA' + +'ccelChar'#9#11'Transparent'#9#7'Visible'#9#8'WordWrap'#8#11'OptimalFill'#8#0 + +#0#7'TButton'#9'btnAddPie'#4'Left'#2'@'#6'Height'#2#25#3'Top'#2#8#5'Width'#2 + +'4'#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'AutoSize'#8#18'BorderSpacing.' + +'Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'BorderSp' + +'acing.Bottom'#2#0#20'BorderSpacing.Around'#2#0#25'BorderSpacing.InnerBorder' + +#2#4'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellA' + +'lignVertical'#7#7'ccaFill'#6'Cancel'#8#7'Caption'#6#3'Pie'#7'Default'#8#10 + +'DragCursor'#7#6'crDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#14'ParentBid' + +'iMode'#9#11'ModalResult'#2#0#7'OnClick'#7#14'btnAddPieClick'#10'ParentFont' + +#9#14'ParentShowHint'#9#8'TabOrder'#2#0#7'TabStop'#9#7'Visible'#9#0#0#7'TBut' + +'ton'#10'btnAddLine'#4'Left'#3#232#0#6'Height'#2#25#3'Top'#2#8#5'Width'#2'4' + +#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'AutoSize'#8#18'BorderSpacing.Lef' + +'t'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'BorderSpaci' + +'ng.Bottom'#2#0#20'BorderSpacing.Around'#2#0#25'BorderSpacing.InnerBorder'#2 + +#4'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAli' + +'gnVertical'#7#7'ccaFill'#6'Cancel'#8#7'Caption'#6#4'Line'#7'Default'#8#10'D' + +'ragCursor'#7#6'crDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#14'ParentBidi' + +'Mode'#9#11'ModalResult'#2#0#7'OnClick'#7#15'btnAddLineClick'#10'ParentFont' + +#9#14'ParentShowHint'#9#8'TabOrder'#2#1#7'TabStop'#9#7'Visible'#9#0#0#7'TBut' + +'ton'#10'btnAddArea'#4'Left'#2'x'#6'Height'#2#25#3'Top'#2#8#5'Width'#2'4'#11 + +'HelpContext'#2#0#5'Align'#7#6'alNone'#8'AutoSize'#8#18'BorderSpacing.Left'#2 + +#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'BorderSpacing.Bo' + +'ttom'#2#0#20'BorderSpacing.Around'#2#0#25'BorderSpacing.InnerBorder'#2#4'!B' + +'orderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVe' + +'rtical'#7#7'ccaFill'#6'Cancel'#8#7'Caption'#6#4'Area'#7'Default'#8#10'DragC' + +'ursor'#7#6'crDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#14'ParentBidiMode' + +#9#11'ModalResult'#2#0#7'OnClick'#7#15'btnAddAreaClick'#10'ParentFont'#9#14 + +'ParentShowHint'#9#8'TabOrder'#2#2#7'TabStop'#9#7'Visible'#9#0#0#7'TButton'#9 + +'btnAddBar'#4'Left'#3#176#0#6'Height'#2#25#3'Top'#2#8#5'Width'#2'4'#11'HelpC' + +'ontext'#2#0#5'Align'#7#6'alNone'#8'AutoSize'#8#18'BorderSpacing.Left'#2#0#17 + +'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'BorderSpacing.Bottom' + +#2#0#20'BorderSpacing.Around'#2#0#25'BorderSpacing.InnerBorder'#2#4'!BorderS' + +'pacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVertical' + +#7#7'ccaFill'#6'Cancel'#8#7'Caption'#6#3'Bar'#7'Default'#8#10'DragCursor'#7#6 + +'crDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#14'ParentBidiMode'#9#11'Moda' + +'lResult'#2#0#7'OnClick'#7#14'btnAddBarClick'#10'ParentFont'#9#14'ParentShow' + +'Hint'#9#8'TabOrder'#2#3#7'TabStop'#9#7'Visible'#9#0#0#9'TCheckBox'#8'cbLege' + +'nd'#4'Left'#3#152#1#6'Height'#2#22#3'Top'#2#8#5'Width'#2'G'#11'HelpContext' + +#2#0#5'Align'#7#6'alNone'#11'AllowGrayed'#8#8'AutoSize'#9#18'BorderSpacing.L' + +'eft'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'BorderSpa' + +'cing.Bottom'#2#0#20'BorderSpacing.Around'#2#0'!BorderSpacing.CellAlignHoriz' + +'ontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVertical'#7#7'ccaFill'#7'Capt' + +'ion'#6#6'Legend'#7'Checked'#8#10'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dk' + +'Drag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#8'OnChange'#7#14'cbLegendChang' + +'e'#11'ParentColor'#9#10'ParentFont'#9#14'ParentShowHint'#9#14'ParentBidiMod' + +'e'#9#5'State'#7#11'cbUnchecked'#8'TabOrder'#2#4#7'TabStop'#9#11'UseOnChange' + +#8#7'Visible'#9#0#0#9'TCheckBox'#12'cbBottomAxis'#4'Left'#3#152#1#6'Height'#2 + +#22#3'Top'#2#24#5'Width'#2'f'#11'HelpContext'#2#0#5'Align'#7#6'alNone'#11'Al' + +'lowGrayed'#8#8'AutoSize'#9#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top' + +#2#0#19'BorderSpacing.Right'#2#0#20'BorderSpacing.Bottom'#2#0#20'BorderSpaci' + +'ng.Around'#2#0'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSp' + +'acing.CellAlignVertical'#7#7'ccaFill'#7'Caption'#6#11'Bottom Axis'#7'Checke' + +'d'#9#10'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmM' + +'anual'#7'Enabled'#9#8'OnChange'#7#18'cbBottomAxisChange'#11'ParentColor'#9 + +#10'ParentFont'#9#14'ParentShowHint'#9#14'ParentBidiMode'#9#5'State'#7#9'cbC' + +'hecked'#8'TabOrder'#2#5#7'TabStop'#9#11'UseOnChange'#8#7'Visible'#9#0#0#9'T' + +'CheckBox'#10'cbLeftAxis'#4'Left'#3#152#1#6'Height'#2#22#3'Top'#2'('#5'Width' + +#2'N'#11'HelpContext'#2#0#5'Align'#7#6'alNone'#11'AllowGrayed'#8#8'AutoSize' + +#9#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Rig' + +'ht'#2#0#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2#0'!BorderSp' + +'acing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVertical' + +#7#7'ccaFill'#7'Caption'#6#9'Left Axis'#7'Checked'#9#10'DragCursor'#7#6'crDr' + +'ag'#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#8'OnChan' + ,'ge'#7#16'cbLeftAxisChange'#11'ParentColor'#9#10'ParentFont'#9#14'ParentShow' + +'Hint'#9#14'ParentBidiMode'#9#5'State'#7#9'cbChecked'#8'TabOrder'#2#6#7'TabS' + +'top'#9#11'UseOnChange'#8#7'Visible'#9#0#0#9'TCheckBox'#7'cbTitle'#4'Left'#3 + +#240#1#6'Height'#2#22#3'Top'#2#8#5'Width'#2'2'#11'HelpContext'#2#0#5'Align'#7 + +#6'alNone'#11'AllowGrayed'#8#8'AutoSize'#9#18'BorderSpacing.Left'#2#0#17'Bor' + +'derSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'BorderSpacing.Bottom'#2#0 + +#20'BorderSpacing.Around'#2#0'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFil' + +'l'#31'BorderSpacing.CellAlignVertical'#7#7'ccaFill'#7'Caption'#6#5'Title'#7 + +'Checked'#9#10'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDrag'#8'DragMode'#7 + +#8'dmManual'#7'Enabled'#9#8'OnChange'#7#13'cbTitleChange'#11'ParentColor'#9 + +#10'ParentFont'#9#14'ParentShowHint'#9#14'ParentBidiMode'#9#5'State'#7#9'cbC' + +'hecked'#8'TabOrder'#2#7#7'TabStop'#9#11'UseOnChange'#8#7'Visible'#9#0#0#9'T' + +'CheckBox'#8'cbFooter'#4'Left'#3#240#1#6'Height'#2#22#3'Top'#2#24#5'Width'#2 + +'A'#11'HelpContext'#2#0#5'Align'#7#6'alNone'#11'AllowGrayed'#8#8'AutoSize'#9 + +#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right' + +#2#0#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2#0'!BorderSpacin' + +'g.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVertical'#7#7 + +'ccaFill'#7'Caption'#6#6'Footer'#7'Checked'#8#10'DragCursor'#7#6'crDrag'#8'D' + +'ragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#8'OnChange'#7#14 + +'cbFooterChange'#11'ParentColor'#9#10'ParentFont'#9#14'ParentShowHint'#9#14 + +'ParentBidiMode'#9#5'State'#7#11'cbUnchecked'#8'TabOrder'#2#8#7'TabStop'#9#11 + +'UseOnChange'#8#7'Visible'#9#0#0#9'TCheckBox'#10'cbInverted'#4'Left'#3#240#1 + +#6'Height'#2#22#3'Top'#2'('#5'Width'#2'L'#11'HelpContext'#2#0#5'Align'#7#6'a' + +'lNone'#11'AllowGrayed'#8#8'AutoSize'#9#18'BorderSpacing.Left'#2#0#17'Border' + +'Spacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'BorderSpacing.Bottom'#2#0#20 + +'BorderSpacing.Around'#2#0'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill' + +#31'BorderSpacing.CellAlignVertical'#7#7'ccaFill'#7'Caption'#6#8'Inverted'#7 + +'Checked'#8#10'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDrag'#8'DragMode'#7 + +#8'dmManual'#7'Enabled'#9#8'OnChange'#7#16'cbInvertedChange'#11'ParentColor' + +#9#10'ParentFont'#9#14'ParentShowHint'#9#14'ParentBidiMode'#9#5'State'#7#11 + +'cbUnchecked'#8'TabOrder'#2#9#7'TabStop'#9#11'UseOnChange'#8#7'Visible'#9#0#0 + +#7'TButton'#11'btnClearBar'#4'Left'#3#176#0#6'Height'#2#25#3'Top'#2'('#5'Wid' + +'th'#2'4'#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'AutoSize'#8#18'BorderSp' + +'acing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'Bo' + +'rderSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2#0#25'BorderSpacing.Inner' + +'Border'#2#4'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpaci' + +'ng.CellAlignVertical'#7#7'ccaFill'#6'Cancel'#8#7'Caption'#6#3'Bar'#7'Defaul' + +'t'#8#10'DragCursor'#7#6'crDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#14'P' + +'arentBidiMode'#9#11'ModalResult'#2#0#7'OnClick'#7#16'btnClearBarClick'#10'P' + +'arentFont'#9#14'ParentShowHint'#9#8'TabOrder'#2#10#7'TabStop'#9#7'Visible'#9 + +#0#0#7'TButton'#12'btnClearArea'#4'Left'#2'x'#6'Height'#2#25#3'Top'#2'('#5'W' + +'idth'#2'4'#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'AutoSize'#8#18'Border' + +'Spacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20 + +'BorderSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2#0#25'BorderSpacing.Inn' + +'erBorder'#2#4'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpa' + +'cing.CellAlignVertical'#7#7'ccaFill'#6'Cancel'#8#7'Caption'#6#4'Area'#7'Def' + +'ault'#8#10'DragCursor'#7#6'crDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#14 + +'ParentBidiMode'#9#11'ModalResult'#2#0#7'OnClick'#7#17'btnClearAreaClick'#10 + +'ParentFont'#9#14'ParentShowHint'#9#8'TabOrder'#2#11#7'TabStop'#9#7'Visible' + +#9#0#0#7'TButton'#12'btnClearLine'#4'Left'#3#232#0#6'Height'#2#25#3'Top'#2'(' + +#5'Width'#2'4'#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'AutoSize'#8#18'Bor' + +'derSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0 + +#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2#0#25'BorderSpacing.' + +'InnerBorder'#2#4'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'Border' + +'Spacing.CellAlignVertical'#7#7'ccaFill'#6'Cancel'#8#7'Caption'#6#4'Line'#7 + +'Default'#8#10'DragCursor'#7#6'crDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9 + +#14'ParentBidiMode'#9#11'ModalResult'#2#0#7'OnClick'#7#17'btnClearLineClick' + +#10'ParentFont'#9#14'ParentShowHint'#9#8'TabOrder'#2#12#7'TabStop'#9#7'Visib' + +'le'#9#0#0#7'TButton'#11'btnClearPie'#4'Left'#2'@'#6'Height'#2#25#3'Top'#2'(' + +#5'Width'#2'4'#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'AutoSize'#8#18'Bor' + +'derSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0 + +#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2#0#25'BorderSpacing.' + +'InnerBorder'#2#4'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'Border' + +'Spacing.CellAlignVertical'#7#7'ccaFill'#6'Cancel'#8#7'Caption'#6#3'Pie'#7'D' + ,'efault'#8#10'DragCursor'#7#6'crDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9 + +#14'ParentBidiMode'#9#11'ModalResult'#2#0#7'OnClick'#7#16'btnClearPieClick' + +#10'ParentFont'#9#14'ParentShowHint'#9#8'TabOrder'#2#13#7'TabStop'#9#7'Visib' + +'le'#9#0#0#0#0 ]); diff --git a/components/tachart/demo/unit1.pas b/components/tachart/demo/unit1.pas index 15148777df..7ed2382ad1 100644 --- a/components/tachart/demo/unit1.pas +++ b/components/tachart/demo/unit1.pas @@ -6,56 +6,55 @@ interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls, - TAGraph, TASeries, Buttons, StdCtrls, TAEngine; + TAGraph, TASeries, Buttons, StdCtrls; type - { TForm1 } TForm1 = class(TForm) - Button1: TButton; - Button10: TButton; - Button2: TButton; - Button3: TButton; - Button5: TButton; - Button7: TButton; - Button8: TButton; - Button9: TButton; + btnClearArea: TButton; + btnClearBar: TButton; + btnClearLine: TButton; + btnClearPie: TButton; + btnAddBar: TButton; + btnAddPie: TButton; + btnAddLine: TButton; + btnAddArea: TButton; Chart1: TChart; - CheckBox1: TCheckBox; - CheckBox2: TCheckBox; - CheckBox3: TCheckBox; - CheckBox4: TCheckBox; - CheckBox5: TCheckBox; - Legend: TCheckBox; + cbBottomAxis: TCheckBox; + cbLeftAxis: TCheckBox; + cbTitle: TCheckBox; + cbFooter: TCheckBox; + cbInverted: TCheckBox; + cbLegend: TCheckBox; + lblAdd: TLabel; + lblAdd1: TLabel; Panel1: TPanel; - procedure CheckBox5Change(Sender: TObject); - procedure Panel1Click(Sender: TObject); - procedure Button9Click(Sender: TObject); - procedure Button1Click(Sender: TObject); - procedure Button3Click(Sender: TObject); - procedure Button2Click(Sender: TObject); - procedure Button8Click(Sender: TObject); - procedure Button10Click(Sender: TObject); - procedure Button7Click(Sender: TObject); - procedure Button5Click(Sender: TObject); - procedure CheckBox1Change(Sender: TObject); - procedure CheckBox2Change(Sender: TObject); - procedure CheckBox3Change(Sender: TObject); - procedure CheckBox4Change(Sender: TObject); - procedure LegendChange(Sender: TObject); - + procedure btnClearAreaClick(Sender: TObject); + procedure btnClearBarClick(Sender: TObject); + procedure btnClearLineClick(Sender: TObject); + procedure btnClearPieClick(Sender: TObject); + procedure cbInvertedChange(Sender: TObject); + procedure btnAddAreaClick(Sender: TObject); + procedure btnAddBarClick(Sender: TObject); + procedure btnAddLineClick(Sender: TObject); + procedure btnAddPieClick(Sender: TObject); + procedure cbBottomAxisChange(Sender: TObject); + procedure cbLeftAxisChange(Sender: TObject); + procedure cbTitleChange(Sender: TObject); + procedure cbFooterChange(Sender: TObject); + procedure cbLegendChange(Sender: TObject); private - s: TBarSeries; - d: TSerie; - p: TPieSeries; - a: TAreaSeries; - x,y,x1,y1, x3,y3: double; - - { private declarations } - public - { public declarations } - end; + FArea: TAreaSeries; + FBar: TBarSeries; + FLine: TSerie; + FPie: TPieSeries; + x, y, x1, y1, x3, y3: Double; + procedure InitBar; + procedure InitLine; + procedure InitPie; + procedure InitArea; + end; var Form1: TForm1; @@ -64,123 +63,135 @@ implementation { TForm1 } - -procedure TForm1.Panel1Click(Sender: TObject); +procedure TForm1.btnAddAreaClick(Sender: TObject); begin + if FArea = nil then InitArea; + X3 := X3 + 1; + if random(2) >= 0.7 then Y3 := Y3 + random(5) + else if random(2) >= 0.7 then Y3 := 0 + else Y3 := Y3 - random(5); + FArea.AddXY(x3, y3, '', clTAColor); end; -procedure TForm1.CheckBox5Change(Sender: TObject); +procedure TForm1.btnAddBarClick(Sender: TObject); begin - Chart1.BottomAxis.Inverted := CheckBox5.Checked; - Chart1.LeftAxis.Inverted := CheckBox5.Checked; + if FBar = nil then InitBar; + + FBar.AddXY(x, y, '', clRed); + X := X + 1; + if random(2) >= 0.7 then Y := Y + random(5) + else if random(2) >= 0.7 then Y := 0 + else Y := Y - random(5); end; -procedure TForm1.Button9Click(Sender: TObject); +procedure TForm1.btnAddLineClick(Sender: TObject); begin - s := TBarSeries.Create(Chart1); - Chart1.AddSerie(s); - s.title := 'barras'; - s.SeriesColor := clRed; + if FLine = nil then InitLine; -end; - -procedure TForm1.Button1Click(Sender: TObject); -begin - p := TPieSeries.Create(Chart1); - Chart1.AddSerie(p); - p.title := 'pie'; - p.SeriesColor := clRed; - p.MarksStyle := taengine.smsLabelPercent; - -end; - -procedure TForm1.Button3Click(Sender: TObject); -begin - d:= TSerie.Create(Chart1); - d.ShowLines := true; - d.ShowPoints := true; - d.Pointer.Style := psRectangle; - d.title := 'line'; - d.SeriesColor := clRed; - Chart1.AddSerie(d); - -end; - -procedure TForm1.Button2Click(Sender: TObject); -begin - a := TAreaSeries.Create(Chart1); - Chart1.AddSerie(a); - a.SeriesColor := clred; - a.Stairs := true; - a.InvertedStairs := false; -end; - -procedure TForm1.Button8Click(Sender: TObject); -begin - X3 := X3 +1; - if (random(2) >= 0.7) then Y3 := Y3 + random(5) - else if (random(2) >= 0.7) then - Y3 := 0 - else Y3 := Y3 - random(5); - - a.AddXY(x3, y3, '', clTAColor); -end; - -procedure TForm1.Button10Click(Sender: TObject); -begin - s.AddXY(x,y, '', clred); - - X := X +1; - if (random(2) >= 0.7) then Y := Y + random(5) - else if (random(2) >= 0.7) then - Y := 0 - else Y := Y - random(5); - -end; - -procedure TForm1.Button7Click(Sender: TObject); -begin - d.AddXY(x1,y1, '', clgreen); - - X1 := X1 +1.5; - if (random(2) >= 0.5) then Y1 := Y1 + random(10) + FLine.AddXY(x1, y1, '', clGreen); + X1 := X1 + 1.5; + if random(2) >= 0.5 then Y1 := Y1 + random(10) else Y1 := Y1 - random(5); end; -procedure TForm1.Button5Click(Sender: TObject); +procedure TForm1.btnAddPieClick(Sender: TObject); begin -p.AddPie(3.4234235235, 'sde21312', clTAColor); -p.AddPie(0.2323, 'adassssssdddddd', clTAColor); -p.AddPie(30, 'filipe romao', clTAColor); -p.AddPie(40, '234eds sa', clTAColor); + if FPie = nil then InitPie; + + FPie.AddPie(3.4234235235, 'sde21312', clTAColor); + FPie.AddPie(0.2323, 'adassssssdddddd', clTAColor); + FPie.AddPie(30, 'filipe romao', clTAColor); + FPie.AddPie(40, '234eds sa', clTAColor); end; -procedure TForm1.CheckBox1Change(Sender: TObject); +procedure TForm1.btnClearAreaClick(Sender: TObject); begin - Chart1.BottomAxis.Visible := CheckBox1.Checked; + FreeAndNil(FArea); end; -procedure TForm1.CheckBox2Change(Sender: TObject); +procedure TForm1.btnClearBarClick(Sender: TObject); begin - Chart1.LeftAxis.Visible := CheckBox2.Checked; + FreeAndNil(FBar); end; -procedure TForm1.CheckBox3Change(Sender: TObject); +procedure TForm1.btnClearLineClick(Sender: TObject); begin - Chart1.Title.Visible := CheckBox3.Checked; + FreeAndNil(FLine); end; -procedure TForm1.CheckBox4Change(Sender: TObject); +procedure TForm1.btnClearPieClick(Sender: TObject); begin - Chart1.Foot.Visible := CheckBox4.Checked; + FreeAndNil(FPie); end; -procedure TForm1.LegendChange(Sender: TObject); +procedure TForm1.cbBottomAxisChange(Sender: TObject); begin -chart1.Legend.Visible := Legend.Checked; + Chart1.BottomAxis.Visible := cbBottomAxis.Checked; end; +procedure TForm1.cbFooterChange(Sender: TObject); +begin + Chart1.Foot.Visible := cbFooter.Checked; +end; + +procedure TForm1.cbInvertedChange(Sender: TObject); +begin + Chart1.BottomAxis.Inverted := cbInverted.Checked; + Chart1.LeftAxis.Inverted := cbInverted.Checked; +end; + +procedure TForm1.cbLegendChange(Sender: TObject); +begin + Chart1.Legend.Visible := cbLegend.Checked; +end; + +procedure TForm1.cbLeftAxisChange(Sender: TObject); +begin + Chart1.LeftAxis.Visible := cbLeftAxis.Checked; +end; + +procedure TForm1.cbTitleChange(Sender: TObject); +begin + Chart1.Title.Visible := cbTitle.Checked; +end; + +procedure TForm1.InitArea; +begin + FArea := TAreaSeries.Create(Chart1); + Chart1.AddSerie(FArea); + FArea.SeriesColor := clred; + FArea.Stairs := true; + FArea.InvertedStairs := false; +end; + +procedure TForm1.InitBar; +begin + FBar := TBarSeries.Create(Chart1); + Chart1.AddSerie(FBar); + FBar.Title := 'bars'; + FBar.SeriesColor := clRed; +end; + +procedure TForm1.InitLine; +begin + FLine := TSerie.Create(Chart1); + FLine.ShowLines := true; + FLine.ShowPoints := true; + FLine.Pointer.Style := psRectangle; + FLine.Title := 'line'; + FLine.SeriesColor := clRed; + Chart1.AddSerie(FLine); +end; + +procedure TForm1.InitPie; +begin + FPie := TPieSeries.Create(Chart1); + Chart1.AddSerie(FPie); + FPie.Title := 'pie'; + FPie.SeriesColor := clRed; + FPie.MarksStyle := smsLabelPercent; +end; initialization {$I unit1.lrs}