ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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;
Поздравляю! Вы создали собственный текстовый редактор.