1

Тема: Збереження файлу без запиту на ім'я

Є 2 кнопки:
Мені потрібно зберегти у вже збережений файл без запиту на ім'я. Допоможіть будь-ласка розібратись з цим.

2

Re: Збереження файлу без запиту на ім'я

(Є 2 кнопки) - Вибачте це зайве!

3 Востаннє редагувалося koala (07.10.2022 11:34:56)

Re: Збереження файлу без запиту на ім'я

Зберігайте назву файлу у якійсь змінній.

Подякували: vladiccomtv1

4

Re: Збереження файлу без запиту на ім'я

Повідомлення про збереження файлу якщо той був змінений.
Мені потрібно щоб файл коли той був змінений, подавався запит на збереження.

У мене є код, але він працює не так як потрібно, він подає запит на збереження навіть якщо він не змінювався:

private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
    bool edt = true;
    if (!edt)
    {
        
    }
    else
    {
        if (MessageBox.Show("Зберегти?", "Текст змінено!", MessageBoxButtons.YesNo) == DialogResult.Yes)
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                saveGrid(saveFileDialog1.FileName);
            }
    }
}

Можливо причина через те що у мене створюється таблиця? Допоможіть будь-ласка.

5

Re: Збереження файлу без запиту на ім'я

koala написав:

Зберігайте назву файлу у якійсь змінній.

Я зберіг назву у зміну, тепер я заплутався. Я хочу замінити старий текст на новий. Допоможи мені розібратись ось код:

private void зберегтиToolStripMenuItem_Click(object sender, EventArgs e)
{
    FileInfo fi = new FileInfo(Name);
    string text = fi.Name;
    string ext_only = Path.GetExtension(text);
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
        saveGrid(saveFileDialog1.FileName.Replace(ext_only, ext_only));
    }
}

6

Re: Збереження файлу без запиту на ім'я

Вибачте, це ваш код?

7

Re: Збереження файлу без запиту на ім'я

koala написав:

Вибачте, це ваш код?

Так, але я переробив, тому що мені здається там нічого не правильно, ось новий код але він також не працює:

public void namm(string fname)
{
    fname = saveFileDialog1.FileName;
}

private void зберегтиToolStripMenuItem_Click(object sender, EventArgs e)
{
    File.Replace(saveGrid, namm, null);
}

Там пише що Аргументи 1 та 2 не вдалось перетворити з групи методів в string

До речі трішки почитав ваші статі. Я початківець в сфері програмування.

8

Re: Збереження файлу без запиту на ім'я

Так, тпру, цоб-цабе.
Комп'ютер працює за програмою. Програма - це послідовність операцій. Комп'ютер просто виконує ті операції, які ви йому задаєте. Це ви розумієте? Комп'ютер не може здогадатися, що вам треба, якщо ви самі не опишете саме ту послідовність операцій, що вам треба. А щоб описати її, вам спершу самому треба зрозуміти, що це будуть за операції. І нам теж, щоб допомогти вам щось запрограмувати, треба зрозуміти, що саме ви хочете зробити. Бо якщо ви самі не знаєте, що вам треба, то як ми вам зможемо допомогти і як комп'ютер зможе це виконати?

Поки що ви казали, що вам потрібно:

vladiccomtv написав:

...зберегти у вже збережений файл без запиту на ім'я

vladiccomtv написав:

...щоб файл коли той був змінений, подавався запит на збереження

vladiccomtv написав:

...замінити старий текст на новий

Ви розумієте, що це 3 взагалі різні речі? Не те щоб несумісні, але різні? Ви в кожному випадку вже впоралися з попередніми проблемами і ставите нове завдання? Чи вас більше не цікавить попередня задача, бо ви перейшли до іншої? Чи ви зрозуміли, що неправильно пояснили, а тепер пояснюєте правильно? Будь ласка, викладіть послідовно, що саме ви хочете. Витратьте 15 хвилин свого часу і спокійно опишіть - як не для нас на форумі, то хоча б для себе, що саме ви робите, що у вас уже вийшло і що ви хочете змінити. Бо інакше ви витрачатимете значно більше часу на те, щоб зробити "якось так", а воно все не виходитиме і не виходитиме, бо комп'ютер так само не може зрозуміти, що вам треба, якщо ви цього самі не знаєте.

Подякували: leofun011

9

Re: Збереження файлу без запиту на ім'я

Все що зверху забуваємо!

Ось що мені потрібно:
У програмі є кнопки: Зберегти та Зберегти як. Зберегти як - зберігає файл під новим іменем(цей код у мене працює).
А кнопка Зберегти має зберегти файл у той файл який я вже зберіг кнопкою Зберегти як.
Проте у мене виникли труднощі з кнопкою Зберегти, у мене є код, але там помилки, допоможіть мені розібратись з помилками.

public void saveGrid(string fn) //Як повинен зберегтись файл
{
    FileInfo f = new FileInfo(fn);
    StreamWriter w = new
    StreamWriter(f.Create());
    string l;
    for (int rc = 0; rc < dataGridView1.Rows.Count - 1; rc++)
    {
        l = "";
        for (int cc = 0; cc <= dataGridView1.Columns.Count - 1; cc++)
        {
            l += dataGridView1.Rows[rc].Cells[cc].Value + "|";
        }
        l.Substring(0, l.Length - 1);
        w.WriteLine(l);
    }
    w.Close();
}
public void namm(string fname) //Зберіг назву у зміну
{
    fname = saveFileDialog1.FileName;
}
private void зберегтиToolStripMenuItem_Click(object sender, EventArgs e) // Кнопка зберегти
{
    File.Replace(saveGrid, namm, null);
}

Помилка: Аргументи 1 2 не вдалось перетворити групу методів в string (File.Replace(saveGrid, namm, null);)

10

Re: Збереження файлу без запиту на ім'я

Щось я взагалі не розумію, що ви робите.

Зберегти як - це:

  1. Спитати у користувача назву файлу

  2. Зберегти туди дані

Правильно?

А просто зберегти - це:

  1. Подивитися, чи є збережене ім'я файлу

  2. Якщо є - записати туди дані

  3. Якщо нема - зберегти як

Тобто вам потрібна змінна з іменем файлу на такому рівні, щоб вона зберігалася весь час роботи програми. Наприклад, це може бути змінна самої форми з кнопками. Коли хтось тисне "зберегти як" - ви записуєте ім'я в цю змінну:

Зберегти як - це:

  1. Спитати у користувача назву файлу

  2. Зберегти туди дані

  3. Зберегти ім'я файлу у змінну

От і все. Ніяких замін, ніяких додаткових діалогів.

Подякували: vladiccomtv, leofun012

11

Re: Збереження файлу без запиту на ім'я

І так, оскільки ви, схоже, не розібралися:

vladiccomtv написав:
public void namm(string fname) //Зберіг назву у зміну
{
    fname = saveFileDialog1.FileName;
}

Параметр функції fname є локальним (має область видимості - функцію). Після виходу з функції він знищується. Відповідно, ця функція змінює локальну змінну і все, більше нікуди це значення не потрапляє.

Подякували: vladiccomtv1

12

Re: Збереження файлу без запиту на ім'я

Допоможіть будь-ласка, як помістити в string ім'я збереженого файлу? Дякую!

13

Re: Збереження файлу без запиту на ім'я

Будь ласка, не розмножуйте теми.

У вас, я так розумію, є елемент форми saveFileDialog1, правильно? Ну от у нього є FileName - це і є потрібна вам назва. C# вже за вас це зробив.

Подякували: vladiccomtv1

14

Re: Збереження файлу без запиту на ім'я

koala написав:

Будь ласка, не розмножуйте теми.

А то це ви теми контролюєте. А я думаю чому я створив тему, а вона перемістилась сюди, 4 повідомлення не стосувалось цієї теми

15 Востаннє редагувалося koala (13.10.2022 06:37:25)

Re: Збереження файлу без запиту на ім'я

vladiccomtv написав:
koala написав:

Будь ласка, не розмножуйте теми.

А то це ви теми контролюєте. А я думаю чому я створив тему, а вона перемістилась сюди, 4 повідомлення не стосувалось цієї теми

У такому разі вам потрібен оператор =, і це абсолютно точна відповідь на ваше питання. Ви дійсно її не знали?
Описуйте проблему повністю, бо зараз виглядає, що питання точно стосується цієї теми.

Подякували: vladiccomtv1