Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/30: Рейтинг темы: голосов - 30, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 05.03.2011
Сообщений: 80

Сохранение данных из формы

31.03.2011, 19:55. Показов 5887. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Попыталась сохранить данные из формы в текстовый файл,а рисунки сохранить как БМП файлы.ПРи попытки сохранения пишет ошибку "данный формат пути не поддерживается".Вот код:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 private void зберігтиToolStripMenuItem_Click(object sender, EventArgs e)
        {
            saveFileDialog1.InitialDirectory = "DATA:\\KZM\\" + "\\";
                    saveFileDialog1.DefaultExt = "txt";
                    saveFileDialog1.ShowDialog();
                    if (saveFileDialog1.FileName != "")
                    {
                        string str = saveFileDialog1.FileName.Substring(("DATA:\\KZM\\" + "\\").Length);
                        saveFileDialog1.FileName = "DATA:\\KZM\\" + "\\";
                        FileStream fs = new FileStream(saveFileDialog1.FileName, FileMode.Create, FileAccess.ReadWrite);
                        string txt = "Розрахунок балки методом початкових параметрів" + "\n\n";
                        txt += "1) Параметри конструкції:\n";
                        txt += "Довжина конструкції L (м):" + domainUpDown1.Text + "\n\n";
                        txt += "Матеріал конструкції:" + comboBox1.SelectedItem + ",   модуль пружності Юнга" + label2 + "\n\n";
                        txt += "Опора зліва:" + comboBox2.SelectedItem + "Опора справа:" + comboBox3.SelectedItem + ";\n";
                        txt += "Кількість прольтів n:" + textBox1.Text + ";\n";
                        txt += "2) Параметри поперечного перерізу балки на n-м прольоті:\n";
                        txt += "Номер прольту" + comboBox6.SelectedItem + ";   Довжина прольоту (м):" + textBox2.Text + ";   Висота поперечного перерізу (см):" + textBox4.Text + "Ширина поперечного перерізу (см):" + textBox8.Text + ";\n";
                        if (comboBox5.SelectedIndex == comboBox6.SelectedIndex)
                        {
                            txt += "Пружина на кінці прольоту справа  - " + "так" + ";\n";
                            txt += "Згинальна жорсткість (кН/м)  - " + textBox9.Text + ";\n";
                        }
                        else
                        {
                            txt += "Пружина на кінці прольоту справа  - " + "ні" + ";\n";
                        }
                        fs.Close();
                        File.WriteAllText(saveFileDialog1.FileName, txt);
                        string basic = saveFileDialog1.FileName.Substring(0, saveFileDialog1.FileName.Length - 4);
                        pictureBox1.Image.Save(basic + "_Схема конструкції" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        pictureBox2.Image.Save(basic + "_Форма епюри функції прогинов" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        pictureBox3.Image.Save(basic + "_Форма епюри функції кутів повороту" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        pictureBox4.Image.Save(basic + "_Форма ерюри функції моментів" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        pictureBox5.Image.Save(basic + "_Форма епюри функції перерізуючих сил" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        MessageBox.Show("Файл було збережено");
                    }
               
        }
Что же делать,помогите пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2011, 19:55
Ответы с готовыми решениями:

Сохранение данных после закрытия формы
Всем доброго времени суток. Меня интересует вопрос: можно ли сохранить данные после закрытия формы например в текст боксе написано...

Сохранение данных формы
Доброго времени суток! Проблема следующая: есть разделенная форма Form3. Пытаюсь сделать в ней сохранение данных по нажатию кнопки....

Сохранение данных из формы в БД
Нужен совет! Я сам в php ничего не смыслю, для конкретной задачи просмотрел и набросал код. Задача тривиальная: вводим данные в форму и...

19
 Аватар для nuke4303
99 / 100 / 16
Регистрация: 30.03.2011
Сообщений: 350
31.03.2011, 20:04
DATA:\\KZM\\ эт очто такое?
0
1 / 1 / 0
Регистрация: 05.03.2011
Сообщений: 80
31.03.2011, 20:09  [ТС]
это путь сохранения файла
0
 Аватар для nuke4303
99 / 100 / 16
Регистрация: 30.03.2011
Сообщений: 350
31.03.2011, 20:19
я имею ввиду что за путь такой, куда он ведет? в сеть? такой тип и неподдерживается
0
1 / 1 / 0
Регистрация: 05.03.2011
Сообщений: 80
31.03.2011, 20:20  [ТС]
на локальный диск Д,в папку КЗМ
0
гроза ленивых студентов
 Аватар для znake
456 / 411 / 51
Регистрация: 27.03.2011
Сообщений: 823
31.03.2011, 20:37
Цитата Сообщение от nuke4303 Посмотреть сообщение
DATA:\\KZM\\ эт очто такое?
бери шире

C#
1
2
saveFileDialog1.FileName = "DATA:\\KZM\\" + "\\";
FileStream fs = new FileStream(saveFileDialog1.FileName, FileMode.Create, FileAccess.ReadWrite);
вот это в целом что такое?! что ты пыталась этим сказать?

Добавлено через 2 минуты
Star_Desant, во-первых, указывай диск, а не его лейбл. то есть не дата, систем или как они у тебя еще называются, а С, Д, Е и т.д.
во-вторых, при файлстриме указывается полный путь + имя файла.
C#
1
saveFileDialog1.FileName = "DATA:\\KZM\\" + "\\";
вот это тебе выдаст (я вместо компилятора, "дата" в уме меняю на Д)
D:\KZM\\
ты пытаешься сохранить такой файл. ты такой файл у себя на компе хоть раз видела?
1
1 / 1 / 0
Регистрация: 05.03.2011
Сообщений: 80
31.03.2011, 20:44  [ТС]
ахахах та что я у себя на компе только не видела))
0
гроза ленивых студентов
 Аватар для znake
456 / 411 / 51
Регистрация: 27.03.2011
Сообщений: 823
31.03.2011, 20:44
попытался вчитаться в твой код...
1) ты там файл стрим открываешь...а потом закрываешь...а зачем ты собственно так над ним издеваешься? ты ж его даже не используешь...
2) разберись с saveFileDialog1.FileName , у тебя ошибки сыпятся именно из-за него. я не знаю, что именно ты хочешь сделать, поэтому не могу показать как исправить...
0
1 / 1 / 0
Регистрация: 05.03.2011
Сообщений: 80
31.03.2011, 21:00  [ТС]
C#
1
pictureBox1.Image.Save(basic + "_Схема конструкції" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
Текст ошибки:
В экземпляре объекта не задана ссылка на объект.
как это исправить?

Добавлено через 10 минут
Цитата Сообщение от znake Посмотреть сообщение
попытался вчитаться в твой код...
1) ты там файл стрим открываешь...а потом закрываешь...а зачем ты собственно так над ним издеваешься? ты ж его даже не используешь...
2) разберись с saveFileDialog1.FileName , у тебя ошибки сыпятся именно из-за него. я не знаю, что именно ты хочешь сделать, поэтому не могу показать как исправить...
мне нужно сохранить значения в текстовый файл + к нему сохранить 5 картинок, при этом пользователь должен иметь возможность задать путь сохранения файла.
0
 Аватар для nuke4303
99 / 100 / 16
Регистрация: 30.03.2011
Сообщений: 350
31.03.2011, 21:06
Цитата Сообщение от Star_Desant Посмотреть сообщение
В экземпляре объекта не задана ссылка на объект.
либо pictureBox1 не существует, либо его Image=null
0
1 / 1 / 0
Регистрация: 05.03.2011
Сообщений: 80
31.03.2011, 21:12  [ТС]
эта ошибка выдается даже когда pictureBox1 существует и заполнен рисунком.... вот это-то и не понятно...
0
 Аватар для nuke4303
99 / 100 / 16
Регистрация: 30.03.2011
Сообщений: 350
31.03.2011, 21:22
ну значит basic не задан...а лучше скинте проект
0
1 / 1 / 0
Регистрация: 05.03.2011
Сообщений: 80
31.03.2011, 21:28  [ТС]
KZM.rar
вот проект
0
гроза ленивых студентов
 Аватар для znake
456 / 411 / 51
Регистрация: 27.03.2011
Сообщений: 823
31.03.2011, 21:31
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
private void зберігтиToolStripMenuItem_Click(object sender, EventArgs e)
        {
            saveFileDialog1.InitialDirectory = "DATA:\\KZM\\" + "\\";
                    saveFileDialog1.DefaultExt = "txt";
                    saveFileDialog1.ShowDialog();
                    if (saveFileDialog1.FileName != "")
                    {
                        string txt = "Розрахунок балки методом початкових параметрів" + "\n\n";
                        txt += "1) Параметри конструкції:\n";
                        txt += "Довжина конструкції L (м):" + domainUpDown1.Text + "\n\n";
                        txt += "Матеріал конструкції:" + comboBox1.SelectedItem + ",   модуль пружності Юнга" + label2 + "\n\n";
                        txt += "Опора зліва:" + comboBox2.SelectedItem + "Опора справа:" + comboBox3.SelectedItem + ";\n";
                        txt += "Кількість прольтів n:" + textBox1.Text + ";\n";
                        txt += "2) Параметри поперечного перерізу балки на n-м прольоті:\n";
                        txt += "Номер прольту" + comboBox6.SelectedItem + ";   Довжина прольоту (м):" + textBox2.Text + ";   Висота поперечного перерізу (см):" + textBox4.Text + "Ширина поперечного перерізу (см):" + textBox8.Text + ";\n";
                        if (comboBox5.SelectedIndex == comboBox6.SelectedIndex)
                        {
                            txt += "Пружина на кінці прольоту справа  - " + "так" + ";\n";
                            txt += "Згинальна жорсткість (кН/м)  - " + textBox9.Text + ";\n";
                        }
                        else
                        {
                            txt += "Пружина на кінці прольоту справа  - " + "ні" + ";\n";
                        }
                        File.WriteAllText(saveFileDialog1.FileName, txt);
 
                        string basic = saveFileDialog1.FileName.Substring(0,saveFileDialog1.FileName.LastIndexOf('\\')) + "\\";
                        pictureBox1.Image.Save(basic + "_Схема конструкції" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        pictureBox2.Image.Save(basic + "_Форма епюри функції прогинов" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        pictureBox3.Image.Save(basic + "_Форма епюри функції кутів повороту" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        pictureBox4.Image.Save(basic + "_Форма ерюри функції моментів" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        pictureBox5.Image.Save(basic + "_Форма епюри функції перерізуючих сил" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        MessageBox.Show("Файл було збережено");
                    }
               
        }
а так?

вот только такой код лучше делать на событие FileOk самого SaveFileDialog. Ибо по твоему сейчашнему коду, если в СейвФайлДиалоге ты выберешь какой-нибудь файл и нажмешь "Отмена", то твой код все равно выполнится и файлы сохраняться.
1
1 / 1 / 0
Регистрация: 05.03.2011
Сообщений: 80
31.03.2011, 21:46  [ТС]
все-равно выдает ошибку:
0
гроза ленивых студентов
 Аватар для znake
456 / 411 / 51
Регистрация: 27.03.2011
Сообщений: 823
31.03.2011, 21:51
C#
1
2
saveFileDialog1.InitialDirectory = "DATA:\\KZM\\" + "\\";
saveFileDialog1.DefaultExt = "txt";
закомментируй или вообще убери - я не заметил их сначала...
1
 Аватар для SandWraith
189 / 189 / 38
Регистрация: 11.04.2009
Сообщений: 497
31.03.2011, 21:59
Цитата Сообщение от znake Посмотреть сообщение
при файлстриме указывается полный путь
не обязательно
1
гроза ленивых студентов
 Аватар для znake
456 / 411 / 51
Регистрация: 27.03.2011
Сообщений: 823
31.03.2011, 22:02
Цитата Сообщение от SandWraith Посмотреть сообщение
не обязательно
если ты о том случае, когда мы пытаемся сохранить в папку программы (или около того), то тот путь, что был в коде изначально, на это совершенно не походил, потому я и написал про полный путь

а вообще ты, конечно, прав)
1
1 / 1 / 0
Регистрация: 05.03.2011
Сообщений: 80
31.03.2011, 22:04  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
private void зберігтиToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //saveFileDialog1.InitialDirectory = "d:\\KZM" + "\\";
              //      saveFileDialog1.DefaultExt = "txt";
                    saveFileDialog1.ShowDialog();
                    if (saveFileDialog1.FileName != "")
                    {
                        string str = saveFileDialog1.FileName.Substring(("D:\\KZM" + "\\").Length);
                        saveFileDialog1.FileName = "Розрахунок балки методом початкових параметрів";
                        FileStream fs = new FileStream(saveFileDialog1.FileName, FileMode.Create, FileAccess.ReadWrite);
                        string txt = "Розрахунок балки методом початкових параметрів" + "\n\n";
                        txt += "1) Параметри конструкції:\n";
                        txt += "Довжина конструкції L (м):" + domainUpDown1.Text + "\n\n";
                        txt += "Матеріал конструкції:" + comboBox1.SelectedItem + ",   модуль пружності Юнга" + label2 + "\n\n";
                        txt += "Опора зліва:" + comboBox2.SelectedItem + "Опора справа:" + comboBox3.SelectedItem + ";\n";
                        txt += "Кількість прольтів n:" + textBox1.Text + ";\n";
                        txt += "2) Параметри поперечного перерізу балки на n-м прольоті:\n";
                        txt += "Номер прольту" + comboBox6.SelectedItem + ";   Довжина прольоту (м):" + textBox2.Text + ";   Висота поперечного перерізу (см):" + textBox4.Text + "Ширина поперечного перерізу (см):" + textBox8.Text + ";\n";
                        if (comboBox5.SelectedIndex == comboBox6.SelectedIndex)
                        {
                            txt += "Пружина на кінці прольоту справа  - " + "так" + ";\n";
                            txt += "Згинальна жорсткість (кН/м)  - " + textBox9.Text + ";\n";
                        }
                        else
                        {
                            txt += "Пружина на кінці прольоту справа  - " + "ні" + ";\n";
                        }
                        fs.Close();
                        File.WriteAllText(saveFileDialog1.FileName, txt);
                        string basic = saveFileDialog1.FileName.Substring(0, saveFileDialog1.FileName.Length - 4);
                        pictureBox1.Image.Save(basic + "_Схема конструкції" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        pictureBox2.Image.Save(basic + "_Форма епюри функції прогинов" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        pictureBox3.Image.Save(basic + "_Форма епюри функції кутів повороту" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        pictureBox4.Image.Save(basic + "_Форма ерюри функції моментів" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        pictureBox5.Image.Save(basic + "_Форма епюри функції перерізуючих сил" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        MessageBox.Show("Файл було збережено");
                    }
}
все равно ругается((

}
0
гроза ленивых студентов
 Аватар для znake
456 / 411 / 51
Регистрация: 27.03.2011
Сообщений: 823
31.03.2011, 22:09
ВНИМАТЕЛЬНЕЕ БУДЬ!
этот код я уже писал... КАК ты его смотрела - я не знаю... ты так и не исправила те ошибки, что у тебя были

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
private void зберігтиToolStripMenuItem_Click(object sender, EventArgs e)
        {
                    saveFileDialog1.ShowDialog();
                    if (saveFileDialog1.FileName != "")
                    {
                        string txt = "Розрахунок балки методом початкових параметрів" + "\n\n";
                        txt += "1) Параметри конструкції:\n";
                        txt += "Довжина конструкції L (м):" + domainUpDown1.Text + "\n\n";
                        txt += "Матеріал конструкції:" + comboBox1.SelectedItem + ",   модуль пружності Юнга" + label2 + "\n\n";
                        txt += "Опора зліва:" + comboBox2.SelectedItem + "Опора справа:" + comboBox3.SelectedItem + ";\n";
                        txt += "Кількість прольтів n:" + textBox1.Text + ";\n";
                        txt += "2) Параметри поперечного перерізу балки на n-м прольоті:\n";
                        txt += "Номер прольту" + comboBox6.SelectedItem + ";   Довжина прольоту (м):" + textBox2.Text + ";   Висота поперечного перерізу (см):" + textBox4.Text + "Ширина поперечного перерізу (см):" + textBox8.Text + ";\n";
                        if (comboBox5.SelectedIndex == comboBox6.SelectedIndex)
                        {
                            txt += "Пружина на кінці прольоту справа  - " + "так" + ";\n";
                            txt += "Згинальна жорсткість (кН/м)  - " + textBox9.Text + ";\n";
                        }
                        else
                        {
                            txt += "Пружина на кінці прольоту справа  - " + "ні" + ";\n";
                        }
                        File.WriteAllText(saveFileDialog1.FileName, txt);
 
                        string basic = saveFileDialog1.FileName.Substring(0,saveFileDialog1.FileName.LastIndexOf('\\')) + "\\";
                        pictureBox1.Image.Save(basic + "_Схема конструкції" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        pictureBox2.Image.Save(basic + "_Форма епюри функції прогинов" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        pictureBox3.Image.Save(basic + "_Форма епюри функції кутів повороту" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        pictureBox4.Image.Save(basic + "_Форма ерюри функції моментів" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        pictureBox5.Image.Save(basic + "_Форма епюри функції перерізуючих сил" + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        MessageBox.Show("Файл було збережено");
                    }
               
        }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.03.2011, 22:09
Помогаю со студенческими работами здесь

Сохранение данных с формы
Возможно сохранить данные с формы(например из textbox) без использования каких либо файлов (нужно чтобы именно на диске ничего не...

Сохранение данных из формы в базу данных
Здравствуйте. Надеюсь вы новичкам тоже помогаете? Есть таблица в окне. Вызываем диалоговое окно, заполняем форму. Нажимаем ОК. В...

Сохранение данных полей формы
Здравствуйте, дорогие друзья! У меня такой вопрос: есть 2 странички, 1я с формой регистрации, 2я с обработчиком данных полей формы. Во...

Сохранение данных основной формы
Подскажите, пожалуйста, есть код: <body> <!-- Основная форма --> <form action="action.php" method="post"> ...

Сохранение данных формы в сессии
<?php session_start (); ?> <!DOCTYPE html> <html> <head> <title>Внесение в текстовый файл</title> <meta...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru