49726 (Алгоритм, написание и отладка программы "Текстовый редактор"), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Алгоритм, написание и отладка программы "Текстовый редактор"", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49726"

Текст 2 страницы из документа "49726"

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

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

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

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

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

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

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

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

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

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

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

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


Заключение

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

В результате проделанной работы был повторен и использован при разработке программы пройденный материал по программированию в среде разработки C++Builder 6.

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

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


Библиографический список



  1. Фаронов В.В., Программирование в Builder C++: Учебный курс. – СГб.: Питер, 2004.

  2. Архангельский А.Я., Тагин М.А. Приемы программирования в C++Builder 6 и 2006: Вычислительные задачи, работа с документами. – М:ЗАО «Издательство БИНОМ», 2007

  3. Архангельский А.Я. Справочное пособие по C++Builder 6 и 2006. Компоненты. - М:ЗАО «Издательство БИНОМ», 2006


Приложение



TeRAn.cpp

#include

#pragma hdrstop

//---------------------------------------------------------------------------

USEFORM("TeR.cpp", Form1);

USEFORM("Unit1.cpp", AboutBox);

USEFORM("Unit2.cpp", Form2);

//---------------------------------------------------------------------------

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

try

{

Application->Initialize();

Application->CreateForm(__classid(TForm1), &Form1);

Application->CreateForm(__classid(TForm2), &Form2);

Application->Run();

}

catch (Exception &exception)

{

Application->ShowException(&exception);

}

catch (...)

{

try

{

throw Exception("");

}

catch (Exception &exception)

{

Application->ShowException(&exception);

}

}

return 0;

}

//---------------------------------------------------------------------------

TeR.cpp

#include

#pragma hdrstop

#include "TeR.h"

#include "Unit1.h"

#include "Unit2.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma link "CSPIN"

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton4Click(TObject *Sender)

{

if (OpenDialog1->Execute())

RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);

StatusBar1->Panels->Items[0]->Text=(OpenDialog1->FileName);

SpeedButton4->Down=false;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton14Click(TObject *Sender)

{

if (ColorDialog1->Execute())

RichEdit1->SelAttributes->Color = ColorDialog1->Color;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::CSpinEdit1Change(TObject *Sender)

{

if ( CSpinEdit1->Text != "" )

{

RichEdit1->SelAttributes->Size = CSpinEdit1->Value;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::ComboBox1Change(TObject *Sender)

{

//Выбор шрифта

RichEdit1->SelAttributes->Name=ComboBox1->Items->Strings[ComboBox1 ->ItemIndex];

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton13Click(TObject *Sender)

{

//Полужирный

if (SpeedButton13->Down==true)

{

RichEdit1->SelAttributes->Style=TFontStyles()<< fsBold;

}

if (SpeedButton13->Down==false)

{

RichEdit1->SelAttributes->Style=TFontStyles();

}

if ((SpeedButton13->Down==true)&&(SpeedButton12->Down==true))

{

RichEdit1->SelAttributes->Style=TFontStyles()<

}

if ((SpeedButton13->Down==false)&&(SpeedButton12->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles()<

}

if ((SpeedButton13->Down)&&(SpeedButton11->Down))

{

RichEdit1->SelAttributes->Style=TFontStyles()<

}

if ((SpeedButton13->Down==false)&&(SpeedButton11->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles()<

}

if ((SpeedButton13->Down==true)&&(SpeedButton12->Down==true)&&(SpeedButton11->Down==true))

{

RichEdit1->SelAttributes->Style=TFontStyles()<

}

if ((SpeedButton13->Down==false)&&(SpeedButton12->Down==true)&&(SpeedButton11->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles()<

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton12Click(TObject *Sender)

{

//курсив

if (SpeedButton12->Down==true)

{

RichEdit1->SelAttributes->Style=TFontStyles()<< fsItalic;

}

if (SpeedButton12->Down==false)

{

RichEdit1->SelAttributes->Style=TFontStyles();

}

if ((SpeedButton12->Down==true)&&(SpeedButton13->Down==true))

{

RichEdit1->SelAttributes->Style=TFontStyles()<

}

if ((SpeedButton12->Down==false)&&(SpeedButton13->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles()<

}

if ((SpeedButton12->Down)&&(SpeedButton11->Down))

{

RichEdit1->SelAttributes->Style=TFontStyles()<

}

if ((SpeedButton12->Down==false)&&(SpeedButton11->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles()<

}

if ((SpeedButton13->Down==true)&&(SpeedButton12->Down==true)&&(SpeedButton11->Down==true))

{

RichEdit1->SelAttributes->Style=TFontStyles()<

}

if ((SpeedButton13->Down==true)&&(SpeedButton12->Down==false)&&(SpeedButton11->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles()<

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton11Click(TObject *Sender)

{

if (SpeedButton11->Down==true)

{

RichEdit1->SelAttributes->Style=TFontStyles()<< fsUnderline;

}

if (SpeedButton11->Down==false)

{

RichEdit1->SelAttributes->Style=TFontStyles();

}

if ((SpeedButton11->Down==true)&&(SpeedButton13->Down==true))

{

RichEdit1->SelAttributes->Style=TFontStyles()<

}

if ((SpeedButton11->Down==false)&&(SpeedButton13->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles()<

}

if((SpeedButton11->Down==true)&&(SpeedButton12->Down==true))

{

RichEdit1->SelAttributes->Style=TFontStyles()<

}

if ((SpeedButton11->Down==false)&&(SpeedButton12->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles()<

}

if ((SpeedButton13->Down==true)&&(SpeedButton12->Down==true)&&(SpeedButton11->Down==true))

{

RichEdit1->SelAttributes->Style=TFontStyles()<

}

if ((SpeedButton11->Down==false)&&(SpeedButton12->Down==true)&&(SpeedButton13->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles()<

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton3Click(TObject *Sender)

{

if (SaveDialog1->Execute()) RichEdit1->Lines->SaveToFile(SaveDialog1->FileName);

StatusBar1->Panels->Items[0]->Text=SaveDialog1->FileName;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N5Click(TObject *Sender)

{

if (SaveDialog1->Execute()) RichEdit1->Lines->SaveToFile(SaveDialog1->FileName);

StatusBar1->Panels->Items[0]->Text=SaveDialog1->FileName;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton1Click(TObject *Sender)

{

RichEdit1->CopyToClipboard();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton6Click(TObject *Sender)

{

if (PrintDialog1->Execute()) RichEdit1->Print(" ");

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N3Click(TObject *Sender)

{

if (OpenDialog1->Execute())

RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);

StatusBar1->Panels->Items[0]->Text=(OpenDialog1->FileName);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton7Click(TObject *Sender)

{

FindDialog1->Position = Point(RichEdit1->Left + RichEdit1->Width, RichEdit1->Top);

//FindDialog1->FindText=RichEdit1->SelText;

FindDialog1->Execute();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FindDialog1Find(TObject *Sender)

{

int FoundAt, StartPos, ToEnd;

if (RichEdit1->SelLength)

StartPos = RichEdit1->SelStart + RichEdit1->SelLength;

else

StartPos = 0;

ToEnd = RichEdit1->Text.Length() - StartPos;

FoundAt = RichEdit1->FindText(FindDialog1->FindText, StartPos, ToEnd, TSearchTypes()<< stMatchCase);

if (FoundAt != -1)

{

RichEdit1->SetFocus();

RichEdit1->SelStart = FoundAt;

RichEdit1->SelLength = FindDialog1->FindText.Length();

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N9Click(TObject *Sender)

{

if (MessageBox(0,"Сохранить содержимое окна редактирования? ","Подтвердите сохранение",MB_YESNO)==IDYES)

if (SaveDialog1->Execute()) RichEdit1->Lines->SaveToFile(SaveDialog1->FileName);

Application->Terminate();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N16Click(TObject *Sender)

{

if (RichEdit1->Lines->Count>0)

{

if (MessageBox(0,"Сохранить содержимое окна редактирования? ","Подтвердите сохранение",MB_YESNO)==IDYES)

{

//N9Click(Sender);

}

}

RichEdit1->Clear();

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4100
Авторов
на СтудИзбе
670
Средний доход
с одного платного файла
Обучение Подробнее