Witam :) W swoim edytorrze na oknach MDI mam oczywiście opcję Zapisz jako... Zacznijmy może od kodu :)
procedure Tfrm_main.tbPlikZapiszjakoClick(Sender: TObject);
begin
if Zapisz.Execute then
begin
(ActiveMDIChild as Tfrm_edytor).Edytor.Lines.SaveToFile(Zapisz.FileName);
tbPlikZapiszClick(Sender);
end;
end;
I tak: ta procedurka zapisuje mi zawartość SynEdita o nazwie Edytor do pliku (tworzy go) o nazwie podanej w SaveDialogu (Zapisz). To jest oczywiste. Ale chciałbym, aby po zapisaniu plik ten otwierał się, tj. przec chwilą zapisana jego wersja, a ta która jest tę "starą wersją" została zamknieta, a otworzył się ten dokument przed chwila zapisany :) Próbowałem może podmienić FileName w OpenDialogu (name: Otworz) na Zapisz.FileName. Czyli taka wersja:
procedure Tfrm_main.tbPlikZapiszjakoClick(Sender: TObject);
begin
if Zapisz.Execute then
begin
(ActiveMDIChild as Tfrm_edytor).Edytor.Lines.SaveToFile(Zapisz.FileName);
Otworz.FileName :=Zapisz.FileName;
tbPlikZapiszClick(Sender);
end;
end;
Oczywiście nie działa :[ Miałem jeszcze inny pomysł - zamknąć aktywne okno i otworzyć ten przec chwilą utworzony. Niestety w OnCloseQuery formy z kontrolką edycyjną Edytor (frm_edytor) jest procedura wyświetlająca alerta a'la "Czy chcesz zapisać zmiany"... :/
Mam nadzieję, że mnie zrozumieliście :) I jak to teraz mam zrobić? [browar]