// из объявленного класса
implementation
{$R *.DFM}
procedure
TMainForm.Memo1Change(Sender: TObject);
begin
// здесь следует текст реакции на событие изменения текста
// в компоненте Memo1
end;
end.
Примечание: после двойной дроби // следует комментарий.
Как правило программист не выходит за области implementation
раздела, а тут самостоятельно не создает процедуры. Программная оболочка делает это автоматически по мере необходимости и ликвидирует пустые лишние заголовки процедур при сохранении файла модуля.
Продолжим написание программы многооконного текстового редактора.
Напомню, что в пример был начат в уроке 5 и его можно скачать здесь. Это простое MDI-приложение, где все открываемые файлы в отдельных дочерних окнах размещаются внутри родительского окна (принцип можно увидеть на примере текстового редактора MS Word).
Сразу отмечу некоторые недостатки этой программы. Во первых, новое окно с полем для редактирования появляется уже с текстом "Memo1", во вторых, дочернее окно невозможно закрыть. При закрытии дочернего окна оно минимизируется.
Уже рассматривалось в первых уроках, что проектируемое приложение в момент запуска будет иметь одинаковый вид, свойства, какие были заданы на этапе разработки. Поэтому необходимо убрать все тестовые строки из компонента Memo1 во время разработки, чтобы они не отображались в запущенном приложении.
Для этого сначала отображаем проектируемую форму ChildForm на экран. Для этого нажимаем комбинацию клавиш Shift+F12 или выбираем пункт "Forms..." в меню "View". В появившемся окне выбираем эту самую форму и нажимаем Ok.
Выделяем компонент Memo1 в проектируемой форме одинарным щелчком мышки. В инспекторе объектов находим свойство этого компонента Lines. Изменяем это свойство, нажав на кнопку с троеточием в поле с TStrings. Появляется окно String List Editor, в котором надо убрать все буквы, оставив его пустым. Далее нажимаем Ok.
Теперь мы видим в проектировщике формы ChildForm, что компонент Memo1 не содержит никаких строк.