Алгоритм, написание и отладка программы "Текстовый редактор"
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
?ий диск (все файлы должны находиться в одной папке). Для начала работы с программой следует запустить файл TeRAn.exe, после чего появится сразу главная форма с полем для редактирования. Затем выбирайте нужные для вас действия, следуя всплывающим подсказкам, и подсказкам появляющимся в строке состояния.
Текст можно вводить как с клавиатуры, так и из файла.
Для того, чтобы прочитать руководство пользователя выберите пункт меню ? | Справка.
Для выхода из программы выберите пункт меню Файл | Выход.
Для сохранности и успешной работы программы не рекомендуется вносить какие-либо изменения в файлы программного пакета, а также следует хранить эти файлы и запускать программу из одной папки.
- Недостатки и достоинства программы
У программы можно найти следующие достоинства: низкие системные и аппаратные требования, имеет простой алгоритм, по размеру значительно мала, приличная скорость работы. Программа не представляет сложности для пользователя и имеет практически все возможности редактирования текста.
Недостатком программы является отсутствие настроек параметров страницы. Нет предварительного просмотра для отправки на печать.
Также недостатком можно считать отсутствие выбора кодировки и отсутствие синтаксической подсветки.
Таким образом, у разработанной программы есть несколько способов дальнейшего усовершенствования, после которого программа бы избавилась от вышеописанных недостатков.
Заключение
В результате выполнения курсового проекта была разработана программа, демонстрирующая пример текстового редактора. В программе были использованы основные типы данных, структуры данных, а также программа строилась по модульному принципу.
В результате проделанной работы был повторен и использован при разработке программы пройденный материал по программированию в среде разработки C++Builder 6.
Также была проделана немаловажная работа по написанию пояснительной записки, опыт которой, безусловно, пригодиться в будущем при написании всевозможной документации.
Достаточно интересно было работать над самой поставленной задачей. Во время работы был прочитан материал, связанный непосредственно с языком программирования С++.
Библиографический список
- Фаронов В.В., Программирование в Builder C++: Учебный курс. СГб.: Питер, 2004.
- Архангельский А.Я., Тагин М.А. Приемы программирования в C++Builder 6 и 2006: Вычислительные задачи, работа с документами. М:ЗАО Издательство БИНОМ, 2007
- Архангельский А.Я. Справочное пособие по 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()<<fsBold<<fsItalic;
}
if ((SpeedButton13->Down==false)&&(SpeedButton12->Down==true))
{
RichEdit1->SelAttributes->Style =TFontStyles()<<fsItalic;
}
if ((SpeedButton13->Down)&&(SpeedButton11->Down))
{
RichEdit1->SelAttributes->Style=TFontStyles()<<fsBold<<fsUnderline;
}
if ((SpeedButton13->Down==false)&&(SpeedButton11->Down==true))
{
RichEdit1->SelAttributes->Style =TFontStyles()<<fsUnderline;
}
if ((SpeedButton13->Down==true)&&(SpeedButton12->Down==true)&&(SpeedButton11->Down==true))
{
RichEdit1->SelAttributes->Style=TFontStyles()<<fsBold<<fsItalic<<fsUnderline;
}
if ((SpeedButton13->Down==false)&&(SpeedButton12->Down==true)&&(SpeedButton11->Down==true))
{
RichEdit1->SelAttributes->Style =TFontStyles()<<fsItalic<<fsUnderline;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton12Click(TObject *Sender)
{
//курсив
if (SpeedButton12->Down==true)
{
RichEdit1->SelAttributes->Style=TFontStyles()<< fsItalic;
}
if (S