示例#1
0
        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);
            }
        }
示例#2
0
        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();
                }
            }
        }