Разработать приложение, позволяющее создавать, открывать, редактировать и сохранять текстовый файл.
Порядок выполнения работы:
1. Создайте в своей рабочей папке папку для проекта LP10
2. Запустите приложение Lazarus
3. Установите для свойств формы значения из таблицы1 :
Таблица 1 – Значения свойств компонента Form1
Свойство
Значение
Caption
Текстовый редактор
Name
F_glav
WindowState
wsNormal
Icon
Выберите из папки на сервере любую иконку и скопируйте её в папку с проектом.
Height
Width
Font
Times New Roman, 16
4. Сохраните модуль Unit1 как U_glav, приложение как Redaktor
5. Установите на форме компоненты, как показано на рисунке
6. Сохраните проект
7. Установите на форму компонент ImageList(Common Controls).
8. Установите для компоненты ImageList свойства width =64, height = 64
9. Добавьте в компонент ImageList картинки для пунктов меню Открыть, Сохранить, Выход
10. Установите на форму компонент ActionList и измените свойство Image на ImageList1
11. Добавьте в список действий стандартные действия для пункта меню File:
Caption
Open
Name
AOpen
Category
File
Hint
Открыть
ImageIndex
ShortCut
Ctrl+O
Caption
Save
Name
ASave
Category
File
Hint
Сохранить
ImageIndex
ShortCut
Ctrl+S
Caption
Save As
Name
ASaveAs
Category
File
Hint
Сохранить как
ImageIndex
ShortCut
Ctrl+Z
Caption
Close
Name
AClose
Category
File
Hint
Выход
ImageIndex
ShortCut
Ctrl+E
12. В результате получим следующий список действий:
13. Со страницы Dialogs добавим на форму диалоги: OpenDialogs и SaveDialogs
14. Добавьте для каждого действия из списка ActionList создадим соответствующий обработчик события OnExecute
ВНИМАНИЕ! Для хранения имени открытого файла необходимо объявить переменную строкового типа FileName. Вспомните, как это делали в прошлых лабораторных работах.
procedure TForm1.AOpenExecute(Sender: TObject);
begin
WITH OpenDialog1 Do
If Execute Then begin
Memo1.Lines.LoadFromFile(FileName); //выводим в окне редактора текст файла
Caption:='Документ '+ ExtractFileName(FileName); //выводим в заголовок формы имя файла
SaveDialog1.Filename:=FileName; //передаём имя файла для последующего сохранения
FileName:='';//очищаем значение переменной с именем файла
end;
end;
procedure TForm1.ACloseExecute(Sender: TObject);
begin
.Close;
end;
procedure TForm1.ASaveAsExecute(Sender: TObject);
begin
WITH SaveDialog1 Do
If Execute Then begin
Memo1.Lines.SaveToFile(FileName);
Caption:='Мой редактор '+ ExtractFileName(FileName);
end;
end;
procedure TForm1.ASaveExecute(Sender: TObject);
begin
if FileName='' Then
begin
Filename:='text.txt';
showmessage ('текст сохранён в рабочей папке под именем text.txt');
end;
Memo1.Lines.SaveToFile(FileName);
end;
15. Установите на форму компонент MainMenu и заполните его пунктами, как показано на рисунке. Для каждого пункта задайте следующие свойства:
Open
Action
AOpen
Name
MOpen
Save
Action
ASave
Name
MSave
SaveAs
Action
ASaveAs
Name
MSave
Close
Action
AClose
Name
MClose
16. Для панели ToolBar1 задайте следующие свойства:
ButtonHeight
ButtonWidth
Images
ImageList
17. Заполните кнопками панель ToolBar1. Для этого щёлкнем по ней ПКМ и выберем Новая кнопка. Для кнопок задайте следующие свойства:
Open
Action
AOpen
Name
BOpen
MenuItem
MOpen
Save
Action
ASave
Name
BSave
MenuItem
MSave
SaveAs
Action
ASaveAs
Name
BSaveAs
MenuItem
MSaveAs
Close
Action
AClose
Name
BClose
MenuItem
MClose
18. Для всех кнопок свойство ShowHint установите в true.
19. Задайте для формы свойство Menu как MainMenu1.
20. Сохраните проект
21. Запустите проект и проверьте его работу.
22. Поместите на форму компонент PopupMenu
23. Добавьте в список ActionList действия по работе с текстом для контекстного меню. Для этого воспользуйтесь стандартными действиями компонента ActionList.
24. Добавьте в компонент PopupMenu пункты и установите для них свойство Action в соответствующее значение:
25. Задайте для компонента Memo1 свойство PopupMenu равным PopupMenu1
26. Сохраните проект
27. Запустите проект и проверьте работу контекстного меню