 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace Snapshot_Value{  public partial class Form1 : System.Windows.Forms.Form  {    //    // Global Data    //    PISDK.PISDK g_SDK;    PISDKDlg.ApplicationObject g_SDKDlgAppObject;  // PISDK dialog app. object    public Form1()    {      InitializeComponent();    }    private void Form1_Load(object sender, EventArgs e)    {      //      // Create the SDK object here. That will give the program the       //  benefits of caching of servers and points.      // Also create the PISDK Dialogs Application object so we can use      //  Tag Search.      //      try      {        g_SDK = new PISDK.PISDKClass();        g_SDKDlgAppObject = new PISDKDlg.ApplicationObjectClass();      }      catch (System.Runtime.InteropServices.COMException comExc)      {        MessageBox.Show(comExc.Message, comExc.ErrorCode  " Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);      };    }    private void button1_Click(object sender, EventArgs e)    {      //      // Display the Tag Search dialog and fill out the form with the result      //      PISDKDlg.TagSearch myTagSearch;    // PISDK Tag search display object      PISDK._PointList myPointList;     // point list returned from tag search      PISDKCommon.NamedValues nvsSelServers; // Namedvalues collection of servers      PISDKDlg.TagSearchOptions tsOptions;  // tag search dialog options      object valInx;             // Variant for index      object strObject;           // Variant for string      myTagSearch = g_SDKDlgAppObject.TagSearch;      //      // Pass the server that is in textBox1 as a default.      // Only allow a single tag to be selected.      //      nvsSelServers = new PISDKCommon.NamedValuesClass();      strObject = textBox1.Text;      nvsSelServers.Add(textBox1.Text, ref strObject);      tsOptions = PISDKDlg.TagSearchOptions.tsoptSingleSelect;      myPointList = myTagSearch.Show(nvsSelServers, tsOptions);      if (0 != myPointList.Count)      {        valInx = 1;        //        // Get Server name        //        textBox1.Text = myPointList.get_Item(ref valInx).Parent.Name;        //        // Get Tag name        //        textBox2.Text = myPointList.get_Item(ref valInx).Name;      };  }    private void button2_Click(object sender, EventArgs e)    {      //      // Get the snapshot value of the tag in textBox2 from the server      //  in textBox1      //      PISDK.Server myServer;   // server object from the name in textBox1      PISDK.PIPoints myPoints;  // PIPoints collection of server      PISDK.PIPoint snapPoint;  // point from the name in textBox2      PISDK.PIValue myValue;   // snapshot value      if (textBox1.Text.Equals(""))      {        MessageBox.Show("No server entered.", "Error", MessageBoxButtons.OK,          MessageBoxIcon.Exclamation);      }      else      {        if (textBox2.Text.Equals(""))        {          MessageBox.Show("No tag entered.", "Error", MessageBoxButtons.OK,            MessageBoxIcon.Exclamation);        }        else        {          try          {            myServer = g_SDK.Servers[textBox1.Text];            myPoints = myServer.PIPoints;            snapPoint = myPoints[textBox2.Text];            myValue = snapPoint.Data.Snapshot;            textBox3.Text = myValue.TimeStamp.LocalDate.ToString();            //            // Check to see if we got a digital state back            //            if (myValue.Value.GetType().IsCOMObject)            {              PISDK.DigitalState myDigState;              myDigState = (PISDK.DigitalState)myValue.Value;              textBox4.Text = myDigState.Name;            }            else            {              textBox4.Text = myValue.Value.ToString();            };          }          catch (System.Runtime.InteropServices.COMException comExc)          {            MessageBox.Show(comExc.Message, comExc.ErrorCode  " Error",              MessageBoxButtons.OK, MessageBoxIcon.Exclamation);          };        };      };    }  }}
 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace Snapshot_Value{  public partial class Form1 : System.Windows.Forms.Form  {    //    // Global Data    //    PISDK.PISDK g_SDK;    PISDKDlg.ApplicationObject g_SDKDlgAppObject;  // PISDK dialog app. object    public Form1()    {      InitializeComponent();    }    private void Form1_Load(object sender, EventArgs e)    {      //      // Create the SDK object here. That will give the program the       //  benefits of caching of servers and points.      // Also create the PISDK Dialogs Application object so we can use      //  Tag Search.      //      try      {        g_SDK = new PISDK.PISDKClass();        g_SDKDlgAppObject = new PISDKDlg.ApplicationObjectClass();      }      catch (System.Runtime.InteropServices.COMException comExc)      {        MessageBox.Show(comExc.Message, comExc.ErrorCode  " Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);      };    }    private void button1_Click(object sender, EventArgs e)    {      //      // Display the Tag Search dialog and fill out the form with the result      //      PISDKDlg.TagSearch myTagSearch;    // PISDK Tag search display object      PISDK._PointList myPointList;     // point list returned from tag search      PISDKCommon.NamedValues nvsSelServers; // Namedvalues collection of servers      PISDKDlg.TagSearchOptions tsOptions;  // tag search dialog options      object valInx;             // Variant for index      object strObject;           // Variant for string      myTagSearch = g_SDKDlgAppObject.TagSearch;      //      // Pass the server that is in textBox1 as a default.      // Only allow a single tag to be selected.      //      nvsSelServers = new PISDKCommon.NamedValuesClass();      strObject = textBox1.Text;      nvsSelServers.Add(textBox1.Text, ref strObject);      tsOptions = PISDKDlg.TagSearchOptions.tsoptSingleSelect;      myPointList = myTagSearch.Show(nvsSelServers, tsOptions);      if (0 != myPointList.Count)      {        valInx = 1;        //        // Get Server name        //        textBox1.Text = myPointList.get_Item(ref valInx).Parent.Name;        //        // Get Tag name        //        textBox2.Text = myPointList.get_Item(ref valInx).Name;      };  }    private void button2_Click(object sender, EventArgs e)    {      //      // Get the snapshot value of the tag in textBox2 from the server      //  in textBox1      //      PISDK.Server myServer;   // server object from the name in textBox1      PISDK.PIPoints myPoints;  // PIPoints collection of server      PISDK.PIPoint snapPoint;  // point from the name in textBox2      PISDK.PIValue myValue;   // snapshot value      if (textBox1.Text.Equals(""))      {        MessageBox.Show("No server entered.", "Error", MessageBoxButtons.OK,          MessageBoxIcon.Exclamation);      }      else      {        if (textBox2.Text.Equals(""))        {          MessageBox.Show("No tag entered.", "Error", MessageBoxButtons.OK,            MessageBoxIcon.Exclamation);        }        else        {          try          {            myServer = g_SDK.Servers[textBox1.Text];            myPoints = myServer.PIPoints;            snapPoint = myPoints[textBox2.Text];            myValue = snapPoint.Data.Snapshot;            textBox3.Text = myValue.TimeStamp.LocalDate.ToString();            //            // Check to see if we got a digital state back            //            if (myValue.Value.GetType().IsCOMObject)            {              PISDK.DigitalState myDigState;              myDigState = (PISDK.DigitalState)myValue.Value;              textBox4.Text = myDigState.Name;            }            else            {              textBox4.Text = myValue.Value.ToString();            };          }          catch (System.Runtime.InteropServices.COMException comExc)          {            MessageBox.Show(comExc.Message, comExc.ErrorCode  " Error",              MessageBoxButtons.OK, MessageBoxIcon.Exclamation);          };        };      };    }  }}

 
  
					
				
评论