using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace _191015_Vlček { public partial class Form1 : Form { public Form1() { InitializeComponent(); Mesta.NaplnDictionary(cbVyberMesto); } private void CbVyberMesto_SelectedIndexChanged(object sender, EventArgs e) { rtbVýpis.Text = Mesta.ZmenaIndexu(sender as ComboBox); } private void ButPridej_Click(object sender, EventArgs e) { rtbVýpis.Text = Mesta.PridaniMesta(tbPridejKlic.Text, tbPridejHodnota.Text, cbVyberMesto); } private void ButVymaz_Click(object sender, EventArgs e) { rtbVýpis.Text = Mesta.OdebraniMesta(cbVyberMesto); } private void Form1_FormClosed(object sender, FormClosedEventArgs e) { Mesta.Uloz(); } private void Form1_Load(object sender, EventArgs e) { } } } class namespace _191015_Vlček { class Mesta { static Dictionary<string, int> mestaAObyvatele = new Dictionary<string, int>(); public static void NaplnDictionary(ComboBox cb) { if (File.Exists("t.txt")) { foreach (var item in File.ReadAllLines("t.txt")) { if(!mestaAObyvatele.ContainsKey(item.Split('*')[0])) mestaAObyvatele.Add(item.Split('*')[0], Convert.ToInt32(item.Split('*')[1])); } NaplnCB(cb); } else MessageBox.Show("Soubor neexistuje!", "Není soubor!", MessageBoxButtons.OK, MessageBoxIcon.Error); } public static string ZmenaIndexu(ComboBox cb) { return $@"{cb.SelectedItem} Počet obyvatel: {mestaAObyvatele[cb.SelectedItem.ToString()]}"; } public static string PridaniMesta(string mesto, string pocetObyvatel, ComboBox cb) { try { if (mesto == "" || pocetObyvatel == "") return $"Prázdné nejde!"; else if (mestaAObyvatele.ContainsKey(mesto)) return $"{mesto} už tam je!"; else if (Convert.ToInt32(pocetObyvatel) <= 0) return $"Počet obyvatel musí být kladný!"; else { mestaAObyvatele.Add(mesto, Convert.ToInt32(pocetObyvatel)); NaplnCB(cb); return $"Zadáno: {mesto} ({pocetObyvatel})"; } } catch (Exception er) { return er.Message; } } public static string OdebraniMesta(ComboBox cb) { if (cb.SelectedIndex >= 0) { string v = "Smazano: " + cb.SelectedItem.ToString() + " " + mestaAObyvatele[cb.SelectedItem.ToString()]; mestaAObyvatele.Remove(cb.SelectedItem.ToString()); cb.Items.RemoveAt(cb.SelectedIndex); return v; } else return "Není vybraná žádná položka!"; } public static void Uloz() { string zapis = ""; foreach (var item in mestaAObyvatele) { zapis += $"{item.Key}*{item.Value}\n"; } File.WriteAllText("t.txt", zapis); } static void NaplnCB(ComboBox cb) { cb.Items.Clear(); foreach (var item in mestaAObyvatele) { cb.Items.Add(item.Key); } } } }
|