首页 > 解决方案 > 如何在服务器上提取从客户端获取的数据?

问题描述

我正在开发 vb6 并成功使用 winshock 组件创建服务器项目。客户端(生化分析仪软件)在测试执行后连接并发送数据到服务器。它以字符串的形式出现,即

MSH|^~\&|Factory|Chemistry Analyzer|||20210430190330||ORU^R01|9|P|2.3.1||||0||ASCII|||
PID|9||||shitalPL||||||||||||||||||||||||||
OBR|1||11|Factory^Chemistry Analyzer|N||20210430183639||||||||Serum|||||||||||||||||||||||||||||||||
OBX|1|NM|GLU|GLU|198.452857|mg/dL|-|Normal|||F||198.452857|20210430183639||||

我如何从这些东西中获得所需的值。并将它们存储在表中以供进一步使用

例如,在这个东西中:

  1. 样品编号为9

  2. 患者姓名为shitalPL

  3. 样本类型是Serum

  4. 测试名称是GLU

  5. 测试结果是 198.452857

标签: vb6

解决方案


假设这些值在响应中具有固定位置,您可以实现一个函数,在该函数中您将n作为参数传递,并且您的函数返回第 n 个管道的位置,然后您可以重复此操作n+1,然后简单地提取和第管道位置之间nn+1数据.

我可以给你一个python示例代码,希望你能转换成vb6。该功能看起来像这样 -

def findNthOccur(string, ch, N):
    occur = 0

    # Loop to find the Nth
    # occurence of the character
    for i in range(len(string)):
        if (string[i] == ch):
            occur += 1

        if (occur == N):
            return i

    return -1

此函数将获取您想要在其中查找出现的字符串、您想要查找的字符(在您的情况下为“|”)并且n将是您想要查找的第 n 个出现


推荐阅读