Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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();
        }
Esempio n. 7
0
        /// <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;
        }
Esempio n. 8
0
        /// <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;
        }