Текстовые файлы с формами и несколькими выходами - PullRequest
0 голосов
/ 11 мая 2019

У меня есть код, который должен принимать данные о погоде определенного дня (и определенного города) от пользователя и сохранять эти данные в текстовом файле, а затем отображать эти данные для определенных городов из текстового файла.Я использовал ФОРМЫ.

Как изменить код для правильного чтения текстового файла и НЕ отображать каждый вход 3 раза каждый?Я добавил соответствующие методы, которые я использовал в текстовых файлах:

  private void btnCapture_Click(object sender, EventArgs e)
    {
        string city = cbCity.SelectedItem.ToString();
        DateTime date = dtp.Value;
        int minTemp = Convert.ToInt32(nudMinTemp.Value);
        int maxTemp = Convert.ToInt32(nudMaxTemp.Value);
        int precipitation = Convert.ToInt32(nudPrecip.Value);
        int humidity = Convert.ToInt32(nudHumid.Value);
        int windSpeed = Convert.ToInt32(nudWindSpeed.Value);
        using (StreamWriter sw = new StreamWriter("myFile.txt"))
        {
            sw.WriteLine(city + Environment.NewLine + date + 
                maxTemp + Environment.NewLine + precipitation...);
            sw.Close();
        }

        WeatherDetails w = new WeatherDetails(city, date, minTemp...)
        w.ReadData();
        MessageBox.Show("Your data has been Captured");
    }

   //Read data in WeatherDetails Class:
   public void ReadData()
    {

        StreamReader SR = new StreamReader("myFile.txt");
        while (!SR.EndOfStream)
        {
            city = SR.ReadLine();
            date = DateTime.Parse(SR.ReadLine());
            minTemp = int.Parse(SR.ReadLine());
            maxTemp = int.Parse(SR.ReadLine());
            precipitation = int.Parse(SR.ReadLine());
            humidity = int.Parse(SR.ReadLine());
            windSpeed = int.Parse(SR.ReadLine());
            WeatherDetails newOne = new WeatherD...                      
            ci.Add(newOne);
        }
        SR.Close();
        }

  private void btnDisplay_Click(object sender, EventArgs e)
    {

        city = cbCity.SelectedItem.ToString();
        DateStart = dtpStart.Value;
        DateEnd = dtpEnd.Value;

        //Displaying data to RTB
         private void btnDisplay_Click(object sender, EventArgs e)
    {

        city = cbCity.SelectedItem.ToString();
        DateStart = dtpStart.Value;
        DateEnd = dtpEnd.Value;

        //Displaying data to RTB
        foreach (WeatherDetails wd in WeatherDetails.ci)
        {

            rtbDisplay.Text += ("The Weather Report for " +    cbCity.SelectedItem.ToString() + " , accesssed on " + wd.date.ToString() + "\n" +
                "\n" +
                "Maximum Temperature: " + wd.maxTemp + "\n" +
                "Minimum Temperature: " + wd.minTemp + "\n" +
                "Precipitation: " + wd.precipitation + "\n" +
                "Humidity: " + wd.humidity + "\n" +
                "Wind Speed: " + wd.windSpeed + "\n" +
                "-------------------End OF Report---------------------");

Проблема заключается в том, что он отображает введенные данные 3 раза каждый. Так что, если я введу данные для одного города 12-го и 14-го числаМожет, он будет отображать 12-й 3 раза и отображать 14-й 3 раза.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...