Сохраните выполненную на данный момент форму в своей папке (File=>Save All).
18. Запрограммируйте команду “Очистить поле вывода” контекстного меню. Дважды щелкните на команде контекстного меню “Очистить поле вывода” в окне Forml.PopupMenul (вызов этого окна см. в п. 14). Текст процедуры очистки такой же, как и для команды главного меню: Memo1.Clear (см. п. 16).
19. “Свяжите” контекстное меню PopupMenu1 с формой Form1. Щелкните на форме и задайте свойство формы PopupMenu как PopupMenu1.
Замечание. Значение свойства формы Menu автоматически устанавливается как MainMenu1 в момент создания главного меню (п. 13).
20. Запустите созданную на этот момент программу и исследуйте ее работу. Поупражняйтесь с многострочным полем редактирования Memo1, вводя и корректируя в нем некоторый текст. Обратите внимание на то, что в этом окне можно выполнять такие же действия с текстом, как и в текстовом редакторе: выделять фрагмент текста, копировать, переносить или удалять этот фрагмент. Сотрите текст с помощью команды главного меню “Очистить поле вывода”. Еще раз введите текст и удалите его с помощью контекстного меню (для вызова контекстного меню формы нужно щелкнуть правой клавишей мыши на свободном месте формы). Завершите работу программы, щелкнув на кнопке “Выход”.
21. Запрограммируйте команду “Табулировать”. Свойство Lines компонента типа Memo комплексное, то есть оно также является компонентом со своими свойствами и методами. Результат работы данной программы - это таблица, которая состоит из нескольких строк. Чтобы добавить в поле Memo1 новую строку таблицы, надо поменять значения комплексного свойства Lines (строки) с помощью его метода Add (добавить) с одним аргументом - символьной строкой: Memo1.Lines.Add (‘строка символов’). Щелкните на команде “Табулировать” из главного меню один раз. Появится заготовка к процедуре, которую заполните так:
procedureTforml.N2Click(Sender: TObject);
varx, у, h, a, b : real;
cod : integer;
strl, str2: string;
begin{В объект Memo1 вставляем строку с подписями столбцов значений аргумента и функции}
Memo1.Lines.Add(‘ X F(X)’);
{Получаем числовое значение левой границы}
Val(Editl.Text, a, cod);
{Получаем числовое значение правой границы}
Val(Edit2.Text, b, cod);
{Получаем числовое значение шага}
Val(Edit3.Text, h, cod);
х:=а; {Табулируем функцию}
whilex<=b+h/2do{пока аргумент х не превысит }
begin{правую границу с определенным запасом}
y:=360000/(1821.6*x); {Вычисляем значения функции}
{Формируем символьные строки из значений }
Str(x:8:2,sfr1); { аргумента и функции}
Str(y:8:3,str2);
if CheckBox1.Checkedthen
{Вставляем строку в поле Memo1}
Memol. Lines. Add(str1+’ ’+str2);
x:=x+h; {Увеличиваем аргумент на величину шага}
End
end;
22. Выполните программу и поупражняйтесь с разными значениями левой, правой границы и шага аргумента.Закройте окно программы “Табулирование функции”.