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");
            }
        }
Esempio n. 2
0
        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);
                }
            }
        }