Ed,
I don't know if this applies, but traditionally CHAR(13) was the way a
computer encoded and stored the equivalent of a "carriage return" (you
remember, don't you!? When the "carriage" of the typewritten returned from
right to left?), and CHAR(10) was the "line feed" (when you rolled the
platen up/forward 1/6 of an inch).  Maybe you are "returning the carriage"
without "feeding the line."

I have code similar to yours, that does both, and I have few problems with
it:

SET VAR vCRLF = (CHAR(10) + CHAR(13))


On Wed, Apr 29, 2009 at 12:01 PM, Ed Rivkin <[email protected]> wrote:

>  Emmitt,
> Thanks. I tried the suggested syntax below and it places the carriage
> return before printing the .csz
> variable so it now prints one line too low.
>
> If I use this syntax for Line 18:
> TEXT   : PH : vprintline4 = (Ifexists(.name2,.csz+(CHAR(13)),'  '))
>
> I still have the previously reported result; i.e. I don't get a space
> between print line four and the next
> print line. I also tried defining a new variable, .csz2 which includes
> .csz+(CHAR(13)) and making
> that the 2nd argument in vprintline4. Finally I varied between (CHAR(13))
> and (CHAR(013)) without
> any change in the result.
>
> Thanks to Javier as well for the band suggestion. Dynamic Height is
> highlighted for the Page Header Band.
>
> Sorry to be giving everyone such a challenge but I am really stumped on
> this one....
>
> Ed
>
> Apr 29, 2009 10:16:59 AM, [email protected] wrote:
>
>  Ed,
>
> Move the (CHAR(13)) to the definition of the print line.  What is happening
> is that even if your line is blank you’re getting a carriage return
> inserted.
>
>   18  : TEXT   : PH : vprintline4 = (Ifexists(.name2,(CHAR(13))+.csz,'  '))
>
>   Emmitt Dove
>
> Manager, Converting Applications Development
>
> Evergreen Packaging, Inc.
>
> [email protected]
>
> (203) 214-5683 m
>
> (203) 643-8022 o
>
> (203) 643-8086 f
>
> [email protected]
>
>  *From:* [email protected] [mailto:[email protected]] *On Behalf Of *Ed
> Rivkin
> *Sent:* Wednesday, April 29, 2009 11:00 AM
> *To:* RBASE-L Mailing List
> *Subject:* [RBASE-L] - Re: Eliminating Print of Blank Lines in Reports
>
> Razzak,
> Thanks for the quick response last night. Here's what I did. Unfortunately
> I still have the same spacing problem.
>
> My first print line always prints so I didn't include it in the
> IFEXISTS/IFNULL logic
> or the vaddress variable.
>
> Here are my variables.
>   1  : TEXT   : PH : sal = salutation in salutation where salut = salut
>   2  : TEXT   : PH : fname = fnamer in tenant where acct = acct
>   3  : TEXT   : PH : lname = lnamer in tenant where acct = acct
>   4  : TEXT   : PH : v1name = (sal & fname & lname)
>   5  : TEXT   : PH : sal2 = salutation in salutation where salut2 = salut2
>   6  : TEXT   : PH : fname2 = fnamer2 in tenant where acct = acct and salut
> ne '5'
>   7  : TEXT   : PH : lname2 = lnamer2 in tenant where acct = acct and salut
> ne '5'
>   8  : TEXT   : PH : name2 = (sal2 & fname2 & lname2)
>   9  : INTEGER  : PH : addr = addr1r in tenant where acct = acct
>   10  : TEXT   : PH : st = street in commaddr where stcode = stcode
>   11  : TEXT   : PH : street = (ctxt(.addr) & st)
>   12  : TEXT   : PH : city = city in commaddr where stcode = stcode
>   13  : TEXT   : PH : state = state in commaddr where stcode = stcode
>   14  : TEXT   : PH : zipcd = zipcd in commaddr where stcode = stcode
>   15  : TEXT   : PH : csz = (.city + ',' & state & zipcd)
>   16  : TEXT   : PH : vprintline2 = (IFEXISTS(.name2,.name2,.street))
>   17  : TEXT   : PH : vprintline3 = (Ifexists(.name2,.street,.csz))
>   18  : TEXT   : PH : vprintline4 = (Ifexists(.name2,.csz,'  '))
>   19  : NOTE  : PH : vaddress =
> (.vPrintLine2+(CHAR(013))+.vPrintLine3+(CHAR(013))+.vPrintLine4+(CHAR(013)))
>
> .vaddress is in the report as a Variable Memo with "stretch" clicked on.
>
> When lines 2,3,4 print, everything lines up perfectly. When line 4 prints
> as blank,
> I still have the extra line. This is printing in the break header which is
> where I want it.
>
> Thanks again,
> Ed
>
> Apr 28, 2009 09:32:15 PM, [email protected] wrote:
>
> At 10:05 PM 4/28/2009, Ed Rivkin wrote:
>
> >how does one eliminate the now additional blank lines and
> >get the spacing between addresses consistent regardless of
> >the number of lines that printed.
>
> Ed,
>
> The best option is to use "Variable Memo" control based on
> the expression that handles the blank data.
>
> Once you place the Variable Memo and associate the control
> with appropriate variable, you may adjust the height to a
> minimum and make sure to allow "stretch".
>
> Example:
>
> vCityStateZip = (City + ','&State&ZipCode)
> vPrintLine1 = (FirstName&LastName)
> vPrintLine2 = (IFEXISTS(Company,Company,AddressLine1))
> vPrintLine3 = (IFEXISTS(Company,AddressLine1,(IFNULL(Company, +
> (IFEXISTS(AddressLine2,AddressLine2,.vCityStateZip)),.vCityStateZip))))
> vPrintLine4 =
> (IFEXISTS(Company,(IFEXISTS(AddressLine2,AddressLine2,.vCityStateZip)), +
> (IFNULL(Company,(IFNULL(AddressLine2,' ',.vCityStateZip)),' '))))
> vPrintLine5 = (IFEXISTS(Company,(IFEXISTS(AddressLine2,.vCityStateZip,'
> ')), +
> (IFNULL(Company,' ',' '))))
>
> vAddress =
>
> (.vPrintLine1+(CHAR(013))+.vPrintLine2+(CHAR(013))+.vPrintLine3+(CHAR(013))+.vPrintLine14(CHAR(013))+.vPrintLine1+(CHAR(013)))
>
> In this example, the vAddress is defined as "NOTE" and placed as
> "Variable Memo"
> control with "Stretch" set to true (checked).
>
> Hope that helps!
>
> Very Best R:egards,
>
> Razzak.
>
> P.S. If you need a sample report or label based on this technique, let me
> know.
>
>

Reply via email to