Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
konispat
2 / 2 / 2
Регистрация: 25.12.2011
Сообщений: 55
#1

Сохранить и Сохранить как - C#

25.04.2013, 19:33. Просмотров 2153. Ответов 15
Метки нет (Все метки)

знаю что куча тем по поводу блокнота, но решения моей проблемы я не нашел. Суть такова: имеем две функции: "сохранить" и "сохранить как". Думаю их различие пояснять не надо. Для "Сохранить как" код написал. Как сделать так, что бы команда "сохранить" отлавливала "сохранить как". То есть, если файл уже существует, то при нажатии "сохранить" он просто переписывался, если его нет, то вылезает окно "Сохранить как". Вообщем как в обычных текстовых редакторах.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2013, 19:33
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сохранить и Сохранить как (C#):

Как сохранить прямоугольник???
Пожалуйста помогите. Уже написала программу, где нажав кнопку, рисует...

Как сохранить xml?
Не удается изменить файл .xml программными средствами. Создаю приложение...

Как сохранить состояние программы
Программа производит длительные вычисления и параллельно записывает результаты...

Как сохранить капчу в картинку?
Приветствую Всех. Подскажите, пжта, как данную капчу...

Как сохранить данные в XML?
Загружаю данные из XML в DataGrid. Некие действия с данными после чего мне...

Как сохранить редактированный текст
Проблема заключаеться в том что при сохранении текста из RichTextBoxa он у меня...

15
Tsin
720 / 465 / 183
Регистрация: 30.12.2012
Сообщений: 1,264
Записей в блоге: 2
Завершенные тесты: 3
25.04.2013, 19:41 #2
Совсем навскидку)

C#
1
2
3
Using System.IO;
 
File.Exists(fileName) ? <переписываешь файл> : <открываешь окно Сохранить как>;
0
konispat
2 / 2 / 2
Регистрация: 25.12.2011
Сообщений: 55
25.04.2013, 19:49  [ТС] #3
Tsin, слишком мало что бы понять)
0
Tsin
720 / 465 / 183
Регистрация: 30.12.2012
Сообщений: 1,264
Записей в блоге: 2
Завершенные тесты: 3
25.04.2013, 19:51 #4
konispat, ладно, давай уточним на всякий случай) На чем пишешь? Тип проекта?
0
Exerion
[Bicycle Reinventor]
288 / 228 / 105
Регистрация: 19.10.2011
Сообщений: 605
Записей в блоге: 2
Завершенные тесты: 2
25.04.2013, 19:54 #5
Тоже самое другими словами:
C#
1
2
3
4
5
6
7
8
if(File.Exists(fileName))
{
     // метод перезаписывающий файл
}
else
{
     // метод "Сохранить как"
}
0
konispat
2 / 2 / 2
Регистрация: 25.12.2011
Сообщений: 55
25.04.2013, 20:03  [ТС] #6
Exerion, имя файла не задано у меня, пишет "FileName" не существует в данном контексте" или я что то не понимаю
0
Tsin
720 / 465 / 183
Регистрация: 30.12.2012
Сообщений: 1,264
Записей в блоге: 2
Завершенные тесты: 3
25.04.2013, 20:06 #7
konispat, потомушта вместо fileName надо ставить твое имя файла, с которым ты хочешь что-то делать
0
konispat
2 / 2 / 2
Регистрация: 25.12.2011
Сообщений: 55
25.04.2013, 20:10  [ТС] #8
Tsin, а если нету еще никакого файла? я просто запустил программу, написал текст и хочу сохранить..
0
Tsin
720 / 465 / 183
Регистрация: 30.12.2012
Сообщений: 1,264
Записей в блоге: 2
Завершенные тесты: 3
25.04.2013, 20:14 #9
konispat, ой-ой, как все запущено. Выкладывай сюда код. тебе надо будет разобраться с компонентом SaveFileDialog или как-то так.
0
Exerion
[Bicycle Reinventor]
288 / 228 / 105
Регистрация: 19.10.2011
Сообщений: 605
Записей в блоге: 2
Завершенные тесты: 2
25.04.2013, 20:15 #10
Тогда значение переменной fileName при запуске программы надо выставлять в какое-то "по умолчанию", например Path.Combine(Environment.CurrentDirectory, "default.txt")
А вообще да, надо разобраться с компонентом, тогда всех этих проблем не будет.
0
konispat
2 / 2 / 2
Регистрация: 25.12.2011
Сообщений: 55
25.04.2013, 20:16  [ТС] #11
Tsin, не спорю.. проблемы есть)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
 
namespace bloknot
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        
 
        private void открытьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (richTextBox1.Text != "")
            if (MessageBox.Show("Сохранить изменения?", "Сохранить?", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
            {
                сохранитьКакToolStripMenuItem_Click(this, null);
                richTextBox1.Text = "";
            }
            OpenFileDialog open = new OpenFileDialog();
            open.Title = ("Открыть");
            open.Filter = "Text Document (*.txt) | *.txt| All Files (*.*)|*.*";
            if (open.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                richTextBox1.LoadFile(open.FileName, RichTextBoxStreamType.PlainText);
                this.Text = open.FileName;
            }
        }
 
        private void сохранитьКакToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SaveFileDialog save = new SaveFileDialog();
            save.Title = ("Сохранить как...");
            save.Filter = "Text Document (*.txt) | *.txt| All Files (*.*)|*.*";
            save.OverwritePrompt = true;
            if (save.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                richTextBox1.SaveFile(save.FileName, RichTextBoxStreamType.PlainText);
                this.Text = save.FileName;
            }
        }
 
        private void создатьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (richTextBox1.Text != "")
            if (MessageBox.Show("Сохранить изменения?", "Сохранить?", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
            {
                сохранитьКакToolStripMenuItem_Click(this, null);
                richTextBox1.Text = "";
            }
            richTextBox1.Text = "";
        }
 
        private void сохранитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            
        }
 
        private void выходToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
        }
 
        private void времяИДатаToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox1.Text = System.DateTime.Now.ToString();
        }
 
        private void отменитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox1.Undo();
        }
 
 
    }
}
0
Exerion
25.04.2013, 20:26
  #12

Не по теме:

OMG:scare:

0
Tsin
25.04.2013, 20:28
  #13

Не по теме:

Какие изверги учат писать кириллицей такие вещи?)

0
konispat
2 / 2 / 2
Регистрация: 25.12.2011
Сообщений: 55
25.04.2013, 20:29  [ТС] #14
Tsin, есть такие.. можно конкретней по теме, что не так и как сделать?)
0
Tsin
720 / 465 / 183
Регистрация: 30.12.2012
Сообщений: 1,264
Записей в блоге: 2
Завершенные тесты: 3
25.04.2013, 20:33 #15
konispat,

Не по теме:

Какие изверги учат писать кириллицей такие вещи?)



Как вариант, можно завести глобальную переменную fileName для хранения названия файла. Название передавать в функции "сохранить". А потом проверять название

C#
1
2
3
public partial class Form1 : Form
    {
         private string FileName;
совсем страшный вариант)
0
konispat
2 / 2 / 2
Регистрация: 25.12.2011
Сообщений: 55
25.04.2013, 20:36  [ТС] #16
Tsin, я пока оставлю эту функцию.. можно я тебе пару вопросов задам в личку?
0
25.04.2013, 20:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2013, 20:36
Привет! Вот еще темы с решениями:

Как сохранить настройки в приложении?
Как сохранить настройки в приложении?

Как сохранить страницу в файл?
Добрый день!!! Мужики кто подскажет как по ссылке сохранить код html в файл....

Как сохранить состояние List до сортировки?
Есть List&lt;String&gt;. В программе используется его сортировка, но так же нужно в...

Как сохранить значение переменной в файл
Нужно чтобы при клике на кнопку значение переменной сохранялось в файл save.txt...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru