С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 01.06.2013
Сообщений: 28

Сохранение из RichTextBox В файл

11.09.2013, 07:11. Показов 2705. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем пилю свой небольшой блокнот для личных целей и столкнулся с такой проблемой.
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
 private void saveToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.FileName == null)
            {
                saveFileDialog1.Title = "Save file";
                saveFileDialog1.ShowDialog();
                // выход, если была нажата кнопка Отмена и прочие (кроме ОК)
                if (saveFileDialog1.ShowDialog() != DialogResult.OK) return;
                // всё. имя файла теперь хранится в openFileDialog1.FileName
                else
                {
                    StreamWriter wr = new StreamWriter(saveFileDialog1.FileName);
                    wr.Write(richTextBox1.Text);
                    wr.Close();
            }
            }
            else
            {
 
                StreamWriter wr = new StreamWriter(openFileDialog1.FileName);
                wr.Write(richTextBox1.Text);
                wr.Close();
  
            }
        }
Теперь по порядку. filename в openfiledialog у меня по умолчанию null, это я прописал еще в начале программы.
Но ошибка почему то выходит, что нельзя сохранять по пустому пути.
То есть ошибка там, где после else идет
C#
1
StreamWriter wr = new StreamWriter(openFileDialog1.FileName)
Но у меня изначально было прописано условие если путь = нулю, то открываем SaviFileDialog.
Как быть?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.09.2013, 07:11
Ответы с готовыми решениями:

Сохранение текста из RichTextBox в файл *.TXT с переносом строки
Как сделать вывод текста из RichTextBox в файл *.TXT так, чтобы переход на новую строку сохранился как в тексте. Пока у меня всё в одну...

Сохранение в файл из DataGridView RichTextBox
Собственно такая беда, сохраняют текст бокс поля с датагрид и одно поля рич текст бокс оно не сохраняется т.к. это масив, а не строка(( как...

Сохранение содержимого RichTextBox в файл
Как сохранить в файле всё что в RichTextBox ????

9
 Аватар для Thypson
21 / 21 / 19
Регистрация: 10.09.2013
Сообщений: 285
11.09.2013, 08:10
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
string fileName = "";                //пишем полный путь к файлу
            if (File.Exists(fileName) != true)  //проверяем есть ли такой файл, если его нет, то создаем
{ 
                using (StreamWriter sw = new StreamWriter(new FileStream(fileName, FileMode.Create, FileAccess.Write))) 
{
                    sw.WriteLine("");             //пишем строчку, или пишем что хотим
                }
            } 
else  //если файл есть, то откываем его и пишем в него (или можно просто удалить File.Delete(filename);
{                             
                using (StreamWriter sw = new StreamWriter(new FileStream(fileName, FileMode.Open, FileAccess.Write))) {
                    (sw.BaseStream).Seek(0, SeekOrigin.End);         //идем в конец файла и пишем строку или пишем то, что хотим
                    sw.WriteLine("");
                }
0
0 / 0 / 0
Регистрация: 01.06.2013
Сообщений: 28
11.09.2013, 11:30  [ТС]
Thypson, не то это. У меня суть в другом. Если файл был ранее открыт через openFileDialog, то сохраняем в него, а если написан с нуля, то открываем saveFileDialog.
0
 Аватар для Blindboy
9 / 9 / 1
Регистрация: 13.08.2013
Сообщений: 53
11.09.2013, 11:54
C#
1
2
3
openFileDialog1.show();
var nameF = saveFileDialog1.FileName;
StreamWriter sw = new StreamWriter(nameF)
0
0 / 0 / 0
Регистрация: 01.06.2013
Сообщений: 28
11.09.2013, 12:37  [ТС]
Blindboy, что это?
Я же описал что мне требуется. Если openfiledialog использовался и файл был выбран, то сохраняем по выбранному пути, а если нет, то запускаем saveFileDIalog. Вы мне все кидаете просто функции сохранения. Я знаю как это делается, если кто-нибудь читал мой код то думаю ответов не по теме не было бы.
Читайте внимательнее проблемы!!!
0
369 / 341 / 108
Регистрация: 12.02.2013
Сообщений: 653
11.09.2013, 13:25
ну тут можно по всякому, например так
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
        string path = "";
 
        // Кнопка открыть
        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog openfiledialog = new OpenFileDialog();
            if (openfiledialog.ShowDialog() == DialogResult.OK)
            {
                using (StreamReader sread = new StreamReader(openfiledialog.OpenFile()))
                {
                    richTextBox1.Text = sread.ReadToEnd();
                }
 
                path = openfiledialog.FileName;
            }
        }
 
        //Кнопка сохранить
        private void button2_Click(object sender, EventArgs e)
        {
            if (path != "")
            {
                using (StreamWriter swr = new StreamWriter(path))
                {
 
                }
            }
            else
                // SaveDialog.........
        }
ну или bool еще добавить
0
 Аватар для Blindboy
9 / 9 / 1
Регистрация: 13.08.2013
Сообщений: 53
11.09.2013, 13:47
Цитата Сообщение от Musicfuns Посмотреть сообщение
Blindboy, что это?
Я же описал что мне требуется. Если openfiledialog использовался и файл был выбран, то сохраняем по выбранному пути, а если нет, то запускаем saveFileDIalog. Вы мне все кидаете просто функции сохранения. Я знаю как это делается, если кто-нибудь читал мой код то думаю ответов не по теме не было бы.
Читайте внимательнее проблемы!!!
я так понимаю ты хочешь готовенький код... голову тоже надо включать. ну о печатался я - saveFileDIalog.show();
0
0 / 0 / 0
Регистрация: 01.06.2013
Сообщений: 28
11.09.2013, 15:03  [ТС]
Diman777, А в чем тогда отличие от моего кода? Разве что замена openfileDialog.FileName на path.Blindboy, Блин голову я включил и выложил почти готовый код, просто не знаю в чем ошибка сейчас попытаюсь его переписать.

Добавлено через 10 минут
Все переписал. Спасибо Diman777, но твой код полностью использовать я не стал, там ошибка.
Теперь у меня все вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 private void saveToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string path = openFileDialog1.FileName;
            if (path == "")
            {
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    StreamWriter wr = new StreamWriter(saveFileDialog1.FileName);
                    wr.Write(richTextBox1.Text);
                    wr.Close();
                   
                }
            }
                else
                {
                    StreamWriter wr = new StreamWriter(openFileDialog1.FileName);
                    wr.Write(richTextBox1.Text);
                    wr.Close();
 
                }
 
            }
0
369 / 341 / 108
Регистрация: 12.02.2013
Сообщений: 653
11.09.2013, 15:08
Цитата Сообщение от Musicfuns Посмотреть сообщение
там ошибка.
интересно, а где?
0
0 / 0 / 0
Регистрация: 01.06.2013
Сообщений: 28
11.09.2013, 15:29  [ТС]
Diman777, А нет, нет. Не заметил ! перед = path . Все в порядке. Извиняюсь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.09.2013, 15:29
Помогаю со студенческими работами здесь

Сохранение текста из richtextbox в файл с переносом на новые строки C#!
Суть такая.. нужно сделать охранение результатов в файл из текстбокса,но чтобы все не лепило в одну строчку а переносило данные на новые...

Сохранение текста из richTextBox
Подскажите, почему не работает? StreamWriter ^sr4 = gcnew StreamWriter("pwd1.txt"); System::String ^text4 = sr4->WriteLine; ...

Сохранение текста из RichTextBox
Здравствуйте, я пишу прогу для работы с документом. Этот документ я могу открыть в окне richtextbox и теперь мне нужно содержимое данного...

Сохранение текста RichTextBox
Есть RichTextBox с форматированным текстом, при нажатии на кнопку текст сохраняется в файл rtf методом SaveFile. Но при определенных...

Сохранение открытого файла в richTextBox
помогите плиз реализовать сохранение отредактированного файла, уже открытого через openFileDialog. т.е. например нажимаю на кнопку...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru