Foxtable(狐表)用户栏目专家坐堂 → 回车和换行的处理


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

主题:回车和换行的处理

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


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
回车和换行的处理  发帖心情 Post By:2017/2/17 17:14:00 [只看该作者]

有一种二维码格式是,只有最后一行才有回车,不是每行都有回车。扫描后发现没有增加10行数据,只增加1行数据。遇到这种格式的怎么解决?


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

DataColChanging:

If e.DataCol.Name = "SN" Then
    Dim str As String = e.NewValue.Replace(chr(10), "").Replace(chr(13), "")
    Dim idx1 As Integer = str.IndexOf("MAC:")
    Dim idx2 As Integer = str.IndexOf("H/W:")
    Dim length As Integer
    If str.Contains("SN:") Then
        length  = IIF(idx1 <> -1,idx1-3,IIF(idx2 <> -1,idx2-4,str.Length - 3))
        e.NewValue = str.SubString(3, length)
    Else
        e.NewValue =str
    End If
    If str.Contains("MAC:") Then
        If idx2 = -1 Then
            e.DataRow("MAC") = str.SubString(idx1+4)
        Else
            e.DataRow("MAC") = str.SubString(idx1+4, idx2-idx1-4)
        End If
    End If
    If str.Contains("H/W:") Then
        e.DataRow("HW") = str.substring(idx2+4)
    End If
End If

KeyDownEdit
If e.keyCode = Keys.Enter AndAlso e.Table.Cols(e.Table.colSel).Name = "SN"   Then
    e.cancel = True
    Dim r As Row = e.Table.addnew
    e.Table.Select(r.Index, 0)
    e.Table.StartEditing
End If

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/17 17:30:00 [只看该作者]

扫描出来的数据,每一个用什么分割?


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


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2017/2/17 17:35:00 [只看该作者]

之前的格式每一行都是有回车的,也就是回车作为每行的分隔符。
现这个二维码应该只有换行,而没有回车。所以我认为换行就是作为每行的分隔符。
现在想把这2种情况兼容起来。
[此贴子已经被作者于2017/2/17 17:35:41编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/17 17:51:00 [只看该作者]

把字符扫描到单元格,然后获取每个字符的编码,看用什么分割。

 

dim str as string = "abc测试"
For Each s As String In str
    output.show(s & Asc(s))
Next


 回到顶部