⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mib.cs

📁 用C#写的一个OPC CLIENT的工具
💻 CS
字号:
using System;
using System.IO;
using System.Text;
using System.Collections;
using Tools;

namespace RFC1157 
{
	public class Mgmt
	{
		public Def def;
		public string Lookup(uint[] u)
		{
			for (int j=0;j<def.path.Length;j++)
				if (u[j]!=def.path[j])
					throw(new Exception("Bad OID"));
			return def[u[def.path.Length]].Lookup(u,def.path.Length+1);
		}
		public uint[] OID(string s) 
		{
			string[] t = s.Split('.');
			Def m = def;
			int j;
			for (j=0;j<t.Length;j++) 
			{
				string c = t[j];
				if (char.IsDigit(c[0]))
					break;
				m = m[t[j]];
				if (m==null)
					throw(new Exception("unrecognised "+t[j]));
			}
			uint[] u;
			int i=0;
			if (j==0)
			{
				u = new uint[t.Length];
			} 
			else 
			{
				if (j>=t.Length)
					return m.path;
				u = new uint[m.path.Length+t.Length-j];
				for (i=0;i<m.path.Length;i++)
					u[i] = m.path[i];
			}
			while (j<t.Length)
				u[i++] = uint.Parse(t[j++]); 
			return u;
		}
		public string OID(uint[] u)
		{
			return Lookup(u);
		}
		public Mgmt() 
		{
			Parser p = new syntax(new tokens());
//			p.m_debug=true;
			string fold = Environment.GetFolderPath(Environment.SpecialFolder.System);
			DirectoryInfo dir = new DirectoryInfo(fold);
			FileInfo[] list = dir.GetFiles("*.mib");
			foreach (FileInfo f in list) 
			{
				Console.WriteLine(f.Name);
				StreamReader s = new StreamReader(f.FullName,new ASCIIEncoding(),true,1024);
				try 
				{
					p.Parse(s);
				}
				catch(Exception) {}
			}
			def = (Def)Defs.defs["internet"];
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -