以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  求助 关于条码问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=190124)

--  作者:jackyfashion
--  发布时间:2024/1/18 1:08:00
--  求助 关于条码问题

老师: 您好!

我做个打印报表,代码如下
For i As Integer = 0 To n 
        For il As Integer = 0 To nl 
            Dim i m g As pr t.R end e r I m age
            Dim Bar As New B a r C o d e B u i l d e r
            Bar.Symbology = B a r pr o.S y m b o l o g y.C o d e 3 9
            Ba r.B a r R a ti o = 0.2
            B a r .B a r H eight = 88982 & "*" & 00001*0001*0001
            Doc.Stacking = p r t. St ac kin g R u l e s E nu m. In l i n e L e f t T o R i g h t
            bar.Code = 
            i m g = new pr t .R en d er I m a g e
            i mg.Image = b a r .Ge t I m age
            Doc.Body.Children.Add(i mg)
        Next
    Next
报表有9列,
报表的0列及8列放条码
rt.Cells(i,0).Image = ?
rt.Cells(i,8).Image = ?
请老师指教!!!
谢谢!!!
                  想跟这个样本

图片点击可在新窗口打开查看此主题相关图片如下:aa.png
图片点击可在新窗口打开查看
                      这是我打的条码

图片点击可在新窗口打开查看此主题相关图片如下:bb.png
图片点击可在新窗口打开查看

请老师指教!!!
谢谢!!!

--  作者:有点蓝
--  发布时间:2024/1/18 8:50:00
--  
下面的n和nl分别表示什么意思?

For i As Integer = 0 To n 
        For il As Integer = 0 To nl 

假设这2个循环生成10个条码,意思是第1、2个条码分别放到表格第一行的第一列和最后一列,然后第3、4个条码分别放到表格第二行的第一列和最后一列,....,这样?

--  作者:jackyfashion
--  发布时间:2024/1/18 9:22:00
--  

老师:您好!

 

是这个意思,


rt.Cells(i,0).Image = ?

rt.Cells(i,8).Image = ?
请老师指教!!!
谢谢!

--  作者:有点蓝
--  发布时间:2024/1/18 9:32:00
--  
答非所问。请贴出完整代码看看


--  作者:jackyfashion
--  发布时间:2024/1/18 9:55:00
--  

老师:早上好!

n 是表A 的行数

NL 是表B的行数

 

B是条码最后的代码

0001 to 0003

上边的代码用着Code39,后边多着一个字符,我改了Code128就没有了.

谢谢老师!!!


--  作者:有点蓝
--  发布时间:2024/1/18 9:57:00
--  
假设这2个循环生成10个条码,意思是第1、2个条码分别放到表格第一行的第一列和最后一列,然后第3、4个条码分别放到表格第二行的第一列和最后一列,....,这样?
--  作者:jackyfashion
--  发布时间:2024/1/18 10:06:00
--  
老师:您好!


图片点击可在新窗口打开查看此主题相关图片如下:cc.png
图片点击可在新窗口打开查看

谢谢!!!
[此贴子已经被作者于2024/1/18 10:08:30编辑过]

--  作者:有点蓝
--  发布时间:2024/1/18 10:24:00
--  
解释一下,和我的问题有什么关系?
--  作者:jackyfashion
--  发布时间:2024/1/18 10:39:00
--  
老师:您辛苦了!
    Dim doc As New P r i n t Doc \'定义一个报表
    Do c.Pa g e S e t ti n g. L e f t Margin = 10 \'设置左边距
    Do c.P age Se t ti n g. R i g h t Margin = 10 \'设置右边距
    D o c. P a g e Se t ti n g.To p M a r gin = 10 \'设置上边距
    Do c.P a g e Se t t in g .B o t t om Mar gin = 10 \'设置下边距
    Dim rt As New pr t.R en d e r T a  b le () \'定义一个表格对象
    doc.Stacking = pr t.St ac kin g R u l e s E n u  m .B lo c k T o T o Bot tom
    rt.Width = "Parent.Width" \'对象宽度等于页面宽度
    rt.Cols.Count = 7 \'置总列数
    rt.Cols(0).Width = 55
    rt.Cols(0).Width = 55
    rt.Cols(1).Width = 9
    rt.Cols(2).Width = 10
    rt.Cols(3).Width = 12
    rt.Cols(4).Width = 25
    rt.Cols(5).Width = 12
    rt.Cols(6).Width = 10
    rt.Cols(7).Width = 9
    rt.Cols(8).Width = 55
    Dim fa As Table = Tables("表A")
    Dim rl As  Table = Tables("表B")
    Dim n As Integer = Tables("表A").Rows.Count-1
    Dim nl As Integer = Tables("表B").Rows.Count-1
    For i As Integer = 0 To n
        For il As Integer = 0 To n l  \' Step 2     
            Dim i m g As p rt .R en d e r I m age
            Dim Bar As New B a r Code B u i l d er
            Bar.Symbology = B a r p r o.S y m b o l o g y. C o d e 1 28
            B a r. B a r R a t i o = 0.05
            B a r . B a r H e i g h t = 6
            Doc.Stacking = p r t . S t a c k i n g R u l e s E n u m . I n l i n e L e f t T o  Right
            bar.Code = fa.Rows(i)("x kg n") & "*" & fa.Rows(i)("ys") & "*" & fa.Rows(i)("kg") & "*" & rl.Rows(il)("acb")
            i mg = new p r t. R e n d e r I m age
            i m g . Image = b a r . G e t I mage
            Doc.Body.Children.Add(i mg)
            \'rt.Cells(i,0).R e n d e r Object = i mg
            doc.Stacking = p r t . S t a c k i n g R u l e s E n u m . B l o c k T o p T o Bottom
        Next
    Next
    Doc.Preview()
谢谢!

--  作者:有点蓝
--  发布时间:2024/1/18 10:41:00
--  
现在的代码有什么问题,生成的是什么效果?

最终需要的是什么效果?画图说明一下