Автор: Пользователь скрыл имя, 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
Примечание: Страница событий связана с Редактором кода, если дважды щелкнуть мышью по правой стороне какого либо пункта, то соответствующий данному событию код будет автоматически помещен в окно Редактора кода.
Методика решения задачи
Разобьем поставленную перед нами задачу на отдельные подзадачи:
Описание работы программы
Программа содержит в своем составе все необходимые пакеты для работы независимо от Borland Delphi 7. Запуск производится по открытию файла Project1.exe Сразу после этого без промедления открывается главное окно программы (см. рисунок 1)
Рисунок 1 - Главное окно приложения
В этом окне расположены основные средства управления программой.
Непосредственно в работе с текстом участвует форма «Справка», представленная на рисунке 2. Текст справки находиться в дочерней форме Form4 по отношению к главной (Form1).
Рисунок 2 – Вспомогательная форма «Справка»
Из рисунка 1 видно, что на нашей главной форме приложения можно непосредственно редактировать текст документа, оформляя его по своему желанию необходимым образом. В верхней части программы находятся две панели: панель инструментов Panel1 и панель редактирования Panel2, на которых располагаются кнопки типа SpeedButton, с функциями, соответствующими техническому заданию.
Аппаратно-системные требования
Минимальные системные требования:
Все файлы должны лежать в одной папке и запускаться оттуда.
Руководство пользователя
Данная программа представляет собой текстовый редактор, предназначенный для набора, редактирования и форматирования текста. Сначала необходимо скопировать все файлы, входящие в программный пакет на жесткий диск (все файлы должны находиться в одной папке). Для начала работы с программой следует запустить файл Project1.exe, после чего появится сразу главная форма с полем для редактирования. Затем выбирайте нужные для вас действия, следуя всплывающим подсказкам, и подсказкам появляющимся в строке состояния.
Текст можно вводить как с клавиатуры, так и из файла.
Для того, чтобы прочитать руководство пользователя выберите пункт меню «? | Справка».
Для выхода из программы выберите пункт меню «Файл | Выход.
Для сохранности и успешной работы программы не рекомендуется вносить какие-либо изменения в файлы программного пакета, а также следует хранить эти файлы и запускать программу из одной папки.
Недостатки и достоинства программы
У программы можно найти
Недостатком программы является отсутствие настроек параметров страницы. Нет предварительного просмотра для отправки на печать.
Также недостатком можно считать отсутствие выбора кодировки и отсутствие синтаксической подсветки.
Таким образом, у разработанной программы есть несколько способов дальнейшего усовершенствования, после которого программа бы избавилась от вышеописанных недостатков.
Практическая часть
Для создания многооконного приложения требуется следующее:
а) создать главную форму
б) создать несколько дочерних форм.
1. Создадим новый проект:File->New->Application.
2. Появиться форма Form1, которая будет в нашем приложении основной. Для того,чтобы сделать её основной изменим свойство на вкладке Properties - FormStyle на fsMDIForm.
3. На основной форме приложения создадим меню, используя компонент на вкладке Standard – Main Menu. Для этого добавим его на форму и изменим его вид. Добавим пункты меню с названием будущих дочерних форм: «Текстовый редактор», «Календарь-часы». А также добавим пункт меню Выход, который будет осуществлять выход из приложения.
4. Добавим в пунктах
меню «Текстовый редактор», «
Application.CreateForm(TForm2,
Application.CreateForm(TForm3,
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(
begin
N2Click(sender);
end;
Анологично пропишем коды для остальных подпунктов.
14. Для работы некоторых
подпунктов используем
Рассмотрим каждый подпункт меню отдельно:
1) Открыть:
procedure TForm2.N2Click(Sender: TObject);
begin
if OpenDialog1.Execute then
RichEdit1.Lines.LoadFromFile(
end;
2) Сохранить:
procedure TForm2.N3Click(Sender: TObject);
begin
if SaveDialog1.Execute then
RichEdit1.Lines.SaveToFile(
end;
3) Печать:
procedure TForm2.N11Click(Sender: TObject);
begin
with printer do begin
begindoc;
CanvasFont:=RichEdit1.Font;
Canvas.TextOut(100,100,
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.
RichEdit1.SetFocus;
end;
11) Цвет:
procedure TForm2.N17Click(Sender: TObject);
begin
if ColorDialog1.Execute then
begin
RichEdit1.Font.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.SelLength:=Length(
End;
end;
13) Об авторе:
procedure TForm2.N9Click(Sender: TObject);
begin
ShowMessage('Автор данной программы студент группы 10-ИСТ Насретдинов А.И.');
end;
После перечисленных действий в п.6-14 получиться следующая форма:
15. Перейдём к созданию дочерней формы
Form3(«Календарь-часы»):File->
16.Добавим на форму компонент Label с вкладки Standard.Изменим свойство Caption данного компонента на: 00:00:00.Также добавим компонент Timer c вкладки System на форму. Пропишем код для вывода времени на компоненте Label:
procedure TForm3.Timer1Timer(Sender: TObject);
begin
Label1.Caption:=timetostr(
end;
17.Для создания графического
календаря потребуются
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(
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
Список использованной литературы
Учебный курс лекций – практик.
Листинг программы
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,
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Application.CreateForm(TForm3,
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
label1.Caption:=TimeToStr(
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;