Тема урока:
Работа с процедурами
Цель урока:
научить обучающихся создавать программы с большим количеством процедур.
Задание№1.
Создайте программу простейший текстовой редактор.
Задание№2. Отладка
программы.
Выполнение работы:
1.Выложим на форму
Memo(Standart).
Установим свойство Align в alClient. Установим свойство ScrollBars в ssBoth, а
WordWrap в False. И уберем введенный в Memo1 текст поумолчанию, удалив этот
текст из свойства Lines.
2. Выложим на
форму MainMenu(Standart). Щелкнем
по MainMenu1 два раза - появится окно. Теперь создадим меню "Файл". В
нем элементы: "Создать", "Открыть", "Сохранить",
"Сохранить как...", разделительную полоску (символ "-") и
"Выход". Установим горячие клавиши как показанно на рис 1. Горячие
клавиши устанавливаются в свойстве ShortCut.
Рис. 1 - Меню
"Файл"
Аналогично создаем
меню "Правка":
Рис. 2 - Меню
"Правка"
Аналогично создаем
меню "Формат":
Рис. 3 - Меню
"Формат"
Окошко редактора
меню закрыть.
3. Пишем код,
который будет выполняться при выборе чего-либо из меню. Щлекнем по меню
"Файл", а там выберем "Выход".
Рис. 4 - Создание
события onClick
После нажатия по
меню "Выход" появляется окно редактора кода с уже готовой процедурой.
Пишем:
Close;
Реализация
переноса по словам
В меню "Формат"
выберем "Перенос по словам":
procedure
TForm1.N14Click(Sender: TObject);
begin
If Memo1.WordWrap
then
begin
Memo1.WordWrap:=false;
Memo1.ScrollBars:=ssBoth;
N14.Checked:=False;
end
else
begin
Memo1.WordWrap:=True;
Memo1.ScrollBars:=ssVertical;
N14.Checked:=True;
end;
end;
Реализация
функции "Сохранить как..."
Нам понадобится
диалоговое окно сохранения документа. Выложим на форму компонент SaveDialog (Dialogs).
Установим фильтр, т.е. те файлы которые будет этот диалог отображать. Нам нужно
*.txt, т.е. текстовые документы. Чтобы это сделать нужно найти свойство Filter
и нажать на кнопку ... Появится окно. Заполните его как показанно на рис. 5.
Рис. 5 - Редактор
фильтра
Теперь измените
свойство DefaultExt на *.txt. Это расширение которое будет добавляться к файлу.
Создадим процедуру
сохранения файла. Напишем этот код сразу после {$R *.dfm}.
Procedure SaveAs;
begin
If
Form1.SaveDialog1.Execute then
begin
Form1.Memo1.Lines.SaveToFile(Form1.SaveDialog1.FileName);
FileWork:=Form1.SaveDialog1.FileName;
end;
end;
Далее выбераем в
меню "Файл" —> "Сохранить как...". Там пишем:
SaveAs;
Вводим глобальную
переменную FileWork. В ней будет храниться путь к файлу с которым работает
пользователь. Это нужно для реализации функции "Файл" —>
"Сохранить". Объявляем ее в разделе Var перед implementation.
var
Form1: TForm1;
FileWork: String;
Реализация
функции "Сохранить"
Выбераем "Файл"
—> "Сохранить". И пишем:
If FileWork=''
then SaveAs else Memo1.Lines.SaveToFile(FileWork);
Реализация
функции "Открыть"
Выложим компонент OpenDialog
на форму и свойство Filter изменим так же как у SaveDialog1.
Жмем "Файл" —>
"Открыть". Пишем:
if
OpenDialog1.Execute then
begin
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
FileWork:=OpenDialog1.FileName;
end;
Реализация
функции "Создать"
Жмем
"Файл" —> "Создать". Пишем:
FileWork:='';
Memo1.Clear;
Реализация
функций в меню "Правка"
По клику на меню
"Вырезать":
Memo1.CutToClipboard;
По клику на меню
"Копировать":
Memo1.CopyToClipboard;
По клику на меню
"Вставить":
Memo1.PasteFromClipboard;
Реализация
функций в меню "Шрифт..."
Нам понадобится
еще один компонент - FontDialog .
Создаем событие по
клику по меню "Шрифт...".
if
FontDialog1.Execute then Memo1.Font:=FontDialog1.Font;
4.Активируйте
форму. Измените заголовок окна: в свойстве Caption напишите
"Блокнот". Свойство Position измените на poScreenCenter для того,
чтобы форма появлялась по центру экрана.
Контрольные вопросы:
1. На
какой вкладке находится компонент MainMenu?
2. Как
открыть компонент MainMenu для редактирования?
3. На
какой вкладке находится компонент SaveDialog?
4. С
помощью какого свойства изменяется название формы?
5. Какое
свойство необходимо задать для формы чтобы она появлялась по центру?
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.