2016-03-27 2 views
1

Ich habe ein visM-Steuerelement in vb.net eingegeben, indem ich einen Verweis auf VisM.ocx hinzufüge und es in meiner Toolbox als ActiveX-Steuerelement hinzufüge.Ausgabe einer Liste von GLOBALS oder eines einzelnen GLOBAL-Wertes mit VisM

ich den folgenden Code in einer Schaltfläche hinzugefügt:

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 

Von hier aus muß ich Ausgangsgrößen von Globals ^BACKTR("INDX","COMPANY", namens

wie kann ich Ausgang alle/einige Variablen aus diesem Globals in eine Liste , eine Datentabelle oder sogar eine einzelne Variable? Alles, was ich brauche, ist in VB.net darauf zuzugreifen und von dort aus kann ich mit den besagten GLOBALs für mein Projekt arbeiten. Ich werde akzeptieren, auch wenn der Ausgang roh (nicht in Spalten oder irgendetwas das heißt: ^BACKTR("INDX","COMPANY",1,63572,9792) = "" als von ihm mir bereits die Daten in meiner Anwendung verwenden kann

Antwort

3

So etwas wie dies, Code unten liest Daten aus ^BACKTR("DATA","STATISTICS") und legt es auf ListVew . Sie führt für COS Codedaten mit AxVisM1.Execute bekommen. bei $order Funktion suchen und über P0 und VALUE in vism in Dokumentation

 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 
+0

wird diese Daimor versuchen –

Verwandte Themen