Foxtable(狐表)用户栏目专家坐堂 → [求助] 关于二维码问题


  共有4717人关注过本帖树形打印复制链接

主题:[求助] 关于二维码问题

帅哥哟,离线,有人找我吗?
wumingrong1
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
[求助] 关于二维码问题  发帖心情 Post By:2017/6/25 20:01:00 [显示全部帖子]

Dim doc As New PrintDoc
Dim rg As prt.RenderGraphics
Dim Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.QRCode
Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
Dim r As Row = Tables("二维码清单表").current
    bar.Code = r("二维码编号")
    rg = new prt.RenderGraphics
    bar.DrawOnCanvas(rg.Graphics,0,0,3) 'X Y 坐标 放大倍数
    rg.Style.Spacing.All = 3
    Doc.Body.Children.Add(rg)
Doc.Preview()

 


图片点击可在新窗口打开查看此主题相关图片如下:360截图20170625195942832.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
wumingrong1
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2017/7/4 15:56:00 [显示全部帖子]

想实现只打印 【起始】-【截止】的二维码,命令该怎么修改?

 

 

Dim doc As New PrintDoc
Dim rg As prt.RenderGraphics
Dim Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.QRCode
Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
For Each r As Row In Tables("二维码清单表").Rows '所有二维码
bar.Code = r("二维码编号")
r("打印员工") = User.name
r("打印时间") = dt
rg = new prt.RenderGraphics
bar.DrawOnCanvas(rg.Graphics,0,0,3) 'X Y 坐标 放大倍数
rg.Style.Spacing.All = 3  '统一设置边框
rg.Style.Spacing.Top = 20 '与上一个对象相隔距离
Doc.Body.Children.Add(rg)
Dim rx As new prt.RenderText
rx.Text = r("二维码编号")
rx.X = 57 'X轴起始位置
rx.Style.Spacing.Top = 1 '与上一个对象相隔距离

Doc.Body.Children.Add(rx) '添加到容器中

Next
Doc.Preview()

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:360截图20170704155502348.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
wumingrong1
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2017/7/5 12:29:00 [显示全部帖子]

1、【打印二维码】按钮命令如下:

 


图片点击可在新窗口打开查看此主题相关图片如下:360截图20170704155502348.jpg
图片点击可在新窗口打开查看

Dim cmd As New SQLCommand
Dim dt As Date
cmd.C
cmd.CommandText = "Select GetDate()"
dt = cmd.ExecuteScalar()

 

Dim doc As New PrintDoc
Dim rg As prt.RenderGraphics
Dim ra As New prt.RenderArea '定义一个容器
Dim Bar As New BarCodeBuilder '增加一个文本
Bar.Symbology = Barpro.Symbology.QRCode
'Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
ra.Stacking = prt.StackingRulesEnum.InlineLeftToRight
'For Each r As Row In Tables("二维码清单表").Rows '所有二维码
Dim ks As Integer = val(e.form.controls("起始").Text)
Dim js As Integer = val(e.form.controls("截止").Text)
For i As Integer = ks To js
    Dim r As Row = Tables("二维码清单表").Rows(i)
bar.Code = r("二维码编号") '文本内容
r("打印员工") = User.name
r("打印时间") = dt
rg = new prt.RenderGraphics
bar.DrawOnCanvas(rg.Graphics,0,0,1.5) 'X Y 坐标 放大倍数
rg.Style.Spacing.All = 3  '统一设置边框
rg.Style.Spacing.Top = 25 '与上一个对象相隔距离
Doc.Body.Children.Add(rg)
Dim rx As new prt.RenderText
rx.Text = r("二维码编号")
rx.X = 20 'X轴起始位置
rx.Style.Spacing.Top = 0.8 '与上一个对象相隔距离

Doc.Body.Children.Add(rx) '添加到容器中

Next
Doc.Preview()

 

2、目前以上命令出来的效果如下:

图片点击可在新窗口打开查看此主题相关图片如下:360截图20170705121913453.jpg
图片点击可在新窗口打开查看

3、想要实现以下效果、命令该怎么改?(注意二维码图片下面的【二维码编号】也要跟随着对应的二维码图片移动到对应的位置)

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20170705122721.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2017/7/5 12:32:32编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wumingrong1
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2017/7/5 16:01:00 [显示全部帖子]

Dim doc As New PrintDoc
Dim rg As prt.RenderGraphics
Dim Bar As New BarCodeBuilder '增加一个文本
Bar.Symbology = Barpro.Symbology.QRCode
Dim rt As new prt.RenderTable
rt.Cols.Count = 3 '设置列数

Dim x As Integer = 0
Dim y As Integer = 0

Dim ks As Integer = val(e.form.controls("起始").Text)
Dim js As Integer = val(e.form.controls("截止").Text)
For i As Integer = ks To js
    Dim r As Row = Tables("二维码清单表").Rows(i)
    bar.Code = r("二维码编号") '文本内容
    rg = new prt.RenderGraphics
    bar.DrawOnCanvas(rg.Graphics,0,1,1.5) 'X Y 坐标 放大倍数
    rg.Style.Spacing.Top = 25 '与上一个对象相隔距离
    rt.Cells(x, y).RenderObject = rg
    Dim rx As new prt.RenderText
    rx.Text = r("二维码编号")
    rx.X = 15 'X轴起始位置
    rx.Y = 40 'X轴起始位置
   
    rt.cells(x+1, y).RenderObject = rx
    y += 1
    If y >=3 Then
        y = 0
        x += 2
    End If
Next
Doc.Body.Children.Add(rt) '添加到容器中
Doc.Preview()

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:360截图20170705160010412.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
wumingrong1
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2017/7/9 14:45:00 [显示全部帖子]

 想要实现,下图中的二维码图片;不要跟着边框进行拉伸;想让它变小一点。以下命令该怎么修改?

 

 
图片点击可在新窗口打开查看此主题相关图片如下:360截图20170709144203873.jpg
图片点击可在新窗口打开查看

Dim cmd As New SQLCommand
Dim dt As Date
cmd.C
cmd.CommandText = "Select GetDate()"
dt = cmd.ExecuteScalar()

Dim doc As New PrintDoc
Dim rg As prt.RenderGraphics
Dim Bar As New BarCodeBuilder '增加一个文本
Bar.Symbology = Barpro.Symbology.QRCode
Dim rt As new prt.RenderTable
rt.Style.GridLines.All = New prt.LineDef '将网格线类型设为默认类型
'rt.Style.GridLines.All = New prt.Linedef(Color.DarkGray)

rt.Cols.Count = 3 '设置列数

rt.Rows.Count = 3
rt.Cols(0).Width = 195
rt.Cols(1).Width = 209
rt.Cols(2).Width = 200

rt.Rows.Count = 8
rt.Rows(0).Height = 57
rt.Rows(1).Height = 10
rt.Rows(2).Height = 64
rt.Rows(3).Height = 10
rt.Rows(4).Height = 64
rt.Rows(5).Height = 10
rt.Rows(6).Height = 60
rt.Rows(7).Height = 10

Dim ks As Integer = val(e.form.controls("起始").Text)
'Dim zs As Integer = val(e.form.controls("张数").Text)
Dim x As Integer = 0
Dim y As Integer = 0
For i As Integer = ks To ks+11
    Dim r As Row = Tables("二维码清单表").Rows(i)
    bar.Code = r("二维码编号") '文本内容
    r("打印员工") = User.name
    r("打印时间") = dt
    r("二维码使用者") = e.form.controls("二维码使用者").Text
    rg = new prt.RenderGraphics
    bar.DrawOnCanvas(rg.Graphics,0,0,0.1) 'X Y 坐标 放大倍数


 '   rg.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center
    rt.Cells(x, y).RenderObject = rg
    Dim rx As new prt.RenderText
    rx.Text = r("二维码编号")
    rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center
    rt.cells(x+1, y).RenderObject = rx
    y += 1
    If y >=3 Then
        y = 0
        x += 2
    End If
    '    rt.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '图片水平居中
      '  rt.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center '图片垂直居中
Next
Doc.Body.Children.Add(rt) '添加到容器中
Doc.Preview()


 回到顶部
帅哥哟,离线,有人找我吗?
wumingrong1
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2017/7/11 14:15:00 [显示全部帖子]

如果加入以下命令中的红色部分内容,执行命令就会报错。是什么原因?

 

 

 

For Each r As Row In Tables("电表数据汇总表").Rows
    Dim dr As DataRow = DataTables("二维码清单表").Find("二维码编号 = '" & r("二维码编号") & "' ")
    If dr IsNot Nothing Then
        dr("二维码使用") = "二维码已被使用"
        dr("一级地理区域") = r("一级地理区域")
        dr("二级地理区域") = r("二级地理区域")
       dr("电表设备号") = r("电表设备号")
Else
        dr("二维码使用") = "二维码未被使用"
        dr("一级地理区域") = "未分配使用区域"
        dr("二级地理区域") = "未分配使用区域"
        dr("电表设备号") = Nothing
End  If
Next


图片点击可在新窗口打开查看此主题相关图片如下:360截图20170711141342789.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
wumingrong1
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2017/7/11 18:00:00 [显示全部帖子]

不是要增加一条记录;而是在【电表数据汇总表】中查找是否有跟【二维码清单表】相同的【二维码编号】、如果有就填写【电表数据汇总表】中对应的内容如果没有找到的就填写另外的指定内容
[此贴子已经被作者于2017/7/11 18:01:02编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wumingrong1
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2017/7/11 21:13:00 [显示全部帖子]

 

 

滤遍【电表数据汇总表】所有数据、和【二维码清单表】中的【二维码编号】进行对比

For Each r As Row In Tables("电表数据汇总表").Rows
    Dim dr As DataRow = DataTables("二维码清单表").Find("二维码编号 = '" & r("二维码编号") & "' ")

如果存在相同的【二维码编号】

    If dr IsNot Nothing Then

那么、将【电表数据汇总表】中对应列的内容填写到【二维码清单表】的列中
        dr("二维码使用") = "二维码已被使用"
        dr("一级地理区域") = r("一级地理区域")
        dr("二级地理区域") = r("二级地理区域")
       dr("电表设备号") = r("电表设备号")

否则
Else

在【二维码清单表】的 如下列中填入指定内容
        dr("二维码使用") = "二维码未被使用"
        dr("一级地理区域") = "未分配使用区域"
        dr("二级地理区域") = "未分配使用区域"
        dr("电表设备号") = Nothing
End  If
Next


 

[此贴子已经被作者于2017/7/11 21:13:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wumingrong1
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2017/7/12 10:02:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:360截图20170712100147099.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
wumingrong1
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2017/9/19 21:09:00 [显示全部帖子]


此主题相关图片如下:360截图20170919211433413.jpg
按此在新窗口浏览图片

以下命令该怎么修改?

 

 

 

Dim doc As New PrintDoc
Dim rg As prt.RenderGraphics
Dim rg1 As prt.RenderGraphics
Dim Bar As New BarCodeBuilder '增加一个文本
Bar.Symbology = Barpro.Symbology.QRCode
Dim rt As new prt.RenderTable
rt.Style.GridLines.All = New prt.LineDef '将网格线类型设为默认类型
'rt.Style.GridLines.All = New prt.Linedef(Color.DarkGray)

rt.Cols.Count = 5 '设置列数

rt.Rows.Count = 3
rt.Cols(0).Width = 150 '
rt.Cols(1).Width = 150
rt.Cols(2).Width = 150
rt.Cols(3).Width = 150
rt.Cols(4).Width = 150

rt.Rows.Count = 10
rt.Rows(0).Height = 42
rt.Rows(1).Height = 14
rt.Rows(2).Height = 42
rt.Rows(3).Height = 14
rt.Rows(4).Height = 42
rt.Rows(5).Height = 14
rt.Rows(6).Height = 42
rt.Rows(7).Height = 14
rt.Rows(8).Height = 42
rt.Rows(9).Height = 14


Dim ks As Integer = val(e.form.controls("起始").Text)
'Dim zs As Integer = val(e.form.controls("张数").Text)
Dim x As Integer = 0
Dim y As Integer = 0
For i As Integer = (ks*25) To (ks+1)*25
    Dim r As Row = Tables("二维码清单表").Rows(i)
    bar.Code = r("二维码编号") '文本内容
    r("打印员工") = User.name
    r("打印时间") = dt
    r("二维码使用者") = e.form.controls("二维码使用者").Text
    rg = new prt.RenderGraphics
    bar.DrawOnCanvas(rg.Graphics,0,1,1.0) 'X Y 坐标 放大倍数
   
   
    '   rg.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center
    rt.Cells(x, y).RenderObject = rg
    Dim rx As new prt.RenderText
    rx.Text &= vbcrlf & r("二维码编号") & vbcrlf &"中 国 移 动 惠 州 分 公 司"
    rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center
    rt.cells(x+1, y).RenderObject = rx
    y += 1
    If y >=5 Then
        y = 0
        x += 2
    End If
    rt.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '图片水平居中
    rt.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center '图片垂直居中

 

Next
Doc.Body.Children.Add(rt) '添加到容器中
Doc.Preview()

[此贴子已经被作者于2017/9/19 21:15:43编辑过]

 回到顶部
总数 15 1 2 下一页