digitalmetaphors
Comments
-
As an end user in RAP, there are string functions surfaced. Use a TppLabel
to show the memo data in one line out-of-the-box. If you want commas then
code its OnGetText event. Read the data straight from the pipeline to a
string variab… -
If you want to get the memo as one line then when the memo goes to print,
call myLocalStringVar := Memo1.Lines.Text or pull the memo data directly
from the datapipeline and place it in a string variable.
If you are using a Memo … -
The memo wrapping is determined when the memo control is told to generate.
One way to do this when the report is running is to use the Memo's
OnDrawCommandCreate event. Typecast the drawcommand parameter as a
TppDrawText and then lche… -
If you don't want to add a MAX() calculated field on a dataset, then use a
TppDBCalc component in the report and hook it to a field on the dataset and
set its DBCalcType to dcMaximum. Also, you'll probably want to set
DBCalc.LookAhead… -
Can you recreate the problem using a Delphi event handler instead of RAP?
Please send an example that shows the problem and we'll take a look at it.
Send all attachments to support@digital-metaphors.com
Cheers,
… -
The OnPrint will fire more than once per record as the report generates. Use
a TppVariable and code its OnCalc event handler to perform the calculation.
This will guarantee that the value will be totalled only once for each
record as … -
There are probably too many assumptions to do this in a desendent as the
crosstab is designed only for one dataset. It is going to be much easier to
create a single joined dataset for this crosstab that will include all the
data that … -
Also make sure that the Report.PassSetting is set to psOnePass.
RB 7 wouldn't necessarily be faster if you are performing intensive
calculations. A test would be to install RB 7.02 trial edition an see what
the speed difference … -
One thing that you can change is to use local variables in the routine in
order to not make calls on the pipeline to get the current value and perform
a variant conversion everytime. Would it be possible to perform more
preprocessing … -
Array's aren't supported in RAP. If you need to store strings then try using
a TStringList object instead of an array in RAP.
Cheers,
Jim Bennett
Digital Metaphors
-
The problem is that Memo3 has no lines defined on it. You have to add memo
lines in order to references Memo3.Lines[n]. Try adding blank lines to the
Memo3 in the report when in the designer if you want to specify the nth line
to be '… -
Here is my test project I created given the information you have provided.
It seems to work fine in RAP:
http://www.digital-metaphors.com/t… -
Hi Yelena,
It works fine in tests here. What other code do you have that is relying on
this memo? What are you trying to do by changing the memo after the group
footer prints? In which band is the memo? If you still can't resolv… -
In order to stop a report dead in its tracks, use the
Report.PageLimitReached method. If you want to stop the report but let it
continue with the last record generation, then call
Report.DataTraversalCompleted. When you do this, set a… -
One way would be to disconnect the main report from its data pipeline and
set Report.Autostop to true. That would force the report to print only one
detail band.
Cheers,
Jim Bennett
Digital Metaphors
<… -
An easier way would be to use the Report.OnStartPage event to see if you are
on Page # 1. Check Report.AbsolutePageNo. Set the visibility of the page
style band in this event.
Cheers,
Jim Bennett
Digital Metaphor… -
You can perform calculations across subreports using a global variable of
type TppVariable. Here is a RAP template using DBDemos data that shows a
running detail total across subreports in a subreport detail band and in the
main foote… -
What type is the variable i? If it is a floating point number, then
comparisons usually fail because of precision differences on the decimal.
Can you send us a simple example report with RAP code that shows the problem
to support@digi… -
You should use only TppVariables and their Value property to calculate
values and store them as the repor tis running. Use the variable's OnCalc
event for the proper timing. You are getting extra numbers because the bands
may get a ch… -
What event are you using? Use the BeforeGenerate event of the DetailBand or
use the OnPrint event of the memo to set the text of the memo.
Cheers,
Jim Bennett
Digital Metaphors
-
Hi Alex,
RAP code can be changed. Since you can use code insight or RTTI anyway to
get at some of the RAP classes API, here is an example of changing RAP
source code. You could create a utility app that performed these operatio… -
Hi Philip,
The OnPrint will fire multiple times, because bands will get a achance to
generate and it the band can't fit, then it must generate on the next page.
Settings such as dynamic height bands with KeepTogether in use will… -
Hi Bill,
That is the location we designed it to be shown. Where do you want it to go?
One thing you can do is to resize each panel using the splitters in the RAP
UI. Those positions are saved in the ini file so the next time you… -
You'll have to compile the RAP pass through functions into the app. The only
way to make this dynamic so you wouldn't have to recompile the app everytime
you wanted to add pass through functions would be to add a hot swapable
package … -
RAP has a pass through function capability. Basically, it is a class that is
compiled and then it allows you to make a call in RAP that calls your new
class code which makes the Delphi method call. There are tutorials and
examples in … -
The tips download should include a report template which does it all.
http://www.digital-metaphors.com/tips/MDRapRunningTotalInFooter.zip
What version of RB are you using? There was a bug in older versions, such as
RB 6.03. The left to right traversal of subreports should be fixed if you
are using RB 7. Can you download and test RB 7.03 to see if you can
reproduce the p…Hi Mark,
In Delphi code, the way to do it would be:
procedure TForm1.ppDetailBand1BeforePrint(Sender: TObject);
begin
if ((ppReport1.DataPipeline.RecordNo mod 2) = 0) then
ppShape1.Brush.Color := clBlue
Hi Bill,
The problem is the order the calculations are fired. This can be controlled
on variables using their CalcOrder property. The dbCalc does not have this.
There is no guarantee that the dbCalcs are going to calculate first…Hi Josef,
Think of the chart in RB as a static height control. In order to generate
the chart across pages, you'll have to generate the chart outside of RB and
then load the resulting images into RB using TppImage controls. Sear…