0
votes

While using Delphi Seattle 10 and Steema TeeChart Pro VCL FMX 2016.18, I am looking to Highlight a Selection of a Line Graph (multiple series) in the way that Zooming allows / makes a square around a highlighted selection of a Line Graph to indicate which part of it to zoom into (as long as the onmousedown action is in progress).

The purpose of this would be to allow the selection to remain highlighted while the mouse is no longer being clicked, to potentially "Delete" the highlighted Data points. All I need this for is to obtain the (X0 Y0 X1 Y1) values to possibly obtain the CalcPosPoint(X) and remove all the points inside. The data is currently obtained through a Record Struct (Memory Mapped) file, and it will there for be used to set/check for a property "deleted" to indicate on the next redraw of the graph which rows to completely ignore and which to continue printing.

enter image description here

I hope to be able to do this (select from 1 chart), and have it simultaneously draw on multiple graphs. I have tried to look for an example of this feature through the use of TSelectorTool (FMXTee). One of the pages I found referring to such a tool is Interactive data point selection as well as Multiple selections with Selector Tool

And my second question has to do with TeeCharts directly. Where would I find fmx240.bpl as TeeChart_Pro_Firemonkey_Demo.exe requires this file in order to run? I did manage to copy vcl240.bpl from "Embarcadero\Studio\18.0\bin" and put it into "Embarcadero\Studio\17.0\bin"

[Edited]

I have managed to capture / create a sample code (MVCE) from which I can now select a portion and create a square around a particular sample of graph lines. The control graph right now is the bottom graph (Chart5). If anyone is interested in seeing the code, I have put up a pastebin sample.

PasteBin Sample Code

And a TeeCharts.tar.gz is accessible to anyone who wishes to see a sample of the code, as well as the data sample.

filetolink.com Source Files

I no longer feel the need for mathematical equation to differentiate the top graphs from the bottom (because the bottom axes are automatic where as the top are defined). I intend to only use the space which is adherent to the visible space, and do not intend to extend in either direction (left or right). That means at this point the size of the graph does not matter, because once I over populate the charts above, the position in the bottom graph would become irrelevant, and therefor I do not intend to use the bottom chart.

The next step is to save the positions of the boxes so that they can reappear when the graph is shift from left (past data) to the right (live data). And then uses the buttons above to make the appropriate action to the graphs.

I would like to know what way would be the most sufficient way to record the positions of the rectangles, so when the chart is shifted (via the ScrollBar1), the rectangles are moving with the direction of the scrollbar. But I'm sure I can achieve that.

1
As a developer, I'd think you'd be able to search your drive to locate the file in the 18.0\bin, 18.0\bin64, 18.0\Redist\Win32, or 18.0\Redist\Win64 folders.Ken White
I am using Studio\17.0, and regarding the latter, all I see is Studio\18.0\Bin and Studio\18.0\Licence (vcl240.bpl came from Studio\18.0\Bin)Barry Dick
As I said, there is a copy of the fmx240.bpl in the 18.0\bin folder. Are you using the trial version of 18?Ken White
No 18.0\ is a Berlin version of Delphi, I am using Seattle which is 17.0\ The only reason I have 18.0 is due to their licensing manager. (LicenseManager.exe) and the associated files. Which does not include the one I require.Barry Dick
Yes, I know what Berlin is - I have both Seattle and Berlin installed (plus most versions back to D2007). If you don't have Berlin, you won't have fmx240.bpl. Contact Steema for the redistributable version to go with their demo.Ken White

1 Answers

0
votes

I think I have found a solution. The red squares are only prevalent for the visual aspect, they can be drawn on, I don't need to do anything special with each chart, as I already know what the X0..Y1 parameters are, they are known from the initial chart. The problem h/e has to do with the initial chart. As long as the screens are all full, I can zoom in correctly w/ alignment with on all the charts (ZoomRect/Rectf(X0..Y1))

But what kind of equation would it take to adjust the charts that are not in the same zoom / max / min when the Chart5.Axes.Bottom.Automatic = True?

From there I just simply have to disable the immediate zoom feature, and allow buttons to become functional, to decide what the next course of action would be.