使用 VisM 输出 GLOBALS 列表或单个 GLOBAL 值
Output a list of GLOBALS or a single GLOBAL value with VisM
我通过添加对 VisM.ocx 的引用并将其作为 activeX 控件添加到我的工具箱中,将 VisM 控件添加到 vb.net 中。
我在一个按钮中添加了以下代码:
Try
'open the connection
AxVisM1.Connect("CN_IPTCP:127.0.0.1[1972]")
'set namespace to livedata (for formal namespaces, use the @ symbol)
AxVisM1.NameSpace = "LIVEDATA"
'do stuff.
MsgBox("Cache is now active")
'close the connection
AxVisM1.DeleteConnection()
Catch ex As Exception
'close the connection
AxVisM1.DeleteConnection()
MsgBox(ex.ToString)
End Try
从这里开始,我需要从名为 ^BACKTR("INDX","COMPANY",
的 GLOBAL 中输出变量
如何将此 GLOBAL 中的 all/some 变量输出到列表、数据表或单个变量中?我只需要在 VB.net 中访问它,然后我就可以在我的项目中使用上述 GLOBAL。即使输出是原始的(不是列或任何东西,即:^BACKTR("INDX","COMPANY",1,63572,9792) = ""
,我也会接受
从它开始,我已经可以在我的应用程序中使用数据
类似这样,下面的代码从 ^BACKTR("DATA","STATISTICS")
读取数据并将其放入 ListView。它执行 COS 代码以获取数据 AxVisM1.Execute
。查看文档中的 $order function, and about P0 and VALUE in vism
Dim cnt As Integer = 0
ListView1.Items.Clear()
ListView1.Columns.Clear()
ListView1.Columns.Add("#")
ListView1.Columns.Add("ID")
For i = 1 To 25
ListView1.Columns.Add("Prop" + i.ToString)
Next
AxVisM1.P0 = ""
While True
AxVisM1.Execute("set P0=$order(^BACKTR(""DATA"",""STATISTICS"",P0),1,VALUE)")
If (AxVisM1.P0 = "") Then
Exit While
End If
cnt = cnt + 1
If (cnt > 100) Then
Exit While
End If
Dim data() As String = Split(AxVisM1.VALUE, Chr(1).ToString)
Dim line As ListViewItem = New ListViewItem(cnt)
line.SubItems.Add(AxVisM1.P0.ToString)
line.SubItems.AddRange(data)
ListView1.Items.Add(line)
End While
我通过添加对 VisM.ocx 的引用并将其作为 activeX 控件添加到我的工具箱中,将 VisM 控件添加到 vb.net 中。
我在一个按钮中添加了以下代码:
Try
'open the connection
AxVisM1.Connect("CN_IPTCP:127.0.0.1[1972]")
'set namespace to livedata (for formal namespaces, use the @ symbol)
AxVisM1.NameSpace = "LIVEDATA"
'do stuff.
MsgBox("Cache is now active")
'close the connection
AxVisM1.DeleteConnection()
Catch ex As Exception
'close the connection
AxVisM1.DeleteConnection()
MsgBox(ex.ToString)
End Try
从这里开始,我需要从名为 ^BACKTR("INDX","COMPANY",
如何将此 GLOBAL 中的 all/some 变量输出到列表、数据表或单个变量中?我只需要在 VB.net 中访问它,然后我就可以在我的项目中使用上述 GLOBAL。即使输出是原始的(不是列或任何东西,即:^BACKTR("INDX","COMPANY",1,63572,9792) = ""
,我也会接受
从它开始,我已经可以在我的应用程序中使用数据
类似这样,下面的代码从 ^BACKTR("DATA","STATISTICS")
读取数据并将其放入 ListView。它执行 COS 代码以获取数据 AxVisM1.Execute
。查看文档中的 $order function, and about P0 and VALUE in vism
Dim cnt As Integer = 0
ListView1.Items.Clear()
ListView1.Columns.Clear()
ListView1.Columns.Add("#")
ListView1.Columns.Add("ID")
For i = 1 To 25
ListView1.Columns.Add("Prop" + i.ToString)
Next
AxVisM1.P0 = ""
While True
AxVisM1.Execute("set P0=$order(^BACKTR(""DATA"",""STATISTICS"",P0),1,VALUE)")
If (AxVisM1.P0 = "") Then
Exit While
End If
cnt = cnt + 1
If (cnt > 100) Then
Exit While
End If
Dim data() As String = Split(AxVisM1.VALUE, Chr(1).ToString)
Dim line As ListViewItem = New ListViewItem(cnt)
line.SubItems.Add(AxVisM1.P0.ToString)
line.SubItems.AddRange(data)
ListView1.Items.Add(line)
End While