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();
}
}
}