49726 (609223), страница 2
Текст из файла (страница 2)
Все файлы должны лежать в одной папке и запускаться оттуда.
-
Руководство пользователя
Данная программа представляет собой текстовый редактор, предназначенный для набора, редактирования и форматирования текста. Сначала необходимо скопировать все файлы, входящие в программный пакет на жесткий диск (все файлы должны находиться в одной папке). Для начала работы с программой следует запустить файл 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()< } 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();