Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум ОА Цымбалюк.doc
Скачиваний:
6
Добавлен:
29.08.2019
Размер:
2.1 Mб
Скачать

Задание №5. Использование компонентов tRichEdit, tMainManu, tOpenDialog и др.

Цель занятия: Научиться программировать текстовый редактор

Студенты должны знать: свойства и методы компонентов TRichEdit, TMainManu, TOpenDialog и др.

уметь: создавать приложения с главным меню, контекстным меню

Задание.

  1. Выберите в меню Пуск – Программы - CodeGear RAD Studio 2009 - C++Builder 2009

  2. Создание новое приложение (FileNewVCL Forms Application)

    1. Проектирование интерфейса приложения

      1. Измените свойства компонента RichEdit1: Align – alClient, BorderStyle – bsNone, ScrollBars – ssVertical,WordWrap – true.

      2. Измените свойство Name для команд выбора в меню (см. рисунок), например, для команды Файл Открыть измените свойство Name на imOpen.

      3. Создайте новую форму (FileNewForm С++ Builder). Сохраните модуль формы под именем about.cpp.

      1. Включите модуль about.cpp в модуль Unit1.cpp, для этого добавьте после строчки #include "Unit1.h" строку #include "about.h"

    1. Программирование приложения

      1. Перед конструктором формы добавьте описание переменной для задания имени файла:

AnsiString aFileName;.

      1. Напишите программу для открытия файла:

Void __fastcall tForm1::imOpenClick(tObject *Sender)

{

OpenDialog1->FileName="*.txt";

if (OpenDialog1->Execute())

{RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);

Form1->Caption="MEdit - "+OpenDialog1->FileName;

aFileName=OpenDialog1->FileName;}

}

      1. Напишите программу для сохранения данных в файле:

Void __fastcall tForm1::imSaveClick(tObject *Sender)

{

if (aFileName=="")

{

if (SaveDialog1->Execute())

aFileName=SaveDialog1->FileName;

}

RichEdit1->Lines->SaveToFile(aFileName);

Form1->Caption="MEdit - "+aFileName;

}

      1. Задайте начальные значения для программы, для этого в конструктор формы внесите:

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

aFileName="";

SpeedButton1->OnClick = imOpenClick;

SpeedButton2->OnClick = imSaveClick;

}

      1. Самостоятельно добавьте в меню команду Сохранить как и напишите процедуру.

      2. Самостоятельно напишите программу для выбора в меню Файл команды Выход.

      3. Напишите программу для выбора в меню Параметры команды Панель инструментов.

Void __fastcall tForm1::imToolBarClick(tObject *Sender)

{

ToolBar1->Visible =! ToolBar1->Visible;

imToolBar -> Checked =! imToolBar->Checked;

}

      1. Напишите процедуру для выбора команды О программе:

Void __fastcall tForm1::AboutClick(tObject *Sender)

{

TAboutForm *AboutForm;

AboutForm=new TAboutForm (this);

AboutForm->ShowModal();

delete AboutForm;

}

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

  1. Добавьте в меню команду Шрифт.

  2. Добавьте меню Правка (Копировать, Вставить).

  3. Добавьте меню Правка (Вырезать, Копировать, Вставить).

  4. Добавьте панель инструментов для выполнения команд Вырезать, Вставить.

  5. Добавьте панель инструментов для выполнения команд Копировать, Вставить.

  6. Добавьте панель инструментов для выполнения команд Вырезать, Копировать, Вставить.

  7. Напишите процедуру, которая при закрытии формы будет выдавать диалоговое окно с запросом о закрытии формы.

  8. Напишите процедуру, которая при закрытии формы будет выдавать диалоговое окно с запросом о сохранении текста (условие если RichEdit1->Modified – если текст изменён).

  9. Напишите процедуру, которая вставляет в текст текущую дату.

  10. Напишите процедуру, которая вставляет в текст текущую дату и время.

  11. Добавьте PopurMenu1 на форму (Вырезать, Копировать, Вставить). Свяжите RichEdit1 с PopurMenu1.

  12. Выполните задание 11. Продублируйте данные команды в панели инструментов.

Сдайте работу преподавателю

Вопросы для контроля и самоконтроля:

  1. Свойства и методы компонента RichEdir1.

  2. Как добавить панель инструментов на форму?

  3. Для каких целей предназначены компоненты SaveDialog1, OpenDialog1?

  4. Какой компонент требуется добавить для изменения шрифта текста?

  5. Компонент MainManu1. Как добавить/удалить команды в меню.