Home RAP
New Blog Posts: Merging Reports - Part 1 and Part 2

Can you determine the print position in rap

edited June 2004 in RAP
Hi,

I have a report that is printed on labels with information that
flows onto more than one label per record.

I was able to do this back making it a regular report and
not a label report. If the record takes 5 labels great or
if takes only 3 (depending on sub-reports in the band)
I would like 2 thing: each new record to start at the
position of the next label and to skip a small space between
labels.

The first thing, starting each new record at the next label
I could do if I put down a region at the start and have a
label that is a space in that region. I could then change
the position of the label and so change the height of the
region and the position the next record. To do this I
need to know the currnet print position on the page.
Can I get that in rap? Can I get it in Delphi?

To skip the space between labels I have to put each
line in a region with a blank region before it and
control the visiblity of the blank region based on.
again, the current print position.

Any other way? It would be nice it you could flow
information to more than one label. So that information
that overflowed one label could go to the next.

Thanks,
Joseph Gordon

Comments

  • edited June 2004

    How about manually loading a Memo? You could add blank lines for the gaps
    between labels. Set the Memo to stretch and use the DetailBand.BeforePrint
    to load the memo with lines of data. Using this approach a single memo would
    print for each record, but by adding blank lines you could make it look like
    any number of memos printed.

    Another approach I could see trying would be to use the BandsPerRecord
    property to control how many bands are printed for each record and manually
    load a memo with the appropriate range of lines.


    --

    Thanks for supporting ReportBuilder! Please vote for ReportBuilder in the
    Delphi Informant Readers Choice awards!

    http://www.delphizine.com/ballot2004/


    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited June 2004
    Hi,

    Yes I can build the whole thing a a memo. But there are a couple of
    sub-reports and a few other thing that would be better in a report.
    Is there no way of telling where the current region is going to print?
    I have try the Report.Engine.PrintPosRect.Top value but this seems
    to be valid only for the top of the band if I am doing it in the correct
    event.

    Thanks,
    Joseph Gordon




  • edited June 2004

    Perhaps the Region's OnDrawCommandCreate event. You could typecast the
    aDrawCommand parameter as TppDrawCommand and check its top property.


    --

    Thanks for supporting ReportBuilder! Please vote for ReportBuilder in the
    Delphi Informant Readers Choice awards!

    http://www.delphizine.com/ballot2004/


    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
This discussion has been closed.