コード例 #1
0
        private void btnFind_Click(object sender, EventArgs e)
        {   //set the oposing vaulues so that the opisit values are located.
            int    iMaxT = -100;
            int    iMinT = 100;
            int    iHumy = 0;
            int    iWindy = 0;
            string sSelectedCity = cmbCity2.SelectedItem.ToString();
            string sStartDate, sEndDate;

            sStartDate = dStart.Value.ToString();
            sEndDate   = dEnd.Value.ToString();

            FileHandler   fh    = new FileHandler("Forcast.csv");
            List <string> lines = fh.ReadFromTXT();

            List <Forcast> flist = new List <Forcast>();

            MessageBox.Show(sSelectedCity);
            foreach (string block in lines)
            {
                string[] vs = block.Split(',');
                if (vs[0] == sSelectedCity) //Marker
                {
                    string[] dSplit      = vs[1].Split(' ');
                    string[] x           = dSplit[0].Split('/');
                    string[] dStartSplit = sStartDate.Split(' ');
                    string[] s           = dStartSplit[0].Split('/');
                    string[] dEndSplit   = sEndDate.Split(' ');
                    string[] y           = dEndSplit[0].Split('/');


                    //What you are about to see is 15 lines of code in 1 line: Auther Jan De Jager 2019
                    //"Ben your killing me." ~ Jan De Jager 2019
                    //x[0] = Selected year, x[1] = Selected month, x[2] = Selected day
                    //s[0] = Start year, s[1] = start month, s[2] = start day
                    //e[0] = End Year, e[1] = End month, e[2] = End day
                    if (!(((int.Parse(x[0]) <= int.Parse(s[0])) && (int.Parse(x[1]) <= int.Parse(s[1])) && (int.Parse(x[2]) <= int.Parse(s[2]))) || ((int.Parse(x[0]) >= int.Parse(y[0])) && (int.Parse(x[1]) >= int.Parse(y[1])) && (int.Parse(x[2]) >= int.Parse(y[2])))))
                    {
                        flist.Add(new Forcast(vs[0], vs[1], int.Parse(vs[2].ToString()), int.Parse(vs[3].ToString()), vs[4], int.Parse(vs[5].ToString()), int.Parse(vs[6].ToString()))); //Add
                        if (int.Parse(vs[2]) < iMinT)
                        {
                            iMinT = int.Parse(vs[2]);
                        }
                        if (int.Parse(vs[3]) > iMinT)
                        {
                            iMaxT = int.Parse(vs[3]);
                        }
                        if (int.Parse(vs[5]) > iMinT)
                        {
                            iHumy = int.Parse(vs[5]);
                        }
                        if (int.Parse(vs[6]) > iMinT)
                        {
                            iWindy = int.Parse(vs[6]);
                        }
                    }
                }
            }
            BindingSource bs = new BindingSource();



            bs.DataSource    = flist;
            dgv1.DataSource  = bs;
            lblMinTemp.Text  = iMinT.ToString();
            lblMaxTemp.Text  = iMaxT.ToString();
            lblHumid.Text    = iHumy.ToString();
            lblmaxWindy.Text = iWindy.ToString();
        }