using System;
using System.IO;
using System.Windows.Forms;
namespace MilitaryRecruitment
{
public partial class MainForm : Form
{
private string filePath = "";
public MainForm()
{
InitializeComponent();
}
private void btnSave_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(txtFullName.Text) || string.IsNullOrWhiteSpace(txtAddress.Text))
{
MessageBox.Show("Пожалуйста, введите ФИО и адрес.");
return;
}
if (dtpBirthDate.Value > DateTime.Today)
{
MessageBox.Show("Дата рождения не может быть в будущем.");
return;
}
if (string.IsNullOrWhiteSpace(cmbEducation.Text))
{
MessageBox.Show("Пожалуйста, укажите учебное заведение.");
return;
}
if (!rbHealthy.Checked && !rbNotHealthy.Checked)
{
MessageBox.Show("Пожалуйста, укажите результат медицинского осмотра.");
return;
}
string content = $"ФИО: {txtFullName.Text}\n" +
$"Адрес: {txtAddress.Text}\n" +
$"Дата рождения: {dtpBirthDate.Value.ToShortDateString()}\n" +
$"Образование: {cmbEducation.Text}\n" +
$"Семейное положение: {rbMarried.Checked ? "женат" : "холост"}\n" +
$"Вид обучения: {rbFullTime.Checked ? "очно" : "заочно"}\n" +
$"Количество детей: {numericUpDownChildren.Value}\n" +
$"Медицинский осмотр: {rbHealthy.Checked ? "годен" : "не годен"}";
if (string.IsNullOrEmpty(filePath))
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "Файлы призывников (*.pri)|*.pri";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
filePath = saveFileDialog.FileName;
}
else
{
return;
}
}
File.WriteAllText(filePath, content);
MessageBox.Show("Данные сохранены.");
}
private void btnLoad_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Файлы призывников (*.pri)|*.pri";
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
filePath = openFileDialog.FileName;
string content = File.ReadAllText(filePath);
// Парсинг и отображение содержимого в форме
// Здесь вы можете добавить код для разбора содержимого и обновления элементов управления на форме
MessageBox.Show("Данные загружены.");
}
}
}
}
ФИО призывника, адрес - при помощи RichTextBox
Дата рождения - при помощи компонента MonthCalendar
учебное заведение (нет, ВУЗ, СПО, НПО) при помощи ComboBox
семейное положение (холост, женат), вид обучения (очно, заочно) - при помощи Radiobutton
кол-во детей - при помощи NumericUpDown(от 0 до 10)
Результаты мед. осмотра (годен или нет) - при помощи Radiobutton
Вычислить итоговый результат о призыве: освобожден – если не годен по состоянию здоровья; отсрочка – учится на дневном отделении учебного заведения; годен к службе - иначе, отобразить полученное значение при помощи компонента метки.
Расчет производить по нажатию кнопки «Вывод», которая доступна, если введены данные о результате мед. осмотра.
Сохранять данные о призывнике в текстовый файл с расширением pri (*.pri) по пункту меню «Файл-Записать», а считывание данных из текстового файла производить по пункту меню «Файл-Считать», при этом пользователь должен указать нужный файл (*.pri) через стандартное диалоговое окно.