ďťż

Ładny brzuch

Moj program zapisuje dane z uzyciem SaveDialog. Jak zrobic tak zeby, gdy user napisze w polu nazwa pliku (jak otworzy sie okno SaveDialog) np. "costam" to zeby program dodawal do nazwy .txt (zeby bylo ,,costam.txt) a gdy user napisze "costam.txt" to zeby nie dodawal rozszerzenia (zeby nie wyszlo ,,costam.txt.txt")



Memo1->Lines->SaveToFile(SaveDialog1->FileName + ".txt");

Ale jak sprawdzić czy znajduje się już txt

SaveDialog1->Execute(); AnsiString test = SaveDialog1->FileName; int x = test.Length(); int y = test.LastDelimiter(".txt"); if (y == x)  {  Memo1->Lines->SaveToFile(SaveDialog->FileName);  } else {Memo1->Lines->SaveToFile(SaveDialog1->FileName + ".txt");}

Wydaje mi się że powinno działać


Moj program zapisuje dane z uzyciem SaveDialog. Jak zrobic tak zeby, gdy user napisze w polu nazwa pliku (jak otworzy sie okno SaveDialog) np. "costam" to zeby program dodawal do nazwy .txt (zeby bylo ,,costam.txt) a gdy user napisze "costam.txt" to zeby nie dodawal rozszerzenia (zeby nie wyszlo ,,costam.txt.txt")


W ogóle nie napisałeś jakiego kompilatora używasz... :/ ale zakładam że Borland C++ Builder, a skoro tak to przecież w zakładce "Object Inspector" w "Filters" (w tym pustym oknie jak klikniesz na "..") możesz wpisać o jakie pliki Ci chodzi.
To samo się tyczy OpenDialog.


Uzywam Borland C++ Builder. W Object Inspector w polu Filter wpisujemy rozszerzenia tylko po to, aby uzytkownik wiedzial o jakie pliki chodzi. Nawet po wpisaniu ,,pliki tekstowe" i ".txt" nadal po wpisaniu w polu nazwa pliku rozszerzenia nie sa dodawane.



ehh...

zapomniałem o jednym drobnym szczególe, a bardzo istotnym:
tzn

U mnie funkcja zapisująca do pliku wygląda tak:
void __fastcall TFrm_file_memory::Bt_savefClick(TObject *Sender) { if (Save_file->Execute())   {    // zapisanie pola memo    Memo_main->Lines->SaveToFile(Save_file->FileName+".txt");   } }

a funkcja odczytująca tak:
void __fastcall TFrm_file_memory::Bt_openfClick(TObject *Sender) { if (Open_file->Execute())   {   Memo_main->Clear();   Memo_main->Lines->LoadFromFile(Open_file->FileName);   } }

Zmienna "Memo_main" to pole memo w BCB6 gdzie wpisujesz coś tam. :)
Funkcja otwierająca plik nie musi zawierać takiego szczegółu jak
+".txt");
jak to było w funkcji zapisującej do pliku
Memo_main->Lines->SaveToFile(Save_file->FileName+".txt");
bo od tego jest filter BCB6.

Z nudów nawet zrobiłem taki programik, który odczytuje i zapisuje do pliku zwykły tekst. Jeśli chciałbyś go zobaczyć to podaj mi swój mail to Ci go wyślę.

Pozdrawiam!

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •