Уважаемые господа простите великодушно за следующий вопрос. Кому-то он покажется очень простым , а кому-то, может быть, даже глупым. Ну так вот он сам.
При использовании в программе компонента 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' — Хитрик Денис
Здравствуйте, 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>
Здравствуйте, Хитрик Денис, Вы писали:
Спасибо Денис, даже не ожидал, что мне так быстро ответят, так стыдно за свою глупую ошибку

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