Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Ошибка при создании файла


Автор: libman 15.3.2008, 20:12
Следующий код

Код

        private void button1_Click(object sender, EventArgs e)
        {
            openFileDialog1.Filter = "Programm|*.exe|All files (*.*)|*.*";
            openFileDialog1.InitialDirectory = "C:\\Program Files";
            openFileDialog1.Title = "Выберете программу";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = openFileDialog1.FileName;
            }
        }
        private static void AddText(FileStream fs, string value)
        {
            byte[] info = new UTF8Encoding(true).GetBytes(value);
            fs.Write(info, 0, info.Length);
        }
        private void button2_Click(object sender, EventArgs e)
        {
            string path = @"1.bat";

            if (File.Exists(path))
            {
                File.Delete(path);
            }

            using (FileStream fs = File.Create(path))
            {
                AddText(fs,"!!!!!!!!!!!!!!");
            }            

        }


если перед нажатием button2 вызову button1 то файл 1.bat не создаться/не измениться
если просто ручками пропишу чтонибудь в textBox1 и вызову button2 то все велликолепно создаеться/изменяеться
в чем проблема, как решить
заранее спасибо

Автор: Ctrl 16.3.2008, 01:12
Ошибки никакой нет  smile, просто у твоей реализации функции button1_Click() есть сайд-эффект:
изменение текущего каталога в случае успешного выбора файла.
Код

        string path = @"1.bat";

указывает на файл в текущем каталоге, до нажатия button1 это каталог программы, а вот после - это уже не он...
Воркэраунд надеюсь понятен...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)