Wczytywanie sciezki do pliku

Wczytywanie sciezki do pliku
D1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 57
0

Witam
Chce sobie napisac aplikacje w WF i napotkałem taki problem ze za pomoca openfiledialog otwieram plik i odczytuje jego nazwa za pomoca safefilename. Zapisuje to w zmiennej openedfile typu string i wpisuje ta zmienna w sciezce do filestream. Leczy gdy chce np odswiezyc to co wyswietla w pliku to wyrzuca ze sciezka nie moze byc zerowa.

Dalem specjalnie zeby wyswietlilo mi wczesniej messagebox z nazwa pliku i wyswietla poprawnie czyli wczytuje ok. Lecz pozniej sie psuje:/

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
1

Ja rozwiązałem to tak zrobiłem z toolboxa FolderBrowsingDialog i napisałem tam

Kopiuj
 
public partial class Form1 : Form
    {
        FolderBrowserDialog fbd = new FolderBrowserDialog();

To jest przed forma następnie utworzyłem richtextbox i dałem mu cos takiego(jakby co fbd to nazwa zmiennej)

Kopiuj
 
richTextBox1.Text = (fbd.SelectedPath + "\\Nazwa Folderu");

a wczesniej dodałem

Kopiuj
 
fbd.RootFolder = Environment.SpecialFolder.Desktop;

oznacza to że startowy folder to będzie pulpit

D1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 57
0

mi nie chodzi o sam folder tylko o dokladnie jeden plik

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

No to to własnie jest ta "Nazwa Folderu" w 2 kodzie w c# tam możesz dac jaki folder tylko chcesz i za pomoca komend manipulować nim

D1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 57
0

ale chce otworzyc plik txt i na nim dzialac
dopisywac do niego i wyswietlac zawartosc

i potrzebuje tylko sciezke do tego pliku

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

To, przepraszam z tego co wiem da się zrobić to w c++ bardzo prosto ale ci nie pomogę bo sam szukam pomocy w tym zakresie.

D1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 57
0

Ok spoko

ktos cos ?

EDIT

ok znalazlem problem a jest taki ze nie otwiera pliku takiego jakie chce tylko po prostu tak jakby openfiledialog nie pobieralo nic

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

A my mamy oczywiście wywróżyć co masz nie tak, bo kodu podać nie raczysz?

Astrocyt
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 17
0

Scieżka siedzi we właściwości FileName.

D1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 57
0
somekind napisał(a):

A my mamy oczywiście wywróżyć co masz nie tak, bo kodu podać nie raczysz?

kurcze sorry :(

zaraz dorzuce kod

Wczytywanie pliku

Kopiuj
private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
        {
            openedfile = openFileDialog1.SafeFileName;
            MessageBox.Show(openedfile);
        } 

Wyswietlanie tego co w pliku

Kopiuj
private void refresh_Click(object sender, EventArgs e)

    {
            Choose_file chf = new Choose_file();
            MessageBox.Show(chf.openedfile);
            using (FileStream fr = new FileStream(chf.openedfile, FileMode.Open, FileAccess.Read))
            {
                StreamReader sr = new StreamReader(fr);
                string text = sr.ReadToEnd();
                string[] lines = text.Split('\r');
                foreach (string s in lines)
                {
                    listBox1.Items.Add(s);
                }
                refresh.Enabled = false;
            }




    } 

Problem zdiagnozowalem taki ze po pobraniu pliku Od razu w zmiennej nazwa pliku sie znajduje, lecz przy wyświetaniu (nacisnieciu przycisku refresh) zmienna jest juz pusta.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

A czym jest Choose_file i czemu tworzysz jego nowy obiekt po kliknięciu w przycisk?
I czemu używasz SafeFileName, a nie FileName?

D1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 57
0

Choose_file to jest nowy form a Tworze jego obiekt bo musze sie odwolac jakos do zmiennej ktora jest w tym formie

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
2

I w efekcie odwołujesz się do pustej ścieżki z nowego obiektu, a nie do tej, którą chciałeś wybrać.
Poczytaj o podstawach obiektów, a potem o tym jak przekazywać dane między obiektami różnych Form.

D1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 57
0
somekind napisał(a):

I w efekcie odwołujesz się do pustej ścieżki z nowego obiektu, a nie do tej, którą chciałeś wybrać.
Poczytaj o podstawach obiektów, a potem o tym jak przekazywać dane między obiektami różnych Form.

Ok ale mozesz mnie jakos naprowadzic choc troche

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.