Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364139
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21319)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8692)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Реферат: Разработка текстового редактора 2

Название: Разработка текстового редактора 2
Раздел: Рефераты по информатике
Тип: реферат Добавлен 22:53:52 20 июня 2011 Похожие работы
Просмотров: 9 Комментариев: 20 Оценило: 2 человек Средний балл: 5 Оценка: неизвестно     Скачать

Содержание

1 Постановка задачи. 3

2 Этапы реализации. 4

Список использованных источников. 5

Приложение А. Руководство пользователя. 6

Приложение Б. Руководство программиста. 7

Приложение В. Листинг программы.. 8


1.Постановка задачи

Разработать простейший текстовый редактор. Редактор должен иметь системное меню, состоящее из следующих пунктов: Файл, Настройки, Информация.

Пункт «Файл» содержит подпункты: Новый, Открыть, Сохранить, Сохранить как, Выход.

Пункт «Настройки» содержит подпункты: Шрифт, Цвет: текста, фона; Панель горячих клавиш.

Пункт «Информация» содержит подпункты: О программе.

Редактор должен обладать горячими клавишами, осуществляющими дублирование основных функций редактора. При их реализации использовать ранее написанный программный код. При сохранении информации также сохраняются пользовательские настройки. При открытии ранее сохраненного файла пользовательские настройки восстанавливаются. Редактор должен иметь функцию ввода структурированного текста, которые вводятся в отдельное поле. Также имеется возможность выбрать необходимую информацию из предлагаемого списка. Если информация пользователя введена и выбрано что-то из списка, то данная информация переносится в конец текста при нажатии на кнопку «перенос». Если указан один из параметров, то перенос осуществляется в то место где стоит курсор. Редактор должен обладать системой логического контроля за действиями пользователя. При необходимости выдавать необходимую информацию на экран. Предусмотреть все логические ветви.

2. Этапы реализации

1. Создали новый проект.

2. Поместили на форму компоненты Memo, MainMenu, Panel.

3. Создали главное меню и пункты в нем. В каждом пункте меню описали событие OnClick.

4. В панели горячих клавиш Panelсоздали кнопки Speedbutton.


Приложение А

Руководство пользователя

Редактор имеет главное меню, в котором пользователь может выбрать нужное действие. Также ряды кнопок расположены на панели горячих клавиш. Это кнопки меню «Файл», «Правка», «Настройки». Эти панели можно убрать, нажав правой кнопкой мыши по панели и выбрав ненужную панель. Также можно убрать всю панель во вкладке «Настройки», выбрав пункт «Панель горячих клавиш». В настройках пользователь может изменить шрифт текста, цвет текста, цвет фона, выравнивание текста. Выбрав пункт «Структурированный текст» пользователь может вводить разного рода текст и вставлять этот текст в нужном месте в нужное время.

Рисунок 1 – Текстовый редактор

Приложение Б

Руководство программиста

Использованные компоненты в unit1 form1:

- Memo. Главным компонентом в данной программе является компонент Memo типа TMemo. Он используется для ввода и отображения многострочных текстов. Компонент визуальный.

- MainMenu. Позволяет конструировать и создавать полосу главного меню формы и выпадающие меню. Компонент невизуальный.

- Panel. Используется для размещения компонентов на панели. Компонент визуальный.

- Speedbutton. Инструментальная панель для быстрого доступа к часто используемым функциям приложения. Компонент визуальный. Speedbuttonиспользуются для реализации на панели горячих клавиш.

- OpenDialog, SaveDialog, FontDialog, ColorDialog из вкладки Dialogsпредназначены для окна диалога открытия, сохранения, шрифта и цвета.

Использованные компоненты в unit2 form2:

- MaskEdit - Этот специальный редактор, из вкладки Additional допускает лишь

ввод текста, соответствующего заданному программистом шаблону.

- Button – Кнопка.


Приложение В

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


unit Unit1;

interface

uses

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

Dialogs, StdCtrls, Menus, Buttons, ComCtrls,IniFiles, ToolWin, ActnMan,

ActnCtrls, ExtCtrls, ImgList, Mask;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

Memo1: TMemo;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

FontDialog1: TFontDialog;

ColorDialog1: TColorDialog;

N13: TMenuItem;

ImageList1: TImageList;

N25: TMenuItem;

N26: TMenuItem;

Panel1: TPanel;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

SpeedButton3: TSpeedButton;

SpeedButton4: TSpeedButton;

N14: TMenuItem;

SpeedButton5: TSpeedButton;

procedure N3Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure FormResize(Sender: TObject);

procedure ToolButton1Click(Sender: TObject);

procedure ToolButton2Click(Sender: TObject);

procedure ToolButton3Click(Sender: TObject);

procedure ToolButton4Click(Sender: TObject);

procedure ToolButton5Click(Sender: TObject);

procedure N21Click(Sender: TObject);

procedure N22Click(Sender: TObject);

procedure N23Click(Sender: TObject);

procedure N24Click(Sender: TObject);

procedure ToolButton6Click(Sender: TObject);

procedure ToolButton7Click(Sender: TObject);

procedure ToolButton8Click(Sender: TObject);

procedure ToolButton9Click(Sender: TObject);

procedure ToolButton10Click(Sender: TObject);

procedure N20Click(Sender: TObject);

procedure ToolButton12Click(Sender: TObject);

procedure ToolButton13Click(Sender: TObject);

procedure ToolButton14Click(Sender: TObject);

procedure ToolButton16Click(Sender: TObject);

procedure ToolButton17Click(Sender: TObject);

procedure ToolButton11Click(Sender: TObject);

procedure N13Click(Sender: TObject);

procedure N26Click(Sender: TObject);

procedure N27Click(Sender: TObject);

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

procedure N14Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton3Click(Sender: TObject);

procedure SpeedButton4Click(Sender: TObject);

procedure SpeedButton5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

IniFile:TIniFile;

implementation

uses Unit2, Unit3;

{$R *.dfm}

procedure TForm1.N3Click(Sender: TObject);

var a,i:integer;

s,s2:string;

begin

if OpenDialog1.FilterIndex=1 then begin

OpenDialog1.DefaultExt:='txt';

end

else if OpenDialog1.FilterIndex=2 then begin

OpenDialog1.DefaultExt:='doc';

end;

if form1.Memo1.Modified=true then

begin

a:=Application.MessageBox('Сохранить изменения в документе','',3);

if a=6 then

N4Click(Sender) else

if a=7 then

If OpenDialog1.Execute then

begin

form1.Memo1.Lines.Clear;

Form1.Memo1.Lines.LoadFromFile(Form1.OpenDialog1.FileName);

Form1.Caption:= ExtractFileName(Form1.OpenDialog1.FileName);

form1.Memo1.Modified:=false;

IniFile:=TInifile.Create(ExtractFilePath(OpenDialog1.FileName)+ExtractFileName(Form1.OpenDialog1.FileName));

if Inifile.SectionExists('Main') then

begin

Form1.Memo1.Font.Color:=Inifile.ReadInteger('Main','TxtColor',0);

Form1.Memo1.Font.Height:=Inifile.ReadInteger('Main','Height',Height);

Form1.Memo1.Font.Name:=Inifile.ReadString('Main','Name',Name);

Form1.Memo1.Font.Size:=Inifile.ReadInteger('Main','Size',1);

Form1.Memo1.color:=IniFile.ReadInteger('Main','FonColor',0);

for i:=0 to 5 do

Memo1.Lines.Delete(Memo1.Lines.Count-1);

end

end

end

else

If OpenDialog1.Execute then

begin

form1.Memo1.Lines.Clear;

Form1.Memo1.Lines.LoadFromFile(Form1.OpenDialog1.FileName);

Form1.Caption:= ExtractFileName(Form1.OpenDialog1.FileName);

form1.Memo1.Modified:=false;

IniFile:=TInifile.Create(ExtractFilePath(OpenDialog1.FileName)+ExtractFileName(Form1.OpenDialog1.FileName));

if Inifile.SectionExists('Main') then

begin

Form1.Memo1.Font.Color:=Inifile.ReadInteger('Main','Txtcolor',0);

Form1.Memo1.Font.Height:=Inifile.ReadInteger('Main','Height',Height);

Form1.Memo1.Font.Name:=Inifile.ReadString('Main','Name',Name);

Form1.Memo1.Font.Size:=Inifile.ReadInteger('Main','Size',1);

Form1.Memo1.color:=Inifile.ReadInteger('Main','FonColor',0);

for i:=0 to 5 do

Memo1.Lines.Delete(Memo1.Lines.Count-1);

end;

Memo1.Modified := false;

end;

end;

procedure TForm1.N5Click(Sender: TObject);

begin

if SaveDialog1.FilterIndex=1 then begin

SaveDialog1.DefaultExt:='txt';

end

else if SaveDialog1.FilterIndex=2 then begin

SaveDialog1.DefaultExt:='doc';

end;

If SaveDialog1.Execute then

begin

form1.Memo1.Modified:=false;

form1.Memo1.Lines.SaveToFile(Form1.SaveDialog1.Filename );

Form1.Caption:=ExtractFileName(Form1.SaveDialog1.FileName);

IniFile:=TInifile.Create(ExtractFilePath(SaveDialog1.FileName)+ExtractFileName(Form1.SaveDialog1.FileName));

with IniFile do begin

WriteInteger('Main','TxtColor',Form1.Memo1.Font.Color);

WriteInteger('Main','Height',Form1.Memo1.Font.Height);

WriteString('Main','Name',Form1.Memo1.Font.Name);

WriteInteger('Main','Size',Form1.Memo1.Font.Size);

end;

with IniFile do

WriteInteger('Main','FonColor',Form1.Memo1.Color);

end;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

If form1.SaveDialog1.FileName <> '' then

begin

form1.Memo1.Lines.SaveToFile(Form1.SaveDialog1.FileName);

Form1.Caption:=ExtractFileName(Form1.SaveDialog1.FileName);

form1.Memo1.Modified:=false;

if Form1.SaveDialog1.FileName<>'' then

IniFile:=TInifile.Create(ExtractFilePath(SaveDialog1.FileName)+ExtractFileName(Form1.SaveDialog1.FileName))

else IniFile:=TInifile.Create(ExtractFilePath(OpenDialog1.FileName)+ExtractFileName(Form1.OpenDialog1.FileName));

with IniFile, Form1.Memo1.Font do begin

WriteInteger('Main','TxtColor',Form1.Memo1.Font.Color);

WriteInteger('Main','Height',Height);

WriteString('Main','Name',Name);

WriteInteger('Main','Size',Size);

end;

with IniFile do

WriteInteger('Main','FonColor',Form1.Memo1.Color);

end

else

if form1.OpenDialog1.FileName<>'' then

begin

form1.Memo1.Lines.SaveToFile(Form1.OpenDialog1.FileName);

Form1.Caption:=ExtractFileName(Form1.OpenDialog1.FileName);

form1.Memo1.Modified:=false;

IniFile:=TInifile.Create(ExtractFilePath(OpenDialog1.FileName)+ExtractFileName(Form1.OpenDialog1.FileName));

with IniFile, Form1.Memo1.Font do begin

WriteInteger('Main','TxtColor',Form1.Memo1.Font.Color);

WriteInteger('Main','Height',Height);

WriteString('Main','Name',Name);

WriteInteger('Main','Size',Size);

end;

with IniFile do

WriteInteger('Main','FonColor',Form1.Memo1.Color);

end

else

N5Click(Sender);

end;

procedure TForm1.N2Click(Sender: TObject);

var a:integer;

begin

if form1.Memo1.Modified=true then

begin

a:=Application.MessageBox('Сохранить изменения в документе','',3);

if a=6 then

begin

N4Click(Sender);

Form1.Memo1.Lines.Clear;

Form1.SaveDialog1.FileName:='';

Form1.OpenDialog1.FileName:='';

Form1.Caption:='Безымянный';

end

else

if a=7 then

begin

Form1.Memo1.Lines.Clear;

Form1.SaveDialog1.FileName:='';

Form1.OpenDialog1.FileName:='';

Form1.Caption:='Безымянный';

end

end

else

begin

Form1.Memo1.Lines.Clear;

Form1.SaveDialog1.FileName:='';

Form1.OpenDialog1.FileName:='';

Form1.Caption:='Безымянный';

end

end;

procedure TForm1.N6Click(Sender: TObject);

var a:integer;

begin

if Form1.Memo1.Modified=true then

begin

a:=Application.MessageBox('Сохранить изменения в документе','',3);

if a=6 then

N4Click(Sender)

else if a=7 then

Form1.Close;

end

else Form1.Close;

end;

procedure TForm1.N8Click(Sender: TObject);

begin

if Form1.FontDialog1.Execute then

Form1.Memo1.Font:=Form1.FontDialog1.Font;

end;

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

N2Click(sender);

end;

procedure TForm1.SpeedButton2Click(Sender: TObject);

begin

N3Click(Sender);

end;

procedure TForm1.SpeedButton3Click(Sender: TObject);

begin

N4Click(Sender);

end;

procedure TForm1.SpeedButton4Click(Sender: TObject);

begin

N5Click(Sender);

end;

procedure TForm1.SpeedButton5Click(Sender: TObject);

begin

N6Click(Sender);

end;

procedure TForm1.N11Click(Sender: TObject);

begin

If Form1.ColorDialog1.Execute then

Form1.Memo1.Color:=Form1.ColorDialog1.Color;

end;

procedure TForm1.N10Click(Sender: TObject);

begin

If Form1.ColorDialog1.Execute then

Form1.Memo1.Font.Color:=Form1.ColorDialog1.Color;

end;

procedure TForm1.FormResize(Sender: TObject);

begin

Memo1.Height:=Form1.Height-110;

Memo1.Width:=Form1.Width;

end;

procedure TForm1.ToolButton1Click(Sender: TObject);

begin

N2Click(Sender);

end;

procedure TForm1.ToolButton2Click(Sender: TObject);

begin

N3Click(Sender);

end;

procedure TForm1.ToolButton3Click(Sender: TObject);

begin

N4Click(Sender);

end;

procedure TForm1.ToolButton4Click(Sender: TObject);

begin

N5Click(Sender);

end;

procedure TForm1.ToolButton5Click(Sender: TObject);

begin

N6Click(Sender);

end;

procedure TForm1.N21Click(Sender: TObject);

begin

Memo1.CutToClipboard;

end;

procedure TForm1.N22Click(Sender: TObject);

begin

Memo1.CopyToClipboard;

end;

procedure TForm1.N23Click(Sender: TObject);

begin

Memo1.PasteFromClipboard;

end;

procedure TForm1.N24Click(Sender: TObject);

begin

Memo1.ClearSelection;

end;

procedure TForm1.ToolButton6Click(Sender: TObject);

begin

N20Click(Sender);

end;

procedure TForm1.ToolButton7Click(Sender: TObject);

begin

N21Click(Sender);

end;

procedure TForm1.ToolButton8Click(Sender: TObject);

begin

N22Click(Sender);

end;

procedure TForm1.ToolButton9Click(Sender: TObject);

begin

N23Click(Sender);

end;

procedure TForm1.ToolButton10Click(Sender: TObject);

begin

N24Click(Sender);

end;

procedure TForm1.N20Click(Sender: TObject);

begin

Memo1.SelectAll

end;

procedure TForm1.ToolButton12Click(Sender: TObject);

begin

Form1.Memo1.Alignment:=taleftJustify

end;

procedure TForm1.ToolButton13Click(Sender: TObject);

begin

Form1.Memo1.Alignment:=taCenter;

end;

procedure TForm1.ToolButton14Click(Sender: TObject);

begin

Form1.Memo1.Alignment:=taRightJustify;

end;

procedure TForm1.ToolButton16Click(Sender: TObject);

begin

N10Click(Sender);

end;

procedure TForm1.ToolButton17Click(Sender: TObject);

begin

N11Click(Sender);

end;

procedure TForm1.ToolButton11Click(Sender: TObject);

begin

with Memo1 do

if HandleAllocated then SendMessage(Handle, EM_UNDO, 0, 0);

end;

procedure TForm1.N13Click(Sender: TObject);

begin

Form1.N13.Tag:=Form1.N13.Tag+1;

if (Form1.N13.Tag mod 2)<>0 then

panel1.Visible:=false

else panel1.Visible:=true;

end;

procedure TForm1.N14Click(Sender: TObject);

begin

form3.Show;

end;

procedure TForm1.N26Click(Sender: TObject);

begin

Form2.show;

end;

procedure TForm1.N27Click(Sender: TObject);

begin

Form3.show;

end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

var a:integer;

begin

if Form1.Memo1.Modified=true then

begin

a:=Application.MessageBox('Сохранить изменения в документе','',3);

if a=6 then

N4Click(Sender)

else if a=7 then

halt

else canclose:=false;

end

end;

end.

unit Unit2;

interface

uses

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

Dialogs, StdCtrls, Mask;

type

TForm2 = class(TForm)

MaskEdit1: TMaskEdit;

Label1: TLabel;

Button1: TButton;

Button2: TButton;

MaskEdit2: TMaskEdit;

Label2: TLabel;

Button3: TButton;

Button4: TButton;

MaskEdit3: TMaskEdit;

Label3: TLabel;

Button5: TButton;

Button6: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);

begin

Form1.Memo1.Seltext:=MaskEdit1.text;

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

Form1.Memo1.Lines.Add(Maskedit1.Text);

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

Form1.Memo1.Seltext:=MaskEdit2.text;

end;

procedure TForm2.Button5Click(Sender: TObject);

begin

Form1.Memo1.Seltext:=MaskEdit3.text;

end;

procedure TForm2.Button4Click(Sender: TObject);

begin

Form1.Memo1.Lines.Add(Maskedit2.Text);

end;

procedure TForm2.Button6Click(Sender: TObject);

begin

Form1.Memo1.Lines.Add(Maskedit3.Text);

end;

end.

unit Unit3;

interface

uses

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

Dialogs, StdCtrls, ComCtrls, ExtCtrls;

type

TForm3 = class(TForm)

Label1: TLabel;

Label2: TLabel;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit1, Unit2;

{$R *.dfm}

end.

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Хватит париться. На сайте FAST-REFERAT.RU вам сделают любой реферат, курсовую или дипломную. Сам пользуюсь, и вам советую!
Никита15:10:24 04 ноября 2021
.
.15:10:23 04 ноября 2021
.
.15:10:21 04 ноября 2021
.
.15:10:20 04 ноября 2021
.
.15:10:18 04 ноября 2021

Смотреть все комментарии (20)
Работы, похожие на Реферат: Разработка текстового редактора 2

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

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



Результаты(290630)
Комментарии (4189)
Copyright © 2005-2021 HEKIMA.RU [email protected] реклама на сайте