Problem z saveFileDialog

0

Witam!
Mój problem jest następujący: gdy chcę zapisać jakiś plik tekstowy, standardowo otwiera się okienko savedialog'a i tam już wybieram gdzie ma być zapisany i pod jaką nazwą, ale problem powstaje wtedy gdy chcę "szybko" zapisać jakiś plik np.otworzyłem plik qwerty.txt i zmieniłem 1 wyraz ale nie chcę już otwierać okna savedialog tylko Od razu zapisać go tak jak jest (można powiedzieć że zupełnie tak jak w notatniku funkcja Zapisz). Jak mogę zrealizować "szybkie zapisywanie" pliku ?
Z góry dziękuję za pomoc.

0

Normalnie - otwierasz strumien do pliku i zapisujesz zawartosc. FileStream o ile sie nie myle.

0

A mógłbyś podać gotowy kod ponieważ szukałem w google ale nie znalazłem informacji o zapisywaniu z FileStream.

0

Jakoś niezabardzo mi to wychodzi, bo jakoś ciągle pojawia się okienko gdzie mam wybrać miejsce do zapisania pliku, a chodzi mi o to żeby go nie było tylko Od razu zapisywało ten plik tam gdzie go otworzyłem.

0

Najwyrazniej uparcie otwierasz SaveFileDialog. Pokaz kod.

0

Probowałem połączyć dane z linka które mi podałeś wraz z tym co miałem i niedawno znalazłem ale po wielu nieudanych próbach został mi tylko taki fragment kodu:

{
			  SearchableRichTextBox1.SaveFile(saveFileDialog1.FileName,RichTextBoxStreamType.PlainText);
           
 }
0

Nie kumam. Link, ktory Ci podalem zapisuje w pelni plik. To co Ty napisales, tez powinno zapisac plik bez problem (tyle tylko, ze jako format RTF). Tylko co tam robi saveFileDialog1?

Zrozum, jezeli gdziekolwiek wyskakuje Ci dialog zapisu pliku to znaczy, ze gdzies go pokazujesz. W tym kodzie co podales tego nie ma. Znaczy pokazujesz go gdzie indziej.

0

Jeżeli nie byłoby tam saveFileDialog to wtedy program nie chciał by tego skomplinować i wyskakiwałby błąd a tak komplinacja przebiega bez problemu ale problem pojawia się przy zapisie - w Wordzie tworze dokument rtf. Następnie otwieram go w swoim programie dodaje kilka literek i próbuję zapisać poleceniem podanym powyżej - wtedy wyskakuje błąd "Pusta nazwa ścieżki jest niedozwolona". Więc jednak coś jest nie tak a pamiętam że kiedyś udało mi się gdzieś w internecie znaleźć kod który zapisywał tekst do pliku bez otwarcia saveFileDialog ale niestety przez przypadek go usunąłem :-/ .

0

Boze... Podaj kod, juz mowilem. Ale taki kod, w ktorym mozna cokolwiek zobaczyc. Jak mam Ci pomoc? Na podstawie opisu, z ktorego nic nie wynika? Ja wiem co w tym swoim kodzie robisz, ze tak dziala?

0

Szczerze powiedziawszy to ten kod który podałem jest w całości - to nie jest żaden wycinek. A co do samego zapisywania pliku - jeżeli chodzi o zwykłe zapisanie pliku i przyporządkowanie sposobu zapisu do odpowiedniego filtra to z tym nie mam problemu więc może można by coś stworzyć na podstawie zwykłego kodu ?

0

W tym linku co Ci podalem masz pelen kod. Masz podac tylko nazwe i tresc - nic wiecej. W tej linijce, ktora masz tez masz tylko podac nazwe i tresc. Nie rozumiem ciagle czemu w ten sposob podajesz nazwe... Skad bierzesz safeFileDialog1??? Bo jak stad co mysle, to wiele wyjasnia czemu nazwa jest pusta...

0

Kod który był w linku który mi podałeś rzeczywiście działał (po odpowiedniej modyfikacji procedury zapisu która teraz zamiast domyślnego tekstu zapisuje tekst z TextBox ale jest coś przez co ten kod mi nie odpowiada :

  1. Tytuł pliku musi być ustalony z góry
    2.Plik jest zapisywany w folderze programu
  2. Rozszerzenie pliku musi być z góry ustalone

Tak jak pisałem: dobrze by było żeby procedura "szybkiego zapisywania" była identyczna z tą w notatniku: po otwarciu pliku i modyfikacji a następnie zapisaniu, plik nie jest przenoszony do folderu programu, nie jest zmieniane jego rozszerzenie ani nazwa. Chodzi mi o uzyskanie takiego samego efektu.

0
  1. To sobie zapisz nazwe gdzies w jakiejs zmiennej/skladowej
  2. Podaj pelna sciezke
  3. A to dlaczego?
0
johny_bravo napisał(a)
  1. To sobie zapisz nazwe gdzies w jakiejs zmiennej/skladowej
  2. Podaj pelna sciezke
  3. A to dlaczego?
  1. Jeżeli edytujesz plik rtf i chcesz żeby pozostał w tym rozszerzeniu to przecież nie możesz go prze konwertować do txt.
  2. Gdzie mam podać ścieżkę w kodzie który mi podałeś ?
  3. W moim programie (ani w żadnym innym który do tej pory napisałem) nie było żadnej zmiennej/składowej :) także nie mam doświadczenia w używaniu zmiennych (niestety).
0
  1. Zawsze moze zapisac sam tekst do pliku txt
  2. Lacznie z nazwa
  3. Slodki Jezu... A jak w takim razie programujesz bez zmiennych?? Jak teraz wyglada Twoj program?

Przyklad korzystania ze zmiennej skladowej

class MojaKlasa:BycMozeOkienkoNawet { private String NazwaPliku;

//jakies tam metody

public void OtworzPlik(...)
{
//...
NazwaPliku = AktualnaNazwaPlikuKtoryOtworzylem;
// ...
}

public void Zapisz(...)
{
//..
...SaveFile(Sciezka+NazwaPliku, Tresc);
//..
}
}


Luknij sobie na jakis kurs do c# i najpierw popisz kilka programow w konsoli. Programowanie w okienkach naprawde nie polega na klikaniu w odpowiednie miejsca w visualu...
0
johny_bravo napisał(a)
  1. Zawsze moze zapisac sam tekst do pliku txt
  2. Lacznie z nazwa
  3. Slodki Jezu... A jak w takim razie programujesz bez zmiennych?? Jak teraz wyglada Twoj program?

Przyklad korzystania ze zmiennej skladowej

class MojaKlasa:BycMozeOkienkoNawet
{
private String NazwaPliku;

//jakies tam metody

public void OtworzPlik(...)
{
//...
NazwaPliku = AktualnaNazwaPlikuKtoryOtworzylem;
// ...
}

public void Zapisz(...)
{
//..
...SaveFile(Sciezka+NazwaPliku, Tresc);
//..
}
}

> 
> Luknij sobie na jakis kurs do c# i najpierw popisz kilka programow w konsoli. Programowanie w okienkach naprawde nie polega na klikaniu w odpowiednie miejsca w visualu...


1 Pomyliłem pojęcia :-)
0

Udało mi się zmodyfikować podany przez ciebie kod ale występuje problem: robię tak jak mówisz czyli podaję ścieżkę do pliku ale zamiast zmodyfikować plik powstaje drugi z nazwą "C" który nie ma rozszerzenia ale da się go odczytać notatnikiem i tam jest to co chcę czyli zmieniony plik. Wiesz dlaczego ? Jeżeli udało by się rozwiązać ten problem wtedy uzyskałbym to co chciałem :)

0

Już sobie poradziłem :) program robi wszystko tak jak chcę - zapisuje bez pokazywania saveFileDialog.
Dzięki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1