Загрузка данных


using System;
using System.IO;
using System.Linq;
using System.Windows.Forms;

namespace WinFormsApp8
{
    public partial class Form1 : Form
    {
        private string _loadedText = string.Empty;

        public Form1()
        {
            InitializeComponent();
        }

        private void loadToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    _loadedText = File.ReadAllText(openFileDialog1.FileName);
                    MessageBox.Show("Файл успешно загружен!", "Инфо");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ошибка при чтении файла: " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void wordCountToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(_loadedText))
            {
                MessageBox.Show("Сначала загрузите файл.", "Предупреждение");
                return;
            }

            // Разделение по пробельным символам
            string[] words = _loadedText.Split(new[] { ' ', '\r', '\n', '\t' }, StringSplitOptions.RemoveEmptyEntries);
            MessageBox.Show("Количество слов в тексте: " + words.Length, "Результат");
        }

        private void charFrequencyToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(_loadedText))
            {
                MessageBox.Show("Сначала загрузите файл.", "Предупреждение");
                return;
            }

            // Использование InputBox через Microsoft.VisualBasic или простая форма ввода
            string input = Microsoft.VisualBasic.Interaction.InputBox("Введите букву для анализа:", "Повторяемость буквы", "");

            try
            {
                if (string.IsNullOrEmpty(input)) return;
                if (input.Length > 1) throw new Exception("Нужно ввести только один символ.");

                char searchChar = char.ToLower(input[0]);
                int count = _loadedText.ToLower().Count(c => c == searchChar);

                MessageBox.Show(string.Format("Буква '{0}' встречается {1} раз(а).", input[0], count), "Результат");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ошибка ввода: " + ex.Message, "Ошибка");
            }
        }

        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}