Проблема с SaveFileDialog
От: Ketsalkoatl Россия  
Дата: 19.02.07 14:11
Оценка:
Уважаемые господа простите великодушно за следующий вопрос. Кому-то он покажется очень простым , а кому-то, может быть, даже глупым. Ну так вот он сам.
При использовании в программе компонента SaveFileDialog возникает следующая проблема. У этой компоненты (класса) если свойство FileName, это в моем понимании имя сохраняемого файла. Ну так вот я его указываю конкретно, допустим 123, но, когда открывается окно SaveFileDialog в строке имя сохраняемого фала нет 123. Как это можно исправить?
Заранее благодарен.

Вот сам код

if (AssetSaveDlg.ShowDialog() == DialogResult.OK)
            {
                if ((asset.iAsset != 0) && (asset.iCreditPortfel != 0) && (asset.iSsudDolg != 0) &&
                (asset.iPrivlechSred != 0) && (asset.iTekushPribUbit != 0))
                {
                    AssetSaveDlg.FileName = "123";
                    asset.WriteToFile(AssetSaveDlg.FileName);
                }
                else
                {
                    MessageBox.Show("Данные не рассчитаны");
                }
            }
            else
            {
                MessageBox.Show("Файл для сохранения не указан");
            }


Вот сам метод сохранения:

        public void WriteToFile(string sFullPathToFile)
        {
            using (StreamWriter sw  = new StreamWriter(sFullPathToFile,false,System.Text.Encoding.Default))
            {
                sw.WriteLine("Активы предприятия равны " + iAsset.ToString() + "р.");
                sw.WriteLine("Величина кредитного портфеля равна " + iCreditPortfel.ToString() + "р.");
                sw.WriteLine("Просроченная ссудная задолженность равна " + iSsudDolg.ToString() + "р.");
                sw.WriteLine("Привлеченные средства равны " + iPrivlechSred.ToString() + "р.");
                sw.WriteLine("Текущая прибыль/убытки равна(ы) " + iTekushPribUbit.ToString() + "р.");
                sw.Close();
                MessageBox.Show("Файл " + sFullPathToFile + " был успешно сохранен");
            }
        }



19.02.07 18:33: Перенесено модератором из '.NET' — Хитрик Денис
Re: Проблема с SaveFileDialog
От: Хитрик Денис Россия RSDN
Дата: 19.02.07 15:06
Оценка:
Здравствуйте, Ketsalkoatl, Вы писали:

А вот так?

K>
            AssetSaveDlg.FileName = "123"; // устанавливать свойство нужно до ShowDialog! 
K>            if (AssetSaveDlg.ShowDialog() == DialogResult.OK)
K>            {
K>                if ((asset.iAsset != 0) && (asset.iCreditPortfel != 0) && (asset.iSsudDolg != 0) &&
K>                (asset.iPrivlechSred != 0) && (asset.iTekushPribUbit != 0))
K>                {
K>                    //AssetSaveDlg.FileName = "123";
K>                    asset.WriteToFile(AssetSaveDlg.FileName);
K>                }
K>                else
K>                {
K>                    MessageBox.Show("Данные не рассчитаны");
K>                }
K>            }
K>            else
K>            {
K>                MessageBox.Show("Файл для сохранения не указан");
K>            }

K>


Тут тоже пару поправок:

K>
K>        public void WriteToFile(string sFullPathToFile)
K>        {
K>            using (StreamWriter sw  = new StreamWriter(sFullPathToFile,false,System.Text.Encoding.Default))
K>            {
K>                sw.WriteLine("Активы предприятия равны " + iAsset.ToString() + "р.");
K>                sw.WriteLine("Величина кредитного портфеля равна " + iCreditPortfel.ToString() + "р.");
K>                sw.WriteLine("Просроченная ссудная задолженность равна " + iSsudDolg.ToString() + "р.");
K>                sw.WriteLine("Привлеченные средства равны " + iPrivlechSred.ToString() + "р.");
K>                sw.WriteLine("Текущая прибыль/убытки равна(ы) " + iTekushPribUbit.ToString() + "р.");
K>                //sw.Close(); // это уже необязательно. При выходе из using всё будет закрыто.
K>            }
K>                MessageBox.Show("Файл " + sFullPathToFile + " был успешно сохранен");
K>        }
K>
Правила нашего с вами форума.
Как правильно задавать вопросы. © 2001 by Eric S. Raymond; перевод: © 2002 Валерий Кравчук.
Re[2]: Проблема с SaveFileDialog
От: Ketsalkoatl Россия  
Дата: 19.02.07 20:30
Оценка:
Здравствуйте, Хитрик Денис, Вы писали:

Спасибо Денис, даже не ожидал, что мне так быстро ответят, так стыдно за свою глупую ошибку А насчет того, что поток необязательно закрывать, даже и не знал, это сборщик мусора отрабатывает за меня все это?

С уважением, Сергей
Re[3]: Проблема с SaveFileDialog
От: Хитрик Денис Россия RSDN
Дата: 19.02.07 20:46
Оценка:
Здравствуйте, Ketsalkoatl, Вы писали:

К>А насчет того, что поток необязательно закрывать, даже и не знал, это сборщик мусора отрабатывает за меня все это?


Нет. Сборщик мусора здесь не при чём. Вы можете использовать конструкцию using потому, что StreamWriter реализует интерфейс IDisposable. При выходе из блока using будет вызван метод Dispose() у объекта потока, который и закроет его.
Посмотрите подробнее насчёт IDisposable в MSDN.
Правила нашего с вами форума.
Как правильно задавать вопросы. © 2001 by Eric S. Raymond; перевод: © 2002 Валерий Кравчук.
Re[4]: Проблема с SaveFileDialog
От: Ketsalkoatl Россия  
Дата: 20.02.07 04:41
Оценка:
Здравствуйте, Хитрик Денис, Вы писали:

ХД>Здравствуйте, Ketsalkoatl, Вы писали:


К>>А насчет того, что поток необязательно закрывать, даже и не знал, это сборщик мусора отрабатывает за меня все это?


ХД>Нет. Сборщик мусора здесь не при чём. Вы можете использовать конструкцию using потому, что StreamWriter реализует интерфейс IDisposable. При выходе из блока using будет вызван метод Dispose() у объекта потока, который и закроет его.

ХД>Посмотрите подробнее насчёт IDisposable в MSDN.

Премного благодарен, буду просвещаться
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.