ЛАБОРАТОРНАЯ РАБОТА №2. Задание 1:Создание простейшего редактора, который работает с файлом memos.txt, находящегося в текущей папке. 1. Поместите на форму компонент MainMenu. Структура меню должна иметь вид: 2. 3. 4. 5. 6. 7. File Help Open F3 Save F2 Exit Alt+X About F1 Можно использовать созданное приложение из первой лабораторной работы. Поместите на форму компонент всплывающее меню – PopupMenu, которое должно появляться на работающем приложении при щелчке правой кнопкой мыши по форме. Это меню должно содержать пункты About, Save, Exit с назначенными им клавишными эквивалентами для быстрого выполнения пунктов меню. Для того, чтобы форма могла использовать объект PopupMenu, определите значение свойства PopupMenu для формы. Запустите приложение. Для создания обработчиков событий, поступающих от всплывающего меню, для объекта About2 определите значение события OnClick, выбрав из раскрывающегося списка значение About1Click, которое использовалось для объекта About1 главного меню. Аналогичным образом определите значение события OnClick для объекта Exit2. Таким образом, события для разных объектов будут совместно использовать один обработчик события. Запустите приложение и проверьте работу объекта всплывающее меню. Поместите на форму объект Label. Присвойте свойству Caption значение FileName. 8. Поместите на форму объект Edit под объектом Label. Измените значение свойства Text объекта Edit1 на memos.txt. 9. Поместите на форму объект Memo, измените его размер и выровняйте визуальные компоненты, расположенные на форме, используя в главном меню Delphi EditAlign. Уберите у свойства Lines объекта Memo1 его значение. Установите вертикальную и горизонтальную полосы прокрутки, используя свойство ScrollBar объекта Мемо1. 10. Для создания обработчика события, заключающегося в выборе пункта Save в главном меню, в процедуру обработки события OnClick объекта Save1 главного меню введите следующий оператор: 1 Memo1.Lines.SaveToFile(‘memos.txt’); Для обработки события OnClick объекта Save2 всплывающего меню подключите ту же процедуру Save1Click. 11. При запуске приложения либо создаётся новый пустой файл memos.txt, если он отсутствует в текущей папке( пустое значение свойства Line объекта Memo1 записывается в файл), либо файл memos.txt загружается из текущей папки в окно объекта Мемо1, если файл уже существует. Поэтому, в процедуру обработки события OnActivate формы введите следующий оператор: if FileExists('memos.txt') then Memo1.Lines.LoadFromFile('memos.txt') else Memo1.Lines.SaveToFile('memos.txt'); Для того, чтобы курсор установился в окно редактора, необходимо после загрузки файла memos.txt в окно редактора – Memo установить значение свойства ActiveControl равным Мемо1. Поэтому в процедуру обработки события OnActivate формы добавьте следующий оператор: Form1.ActiveControl:=Memo1; 12. Запустите приложение и проверьте его работу. Задание 2:Создание редактора, работающего с диалоговыми окнами открытия и сохранения файлов. Модифицируйте ранее созданный редактор. Используйте объекты OpenDialog и SaveDialog, расположенные на закладке Dialogs палитры компонентов. Для объектов OpenDialog1 и SaveDialog1 определите свойства DefaultExt, Filter, FilterIndex, Title.Для активизации этих объектов используйте их метод Execute. Если пользователь закрывает диалоговое окно, щелкнув на кнопке OK, эта функция возвращает значение True. Для проверки существования файла используйте функцию FileExists. При сохранении файла в диалоговом окне должно предлагаться имя, заданное в компоненте TEdit. Используйте метод Clear для очистки окна Memo1 при открытии нового файла. 2