Czy zapisać zmiany? a'la notatnik

0

Witam. Mam na formie kilka komponentów memo, oraz kilka listbox. Chciałbym zrobić by przy zamknięciu pytało czy czy chce zapisać to wszystko do pliku. Sam zapis już mam gotowy, to nie problem, ale chodzi o to nie że jestem pewien jak zrobić "detektor" zmian. Tzn przy starcie sobie ładuje sobie tekst do moich komponentów, nic nie robie i chcę zamknąć to po prostu zamyka, ale np. jak w jednym memo dodam lub zmienię jakiś znak to od razu pyta, po prostu by wykrył zmiany jak np. w notatniku.

Myślałem by stworzyć duble tych komponentów, przy starcie do dubli ładować treść i przy zamykaniu by porównywało czy w oryginalnych coś się zmieniło za pomocą if else, no ale czy to zbyt nie wydaje czy kilku memo i listbox w których może być bardzo dużo treści?

Może idzie jakoś inaczej porównać treści by było wydajniej?

0

TMemo ma własność Modified - nie zobaczysz jej w Object Inspector, ale jest :) Po wczytaniu tekstu do swoich memo możesz ustawić ją na false. Teraz każda zmiana tekstu w memo spowoduje automatyczną zmianę wartości Modified na true. Przed wyjściem z programu po prostu sprawdzasz po kolei Modified każdego memo, i jeśli jest true, to znaczy, że tekst się zmienił i trzeba go zapisać.

0

A listboxów użytkownik nie może zmienić "ręcznie". Musisz to robić programowo a zatem wiesz co i w którym listboxie się zmieniło.

0

Nie znałem tej funkcji w memo więc dziękuje - działanie jest banalne!

Co do listboxów to racja, wystarczy zmienna boolean i po sprawnie.

Dziękuje

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