Jak za pomocą SaveDialogs nadpisać plik tekstowy z memo
Po pierwsze, SaveDialog
nie służy do jakichkolwiek operacji na plikach (modyfikacji, nadpisywania czy dopisywania); Komponent ten umożliwia jedynie otwarcie systemowego okienka do wyboru lokalizacji, dając użytkownikowi podgląd na zawartość jego dysku; Wybrana lokalizacja dostępna jest w postaci zwykłej ścieżki - to tyle, nic więcej;
Po drugie, komponent Memo
nie jest w żaden sposób połączony z jakimkolwiek plikiem i nie ma żadnej wiedzy o tym, skąd pochodzi zawarty w nim tekst; Komponent ten może mieć tekst załadowany z dowolnego źródła (strumienia, pliku), może też mieć ten tekst wpisany przez użytkownika lub wklejony ze schowka;
Tak więc masz trzy osobne elementy:
-
Memo
z tekstem, który ma zostać zapisany do pliku,
-
SaveDialog
, umożliwiający wybranie lokalizacji i nazwy pliku docelowego,
- plik na dysku, który może zostać nadpisany lub nie;
Aby umożliwić użytkownikowi zapis zawartości Memo
do pliku, którego lokalizacja oraz nazwa wybrane zostaną przez SaveDialog
, wystarczy poniższy kawałek kodu (zakładając, że SaveDialog
jest komponentem umieszczonym na formularzu):
if SaveDialog.Execute() then
Memo.Lines.SaveToFile(SaveDialog.FileName);