论坛: 编程破解 标题: delphi打印报表问题 复制本贴地址    
作者: yuki [gzyomi]    论坛用户   登录
调试可以通过,但是打印显示结果会有不相干的数据出现,请各位高手看看哪里出了问题
var
  str1,str2,str3:string;
  i,j:integer;
begin
    adoquery1.Open;
    adoquery2.Open;
    adoquery1.First;
    j:=0;
    str1:='';
    while not adoquery1.Eof do
    begin
        str2:=adoquery1['pnum'];
        if adoquery2.Locate('pnum',str2,[]) then begin
          str1:=str1+str2+'  '+adoquery2['pname']+'  '+adoquery2['pcode']+'  :'+inttostr(adoquery2['number'])+'件'+'  '+floattostr(adoquery2['weight'])+'kg'+#13;
          j:=j+1;
//          showmessage(str1);
        end;
        i:=0;
        while 1=1 do
        begin
          if adoquery1['number']=1 then str1:=str1+floattostr(adoquery1['weight'])+'  '
          else str1:=str1+floattostr(adoquery1['weight'])+'('+inttostr(adoquery1['number'])+')'+'  ';
//          showmessage(str1);
          adoquery1.Next;
          if adoquery1.Eof then break;
          if adoquery1['pnum']<>str2 then  break;
          i:=i+1;
          if i>=15 then begin
              str1:=str1+#13;
              j:=j+1;
              i:=0;
          end;
        end;
        str1:=str1+#13;
        str1:=str1+'===================================================================='+#13;
        j:=j+1;
//        showmessage(inttostr(j)+'**  '+str1);
  end;
  qrmemo1.Height:=j*18;
  qrmemo1.lines.Text:=str1;
  adoquery1.First;
  qrlabel5.Caption:=adoquery1['zdr'];
  qrlabel3.Caption:=form1.adoquery5['user_name'];
end;

地主 发表时间: 04-09-03 16:01

回复: blegding [blegding]   论坛用户   登录
灰鸽子就是用这门语言做的,看来我的好好学习学习!

B1层 发表时间: 04-09-03 18:53

回复: zhanjiajun [zhanjiajun]   论坛用户   登录
DEL中的打印控件有问题的。你最好自己写一个打印的类或DLL。
我写过一个。Q:52258388,我给你源程序嘛!

B2层 发表时间: 04-09-04 15:36

回复: yuki [gzyomi]   论坛用户   登录
之前我怀疑是不是内循环出了问题,改过后调试结果失败。如果我用SQL语句得出的结果正确的话,那问题还出现在什么地方???

B3层 发表时间: 04-09-06 16:11

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号