求助打印问题 找家庭财务管理软件
2楼: 用Fast Report就可以实现 如销售软件的技巧
3楼: 如果使用DELPHI自带的打印功能,如何实现?
4楼: 急,请各位指点
5楼: 各位,在DELPHI 6.0的基础上如何做,请给些建议,如分数不够,可以再加分。
6楼: 不一定在报表里实现啊
用SQL语句提前处理好也可以的
进销存软件版7楼: 如何实现,请举例说明一下
8楼: 你是意思是不是一行上要打印三条记录??
9楼: 不是,如一个文本型字段的内容为“大富翁论坛”,我需要打印的效果为
大富翁
论坛
即把文本型字段的内容分成多行打印。
10楼: select substring(dfwlt,1,3) as f1,substring(dfwlt,4,2) as f2 from yourtable
access中不知道用什么函数,你查查吧
11楼: 用mid等函数把字段分三段再显示
12楼: 请各位高手赐些代码 如家庭财务管理软件
13楼: 如果换成备注型字段,是否可以,但我为什么无法进行预览
进销存软件版14楼: 在 SQL语句语句中如何实现,请各位多指教
15楼: 设置为允许换行,宽度3个字,
每三个字之间加一个空格。
16楼: 同意Johnsun2002的思路,在報表中體現,如果用quick report的話,用qrrichtext,把你要的這個字段的值給qrrichtext,qrrichtext的寬度調整為三個字的寬度,很好用,在before print中調用onneeddata事件,在onneeddata事件中把值給 qrrichtext
17楼: 谢谢,我试一下,能否给些代码
18楼: 除了设置wrap属性为true外,再用我下面给的函数处理一下即可,
如Value := strWrap(string, 6);
function strWrap(const ostr:string; const mint:integer):string;
var
loopin,nextin,linein,stepin :integer;
tempst :string;
begin{字符串折行}
tempst := '''';
nextin := length(ostr);
loopin := 1;
linein := 0;
if(mint > 0) then
while (loopin <= nextin) do
begin
stepin := 1+integer(ByteType(ostr, loopin) <> mbSingleByte);
linein := linein +stepin;
if(ostr[loopin] = #13) then
begin
linein := 0;
end else
if(linein > mint) then
begin
tempst := tempst +#13;
linein := 0;
end;
tempst := tempst +copy(ostr, loopin, stepin);
loopin := loopin +stepin;
end;
case (tempst='''') of
true: result := oStr;
else result := tempst;
end;
end;
19楼: 结,非常感谢
20楼: 最好能支持ACCESS 2003
进销存软件版21楼: 多人接受答案了。