Exemplo n.º 1
0
        /// <summary>
        /// = 버튼
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnEqual_Click(object sender, EventArgs e)
        {
            Button btn = sender as Button;

            // 연산자 중복 입력 방지
            if (recentBtn == "=")
            {
                return;
            }

            string exp  = this.txtExpBox.Text;
            string rst  = this.txtResultBox.Text;
            string data = exp + rst;

            txtExpBox.Text += txtResultBox.Text;
            txtExpBox.Text += btn.Text;

            decimal result = 0;

            result = calManager.start(data);
            this.txtResultBox.Text = result.ToString();

            // 3자리마다 ,
            double v = double.Parse(txtResultBox.Text);

            txtResultBox.Text = commaProcedure(v, txtResultBox.Text);

            txtExpBox.Text += txtResultBox.Text;

            recentBtn = btn.Text;
        }
Exemplo n.º 2
0
        public void calculateAutomation(string ip, string id, string pw)
        {
            var list   = new List <string>();
            var result = new List <string>();

            using (var res = connectServer(ip + "/raw", id, pw, WebRequestMethods.Ftp.ListDirectory))
            {
                using (var stream = res.GetResponseStream())
                {
                    using (var rd = new StreamReader(stream))
                    {
                        while (true)
                        {
                            string buf = rd.ReadLine();
                            if (string.IsNullOrWhiteSpace(buf))
                            {
                                break;
                            }
                            list.Add(buf);
                        }
                    }
                }
            }

            foreach (var fileName in list)
            {
                try
                {
                    string filePath   = ip + "/raw/" + fileName;
                    string extension  = Path.GetExtension(fileName);
                    string expression = string.Empty;

                    WebClient wc = new WebClient();
                    wc.Credentials = new NetworkCredential(id, pw);

                    byte[] newFileData = wc.DownloadData(filePath);
                    string fileString  = Encoding.UTF8.GetString(newFileData);

                    switch (extension)
                    {
                    case ".txt":
                    {
                        expression = fileString;

                        break;
                    }

                    case ".json":
                    {
                        JObject json = JObject.Parse(fileString);
                        expression = json["expression"].ToString();

                        break;
                    }

                    case ".xml":
                    {
                        var xml = new XmlDocument() as XmlDocument;
                        xml.LoadXml(fileString);

                        XmlNodeList xmlList = xml.SelectNodes("/expressions/expression");

                        foreach (XmlNode i in xmlList)
                        {
                            expression = i["exp"].InnerText;
                        }

                        break;
                    }

                    default:
                    {
                        Console.WriteLine("지원하지 않는 형식입니다.");
                        break;
                    }
                    }

                    if (expression == string.Empty || expression == "0")
                    {
                        Console.WriteLine("올바르지 않은 수식입니다.");
                    }
                    else
                    {
                        var    cal   = new CalManager() as CalManager;
                        string res   = cal.start(expression).ToString();
                        string value = expression + "=" + res;
                        result.Add(value);
                    }
                }
                catch (WebException)
                {
                    Console.WriteLine("접속 오류");
                }
            }
            foreach (var inputValue in result)
            {
                WebClient wc = new WebClient();
                wc.Credentials = new NetworkCredential(id, pw);

                byte[] fileContents = Encoding.UTF8.GetBytes(inputValue);
                string filePath     = ip + "/" + DateTime.Now.ToString("yyMMddhhmmss-") + count.ToString() + ".txt";
                string fileName     = DateTime.Now.ToString("yyMMddhhmmss-") + count.ToString() + ".txt";

                Stream stream = wc.OpenWrite(filePath);
                stream.Write(fileContents, 0, fileContents.Length);
                stream.Close();

                DBManager dm = new DBManager();
                dm.dbConncetor(fileName, inputValue);

                count++;
            }
            Console.WriteLine("complete...");
        }