Файл: Протокол 9 от 11. 05. 2012 г Омск 2012.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.11.2023

Просмотров: 65

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Листинг программы

Титульная форма:

unit F_Titul;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls, Buttons,F_Menu; type

private

{Private declarations}

public

{Public declarations}

end;

var

Forml: TForml; implementation

{$R*.DFM}

procedure TForml.FormCreate(Sender: TObject);

begin

Label2.Caption:='Разработал ученик '#13'10 класса Лицея БИТ’'#13' Березовский Александр’;

end;

procedure TForml.BitBtnlClick(Sender: TObject);

begin

Close;

end;

procedure TForml.BitBtn2Click(Sender: TObject);

begin

U_Menu.ShowModal;

end;

end.

Форма «Меню»:

unit F_Menu;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,

Dialogs, Menus,F_Instr,F_Test,F_Res;

Type



private

(Private declarations}

public

(Public declarations}

end;

var

U_Menu: TU_Menu; implementation {$R *.DFM}

procedure TU_Menu.N4Click(Sender: TObject);

begin

Close;

end;

procedure TU_Menu.N5Click(Sender: TObject);

begin

U_Instr.ShowModal

end;

procedure TU_Menu.N2Click(Sender: TObject);

begin

nm := InputBox('Начало тестирования','Введите имя',''); U_Test.RadioGroupl.Itemlndex:=-1; U_Test.RadioGroup2.Itemlndex:=-1; U_Test.RadioGroup3.Itemlndex:=-1; U_Test.RadioGroup4.Itemlndex:=-1; U_Test.RadioGroup5.Itemlndex:=-1; U_Test.PageControll.ActivePage:=U_Test.TabSheetl; U_Test.ShowModal; end;

procedure TU_Menu.N3Click(Sender: TObject);

begin

U_res.Label1.caption:=nm+’Ваш результат: ‘+IntToStr(ball);

U-res.Showmodal;

End;

End.

Форма «Помощь»:

Unit F_Instr;

Interface

Uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,

STDctrls, BUTTONS, COMCTRLS, ExtCtrls;

Type



procedure CancelBtnClick (Sender: Tobject);

private

(Private declarations}

public

(Public declarations}

end;

var U_Instr: TU_Instr;

implementation

{$R*.DFM}

procedure TU_Instr. CancelBtnClick (Sender: Tobject);

begin

close;

end;

end.

Форма «Результат»

Unit F_res;

Interface

Uses

Windows, SysUtils, Classes, Graphics, Controls, Forms,

STDctrls, BUTTONS, ExtCtrls;

Type



procedure CancelBtnClick (Sender: Tobject);

private

(Private declarations}

public

(Public declarations}

end;

type

T1=array[1..5,0..3] of byte;

Const

Otv:T1=((0,0,1,0),(0,0,1,0),(0,1,0,0),(0,0,1,0),(0,1,0,0));

Var U_res: TU_res;

Ball:Byte;

Nm;String;

Implementation

[$R*.DFM}

end.

Форма «тестирования»

Unit F_test;

Interface

Uses

Windows, SysUtils, Classes, Graphics, Controls, Forms,

STDctrls, BUTTONS, ExtCtrls, ComCtrls,f_Res;

Type



procedure OKBtnClickk (Sender: Tobject);

private

{Private declarations}

public

{Public declarations}

end;

var

U_Test: TU_Test; implementation {$R *.DIM}

procedure TU_Test.OKBtnClick(Sender: TObject) begin

Ball:=otv[1,RadioGroupl.Itemlndex]+ otv[2,RadioGroup2.Itemlndex]+ otv[3,RadioGroup3.Itemlndex]+ otv[4,RadioGroup4.Itemlndex]+ otv[5,RadioGroup5.Itemlndex];

end;

end.

Практическая работа 7. Создание текстового редактора в среде Delphi.
Постановка задачи. Создать собственный текстовый редактор. Редактор должен иметь строку меню, панель инструментов, сохранять текстовые документы.

Пояснение. Новым в этой работе является использование

Алгоритм действия

1. Открыть Delphi.

На строке меню Project/ Add New Project...

На вкладке Project окна New Item «кликните» на Application Wizard. Откроется мастер приложений. Первое окно предложит указать, какие меню нам нужны. Пометьте галочкой File menu и Edit menu, затем кликните Next. Следующее окно предложит выбрать расширения файлов, с которами будет работать Ваша программа. Кликните на Add.В поле Desction введите «Текстовый документ», а в поле Extension «txt» и на Ok, а потом Next. В следующем окне у Вас поинтересуются, какие стандартные кнопки Вы хотите добавить на панель инструментов будущего приложения. Разберитесь в интерфейсе этого окна самостоятельно. Добавьте на панель инструментов все доступные кнопки из меню File и Edit. Перед тем как добавлять кнопки из меню Edit один раз нажмите кнопку Space. Так Вы поставите между группами кнопок File и Edit разделительную черту. В следующем окне введите на английском языке название программы. С помощью кнопки Browse определите для своего проекта место на жестком диске и пометьте галочками пункты Creat a status line и Enable hints. Нажмите на Finish и Delphi создаст новый проект.

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

Сперва по очереди выделяйте каждую кнопку на панели инструментов Вашего редактора, и в ОИ на первой вкладке найдите свойство Hint. Это свойство как раз олтвечает за всплывающую подсказку к кнопке. Переведите на русский язык значение этого свойства. Например, первую кнопку переведем так: «Новый документ/Нажмите эту кнопку для создания нового документа».

3. После того как Вы русифицировали кнопки, пора приниматься за пункты меню. На прямую работать с ними не получится. Дважды щелкните по кнопке Main menu, которая находится между панелью инструментов и статусной линией заготовки. На самом деле это вовсе не кнопка, а невизуальный компонент. Она символизирует меню программы. После запуска программы эта «кнопка» просто не будет видна. Откроется редактор меню. Вот тут уже можно выделять разные пункты меню, как отдельные объекты и изменять их свойства.

Здесь надо перевести не только подсказки, но и сами названия пунктов меню. За названия любых объектов отвечает свойства Caption. Добавлять новые или удалять старые пункты можно через контексное меню. Обратите внимание, что перед некоторыми буквами в названиях пунктов меню стоит знак &. Это значит, что во время работы программы следующая за ним буква будет подчёркнута, а активировать этот пункт меню можно будет нажатием соответствующей кнопке на клавиатуре. Для полной русификации не хватает только одного – русского названия программы. Дайте название своему редактору.

4. Основой текстового редактора является поле, куда пользователь введет текст. На палитре Delphi есть компонент, который отвечает за подобное поле ввода, -RichEdit. Найдите этот компонент (размещается он на вкладке Win32), кликните на него, а потом кликните на свободном месте на форме. Невзрачная кнопочка развернется в целое поле ввода. Отформатируем поле. Выделите RichEdit и в ОИ установите свойство Align в alClient. Поле ввода заняло всю свободную площадь на форме. Откройте свойство Line и удалите все содержимое поля. Запустите программу.

5. Опишем функцию сохранения и загрузки текстовых файлов. Внимательно посмотрите на свою форму. Видите невизуальные компоненты OpenDialog и SaveDialog они отвечают за стандартные окна сохранения и загрузки файлов Windows. Благодаря этому нет необходимости создавать соответствующие диалоги.

Опишем процедуры для кнопок и пунктов меню, которые будут процедуры сохранения и загрузки файлов. Дважды щелкните по кнопке сохранения документа Вашей заготовки. Откроется новый обработчик события

Begin

RichEdit1.Lines.SaveToFile(SaveDialog.FileName);

End;

Процедура для кнопки «Открыть»:

Begin

RichEdit1.Lines.LoadFromFile(OpenDialog.FileName);

End;

Кнопка «Новый документ»:

Begin

RichEdit1.Clear;

End;

Кнопка «настройка печати»

Begin

RichEdit1.Print(‘текстового редактора «Супер»’);//Отправит на печать все содержимое

End;

Кнопка «Отмена»:

Begin

With RichEdit1 do if HandleAllocated then SendMessage(Handle, EM_UNDO,0,0);

End;

Кнопка «Вырезать»:
Begin

RichEdit1.CutTOClipboard;

End;

Кнопка «Копировать »:

Begin

RichEdit1.CopyTOClipboard;

End;

Кнопка «Вставить»:

Begin

RichEdit1.PasteFromСlipboard;

End;

Поздравляю! Вы создали собственный текстовый редактор.