Gnostice PDF Engine (Delphi) How to create one table following another - delphi

I want to create one table of variable length, followed by another table.
You start a new table with
TableCols := BeginTable(X, Y, NoOfCols);
where X,Y is top left corner of table.
First table may end in middle of first page or extend to subsequent pages. So I do not know Y of 2nd table. Is there a CurrentPosition property that will give me Y? Or a version of BeginTable that does not require X,Y?

You can set the cell height before rendering the table and when you have finished rendering the tables, multiply the cell height with the number of rows. Then, you know the height of the current table.

Related

How to delete empty cells and shift up in Google Sheets?

Is there a way to delete empty cells in a given range and shift the column up to the desired display as shown below? Closest I came was
=ARRAYFORMULA({A1:C1; TRANSPOSE(SPLIT(TRANSPOSE(QUERY(A2:C,,999^99)), " "))})
which removes empty cells, but splits the first names and surnames into separate cells, which I have not figured out how to avoid. Pfa a made-up sample of current and desired displays:
Current Display
Desired Display
I'm new at this, but I came up with a bit of a brute force method, which may help you.
={
{(A1:C1)};
{FILTER(A2:A100,A2:A100<>"");indirect("N1:N" & 100-counta(A2:A100))},
{FILTER(B2:B100,B2:B100<>"");indirect("N1:N" & 100-counta(B2:B100))},
{FILTER(C2:C100,C2:C100<>"");indirect("N1:N" & 100-counta(C2:C100))}}
Assuming your data block is in columns A1:C100, this formula filters blank cells from each individual column, and then pads each column with blank cells at the bottom, to make the three arrays equal in length/dimension.
Note that in "100-counta(...", the 100 is the expected maximum length of your data column.
This could be calculated, and must be the same for all three columns.
Note also that the first array is horizontal (ends with a semi-colon), followed by the three columns, stacked beside each other (ends with a comma).
Here is a working example.
https://docs.google.com/spreadsheets/d/1MGaqqGrkmIliuAzEqxPtdEVZXWPN2K5W7jFFM-ZnwgE/edit?usp=sharing
If I missed something you were trying to achieve, let me know.
Also, I'm sure that there is a more elegant way to do this, or one not requiring the use of a block of "reserved" blank cells, but I couldn't think of that at the moment.
Edit: The formula as follows also works. But you need to remember to set the "100" value to be equal to the number of rows in your data block, since we pad the columns with the necessary number of blanks rows, after removing the blank cells in each column.
={
{(A1:C1)};
{FILTER(A2:A,A2:A<>"");indirect("N1:N" & 100-counta(A2:A))},
{FILTER(B2:B,B2:B<>"");indirect("N1:N" & 100-counta(B2:B))},
{FILTER(C2:C,C2:C<>"");indirect("N1:N" & 100-counta(C2:C))}}

Graphing Dynamic Line Graphs for ComboGraph Excel 2010

I want to create a combo chart with 2 line graphs. One of them is sourced from a pivot table in another worksheet and another is a horizontal line which may be
adjusted.(Think of equation y = 500.) How can I graph the second graph?
The circled number is horizontal graph (y = 18879.00) and it can change. How can
I graph the dynamic horizontal graph?
If you want to keep using a pivot chart, you can create a Calculated Field with the value of the line, add that to the chart and format the series as a line. With this technique, the line will not be dynamic and you will need to change the calculated field value when you want to move the line.
If you want the line to be dynamically linked to data in a cell, then you can't use a pivot chart. You'll need to create a regular chart from the pivot table data and add the line as a new data series. There are several techniques how to achieve that. The screenshot shows how the line can be plotted by having one value for the first and the last data point each. Cells H3 and H14 both point to H18, where the line value can be changed in one cell.
Add the data in H3:H14 as a new series and format as a line. If the line does not show, make sure to set the option for "Hidden and empty cells" to connect data points with line.

Change UITableView row culling behavior?

Is it possible to change the behaviour of tableview row culling?
For instance, change it so that it doesn't remove/destroy cells unless they are at least 4 rows off screen (in either direction) ?
So to visualize this:
-- Row 1
-- Row 2
-- Row 3
-- Table view visible top here. Any rows above are off screen
-- Row 4
-- Row 5
So in this scenario, imagine that the default behaviour is to cull/destroy rows as soon as they leave the visible screen area. So in this case, row's 1>3 would be destroyed and recreated as they come back onto the screen.
This can result in some visual hiccups, depending on how you are gathering data and how much is being displayed in the cells etc.
So to make the row recreation less obvious on the eye, i would like to higher the limit, to only cull rows after they move up either x amount of rows above the table view top, or after a row is y amount of pixels above (i.e not visible) the cut off point.

MS-Word-2010 cross reference of math. equations gap in paragraph

I created a word document in version 2010. The mathematical equations are described by a number and written as follow.
a= b/c Eq.4.5
Now if I use equation number in text to refer towards a= b/c Eq.4.5 with hyperlink then whole
equation is appearing in text (as shown before in mid of sentence).
After reading into several blogs, I redefine number with 'insert bookmark' option by only selecting number 'Eq.4.5'.
Now if I use this bookmark in text to refer towards Eq.4.5 with hyperlink then a gap is
appearing in text (as shown before in mid of sentence).
Please can someone guide me how to remove this gap from text? as manually I can remove it but in print or update of document it appears again and again. If I switch on 'Show/Hide' option, it look like with small arrows as follows.
--> --> --> --> Eq.4.5
It appears the bookmark counts the 'tab's before the number too. (As that is what the small arrows indicate.)
Try remaking the bookmark and making sure you only have the number selected (by for instance using shift + right arrow key)
This can be done by using a table and a caption. The table is needed to separate the equation from the caption.
Make a table with invisible lines that is 3 columns wide and 1 row.
Edit the properties of the table so that the total table width is 100% width, and the columns are each 10%, 80%, and 10% width.
Set the Valign to the cells to be middle.
Add the equation to the center cell of the table.
Click on the right cell of the table and add a caption. Since the equation is in a separate table cell, the equation will not be considered part of the caption. If the caption is added to the table itself instead of appearing in the cell, then just highlight the caption and drag it into the cell.
Center the equation in its cell and it will be centered in the page.
Right-align the equation number and it will be right-aligned to the page

How does a DBGrid component determine initial column widths to display?

I'm having a difficult time saving/reloading col widths in a DBGrid (actually TMS's DBGrid). TMS includes built-in methods to save/reload col widths, which are working correctly (I can read the values in an ini file). Something, somewhere in my code is overriding the stored values, however. I don't know enough about how col widths are determined to be able to debug the issue.
The grid is ultimately connected to a ClientDataSet file.
TColumn has a method named DefaultWidth, which is called in particular when the width hasn't been explicitly assigned to the column (which is true for the dynamically created grid columns).
Basically, it takes the column's associated field's display width (in chars) and multiplies it by the width of the 0 character (in pixels), using the corresponding font.
It then compares the result to the width of the title (in pixels) and returns the greater value.

Resources