ПРАКТИЧЕСКАЯ РАБОТА № 6

Часть

Часть

 

1. Для пункта меню и кнопки панели инструментов Вырезать ввести код:

document.CutToClipboard ;

2. Для пункта меню и кнопки панели инструментовКопировать ввести код:

document.CopyToClipboard ;

3. Для пункта меню и кнопки панели инструментовВставить ввести код:

document.PasteFromClipboard ;

4. В пункт меню Правка добавить подпункт Выделить все и ввести для него следующий код:

document.SelectAll ;

5. Проверить работу приложения.

6. Для того чтобы форматировать только выделенный фрагмент текста, внести изменения в код для объекта chBold

If chBold.Checked Then

document.SelAttributes.Style := document.SelAttributes.Style +[fsBold]

Else

document.SelAttributes.Style := document.SelAttributes.Style -[fsBold];

7. Проверить работу приложения и внести соответствующие изменения для других элементов форматирования.

8. Добавить на панель инструментов комбинированный список, задать ему имя cbFontName, для свойства Items ввести несколько значений, например: Times New Roman

Courier New

Garamond

Arial

Comic Sans MS

9. Самостоятельно написать код, позволяющий изменять тип шрифта выделенного фрагмента.

10. Для выравнивания абзацев добавить на панель инструментов еще три кнопки, задать им имена btnLeft, btnCenter, btnRight и соответствующее изображение и ввести код в соответствии с назначением:

document.Paragraph.Alignment := TaLeftJustify;

 

document.Paragraph.Alignment := TaRightJustify;

 

document.Paragraph.Alignment := TaCenter;

11. Проверить работу приложения.

12. Для форматирования абзацев маркированным списком добавить на панель инструментов еще одну кнопку, задать имя btnSpisok, изменить изображение и ввести для нее код:

document.Paragraph.Numbering :=nsBullet;

13. Проверьте работу приложения. Самостоятельно изменить работу приложения, чтобы была возможность отменять маркированный список при повторном щелчке.

1. Добавить на форму компонент FontDialog(Dialogs)., присвоить имя fontD_1 Для пункта меню Формат/Шрифт ввести следующий код:

If fontd_1.Execute Then

Begin

Document.SelAttributes.Name :=FONTd_1.Font.Name ;

Document.SelAttributes.Size :=FONTd_1.Font.Size ;

End;

2. Самостоятельно дополнить код, чтобы все выбранные атрибуты шрифта были применены к выделенному тексту.

3. Добавить на форму компонент ColorDialog(Dialogs)., присвоить имя ColorD_1. Добавить в пункт меню Формат подпункт Цвет.

4. Самостоятельно ввести код для изменения цвета шрифта выделенного текста.

5. Проверить работу приложения.

6. Добавить компоненты FindDialog и ReplaceDialog, изменить имена fd_1 и rd_1 соответственно.

7. Для пункта меню Правка/Найти ввести код:

If fd_1.Execute Then Begin End;

 

8. Для объекта Fd_1 выбрать событие OnFind и ввести код:

FinStr:=fd_1.FindText ;

k:=pos(FinStr,document.Text );

If k<>0 Then

Begin

document.SelStart :=k -1; ;//начало выделения текста

document.SelLength :=length(finstr); //выделение текста

document.SetFocus;

End

Else ShowMessage('Текст не найден);

 

9. Для пункта меню Правка/Заменить ввести код:

If rd_1.Execute Then Begin End;

10. Для объекта rd_1 выбрать событие OnReplace и ввести код:

FinStr:=rd_1.FindText ;

k:=pos(FinStr,document.Text );

If k<>0 Then

Begin

document.SelStart :=k -1

document.SelLength :=length(finstr);

document.SelText :=rd_1.replaceText;.// замена

End

Else ShowMessage('Текст не найден’);

 

11. Добавить на форму компонент SaveDialog (Dialogs), присвоить имя sd_1, а свойству Filter значение - Документ|*.Txt. Самостоятельно ввести программу для сохранения содержимого текстового окна в файл.

12. Добавить на форму компонент OpenDialog (Dialogs), присвоить имя od_1, а свойству Filter значение - Документ|*.Txt. Самостоятельно ввести программу для открытия файла и вывода его содержимого в текстовое окно.

13. Проверить работу приложения. Результат показать преподавателю.

Задания для самостоятельного выполнения

Доработать созданное приложение для реализации новых функций.

Задание №1

· При изменении размера окна должен меняться размер текстового окна;

· Добавить в меню пункт, который позволяет вставлять в позицию курсора текущую дату и время;

· Изменить программный код для кнопок панели инструментов для того, чтобы форматирование (размер, цвет, начертание, тип шрифта) применялось только к выделенному фрагменту.

Задание №2

· Если фрагмент текста не выделен, режимы Вырезать и Копировать должны быть не доступны (в меню и на панели инструментов);

· Если не был выбран режим Вырезать и Копировать нет доступа к режиму Вставить;

 

Задание №3

  • Разработать программный код для пункта Файл/ Новый. При выборе этого пункта текстовое окно очищается, если его содержимое было сохранено. Если сохранение не выполнялось, вывести запрос о подтверждении действия.

Пример диалогового окна для выбора дальнейших действий

if messagedlg('Уверены? ',mtconfirmation, [mbyes,mbno], 0) = mryes then … else …;

Задание №4

  • После сохранения отобразить имя файла в заголовке формы;
  • Реализовать режим печати текста на принтере;
  • Предусмотреть перехват ошибок при обращении к принтеру.

 

Контрольные вопросы

1. Как обратится к буферу обмена в программном коде?

2. Какие стандартные диалоговые окна можно использовать в проекте?

3. Как обратится к выделенному фрагменту текста и какие объекты позволяют это сделать?

4. Как обратиться к абзацу текста?

5. В какие объекты можно вывести содержимое текстового файла?


 

Тема:Массивы

Цель работы:Получить навыки использования массива объектов в приложении.