|
@@ -0,0 +1,76 @@
|
|
|
+using Avalonia.Controls;
|
|
|
+using Avalonia.Interactivity;
|
|
|
+using Avalonia.Markup.Xaml.MarkupExtensions;
|
|
|
+using System.IO;
|
|
|
+
|
|
|
+namespace AvaloniaApplication2
|
|
|
+{
|
|
|
+ // структура
|
|
|
+ public struct Countries
|
|
|
+ {
|
|
|
+ public string name; // название страны
|
|
|
+ public string capital; // столица
|
|
|
+ public string form; // форма правления
|
|
|
+ public string continent; // материк
|
|
|
+ public string religions; // религии
|
|
|
+ public bool isNATO; // является ли членом НАТО
|
|
|
+ }
|
|
|
+ public partial class MainWindow : Window
|
|
|
+ {
|
|
|
+ public MainWindow()
|
|
|
+ {
|
|
|
+ InitializeComponent();
|
|
|
+ // cbContinent.SelectedIndex = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ // обработчик события Click для записи в файл
|
|
|
+ private void WriteFile(object sender, RoutedEventArgs e)
|
|
|
+ {
|
|
|
+ Countries country = new Countries(); // создание объекта структуры
|
|
|
+
|
|
|
+ // заполнение полей структуры
|
|
|
+ country.name = tbName.Text; // заполнение названия страны из текстового поля
|
|
|
+ country.capital = tbCapital.Text; // заполнение столицы из текстового поля
|
|
|
+
|
|
|
+ // в зависимости от того, какая радиокнопка активна, происходит запись формы правления
|
|
|
+ if (rbM.IsChecked == true) country.form = "Монархия";
|
|
|
+ if (rbK.IsChecked == true) country.form = "Конституция";
|
|
|
+ if (rbD.IsChecked == true) country.form = "Демократия";
|
|
|
+
|
|
|
+ // если флажок выбран, то записываем принадлежность страны к НАТО
|
|
|
+ if (cbNATO.IsChecked == true) country.isNATO = true;
|
|
|
+ else country.isNATO = false;
|
|
|
+
|
|
|
+ // записываем континент в зависимости от выбранного значения в списке, ориентируясь на индекс выбранного значения (значения начинаются с индекса 0)
|
|
|
+ switch (cbContinent.SelectedIndex)
|
|
|
+ {
|
|
|
+ case 1:
|
|
|
+ country.continent = "Евразия";
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ country.continent = "Америка";
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ country.continent = "Африка";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ string religions = ""; // строка для формирования сведений о регилиях в стране
|
|
|
+
|
|
|
+ // пробегаемся по всему списку выбранных религий (так как у списка настроен множественный выбор при условии зажатия Ctrl)
|
|
|
+ foreach (TextBlock item in lbReligions.SelectedItems)
|
|
|
+ {
|
|
|
+ religions += religions + item.Text + ", "; // добавляем религию в строку яерез запятую
|
|
|
+ }
|
|
|
+ country.religions = religions;
|
|
|
+
|
|
|
+ // запись а файл
|
|
|
+ using (StreamWriter sw = new StreamWriter("users.csv",true,System.Text.Encoding.UTF8))
|
|
|
+ {
|
|
|
+ sw.WriteLine(country.name + ";" + country.capital + ";" + country.continent + ";" + country.form + ";" + country.religions + ";" + country.isNATO);
|
|
|
+ ShowMessage.Text = "Запись добавлена";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|