您的位置:程序门 -> vb -> 基础类



急问,打印时总提示overflow!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


急问,打印时总提示overflow!
发表于:2007-07-16 16:17:23 楼主

今天下午做一个需求,要打印出运行出来的报表数据,但是程序运行时,总提示overflow.可能越界的地方我都改了,还是不行,相关代码如下:
以下为赋值部分,将表格中的值赋给g.其中igridwidth   是long型数据,原来是integer.
with   grddata
        g.clear:   g.rows   =   iendrow   -   ibeginrow   +   1   +   1
        k   =   0:   itmp   =   110:   igridwidth   =   0
        for   i   =   0   to   grddata.cols   -   1
              if   mid(mstrprintcol,   i   +   1,   1)   =   "1 "   or   _
                    instr(left(mstrprintcol,   len(mstrprintcol)   -   1),   "1 ")   =   0   then
                  k   =   k   +   1
                  g.cols   =   k
                if   .colwidth(i)   >   100   then
                    g.colwidth(k   -   1)   =   .colwidth(i)   *   itmp   /   100
                else
                    g.colwidth(k   -   1)   =   0
                end   if
                g.textmatrix(0,   k   -   1)   =   .textmatrix(0,   i)
                for   j   =   1   to   g.rows   -   1
                    g.textmatrix(j,   k   -   1)   =   .textmatrix(ibeginrow   +   j,   i)
                next   j
                igridwidth   =   igridwidth   +   g.colwidth(k   -   1)
              end   if
        next   i
  end   with
~~~~~~~~~~~~~~~~~~~~
以下为打印,
with   prt1
        set   .grddata   =   g
        .linesperpage   =   0
        .title   =   strtitle
        if   gstrformid   <>   "4415 "   then
                .titlesize   =   14
                .asssize   =   6
'                   .asssize   =   10
                .zoom   =   100
        else
                .titlesize   =   12
                .asssize   =   9
                .zoom   =   140
        end   if
        if   gstrformid   <>   "4415 "   then
                .hd   =   iif(right(mstrprintcol,   1)   =   "0 ",   true,   false)
        else
                .hd   =   false
        end   if
        i   =   10
        .pagehead   =   strpagehead   &   "@r "
       
                .pagefoot   =   "@r打印日期: "   &   format(gdatlogindate,   "yyyy年mm月dd日 ")   &   space(i)   &   _
                        iif(gstrformid   =   "450 ",   " ",   "@p ")
        .printbegin
        .printtask                                   '运行到这里时就报错了
        .printend
    end   with


快速检索

最新资讯
热门点击