private void SaveMultButton_Click(object sender, EventArgs e) { if (PictureBoxBackground.Image == null) { MessageBox.Show("Что ты собрался выводить то, поехавший (фон)?"); return; } for (int nomer = 0; nomer < nomerPersa; nomer++) { if (String.IsNullOrEmpty(persons[nomer].adress)) { MessageBox.Show("Картинка №" + (nomer + 1).ToString() + " пустая"); return; } if (String.IsNullOrEmpty(persons[nomer].x1)) { MessageBox.Show("Первая координата персонажа №" + (nomer + 1).ToString() + " пустая"); return; } if (String.IsNullOrEmpty(persons[nomer].y1)) { MessageBox.Show("Первая координата персонажа №" + (nomer + 1).ToString() + " пустая"); return; } if (String.IsNullOrEmpty(persons[nomer].y2)) { MessageBox.Show("Вторая координата персонажа №" + (nomer + 1).ToString() + " пустая"); return; } if (String.IsNullOrEmpty(persons[nomer].x2)) { MessageBox.Show("Вторая координата персонажа №" + (nomer + 1).ToString() + " пустая"); return; } if (String.IsNullOrEmpty(persons[nomer].time1)) { MessageBox.Show("Первая координата времени №" + (nomer + 1).ToString() + " пустая"); return; } if (String.IsNullOrEmpty(persons[nomer].time2)) { MessageBox.Show("Вторая координата времени №" + (nomer + 1).ToString() + " пустая"); return; } } if (saveFileDialog1.ShowDialog() == DialogResult.OK) { string filename = saveFileDialog1.FileName; //Add TXLib and pics File.Copy(Path.Combine(Application.StartupPath, "TXLib.h"), filename.Replace(Path.GetFileName(filename), "TXLib.h"), true); string adres_papki = filename.Replace(Path.GetFileName(filename), "Pictures"); if (!Directory.Exists(adres_papki)) { Directory.CreateDirectory(adres_papki); } if (adressBackground != adres_papki + "\\" + Path.GetFileName(adressBackground)) { File.Copy(adressBackground, adres_papki + "\\" + Path.GetFileName(adressBackground), true); } Files.CreateStruct(filename); Files.OpenMain(filename, PictureBoxBackground, adressBackground); for (int nomer = 0; nomer < nomerPersa; nomer++) { File.Copy(persons[nomer].adress, adres_papki + "\\" + Path.GetFileName(persons[nomer].adress), true); if (adres_papki == adres_papki + "\\" + Path.GetFileName(persons[nomer].adress)) { File.Copy(persons[nomer].adress, adres_papki + "\\" + Path.GetFileName(persons[nomer].adress), true); } if (persons[nomer].moveside == "Прямо") { Line.CreatePerson(filename, Person.PersonName(nomer), persons[nomer]); } else if (persons[nomer].moveside == "Волнами") { Sinus.CreatePerson(filename, Person.PersonName(nomer), persons[nomer]); } else if (persons[nomer].moveside == "Кругами") { Circle.CreatePerson(filename, Person.PersonName(nomer), persons[nomer]); } else if (persons[nomer].moveside == "Диагонально") { Line.CreatePerson(filename, Person.PersonName(nomer), persons[nomer]); } } Files.OpenWhile(filename, maxTime); for (int nomer = 0; nomer < nomerPersa; nomer++) { if (persons[nomer].moveside == "Прямо") { Line.MovePerson(filename, Person.PersonName(nomer), persons[nomer]); } else if (persons[nomer].moveside == "Волнами") { Sinus.MovePerson(filename, Person.PersonName(nomer), persons[nomer]); } else if (persons[nomer].moveside == "Кругами") { Circle.MovePerson(filename, Person.PersonName(nomer), persons[nomer]); } else if (persons[nomer].moveside == "Диагонально") { Line.MovePerson(filename, Person.PersonName(nomer), persons[nomer]); } } Files.CloseWhile(filename); DeletePics(filename, nomerPersa); Files.Ending(filename); MessageBox.Show("Successfully"); } }
private void SaveMultButton_Click(object sender, EventArgs e) { if (PictureBoxBackground.Image == null) { MessageBox.Show("Что ты собрался выводить-то, поехавший (фон)?"); return; } for (int nomer = 0; nomer < nomerPersa; nomer++) { if (String.IsNullOrEmpty(persons[nomer].address)) { MessageBox.Show("Картинка №" + (nomer + 1).ToString() + " пустая"); return; } if (String.IsNullOrEmpty(persons[nomer].x1)) { MessageBox.Show("Первая координата персонажа №" + (nomer + 1).ToString() + " пустая"); return; } if (String.IsNullOrEmpty(persons[nomer].y1)) { MessageBox.Show("Первая координата персонажа №" + (nomer + 1).ToString() + " пустая"); return; } if (String.IsNullOrEmpty(persons[nomer].y2)) { MessageBox.Show("Вторая координата персонажа №" + (nomer + 1).ToString() + " пустая"); return; } if (String.IsNullOrEmpty(persons[nomer].x2)) { MessageBox.Show("Вторая координата персонажа №" + (nomer + 1).ToString() + " пустая"); return; } if (String.IsNullOrEmpty(persons[nomer].time1)) { MessageBox.Show("Первая координата времени №" + (nomer + 1).ToString() + " пустая"); return; } if (String.IsNullOrEmpty(persons[nomer].time2)) { MessageBox.Show("Вторая координата времени №" + (nomer + 1).ToString() + " пустая"); return; } } if (saveFileDialog1.ShowDialog() == DialogResult.OK) { try { mainFilename = saveFileDialog1.FileName; //Adding TXLibrary and pictures File.WriteAllText(Path.GetDirectoryName(mainFilename) + "\\TXLib.h", Properties.Resources.TXLib); string dir_path = Path.GetDirectoryName(mainFilename) + "\\Pictures"; if (!Directory.Exists(dir_path)) { Directory.CreateDirectory(dir_path); } if (addressBackground != dir_path + "\\" + Path.GetFileName(addressBackground)) { File.Copy(addressBackground, dir_path + "\\" + Path.GetFileName(addressBackground), true); } Files.CreateStruct(mainFilename); Files.OpenMain(mainFilename, PictureBoxBackground, addressBackground); for (int nomer = 0; nomer < nomerPersa; nomer++) { File.Copy(persons[nomer].address, dir_path + "\\" + Path.GetFileName(persons[nomer].address), true); if (dir_path == dir_path + "\\" + Path.GetFileName(persons[nomer].address)) { File.Copy(persons[nomer].address, dir_path + "\\" + Path.GetFileName(persons[nomer].address), true); } if (persons[nomer].moveside == "Прямо") { Line.CreatePerson(mainFilename, Person.PersonName(nomer), persons[nomer]); } else if (persons[nomer].moveside == "Волнами") { Sinus.CreatePerson(mainFilename, Person.PersonName(nomer), persons[nomer]); } else if (persons[nomer].moveside == "Кругами") { Circle.CreatePerson(mainFilename, Person.PersonName(nomer), persons[nomer]); } else if (persons[nomer].moveside == "Диагонально") { Line.CreatePerson(mainFilename, Person.PersonName(nomer), persons[nomer]); } } Files.OpenWhile(mainFilename, maxTime); for (int nomer = 0; nomer < nomerPersa; nomer++) { if (persons[nomer].moveside == "Прямо") { Line.MovePerson(mainFilename, Person.PersonName(nomer), persons[nomer]); } else if (persons[nomer].moveside == "Волнами") { Sinus.MovePerson(mainFilename, Person.PersonName(nomer), persons[nomer]); } else if (persons[nomer].moveside == "Кругами") { Circle.MovePerson(mainFilename, Person.PersonName(nomer), persons[nomer]); } else if (persons[nomer].moveside == "Диагонально") { Line.MovePerson(mainFilename, Person.PersonName(nomer), persons[nomer]); } } Files.CloseWhile(mainFilename); DeletePics(mainFilename, nomerPersa); Files.Ending(mainFilename, checkBox1.Checked); MessageBox.Show("Готово!"); } catch (Exception ex) { _ = MessageBox.Show("Произошла ошибка!\n" + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }