以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  条形码的类型及方向为何不能用变量?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=3334)

--  作者:yangming
--  发布时间:2009/6/28 14:10:00
--  条形码的类型及方向为何不能用变量?
这是我做的一个打印条形码的代码中的一部分,为何红色的部分不能用变量代替?
.......
c31 = "" & c3.Value & ""
Dim doc As New PrintDoc
Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
Dim rbc As New prt.RenderBarCode()
rbc.DataBinding.DataSource = BindTables("" & c1.Value & "") \'绑定到表
rbc.Width = t11
rbc.Height = t21
rbc.Style.Spacing.Right = t31 \'设置标签之间的所有和上下间隔为2毫米
rbc.BarCodeType = c31 \' 条码类型
rbc.BarDirection = BarDirectionEnum.Normal
rbc.Text = "[Fields!" & c4.Value & ".Value]" \'绑定到列
rbc.ShowText = True   \'是否显示编码
doc.Body.Children.Add(rbc)
Doc.Preview()


图片点击可在新窗口打开查看此主题相关图片如下:条形码.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2009-6-28 14:15:00编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/6/28 21:24:00
--  
BarCodeType 是一个枚举
c31是一个字符串。
这肯定是不能赋值的嘛。

Dim c31 As BarCodeEnum
Select Case c1.Value
   Case "Code39"
        c31= BarCodeEnum.Code39
   Case "Codabar"
        c31 = BarCodeEnum.Codabar
   \'.....
End Select

设置列表项目或者输入的时候,直接用Code39就行,没必要BarCodeEnum.Code39



--  作者:yangming
--  发布时间:2009/6/29 9:24:00
--  
以下是引用狐狸爸爸在2009-6-28 21:24:00的发言:
BarCodeType 是一个枚举
c31是一个字符串。
这肯定是不能赋值的嘛。

Dim c31 As BarCodeEnum
Select Case c1.Value
   Case "Code39"
        c31= BarCodeEnum.Code39
   Case "Codabar"
        c31 = BarCodeEnum.Codabar
   \'.....
End Select

设置列表项目或者输入的时候,直接用Code39就行,没必要BarCodeEnum.Code39



是这样啊,我再试试,呵呵


--  作者:yangming
--  发布时间:2009/6/29 10:02:00
--  
我这样做了,但是在选择"Code39"后没有反应,而选择其它的后,会出错错误提示,请看下图
......
Dim c31 As BarCodeEnum
Select Case e.Form.Controls("ComboBox3").Value
   Case "Codabar"
        c31= BarCodeEnum.Codabar
   Case "Code128"
        c31= BarCodeEnum.Code128
   Case "Code39"
        c31= BarCodeEnum.Code39
   Case "Code93"
        c31= BarCodeEnum.Code93
 Case "CodeI2of5"
        c31= BarCodeEnum.CodeI2of5
   Case "Ean13"
        c31= BarCodeEnum.Ean13
End Select
Dim doc As New PrintDoc
Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
Dim rbc As New prt.RenderBarCode()
rbc.DataBinding.DataSource = BindTables("" & c1.Value & "") \'绑定到表
rbc.Width = t11
rbc.Height = t21
rbc.Style.Spacing.Right = t31 \'设置标签之间的所有和上下间隔为2毫米
rbc.BarCodeType = c31 \' 条码类型
rbc.BarDirection = BarDirectionEnum.Normal
rbc.Text = "[Fields!" & c4.Value & ".Value]" \'绑定到列
rbc.ShowText = True   \'是否显示编码
doc.Body.Children.Add(rbc)

图片点击可在新窗口打开查看此主题相关图片如下:条码2.jpg
图片点击可在新窗口打开查看

--  作者:yangming
--  发布时间:2009/6/29 10:08:00
--  
我明白了,是我的错
1:我最后少了句代码:Doc.Preview()
2:列表项目那儿是复制后粘贴的,有些选项后面有空格,,所以就出错了,呵呵