Текстовый редактор

Автор: Пользователь скрыл имя, 09 Декабря 2012 в 15:54, курсовая работа

Описание работы

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

Содержание

Введение……………………………………………………………………………..….3
1. Теоретическая часть…………………………….…………………………………4
1.1 Общее описание среды Delphi…….……………………………………………..5
1.2 Методика решения задачи ……..………………………………………………11
1.3 Общее описание работы программы…………………………...……...….…….11
1.4 Недостатки и достоинства программы………………..………………...….……11
2.Практическая часть……………………………………………………...….….…15
3.Заключение…………………………………………………………………………23
4.Список литературы………………………………………………………....………25
5.Листинг программы…………………………………………………………...…….26

Работа содержит 1 файл

Курсач по ИТ.doc

— 2.05 Мб (Скачать)

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

Методика  решения задачи

Разобьем поставленную перед нами задачу на отдельные подзадачи:

  1. Создание меню программы.
  2. Вывод на экран справки, содержащей руководство по управлению и информацию об авторе.

Описание работы программы

 Программа содержит в своем составе все необходимые пакеты для работы независимо от Borland Delphi 7. Запуск производится по открытию файла Project1.exe Сразу после этого без промедления открывается главное окно программы (см. рисунок 1)

Рисунок 1 - Главное окно приложения

В этом окне расположены  основные средства управления программой.

Непосредственно в работе с текстом участвует форма  «Справка», представленная на рисунке 2. Текст справки находиться в дочерней форме Form4 по отношению к главной (Form1).

Рисунок 2 – Вспомогательная  форма «Справка»

Из рисунка 1 видно, что  на нашей главной форме приложения можно непосредственно редактировать текст документа, оформляя его по своему желанию необходимым образом. В верхней части программы находятся две панели: панель инструментов Panel1 и панель редактирования Panel2, на которых располагаются кнопки типа SpeedButton, с функциями, соответствующими техническому заданию.

Аппаратно-системные  требования

Минимальные системные требования:

  • IBM PC: MS Windows 98 и выше;
  • процессор Pentium 2 – 400МГц;
  • 64 Мб ОЗУ;
  • SVGA – карта (800х600, 65536 цветов);
  • Клавиатура;
  • Мышь

Все файлы должны лежать в одной  папке и запускаться оттуда.

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

Данная программа представляет собой текстовый редактор, предназначенный для набора, редактирования и форматирования текста. Сначала необходимо скопировать все файлы, входящие в программный пакет на жесткий диск (все файлы должны находиться в одной папке). Для начала работы с программой следует запустить файл Project1.exe, после чего появится сразу главная форма с полем для редактирования. Затем выбирайте нужные для вас действия, следуя всплывающим подсказкам, и подсказкам появляющимся в строке состояния.

Текст можно вводить как с  клавиатуры, так и из файла.

Для того, чтобы прочитать руководство  пользователя выберите пункт меню «? | Справка».

Для выхода из программы выберите пункт меню «Файл | Выход.

Для сохранности и успешной работы программы не рекомендуется вносить какие-либо изменения в файлы программного пакета, а также следует хранить эти файлы и запускать программу из одной папки.

 

Недостатки и достоинства  программы

У программы можно найти следующие  достоинства: низкие системные и аппаратные требования, имеет простой алгоритм, по размеру значительно мала, приличная скорость работы. Программа не представляет сложности для пользователя и имеет практически все возможности редактирования текста.

Недостатком программы является отсутствие настроек параметров страницы. Нет предварительного просмотра для отправки на печать.

Также недостатком можно считать  отсутствие выбора кодировки и отсутствие синтаксической подсветки.

Таким образом, у разработанной  программы есть несколько способов дальнейшего усовершенствования, после которого программа бы избавилась от вышеописанных недостатков.

 

 

 

 

 

 

 

 

 

 

 

 

 

Практическая часть

Для создания многооконного  приложения требуется следующее:

а) создать главную форму

б)  создать несколько дочерних форм.

1. Создадим новый проект:File->New->Application.

2. Появиться форма Form1, которая будет в нашем приложении основной. Для того,чтобы сделать её основной изменим свойство на вкладке Properties - FormStyle на fsMDIForm.

3. На основной форме приложения создадим меню, используя компонент на вкладке Standard – Main Menu. Для этого добавим его на форму и изменим его вид. Добавим пункты меню с названием будущих дочерних форм: «Текстовый редактор»,  «Календарь-часы». А также добавим пункт меню Выход, который будет осуществлять выход из приложения.

4. Добавим в пунктах  меню «Текстовый редактор», «Календарь-часы»  2 подпункта: «Открыть», для открытия каждой формы приложения.И пропишем для них код:

Application.CreateForm(TForm2,Form2);

Application.CreateForm(TForm3,Form3).

              5. Создадим фон главной формы. Для этого добавим компонент с вкладки Additional – Image на форму. Изменим свойство данного компонента – Picture, загрузим картинку для нашего фона соответствующую её размеру. Также добавим надпись для приветствия пользвователя, используя компонет Label.

             В результате всех вышеперечисленных  действий получиться основная  форма приложения:

6.    Далее создадим дочернюю формы: Form2(File->New->Form).

7.  На открывшейся форме Form2(«Текстовый редактор») создадим стандартные пункты меню: «Файл», «Правка», «Опции» и «О приложении».

8. Для пункта меню  «Файл» создадим подпункты: «Открыть», «Сохранить», «Печать», «Выход».

9. Для пункта меню  «Правка» создадим подпункты: «Очистить», «Отменить»,  «Копировать»,  «Вставить»,  «Вырезать».

10.  Для пункта меню  «Опции» создадим подпункты: «Шрифт», «Цвет», «Поиск».

11. Для пункта меню  «О приложении» создадим подпункты: «Об авторе», «Справка».

12. Поместим на форму Form2 компонент Richedit, который находиться на вкладке Win32.

13. Создадим панель инструментов. Для этого добавим «быстрые» кнопки – компонент SpeedButton с вкладки Additional.Для каждого такого компонента пропишем код для связи с некоторыми подпунктами меню. Например для подпункта меню «Открыть» :

procedure TForm2.SpeedButton1Click(Sender: TObject);

begin

N2Click(sender);

end;

Анологично пропишем коды для остальных подпунктов.

14. Для работы некоторых  подпунктов используем компоненты  со вкладки Dialogs – OpenDialog, SaveDialog, FontDialog, ColorDialog.

Рассмотрим каждый подпункт меню отдельно:

1) Открыть:

procedure TForm2.N2Click(Sender: TObject);

begin

if OpenDialog1.Execute then

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);

end;

2) Сохранить:

procedure TForm2.N3Click(Sender: TObject);

begin

if SaveDialog1.Execute then

RichEdit1.Lines.SaveToFile(SaveDialog1.FileName);

end;

3) Печать:

procedure TForm2.N11Click(Sender: TObject);

begin

with printer do begin

begindoc;

CanvasFont:=RichEdit1.Font;

Canvas.TextOut(100,100,richedit1.text);

enddoc;

end;

4)Выход:

procedure TForm2.N4Click(Sender: TObject);

begin

Form2.Close();

end;

5) Очистить:

procedure TForm2.N7Click(Sender: TObject);

begin

RichEdit1.Lines.Clear;

           end;

           6) Отменить:

procedure TForm2.N10Click(Sender: TObject);

begin

Richedit1.Undo

end;

7) Копировать:

procedure TForm2.N12Click(Sender: TObject);

begin

Richedit1.CopyToClipboard;

end;

8) Вставить:

procedure TForm2.N13Click(Sender: TObject);

begin

Richedit1.PasteFromClipboard;

end;

9) Вырезать:

procedure TForm2.N14Click(Sender: TObject);

begin

Richedit1.CutToClipboard;

end;

10) Шрифт:

procedure TForm2.N6Click(Sender: TObject);

begin

if FontDialog1.Execute then

RichEdit1.SelAttributes.Assign(fontdialog1.font);

RichEdit1.SetFocus;

end;

11) Цвет:

procedure TForm2.N17Click(Sender: TObject);

begin

if ColorDialog1.Execute then

begin

RichEdit1.Font.Color:=ColorDialog1.Color;

end;

end;

12) Поиск:

procedure TForm2.N18Click(Sender: TObject);

var // Объявляем переменные

Find:string; // Искомая строка

i:integer; // Счетчик для  цикла

begin

find:=Edit1.Text; // Записываем в find текст из Edit

For i:=0 to RichEdit1.Lines.Count-1 do // Запускаем цикл поиска строки

If Pos(FIND, RichEdit1.Lines.Text)<>0

Then

Begin

RichEdit1.SetFocus();

RichEdit1.SelStart:=Pos(FIND,RichEdit1.Lines.Text)-1;

RichEdit1.SelLength:=Length(FIND);

End;

end;

13) Об авторе:

procedure TForm2.N9Click(Sender: TObject);

begin

ShowMessage('Автор данной  программы студент группы 10-ИСТ      Насретдинов А.И.');

end;

После перечисленных  действий в п.6-14 получиться следующая  форма:

15. Перейдём к созданию дочерней формы Form3(«Календарь-часы»):File->New->Form.

16.Добавим на форму  компонент Label с вкладки Standard.Изменим свойство Caption данного компонента на: 00:00:00.Также добавим компонент Timer c вкладки System на форму. Пропишем код для вывода времени на компоненте Label:

procedure TForm3.Timer1Timer(Sender: TObject);

begin

Label1.Caption:=timetostr(time)

end;

17.Для создания графического  календаря потребуются следующие  компоненты: DateTimePicker, MonthCalendar и ImageList со вкладки Win32, а также компонент Image с вкладки Additional.Также необходимо в рабочую папку программы переместить графические файлы формата .jpg для иллюстраций календаря.

18. Рассмотрим каждый из перечисленных выше компонентов в отдельности:

1) Добавим на форму Form3 компонент ImageList. Опишем для правильной работы компонента массив MontSt,который будет содержать в себе графические файлы формата .jpg:

const

MonthSt : array[0..11] of String = (

    '1', '2', '3', '4', '5', '6',

    '7', '8', '9', '10', '11', '12');

2) Добавим на форму компонент Image.Создадим  процедуру SetImage для загрузки картинок на компонент Image:

procedure TForm3.SetImage;

var

  St : String;

begin

  St := MonthSt[MonthOf(DTP.Date) - 1] + '.jpg';

  if FileExists(St) then

    Image1.Picture.LoadFromFile(St);

end;

procedure TForm3.FormCreate(Sender: TObject);

begin

SetImage;

end;

3) Добавим на форму Form3 компонент DateTimePicker.В событии компонента OnChange пропишем код:

procedure TForm3.DTPChange(Sender: TObject);

begin

Month.Date := DTP.Date;

  SetImage;

end;

4) Добавим на форму Form3 компонент MonthCalendat.Пропишем для него код в событии OnClick:

procedure TForm3.MonthClick(Sender: TObject);

begin

DTP.Date := Month.Date;

SetImage;

end;

После перечисленных  действий в п.15-18 получиться следующая форма:

Заключение

 

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

В результате проделанной  работы был повторен и использован  при разработке программы пройденный материал по программированию в среде  разработки Borland Delphi 7.

Достаточно интересно было работать над самой поставленной задачей. Во время работы был прочитан материал, связанный непосредственно с языком программирования Delphi

 

 

Список использованной литературы

  1. Сван Т. Основы программирования в Delphi для Windows 95: Пер. с англ. - К: «Диалектика», 1996. -480 с.
  2. Федоров А. Г. Создание Windows-приложений в среде Delphi: - М.: ТОО фирма «КомпьютерПресс», 1995. -287 с., ил.

Учебный курс лекций – практик.

 

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

unit Unit1;

 

interface

 

uses

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

  Dialogs, Menus, ComCtrls, StdCtrls, ExtCtrls, MPlayer, jpeg;

 

type

  TForm1 = class(TForm)

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N2: TMenuItem;

    N3: TMenuItem;

    N5: TMenuItem;

    N7: TMenuItem;

    Label1: TLabel;

    Image1: TImage;

    procedure N3Click(Sender: TObject);

    procedure N5Click(Sender: TObject);

    procedure Timer1Timer(Sender: TObject);

    procedure N7Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

uses Unit2,Unit3;

 

{$R *.dfm}

 

procedure TForm1.N3Click(Sender: TObject);

begin

Application.CreateForm(TForm2,Form2);

end;

 

procedure TForm1.N5Click(Sender: TObject);

begin

Application.CreateForm(TForm3,Form3);

end;

 

procedure TForm1.Timer1Timer(Sender: TObject);

begin

  

label1.Caption:=TimeToStr(GetTime);

end;

 

procedure TForm1.N7Click(Sender: TObject);

begin

Form1.Close();

end;

 

end.

unit Unit2;

 

interface

 

uses

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

  Dialogs, StdCtrls, Menus, ComCtrls, Buttons;

 

type

  TForm2 = class(TForm)

    RichEdit1: TRichEdit;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N2: TMenuItem;

Информация о работе Текстовый редактор