private void buttonExport_Click(object sender, EventArgs e) { if (Calcs.Count > 0) { string nomeFile = $"calc{DateTime.Today.ToString("ddMMyy")}{DateTime.Now.ToString("HHmmss")}.txt"; if (File.Exists(nomeFile)) { File.Delete(nomeFile); } using (StreamWriter sw = File.CreateText(nomeFile)) { foreach (Calculation calcolo in Calcs) { sw.WriteLine($"HP: {calcolo.HP}"); foreach (var lista in calcolo.ListAttackRolls) { sw.Write("("); for (int i = 0, len = lista.Count, commalen = len - 1; i < len; i++) { sw.Write($"{lista.ElementAt(i)}"); if (i < commalen) { sw.Write(", "); } } sw.WriteLine(")"); } sw.WriteLine($"KO {calcolo.KOcounter}/{calcolo.Total} ({calcolo.SimplifiedKOcounter}/{calcolo.SimplifiedTotal}), {calcolo.KOpercentage}%\n"); } } Calcs.Clear(); ViewModel.CalcsInMemory = Calcs.Count; DidPrint = true; string text = $"Nome del file: {nomeFile}"; const string caption = "Esportazione eseguita con successo"; _ = MessageBox.Show(text, caption, MessageBoxButtons.OK, MessageBoxIcon.Information); } else { const string text = "Prima fai un calcolo"; const string caption = "Ancora niente da esportare"; _ = MessageBox.Show(text, caption, MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void Calcolatore2danni_FormClosing(object sender, FormClosingEventArgs e) { if (!DidPrint) { const string text = "Non tutti i calcoli sono stati esportati. Sei sicuro di voler chiudere l'applicazione?"; const string caption = "Chiusura applicazione"; var result = MessageBox.Show(text, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.No) { e.Cancel = true; } else { Calcs.Clear(); } } }