Foxtable(狐表)用户栏目专家坐堂 → 复杂的二维码提取信息


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

主题:复杂的二维码提取信息

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
复杂的二维码提取信息  发帖心情 Post By:2019/7/23 12:02:00 [只看该作者]

从二维码扫出如下字符串:
{"D":"DL0859019072212","S":"S-00008590","W":"1400XCXC","I":[{"I":"24561556","N":"100.0","P":"20190722"},{"I":"24561559","N":"50.0","P":"20190722"}]}
需要提取蓝色字体的字符串,第一关就卡壳了:
Dim s As String = "{"D":"DL0859019072212","S":"S-00008590","W":"1400XCXC","I":[{"I":"24561556","N":"100.0","P":"20190722"},{"I":"24561559","N":"50.0","P":"20190722"}]}"

报“应为语句结束”
这个要怎么处理?


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


加好友 发短信
等级:超级版主 帖子:110647 积分:563143 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/23 12:07:00 [只看该作者]


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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2019/7/23 14:03:00 [只看该作者]

如果字符串中本身包括双引号,那么用每两个双引号表示一个双引号。
将下面的代码复制到命令窗口执行:

Dim s1 As String = "利马是有名的""无雨之都"""
Output.Show(s1)


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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2019/7/23 14:05:00 [只看该作者]

但是二维码扫出来的字符串就自带好多双引号,这么说没办法引用了

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


加好友 发短信
等级:超级版主 帖子:110647 积分:563143 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/23 14:15:00 [只看该作者]

扫描出来的内容直接使用即可,比如:Dim s As String = e.form.controls("扫描结果文本框").text

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2019/7/23 14:21:00 [只看该作者]

Dim s As String = e.Form.Controls("TextBox1").text
这样引用可以。

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2019/7/24 12:23:00 [只看该作者]

用扫码枪扫二维码进窗口中textbox控件,信息不全导致代码不能执行。

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


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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2019/7/24 12:24:00 [只看该作者]

扫进记事本完整的字符串:
{"D":"DL0859019072304","S":"S-00008590","W":"1400KBKB","I":[{"I":"24511187","N":"60.0","P":"20190723"},{"I":"24531126","N":"60.0","P":"20190723"},{"I":"24531223","N":"120.0","P":"20190723"},{"I":"24566065","N":"60.0","P":"20190723"}]}
[此贴子已经被作者于2019/7/24 12:54:51编辑过]

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2019/7/24 12:56:00 [只看该作者]

代码:
Dim s As String = e.Form.Controls("TextBox3").text
e.Form.Controls("Label18").text = s.SubString(6,15)

Dim i As Integer
For i = 60 To 240  Step 40
    If s.IndexOf("{",i) = -1 Then
        Exit For
    End If
    Dim jh As String = s.SubString(s.IndexOf("{",i)+6,s.IndexOf("N",i+12) - 3 - s.IndexOf("{",i)-6)
    Dim sl As Integer = s.SubString(s.IndexOf("N",i+12)+4,s.IndexOf("P",i+22) - 3 - s.IndexOf("N",i+12)-4)
    Tables("销售出库_Table1").AddNew()
    Dim r As Row = Tables("销售出库_Table1").Current
    r("零件图号") = jh
    r("数量") = sl
Next


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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2019/7/24 12:59:00 [只看该作者]

把记事本完整的字符串copy到textbox3,执行代码通过。
直接扫二维码进textbox3,由于字符串不全,执行代码报错。

 回到顶部
总数 28 1 2 3 下一页