/// <summary> /// 获取测点指定时间的值 /// </summary> /// <param name="points">测点集合</param> /// <param name="time">测点实时时间</param> /// <returns></returns> public List <double> GetPointVal(List <string> points, string time) { List <double> val = new List <double>(); double v = 0; Plink pk = new Plink(); Plink.OpenPi(); foreach (string name in points) { pk.GetHisValue(name, time, ref v); if (kw.Contains(name)) { v = v / 1000; } //if (mw.Contains(points[i])) // v = v / 10000; if (wkw.Contains(name)) { v = v * 10; } if (name == "BERP.1.00CE30001") { v = v / 1000; } v = getDouble(v, 2); val.Add(v); } //Plink.closePi(); return(val); }
public void TestGetPlinkCompatibleUrl_Invalid() { // Test urls that are no valid uris, these should be ignored string inUrl, outUrl; inUrl = "foo://server/path/to/project.git"; outUrl = Plink.GetPlinkCompatibleUrl(inUrl); Assert.AreEqual("\"" + inUrl + "\"", outUrl); inUrl = @"ssh:\\server\path\to\project.git"; outUrl = Plink.GetPlinkCompatibleUrl(inUrl); Assert.AreEqual("\"" + inUrl + "\"", outUrl); }
public void TestGetPlinkCompatibleUrl_Compatible() { // Test urls that are already compatible, these shouldn't be changed string inUrl, outUrl; // ssh in compatible form inUrl = "[email protected]:gitextensions/gitextensions.git"; outUrl = Plink.GetPlinkCompatibleUrl(inUrl); Assert.AreEqual("\"" + inUrl + "\"", outUrl); // ssh in compatible form, no user inUrl = "example.org:some/path/to/repo.git"; outUrl = Plink.GetPlinkCompatibleUrl(inUrl); Assert.AreEqual("\"" + inUrl + "\"", outUrl); }
public void TestGetPlinkCompatibleUrl_NoPlink() { // Test urls that are no valid uris, these should be ignored string inUrl, outUrl; // git protocol does not have authentication inUrl = "git://server/path/to/project.git"; outUrl = Plink.GetPlinkCompatibleUrl(inUrl); Assert.AreEqual("\"" + inUrl + "\"", outUrl); // git protocol, different port inUrl = "git://*****:*****@server/path/to/project.git"; outUrl = Plink.GetPlinkCompatibleUrl(inUrl); Assert.AreEqual("\"" + inUrl + "\"", outUrl); // http, different port inUrl = "http://user@server:123/path/to/project.git"; outUrl = Plink.GetPlinkCompatibleUrl(inUrl); Assert.AreEqual("\"" + inUrl + "\"", outUrl); // http, no user inUrl = "http://server/path/to/project.git"; outUrl = Plink.GetPlinkCompatibleUrl(inUrl); Assert.AreEqual("\"" + inUrl + "\"", outUrl); // we don't need plink for https inUrl = "https://user@server/path/to/project.git"; outUrl = Plink.GetPlinkCompatibleUrl(inUrl); Assert.AreEqual("\"" + inUrl + "\"", outUrl); // https, different port inUrl = "https://user@server:123/path/to/project.git"; outUrl = Plink.GetPlinkCompatibleUrl(inUrl); Assert.AreEqual("\"" + inUrl + "\"", outUrl); // https, no user inUrl = "https://server/path/to/project.git"; outUrl = Plink.GetPlinkCompatibleUrl(inUrl); Assert.AreEqual("\"" + inUrl + "\"", outUrl); }
public void TestGetPlinkCompatibleUrl_Incompatible() { // Test urls that are incompatible and need to be changed string inUrl, expectUrl, outUrl; // ssh urls can cause problems inUrl = "ssh://[email protected]/path/to/project.git"; expectUrl = "\"[email protected]:path/to/project.git\""; outUrl = Plink.GetPlinkCompatibleUrl(inUrl); Assert.AreEqual(expectUrl, outUrl); inUrl = "ssh://[email protected]:29418/path/to/project.git"; expectUrl = "-P 29418 \"[email protected]:path/to/project.git\""; outUrl = Plink.GetPlinkCompatibleUrl(inUrl); Assert.AreEqual(expectUrl, outUrl); // ssh, no user inUrl = "ssh://example.com/path/to/project.git"; expectUrl = "\"example.com:path/to/project.git\""; outUrl = Plink.GetPlinkCompatibleUrl(inUrl); Assert.AreEqual(expectUrl, outUrl); }
private static void Main(string[] args) { Plink.Ex7Execute(); TcpWrite.Execute(); MailSystemMain.Execute(); #region Adavnced C# Course #region Reflections, DOMs ReflectionSamples.ReflectionSamplesMain(); AttributeDemo.AnalayzeAssembly(); CodeDOMSample.CodeDOMSampleMain(); DynInvoke.DynInvokeMain(); // Get description from function (new FunctionDesctiptions()).GetDescription(); // Get the description from the enum EnumDescriptionExample(); #endregion #region Templates VarianceSamples.VarianceSamplesMain(); #endregion #region Managin Resources #endregion #region ... #endregion #endregion // Diff between code example Diff(); }
/// <summary> /// 查询某段时间测点集合的历史值,去一定数量点。 /// </summary> /// <param name="names">测点集合</param> /// <param name="st">开始时间</param> /// <param name="et">结束时间</param> /// <returns></returns> public IList<Hashtable> GetHistValAndTIme(string[] points, DateTime st, DateTime et, int count) { ArrayList list = new ArrayList(); Plink pk = new Plink(); IList<Hashtable> listdata = new List<Hashtable>(); Hashtable ht = new Hashtable(); ArrayList ld = new ArrayList(); ArrayList lt = new ArrayList(); for (int i = 0; i < points.Length; i++) { ht = new Hashtable(); lt = new ArrayList(); ht.Add("name", points[i].Split('|')[1]); ht.Add("yAxis", i); DateTime _sTime = new DateTime(1970, 1, 1); DateTime dtt = st; Plink.OpenPi(); while (dtt < et) { ld = new ArrayList(); pk.GetHisValue(points[i].Split('|')[0], dtt.ToString("yyyy-MM-dd HH:mm:ss"), ref drv); if (drv > 0) { drv = getDouble(drv, 3); } string timeStamp = DateTimeToUTC(dtt).ToString(); DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); long lTime = long.Parse(timeStamp + "0000000"); TimeSpan toNow = new TimeSpan(lTime); DateTime dtResult = dtStart.Add(toNow); ld.Add(Convert.ToInt64((dtResult - _sTime).TotalMilliseconds.ToString())); ld.Add(drv); lt.Add(ld); dtt = dtt.AddSeconds(count); } ht.Add("data", lt); listdata.Add(ht); } return listdata; }
/// <summary> /// 获取测点历史值 /// </summary> /// <param name="points"></param> /// <param name="time"></param> /// <returns></returns> public double[] GetPointVal(string[] points, string time) { double[] val = new double[points.Length]; double v = 0; Plink pk = new Plink(); Plink.OpenPi(); for (int i = 0; i < points.Length; i++) { pk.GetHisValue(points[i], time, ref v); v = getDouble(v, 2); val[i] = v; } //Plink.closePi(); return val; }