以文本方式查看主题

-  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=151787)

--  作者:lanbor
--  发布时间:2020/7/3 11:58:00
--  如何批量定义动态变量
我想批量生产条码
并且动态放入到自定义的表格中
如何批量定义动态变量
以下红色代码都是报错的,请教如何写才正确?

    Dim doc As New PrintDoc() \'定义一个报表
    Dim bar As New BarCodeBuilder() \'定义一个条码
    Dim bar0 As New BarCodeBuilder() \'定义一个条码
    Dim img0 As New prt.RenderImage() \'定义一个图片对象
    Dim img As New prt.RenderImage() \'定义一个图片对象
    Dim img1 As New prt.RenderImage() \'定义一个图片对象
   Dim i1 As Integer=1
    For i0 As Integer=1 To 4 Step 1  \'列号,共4列产品条码
        For l1 As Integer=4 To 12 Step 1 \'行号,共9行产品条码
            Dim ra & i1 As New prt.RenderArea   \'增加一个容器------------------------产品的第一个条码
            Dim bar & i1 As New BarCodeBuilder() \'定义一个条码
            bar & i1 .Symbology = Barpro.symbology.Code128
            bar & i1 .BarRatio = 0.1 \'宽宿窄比例
            bar & i1 .BarWidth = 0.256  \'条码宽度
            bar & i1 .BarHeight = 4.9 \'条码高度
            bar & i1 .Code = r0("bar_n" & i1).trim()
            img1 = new prt.RenderImage
            img1.Image = bar & i1 .GetImage
            ra & i1.Children.Add(img1) \'添加到容器中
            rt.Cells(l1,i0).RenderObject = ra & i1   \'把这个容器写到第4行第0列
            i1 +=1
        Next
    Next
    doc.Body.Children.Add(rt) \'将表格对象加入到报表中
    Doc.Preview

--  作者:有点蓝
--  发布时间:2020/7/3 12:06:00
--  
变量名称是无法动态取值的,只能a1=0,a2=0这样,没有这种用法:a&"1" = 0

考虑使用字典

Dim zd As New Dictionary(Of Stringdouble)
zd.add("a1",0) 
zd.add("a2",0) 
……
For Each r1 As Row In Tables("工作表").Rows
    If r1.checked Then
       For js As Integer = 1 To 63        
           zd("a" & js) = 0
        Next
......
next