/// <summary> /// Принять характеристики /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click(object sender, EventArgs e) { bool isCorrect = true; for (int i = 0; i < dataGridView1.Rows.Count; i++) { if (!string.IsNullOrWhiteSpace((string)dataGridView1.Rows[i].Cells[1].Value) || !string.IsNullOrWhiteSpace((string)dataGridView1.Rows[i].Cells[2].Value)) { int territorySize, controlDistance; if (int.TryParse((string)dataGridView1.Rows[i].Cells[1].Value, out territorySize) && int.TryParse((string)dataGridView1.Rows[i].Cells[2].Value, out controlDistance)) { if (territorySize < 1 || controlDistance < 1) { isCorrect = false; MessageBox.Show("Некорректное значение в поле/полях района " + MainWindow.Graph.Vertices[(int)dataGridView1.Rows[i].Cells[0].Value].Index, "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); break; } MainWindow.Graph.Vertices[(int)dataGridView1.Rows[i].Cells[0].Value].ControlDistance = controlDistance; MainWindow.Graph.Vertices[(int)dataGridView1.Rows[i].Cells[0].Value].TerritorySize = territorySize; } else { MessageBox.Show("Некорректное значение в поле/полях района " + MainWindow.Graph.Vertices[(int)dataGridView1.Rows[i].Cells[0].Value].Index, "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); isCorrect = false; break; } } else { isCorrect = false; MessageBox.Show("Некорректное значение в поле/полях района " + MainWindow.Graph.Vertices[(int)dataGridView1.Rows[i].Cells[0].Value].Index, "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); break; } } if (isCorrect) { if (File.Exists("Graph.dat")) { File.Delete("Graph.dat"); } MainWindow.Graph.UpdateEdgesData(); SaverLoader.SaveToFile("Graph.dat", MainWindow.Graph); Close(); } }
/// <summary> /// Обработчик при попытке закрыть главную форму /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void EnrolleeForm_FormClosing(object sender, FormClosingEventArgs e) { // сохраняем базу в локальный файл SaverLoader.SaveToFile(Path.ChangeExtension(Application.ExecutablePath, ".bin"), _root); tsslStatusLabel.Text = "Сохранение данных на сервере..."; statusStrip1.Refresh(); // сохраняем базу на сервере SaverLoader.StoreTables(_root, Properties.Settings.Default.ConnectionString); var result = SaverLoader.OperationResult; // показываем результат tsslStatusLabel.Text = string.IsNullOrWhiteSpace(result) ? "Готово" : result.Substring(0, result.IndexOf('.') + 1); statusStrip1.Refresh(); // спрашиваем пользователя, закрывать ли приложение e.Cancel = MessageBox.Show(this, "Закрыть приложение?", "Выход", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) != DialogResult.Yes; }
private void MainForm_FormClosing(object sender, FormClosingEventArgs e) { SaverLoader.SaveToFile(Path.ChangeExtension(Application.ExecutablePath, ".bin"), _school); }
/// <summary> /// Сохранить в файл /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tsmiSaveToFile_Click(object sender, EventArgs e) { var fileName = Path.ChangeExtension(Application.ExecutablePath, ".dat"); SaverLoader.SaveToFile(fileName, _hotel); }
static void Main(string[] args) { bool goOut = false; BinomialHeap <int> binomialHeap = null; do { char whatToDo; whatToDo = Subroutines.PrintMenu(); switch (whatToDo) { // // c - создать кучу и заполнить ее случайными величинами // case 'c': { bool isError; int number; binomialHeap = new BinomialHeap <int>(); do { isError = false; do { Console.Write("Сколько элементов будет в куче?\nВаше число "); } while (!Int32.TryParse(Console.ReadLine(), out number)); if (number <= 0 || number > 10000) { isError = true; } } while (isError == true); for (int i = 0; i < number; i++) { binomialHeap.Add(new Random().Next(-50, 1000)); System.Threading.Thread.Sleep(30); } SaverLoader.SaveToFile("input.dat", binomialHeap); Console.WriteLine("Куча успешно сформирована. Нажмите что-нибудь..."); Console.ReadKey(); try { binomialHeap.WriteBinomialHeapToFile("output.dat"); } catch (Exception e) { Console.WriteLine("GG in file output.dat"); Console.ReadKey(); } break; } // // r - добавить элементы в кучу // case 'r': { int number; do { do { Console.Write("Сколько элементов добавить? (не более 10)\nВаше число "); } while (!Int32.TryParse(Console.ReadLine(), out number)); } while (number < 1 || number > 10); if (binomialHeap == null) { binomialHeap = new BinomialHeap <int>(); } for (int i = 0; i < number; i++) { int digit; do { Console.Write("\nЧисло №" + (i + 1) + " = "); } while (!Int32.TryParse(Console.ReadLine(), out digit)); binomialHeap.Add(digit); } Console.WriteLine("Элементы успешно добавлены. Нажмите что-нибудь..."); Console.ReadKey(); if (File.Exists("input.dat")) { File.Delete("input.dat"); } SaverLoader.SaveToFile("input.dat", binomialHeap); try { binomialHeap.WriteBinomialHeapToFile("output.dat"); } catch (Exception e) { Console.WriteLine("GG in file output.dat"); Console.ReadKey(); } break; } // // b - восстановить кучу из файла input.dat // case 'b': { binomialHeap = (BinomialHeap <int>)SaverLoader.LoadFromFile("input.dat"); Console.WriteLine("Куча успешно восстановлена. Нажмите что-нибудь..."); Console.ReadKey(); break; } // // p - показать кучу // case 'p': { if (binomialHeap == null) { Console.WriteLine("\nКуча не существует. Нажмите что-нибудь..."); Console.ReadKey(); break; } Console.WriteLine("\n---------------------------"); binomialHeap.Print(); Console.ReadKey(); break; } // // d - вывести первые К натуральных чисел // case 'd': { if (binomialHeap == null) { Console.WriteLine("\nКуча не существует. Нажмите что-нибудь..."); Console.ReadKey(); break; } int k; do { do { Console.Write("Сколько элементов вывести?\nВаше число "); } while (!Int32.TryParse(Console.ReadLine(), out k)); } while (k < 1); binomialHeap.PrintFirstNaturalElements(k); Console.ReadKey(); break; } // // ESC - выход // case (char)27: { goOut = true; break; } } } while (goOut == false); }
/// <summary> /// Перед закрытием формы /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BaseEditorForm_FormClosing(object sender, FormClosingEventArgs e) { // сохраняем состояние в файл SaverLoader.SaveToFile(_defaultFileName, _modelRoot); }
protected override void OnFormClosed(FormClosedEventArgs e) { base.OnFormClosed(e); //autosave SaverLoader.SaveToFile(TempFilePath, grid); }