我正在努力获得客户的姓氏,名字 - dob,除了所有打印在同一个地方的所有内容之外我都知道了吗?
declare n_curs cursor for
select unique pin,surname,given1,given2,dob from crcharge where
chargenum in (select chargenum from crbookdd where book_no = rpt.book_no)
order by surname,given1
print ESC, "&l4E"
foreach n_curs into t_pin, t_surname, t_given1, t_given2, t_dob
if kick_new then
print column 1, ESC, "&a0G", ESC, "&l3O", ESC, "&f4y3X",
ESC, "&l8D",ESC, "&l4E"
end if
let shtwrd_count = 0
if shtwrd_count > 6 then
let shtwrd[shtwrd_count] = t_shtwrd
let shtwrd_count = shtwrd_count + 1
Exit foreach
end if
print
print ESC,"&a6R", ESC, "&a3C",
upshift(t_surname) clipped, ",",
updown(t_given1) clipped," " ,
updown(t_given2) clipped,"-", t_dob clipped;
end foreach
答案 0 :(得分:1)
因为您的转义序列在CR(回车)之后抑制了LF(换行)。
答案 1 :(得分:1)
PRINT语句后的分号意味着“抑制换行符”。因此,下一个PRINT语句在同一行继续。这就是你想要的效果非常有用;否则,不好。
另外,作为一些建议,您应该参数化转义序列。如果不这样做,那么当您需要更换打印机或终端类型时,生活将变得非常困难。创建命名效果的函数并返回正确的字符串:
FUNCTION extra_bold()
RETURN ESC, "&a6R" -- Or whatever
END FUNCTION
然后使用它们:
PRINT extra_bold(), info.field