BETA
Aby się zalogować, najpiew wybierz portal.
Aby się zarejestrować, najpiew wybierz portal.
Podaj słowa kluczowe
Słowa kluczowe muszą mieć co najmniej 3 sąsiadujące znaki alfanumeryczne
Pole zawiera niedozwolone znaki
aretse
aretse
4 pkt.
Nowicjusz

 
0


Witam,
mam problem. Pewnie trywialny, ale proszę mieć wzgląd na to, że jeśli chodzi o .NET'a, to jestem zielona i pachnę sianem... :)
Postanowiłam stworzyć prosty notatnik. I utknęłam przy zapisywaniu do pliku. Robię to trzema linijkami kodu:
sw = new StreamWriter(mySaveDialog.FileName);
sw.Write(richTextBox1.Text);
sw.Close();
Wszystko jest w porządku, dopóki nie chcę nadpisać właśnie otwartego pliku. Wyskakuje wtedy okienko informujące, że nie mogę mieć dostępu do niego, ponieważ jest on wykorzystywany przez inny proces...

Próbowałam już rozwiązać ten problem na kilka sposobów, ale chyba czegoś nie wiem... Na pewno czegoś nie wiem :)
Uprzejmie proszę o pomoc kogoś lepiej wyedukowanego ode mnie ;)
Pozdrawiam
ET





Leszek Kantorek
Leszek Kantorek
40 pkt.
Poczatkujacy
 
0


Witam!
A czy w twojej funkcji która odpowiada za otwieranie znajduje się może sr.Close()?
using System.Data;
using System.IO;
 
.......
 
/// <summary>
/// Tworzysz nowy Open dialog
/// </summary>
private OpenFileDialog myOpenDialog = new OpenFileDialog();
/// <summary>
/// Tworzysz nowy Save dialog
/// </summary>
private SaveFileDialog mySaveDialog = new SaveFileDialog();

/// <summary>
/// Dekarujemy klase FileStream ktora pozwala nam dokonywac operacji na plikach
/// </summary>
private FileStream fs;
 
/// <summary>
/// Dekarujemy klase StreamReader ktora odpowiada za odczyt/zapis strumienia z/do pliku
/// </summary>
private StreamReader sr;
private StreamWriter sw;
.......
private void OpenDialog()
{
//Ustawienie domyslnych rozszerzen jakie beda otwierane
myOpenDialog.DefaultExt = "txt";

//Ustawienie filtrowania przy przegladaniu plikow beda sie pokazywaly tylko te z tym rozszezeniem co potrzebujemy
myOpenDialog.Filter = "Text files (*.txt)|*.txt";

if(myOpenDialog.ShowDialog() == DialogResult.OK)
{

//Otwieramy plik parametrami sa nazwa pliku oraz to co chcemy robic z plikiem
fs = File.Open(myOpenDialog.FileName, FileMode.Open);

//Tworzymy nowy strumien i wskazujemy na nasz plik
sr = new StreamReader(fs);
//Kazemy czytac caly plik i wczytac go do naszego pola edycyjnego
richTextBox1.Text = sr.ReadToEnd();
sr.Close();
}
 
.......
 
private void SaveDialog()
{
mySaveDialog.DefaultExt = "txt";
mySaveDialog.Filter = "Text files (*.txt)|*.txt";
if(mySaveDialog.ShowDialog() == DialogResult.OK)
sw = new StreamWriter(mySaveDialog.FileName);
sw.Write(richTextBox1.Text);
sw.Close();
}

aretse
aretse
4 pkt.
Nowicjusz
 
0


tak, rzeczywiście brakowało tej lijnijki...
mea culpa
dzięki wielkie
 

Udziel odpowiedzi

pkt.
Treść wpisu:

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.