以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  条形码的“+”前缀问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=149027)

--  作者:xvkewen
--  发布时间:2020/4/21 17:10:00
--  条形码的“+”前缀问题
如下图,我生成的条形码是这样的?但是扫描读出来的信息莫名的多了一个“+”号,怎么回事?

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


--  作者:有点蓝
--  发布时间:2020/4/21 17:38:00
--  
怎么生成的条码?
--  作者:xvkewen
--  发布时间:2020/4/21 18:46:00
--  
            \'自动生成条形码
            Dim Bar As New BarCodeBuilder
            Bar.Symbology = Barpro.Symbology.Code39
            bar.AddCheckSum = False
            Bar.Code = CurRow("BoxID")
            Bar.BarHeight = 5
            Bar.QuietZoneWidth = 1          
            Bar.CodeAlignment = Barpro.Alignment.BelowLeft
            Bar.Text = Format(CurRow("DeliveryTime"),"g")
            Bar.TextAlignment = Barpro.Alignment.BelowRight
            BAR.SaveImage("Images\\bar.png",600)

--  作者:有点蓝
--  发布时间:2020/4/21 20:22:00
--  
+号表示m字母是小写的,如果是大写M就不会有+号了。
--  作者:xvkewen
--  发布时间:2020/4/22 10:18:00
--  
原来如此,另外,我今天发现了一个奇怪的现象,不知道怎么回事:

请看以下代码,关于条形码的生成与引用,在开发版的源程序里运行一切正常,但是我发布以后,用我发布后的程序运行以下代码的时候,发现引用条形码时,还是引用的源程序里Image文件里最后一次生成的条形码,而不是直接引用发布后程序里的Image文件夹的条形码;


        Dim doc As new printDoc \'定义一个报表
        Dim tbl As Table = Tables("SampleSentRecord")
        \'设置报表的页面格式(匹配标签贴纸规格:110mm*85mm);
        Doc.PageSetting.Width = 110
        Doc.PageSetting.Height = 85
        Doc.PageSetting.TopMargin = 4
        Doc.PageSetting.BottomMargin = 1
        Doc.PageSetting.LeftMargin =3
        Doc.PageSetting.RightMargin = 1
        Doc.PageSetting.Landscape = True
        For i As Integer = tbl.TopRow To tbl.BottomRow
            Dim CurRow As Row = tbl.Rows(i)
            Dim chrRow As DataRow = DataTables("ItemDetail").SQLFind("BoxID = \'" & CurRow("BoxID") & "\'")
            Dim tx1,tx2,tx3 As new prt.RenderText \'定义一个文本对象;
            Dim rt As new prt.RenderTable \'定义一个表格对象
            Dim ra As new prt.RenderArea \'定义一个容器对象;
            ra.SplitVertBehavior = prt.splitbehaviorEnum.never
            
            
            \'自动生成条形码
            Dim Bar As New BarCodeBuilder
            Bar.Symbology = Barpro.Symbology.Code39
            bar.AddCheckSum = False
            Bar.Code = CurRow("BoxID").ToUpper()
            Bar.BarHeight = 5
            Bar.QuietZoneWidth = 1
            \'Bar.DisplayChecksum = False
            Bar.CodeAlignment = Barpro.Alignment.BelowLeft
            Bar.Text = Format(CurRow("DeliveryTime"),"g")
            Bar.TextAlignment = Barpro.Alignment.BelowRight
            BAR.SaveImage("Images\\bar.png",600)
            
            \'开始设置表格
            rt.Rows.Count = 8 \'设置总行数
            rt.Cols.Count = 4 \'设置总列数
            rt.Height = 60 \'设置表格的高度为80毫米
            rt.Width = 105
            rt.Rows(7).Height = 15 \'设置第8行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行
            rt.Cols(0).Width = 9 \'设置前四列的宽度,剩余的宽度被分配给5列(显示图片的那列)
            rt.Cols(1).Width = 20
            rt.Cols(2).Width = 9
            rt.Cols(3).Width = 18
            \'设置合并单元格
            
            rt.Cells(3,0).SpanCols = 4 \'第4行第1个单元格向右合并4列(用于显示XX)
            rt.Cells(1,0).SpanCols = 2 \'第2行第1个单元格向右合并2列(用于显示XX)
            rt.Cells(1,2).SpanCols = 2 \'第2行第3个单元格向右合并2列(用于显示XX)
            rt.Cells(7,1).Spancols = 3 \'第8行第2个单元格向右合并3列(用于显示XX)
            
            \'\'设置表格样式
            rt.CellStyle.Spacing.All = 1 \'单元格内容缩进1毫米
            rt.Style.GridLines.All = New prt.Linedef \'设置网格线
            rt.Style.TextAlignVert = prt.AlignVertEnum.Center \'内容垂直居中
            \'rt.Rows(6).Style.TextAlignVert = prt.AlignVertEnum.Top \'唯独第7行是备注,内容靠上对齐
            \'\'下面很简单,指定每一个单元格的内容
            rt.Cells(0,0).Text= "收件人"
            rt.Cells(0,1).Text = CurRow("receiver")
            rt.Cells(0,2).Text= "电话"
            rt.Cells(0,3).Text = CurRow("ReceiverCell")
            rt.Cells(1,0).Text= "收件人办公楼层"
            rt.Cells(1,2).Text = CurRow("ReciverFloor")
            rt.Cells(2,0).Text= "寄件人"
            rt.Cells(2,1).Text =CurRow("SendGroup") & "-" & CurRow("Sender")
            rt.Cells(2,2).Text= "电话"
            …………
            rt.Cells(7,0).Text= "箱号"
            rt.Cells(7,1).Image =  GetImage("Images\\bar.png")
            ra.children.add(rt)
            Doc.Body.Children.Add(ra)
        Next
        Doc.Preview() \'开始预览


--  作者:有点蓝
--  发布时间:2020/4/22 10:35:00
--  
BAR.SaveImage(ProjectPath & "Images\\bar.png",600)

rt.Cells(7,1).Image =  GetImage(ProjectPath &"Images\\bar.png")

--  作者:xvkewen
--  发布时间:2020/4/22 11:36:00
--  
好吧;谢谢了;