Vb6 如何从服务器上的客户端提取数据?
我正在vb6上工作,并成功地使用winshock组件创建了服务器项目。连接客户端(生化分析仪软件),测试完成后将数据发送至服务器。它以字符串的形式出现,即Vb6 如何从服务器上的客户端提取数据?,vb6,Vb6,我正在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|
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||||
如何从这些东西中获得所需的值。并将其存储在表中以供进一步使用
例如,在这种情况下:
9
shitalPL
血清
GLU
198.452857
假设这些值在响应中具有固定位置,您可以实现一个函数,将
n
作为参数传递,函数返回第n个管道的位置,然后您可以对n+1
重复此操作,然后简单地提取n
和n+1
第n个管道位置之间的数据
我可以给你一个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个实例非常感谢。我明白你的意思。我将在vb6中尝试并还原它。看起来您的数据是管道分隔的,有些值为null。如果是这种情况,我将使用Split
函数将所有数据拉入一个数组。然后,您可以在更新数据库时引用数组以获取所需的值。谢谢。分割功能工作。再次感谢。现在我可以分离我所需要的值。