При необходимости открывать, закрывать или печатать на принтер файлы в разрабатываемом приложении наиболее простой и эффективный путь – использование стандартных диалогов открытия, закрытия файлов.
Рассмотрим использования диалогов открытия и сохранения файлов в случае необходимости сохранения текста в окошке Memo в файле.
Для этого необходимо переместить на форму две компоненты из закладки Dialogs: OpenDialog для открытия файла и SaveDialog для сохранения файла.
Для этих диалогов необходимо настроить свойство Filter. Для этого надо выделить компоненту диалога мышью и в инспекторе объектов щёлкнуть на многоточии напротив свойства Filter. В появившемся диалоговом окне необходимо ввести название фильтра (например “текстовый файл”) и сам фильтр *.txt, поскольку это подходящий формат для сохранения текста.
Для вызова диалога сохранения необходимо перенести на форму компоненту Button со свойством Caption “сохранить в файл” и в обработчике события OnClick записать код:
SaveDialog1->Execute();
Memo1->Lines->SaveToFile(SaveDialog1->FileName);
|
|
Метод Execute вызывает диалог сохранения файла, после выполнения которого свойство FileName компоненты SaveDialog становится имени выбранного пользователем в результате выполнения диалога файла.
Рис. 7
Аналогично осуществляется открытие сохранённого файла. Отличие будет состоять в надписи на компоненте Button (“Сохранить файл”) и функции обработчика события OnClick:
OpenDialog1->Execute();
Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
После нажатия на кнопку “Сохранить” появится соответствующий диалог (рис. 8)
Рис. 8
Для оптимизации работы с диалогом дополнительно используются функции библиотеки dos.h, позволяющие изменять текущий каталог и т.д. (изучить самостоятельно)