I haven’t forgotten about that feature – but you certainly wouldn’t want variable height for printing checks!! Checks are always going to be a fixed height.
Yes, these are where you should look. For the complicated rules you are saying you need, I think the ?( function would be the only way to do it. In Panorama X, you can have multiple nested conditions in one function, which I think might come in very handy for your application.
Kurt’s example is missing a parenthesis, here is the corrected version.
?(length(«First Name») = 0, «Last Name»,«First Name»+" "+«Last Name»)
A slightly simpler version of Kurt’s code would be
?(«First Name» = "", «Last Name»,«First Name»+" "+«Last Name»)
or even simpler:
sandwich("",«First Name»," "+«Last Name»)
All of these will omit the last name if the first name is missing. Here is another formula which will display either the first name, or the last name, or both with a space in between.
yoke(«First Name»," ",«Last Name»)
Actually, now that I look at it closer, I think the original question can be solved with the sandwich function. I do this sort of thing all the time. I am assuming that if the Address field is non blank then the City, State and Zip fields are also non-blank, if that is not true, you’ll need a slightly more complicated formula.
sandwich("",«Business Name»,cr())+
sandwich("", yoke(«First Name»," ",«Last Name»),cr())+
sandwich("",«Address»,cr()+City+", "+State+" "+Zip)
I assume you are doing this with a Text Display object, so you also might be able to simply use Literal Text mode, drop in the field names, and use the Collapse Blank Lines option.