Создание программы текстового редактора
Необходимые компоненты и порядок составления текстового редактора. Текст программы решения задачи на языке программирования C++. Контрольный пример работы текстового редактора. Создание и произведение операции форматирования простого документа.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 03.09.2011 |
Размер файла | 1,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Оглавление
- 1. Введение
- 2. Постановка задачи
- 3. Алгоритм решения задачи
- 4. Текст программы решения задачи на языке программирования C++
- 5. Контрольный пример
- 6. Результат работы программы
- 7. Заключение
- 8. Список литературы
1. Введение
C++ (произносится «си плюс плюс») -- компилируемый статически типизированный язык программирования общего назначения. Поддерживая разные парадигмы программирования, сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником -- языком C, -- наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. Название «C++» происходит от языка C, в котором унарный оператор ++ обозначает инкремент переменной.
Язык возник в начале 1980-х годов, когда сотрудник фирмы Bell Laboratories Бьёрн Страуструп придумал ряд усовершенствований к языку C под собственные нужды. До начала официальной стандартизации язык развивался в основном силами Страуструпа в ответ на запросы программистского сообщества.
Являясь одним из самых популярных языков программирования, C++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (например, видеоигры). Существует несколько реализаций языка C++ -- как бесплатных, так и коммерческих. Их производят Проект GNU, Microsoft, Intel и Embarcadero (Borland). C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.
При создании C++ Бьёрн Страуструп стремился сохранить совместимость с языком C. Множество программ, которые могут одинаково успешно транслироваться как компиляторами C, так и компиляторами C++, довольно велико -- отчасти благодаря тому, что синтаксис C++ был основан на синтаксисе C.
2. Постановка задачи
Тема моей курсовой работы: «Создание программы - текстового редактора».
Программа должна уметь работать с текстом, производить базовые операции по форматированию текста, сохранять файлы в форматах RTF и TXT а также выводить работу на печать
Реализовать её я решил в среде С++ Builder 6, так как использование С++ Builder 6 имеет больше приоритетных качеств, чем другие среды программирования.
3. Алгоритм решения задачи
Компоненты, необходимые для составления программы:
RichEdit - содержит команды для работы с текстом и буфером обмена
SpeedBar - панель инструментов с расположенными на ней кнопками
MainMenu - главное меню программы
OpenDialog - диалог для кнопки «Открыть»
SaveDialog - диалог для кнопки «Сохранить»
FontDialog - диалог для кнопки «Шрифт»
PrintDialog - диалог для кнопки «Печать»
PopupMenu - контекстное меню
SpeedButton - универсальная кнопка
ComboBox - «выпадающий» список
Label - текстовая метка
UpDown - кнопка «Up\Down»
StatusBar - панель статуса
Image - изображение
Bevel - разделитель
Все компоненты добавляются путем выбора нужного на панели инструментов программы C++ Builder 6 , затем нажатием левой клавишей мыши на форме
Процесс построения:
Создадим меню быстрого запуска. Для этого перенесем на объект SpeedBar 15 кнопок SpeedButton и придадим им соответствующую форму (Рис. 1)
Рис. 1
Затем во вкладке Properties зададим кнопкам значки, и соответствующие коды (путем двойного щелчка на элементе) (Рис. 2)
Рис. 2
Коды для каждой кнопки отдельно, подробно описаны в разделе «Код программы».
В результате проделанных действий получится меню быстрого запуска (Рис. 3)
Рис. 3
Далее, добавляем на форму элементы RichEdit, MainMenu, OpenDialog, SaveDialog, FontDialog, PrintDialog, PopupMenu, ComboBox, Edit, UpDown, Label и StatusBar. Расположим их в удобном для использования порядке (Рис 4.)
Рис. 4
Зададим соответствующие имена компонентам ComboBox, Label, RichEdit и MainMenu через вкладку properties из Object Inspector. (Рис. 5)
Рис. 5
Через компонент MainMenu создадим главное меню программы. Для этого дважды щелкнем по пиктограмме MainMenu, после чего откроется окно редактирования главного меню. (Рис. 6)
Рис. 6
Через него создадим необходимые пункты меню (правая клавиша мыши -> insert) (Рис. 7)
Рис. 7
Создадим окно «о программе» . Для этого добавим новую форму через
File -> new -> form. Добавим в нее элементы Button, Image, Bevel, Label. Через компонент Label зададим имя автора и год создания программы.
Компоненту Image присвоим изображение-пиктограмму программы.
Компоненту Button зададим имя «OK», после нажатия на которую окно должно закрываться. (Рис. 8)
Рис. 8
Основное окно и компоненты (Рис. 9):
Рис. 9
Обозначения:
1 - Кнопка «Новый файл»
2 - Кнопка «Открыть»
3 - Кнопка «Сохранить»
4 - Кнопка «Печать»
5 - Кнопка «Отмена»
6 - Кнопка «Копировать»
7 - Кнопка «Вставить»
8 - Кнопка «Вырезать»
9 - Главное меню
10 - Панель форматирования текста
11 - Поле для ввода текста
4. Текст программы решения задачи на языке программирования C++
//Программа для редактирования текста Diamond PAD
//Долгих Антон 2010. Группа ПИЭ-091
//----------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <windows.hpp>
#include <stdlib.h>
#include <stdio.h>
#include "Romain.h"
#include "RichAbt.h"
#include "ReConst.hpp"
#include "reinit.hpp"
const float RulerAdj = 4.0/3.0;
const int GutterWid = 6;
//----------------------------------------------------------------------------
#pragma resource "*.dfm" TMainForm *MainForm;
//----------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent *Owner)
: TForm(Owner) { SetFileName(Reconst_SUntitled); }
//----------------------------------------------------------------------------
template<class T> int AsInt(T Param)
{ return static_cast<int>(Param);}
//----------------------------------------------------------------------------
void __fastcall TMainForm::SelectionChange(TObject */*Sender*/)
{
TParaAttributes *Paragraph = RichEdit1->Paragraph;
TTextAttributes *SelAttributes = RichEdit1->SelAttributes;
char sizebuf[6]; try
{FUpdating = True;
FirstInd->Left = AsInt(Paragraph->FirstIndent*RulerAdj) - 4 + GutterWid;
LeftInd->Left = AsInt((Paragraph->LeftIndent + Paragraph->FirstIndent)
* RulerAdj) - 4 + GutterWid;
RightInd->Left = Ruler->ClientWidth-6-AsInt((Paragraph->RightIndent + GutterWid) * RulerAdj);
BoldButton->Down = SelAttributes->Style.Contains(fsBold);
ItalicButton->Down = SelAttributes->Style.Contains(fsItalic);
UnderlineButton->Down = SelAttributes->Style.Contains(fsUnderline);
BulletsButton->Down = static_cast<bool>(Paragraph->Numbering);
FontSize->Text = itoa(SelAttributes->Size, sizebuf, 10);
FontName->Text = SelAttributes->Name;
switch(AsInt(Paragraph->Alignment))
{case 0:
LeftAlign->Down = True;
break;
case 1:
RightAlign->Down = True;
break;
case 2:
CenterAlign->Down = True;
break; } }__finally{FUpdating = False;}}
//----------------------------------------------------------------------------
TTextAttributes *__fastcall TMainForm::CurrText(void)
{return RichEdit1->SelAttributes;}
//----------------------------------------------------------------------------
int __stdcall EnumFontsProc(TLogFontA &LogFont, TTextMetricA &/*TextMetric*/,
int /*FontType*/, Pointer Data)
{TCharsetObject *FontCharset; TStrings *Strings = static_cast<TStrings *>(Data);
FontCharset = new TCharsetObject(AsInt(LogFont.lfCharSet)); Strings->AddObject(LogFont.lfFaceName, FontCharset); return 1;}
//----------------------------------------------------------------------------
void __fastcall TMainForm::GetFontNames(void)
{ HDC hDC = GetDC(0);
void * cTmp = static_cast<void *>(FontName->Items);
EnumFonts(hDC, NULL, (FONTENUMPROC) EnumFontsProc, (long) cTmp );
ReleaseDC(0,hDC);
FontName->Sorted = True; }
//----------------------------------------------------------------------------
void __fastcall TMainForm::SetFileName(const AnsiString FileName)
{LPSTR lpBuf = new char[MAX_PATH]; sprintf(lpBuf, Reconst_SPercent_s.c_str(), ExtractFileName(FileName).c_str(), Application->Title.c_str() );
Caption = lpBuf; FFileName = FileName; delete lpBuf; }
//----------------------------------------------------------------------------
void __fastcall TMainForm::CheckFileSave(void)
{ if(RichEdit1->Modified) { switch(MessageBox(Handle, Reconst_SSaveChanges.c_str(),
Reconst_SConfirmation.c_str(),MB_YESNOCANCEL | MB_ICONQUESTION))
{case ID_YES: FileSaveClick(this); break; case ID_CANCEL: Abort(); }; } }
//----------------------------------------------------------------------------
void __fastcall TMainForm::SetupRuler(void)
{ int iCtr = 1; char sTmp[201]; while (iCtr < 200) {sTmp[iCtr] = 9;
iCtr++; sTmp[iCtr] = '|'; iCtr++; } Ruler->Caption = sTmp; }
//----------------------------------------------------------------------------
void __fastcall TMainForm::SetEditRect(void)
{TRect Rct = Rect(GutterWid, 0, RichEdit1->ClientWidth-GutterWid, ClientHeight);
SendMessage(RichEdit1->Handle, EM_SETRECT, 0, (long)&Rct); }
//----------------------------------------------------------------------------
void __fastcall TMainForm::ShowHint(TObject* /*Sender*/)
{StatusBar->SimpleText = Application->Hint; }
//----------------------------------------------------------------------------
void __fastcall TMainForm::FileNewClick(TObject* /*Sender*/)
{CheckFileSave(); SetFileName(Reconst_SUntitled); RichEdit1->Lines->Clear();
RichEdit1->Modified = False;}
//----------------------------------------------------------------------------
void __fastcall TMainForm::FileOpenClick(TObject* /*Sender*/)
{CheckFileSave(); if (OpenDialog->Execute())
{RichEdit1->Lines->LoadFromFile(OpenDialog->FileName);
SetFileName(OpenDialog->FileName); RichEdit1->SetFocus(); RichEdit1->Modified = False;
RichEdit1->ReadOnly = OpenDialog->Options.Contains(ofReadOnly); } }
//----------------------------------------------------------------------------
void __fastcall TMainForm::FileSaveClick(TObject* Sender)
{ if ( !strcmp(FFileName.c_str(), Reconst_SUntitled.c_str()) ) FileSaveAsClick(Sender); else {
RichEdit1->Lines->SaveToFile(FFileName); RichEdit1->Modified = False; } }
//----------------------------------------------------------------------------
void __fastcall TMainForm::FileSaveAsClick(TObject* /*Sender*/)
{ if ( SaveDialog->Execute() ) {
RichEdit1->Lines->SaveToFile(SaveDialog->FileName); SetFileName(SaveDialog->FileName);
RichEdit1->Modified = False;} }
//----------------------------------------------------------------------------
void __fastcall TMainForm::FilePrintClick(TObject* /*Sender*/)
{ if ( PrintDialog->Execute() ) RichEdit1->Print( FFileName ); }
//----------------------------------------------------------------------------
void __fastcall TMainForm::FileExitClick(TObject* /*Sender*/) {Close();}
//----------------------------------------------------------------------------
void __fastcall TMainForm::EditUndoClick(TObject* /*Sender*/)
{if ( RichEdit1->HandleAllocated() ) SendMessage(RichEdit1->Handle, EM_UNDO, 0, 0);}
//----------------------------------------------------------------------------
void __fastcall TMainForm::EditCutClick(TObject* /*Sender*/) {RichEdit1->CutToClipboard();}
//----------------------------------------------------------------------------
void __fastcall TMainForm::EditCopyClick(TObject* /*Sender*/) { RichEdit1->CopyToClipboard();}
//----------------------------------------------------------------------------
void __fastcall TMainForm::EditPasteClick(TObject* /*Sender*/) {RichEdit1->PasteFromClipboard();}
//----------------------------------------------------------------------------
void __fastcall TMainForm::HelpContentsClick(TObject* /*Sender*/)
{Application->HelpCommand(HELP_CONTENTS, 0);}
//----------------------------------------------------------------------------
void __fastcall TMainForm::HelpSearchClick(TObject* /*Sender*/)
{Application->HelpCommand(HELP_PARTIALKEY, (long) "");}
//----------------------------------------------------------------------------
void __fastcall TMainForm::HelpHowToClick(TObject* /*Sender*/)
{Application->HelpCommand(HELP_HELPONHELP, 0);}
//----------------------------------------------------------------------------
void __fastcall TMainForm::HelpAboutClick(TObject* /*Sender*/)
{Form2 = new TForm2(Application); Form2->ShowModal(); delete Form2;}
//----------------------------------------------------------------------------
void __fastcall TMainForm::SelectFont(TObject* /*Sender*/)
{FontDialog1->Font->Assign(RichEdit1->SelAttributes);
if(FontDialog1->Execute()) CurrText()->Assign( FontDialog1->Font ); RichEdit1->SetFocus(); }
//----------------------------------------------------------------------------
void __fastcall TMainForm::RulerResize(TObject* /*Sender*/)
{ RulerLine->Width = (int)Ruler->ClientWidth - (RulerLine->Left*2); }
//----------------------------------------------------------------------------
void __fastcall TMainForm::FormResize(TObject* Sender) { SetEditRect(); SelectionChange(Sender); }
//----------------------------------------------------------------------------
void __fastcall TMainForm::FormPaint(TObject* /*Sender*/) {SetEditRect();}
//----------------------------------------------------------------------------
void __fastcall TMainForm::BoldButtonClick(TObject* /*Sender*/)
{ if(!FUpdating)
{if(BoldButton->Down) CurrText()->Style = CurrText()->Style << fsBold;
else CurrText()->Style = CurrText()->Style >> fsBold;}}
//----------------------------------------------------------------------------
void __fastcall TMainForm::ItalicButtonClick(TObject* /*Sender*/)
{if(!FUpdating){ if(ItalicButton->Down) CurrText()->Style = CurrText()->Style << fsItalic; else
CurrText()->Style = CurrText()->Style >> fsItalic;}}
//----------------------------------------------------------------------------
void __fastcall TMainForm::UnderlineButtonClick(TObject* /*Sender*/)
{if(!FUpdating){ if(UnderlineButton->Down)
CurrText()->Style = CurrText()->Style << fsUnderline;
else CurrText()->Style = CurrText()->Style >> fsUnderline;}}
//----------------------------------------------------------------------------
void __fastcall TMainForm::FontSizeChange(TObject* /*Sender*/)
{int fontsize = atoi(FontSize->Text.c_str()); if((!FUpdating) && (fontsize)) {
if(fontsize < 1) {ShowMessage(Reconst_SNumberbetween); FontSize->Text = 1; } else if(fontsize > 1638){
ShowMessage(Reconst_SNumberbetween); FontSize->Text = 1638;}
CurrText()->Size = atoi(FontSize->Text.c_str());}}
//----------------------------------------------------------------------------
void __fastcall TMainForm::AlignClick(TObject* Sender)
{if(!FUpdating){ TControl *oAliBtn = dynamic_cast<TControl*>(Sender);
RichEdit1->Paragraph->Alignment = static_cast<TAlignment>(oAliBtn->Tag);}}
//----------------------------------------------------------------------------
void __fastcall TMainForm::FontNameChange(TObject* /*Sender*/)
{ TCharsetObject* ChasrsetObject;
if(!FUpdating) { int FontIndex = FontName->ItemIndex;
if((FontIndex > -1) && (FontIndex < FontName->Items->Count)) { ChasrsetObject = dynamic_cast<TCharsetObject*>(FontName->Items->Objects[FontName->ItemIndex]);
CurrText()->Charset = ChasrsetObject->Charset;
CurrText()->Name = FontName->Items->Strings[FontName->ItemIndex];
}}}
//----------------------------------------------------------------------------
void __fastcall TMainForm::BulletsButtonClick(TObject* /*Sender*/)
{if(!FUpdating)
RichEdit1->Paragraph->Numbering = static_cast<TNumberingStyle>(BulletsButton->Down);}
//----------------------------------------------------------------------------
void __fastcall TMainForm::FormCloseQuery(TObject* /*Sender*/, bool & CanClose)
{ try {CheckFileSave();} catch(...) {CanClose = False; }}
//----------------------------------------------------------------------------
void __fastcall TMainForm::RulerItemMouseDown(TObject * Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{TLabel *oTmpLabel = dynamic_cast<TLabel *>(Sender);
FDragOfs = oTmpLabel->Width / 2;
oTmpLabel->Left = oTmpLabel->Left+X-FDragOfs; FDragging = True;}
//----------------------------------------------------------------------------
void __fastcall TMainForm::RulerItemMouseMove(TObject *Sender, TShiftState Shift, int X, int /*Y*/)
{if(FDragging) {
TLabel * oTmpLabel = dynamic_cast<TLabel *>(Sender); oTmpLabel->Left = oTmpLabel->Left+X-FDragOfs;}}
//----------------------------------------------------------------------------
void __fastcall TMainForm::FirstIndMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{FDragging = False; RichEdit1->Paragraph->FirstIndent = AsInt((FirstInd->Left+FDragOfs-GutterWid) / RulerAdj); LeftIndMouseUp(Sender, Button, Shift, X, Y);}
//----------------------------------------------------------------------------
void __fastcall TMainForm::LeftIndMouseUp(TObject *Sender, TMouseButton /*Button*/, TShiftState /*Shift*/, int /*X*/, int /*Y*/)
{FDragging = False; RichEdit1->Paragraph->LeftIndent = AsInt((LeftInd->Left+FDragOfs-GutterWid) /
RulerAdj)-RichEdit1->Paragraph->FirstIndent; SelectionChange(Sender); }
//----------------------------------------------------------------------------
void __fastcall TMainForm::RightIndMouseUp(TObject *Sender, TMouseButton /*Button*/, TShiftState /*Shift*/, int /*X*/, int /*Y*/)
{FDragging = False; RichEdit1->Paragraph->RightIndent =
AsInt((Ruler->ClientWidth-RightInd->Left+FDragOfs-2) / RulerAdj) - 2 * GutterWid; SelectionChange(Sender); }
//----------------------------------------------------------------------------
void __fastcall TMainForm::FormActivate(TObject *Sender)
{Application->HelpFile = "RICHEDIT.HLP"; RichEdit1->SetFocus();}
//---------------------------------------------------------------------
void SetLocaleOverrides(char* FileName, char* LocaleOverride)
{HKEY Key; const char* LocaleOverrideKey = "Software\\Borland\\Locales";
if(RegOpenKeyEx(HKEY_CURRENT_USER,LocaleOverrideKey, 0, KEY_ALL_ACCESS, &Key)
== ERROR_SUCCESS) {if(lstrlen(LocaleOverride) == 3)
RegSetValueEx(Key, FileName, 0, REG_SZ, (const BYTE*)LocaleOverride, 4); RegCloseKey(Key);}}
//---------------------------------------------------------------------
void __fastcall TMainForm::FormDestroy(TObject *Sender)
{for(int n = 0;n < FontName->Items->Count;n++) if(FontName->Items->Objects[n])
{delete FontName->Items->Objects[n]; FontName->Items->Objects[n] = NULL;}}
//----------------------------------------------------------------------------
__fastcall TCharsetObject::TCharsetObject(int FCharset): TObject() {Charset = FCharset;}
//---------------------------------------------------------------------------
void __fastcall TMainForm::BitBtn1Click(TObject *Sender)
{CheckFileSave();
SetFileName(Reconst_SUntitled); RichEdit1->Lines->Clear(); RichEdit1->Modified = False;}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SpeedButton1Click(TObject *Sender)
{CheckFileSave();
SetFileName(Reconst_SUntitled); RichEdit1->Lines->Clear(); RichEdit1->Modified = False; }
//---------------------------------------------------------------------------
5. Контрольный пример
В качестве «Тестовой площадки» для проверки работы программы будет использоваться компьютер с операционной системой Microsoft Windows XP (и выше), а также программное обеспечение Borland C++ Builder 6 - при отсутствии исполнимого файла.
Для контрольного примера работы данного типа программ будем использовать приложение WordPad, идущее в комплекте с операционной системой Microsoft Windows .
Запустим программу WordPad из меню «Пуск - Программы - Стандартные - WordPad». Создадим простой документ и произведем над ним операции форматирования, такие как переключение шрифта на жирный, наклонный или подчеркнутый, отступ первой строки, изменение размера шрифта, а также самого его типа (Рис. 10):
Рис. 10
В итоге мы имеем отформатированный текст, как пример правильной работы текстового редактора.
6. Результат работы программы
Запустим созданную программу DiamondPad. Создадим простой документ и произведем над ним те же операции форматирования, что и с контрольным примером (Рис.11):
текстовый редактор программирование форматирование
Рис.11
Текст вводится, форматируется, выводится на печать, буфер обмена работает, кнопки действуют, файлы приложения сохраняются как в формате RTF так и TXT. Программа работает стабильно и выполняет свои функции.
7. Заключение
Программа DiamondPad служит как текстовый процессор, предоставляя базовые возможности обработки текста. Она может быть использована как для решения простейших задач по работе с текстом, так и более сложных работ с форматированием и работой с форматом RTF. Программа предназначена как для повседневного, домашнего использования, так и на предприятии или офисе.
DiamondPad имеет следующие возможности форматирования текста:
· Шрифт
· Размер шрифта
· Начертание шрифта
· Жирный шрифт
· Подчёркивание
· По левому краю
· По центру
· По правому краю
· Маркировка
· Вставка из буфера обмена
9. Список литературы
1. Понамарев В.И. Программирование на C++/C# в Visual Studio .NET 2003 БХВ-Петербург. 2004.
2. Давыдов В.Г. Технологии программирования C++ БХВ-Петербург. 2005.
3. Дж. Коплиен Программирование на C++. 2005.
4. Александров В.И. Создание оконных приложений в среде программирования C++ Builder 6. Аст-пресс. 2006.
5. Антонов С.Н. С++ для начинающих. Диалектика - Санкт-Петербург. 2007.
6. И.М. Ратнер. Практикум по дисциплине «Высокоуровневые методы
информатики и программирования»
Размещено на Allbest.ru
Подобные документы
Типы, основные функции, элементы и принцип работы текстового редактора (компьютерной программы). Методы вставки внешних объектов в текст. Особенности текстового процессора Microsoft Word, его специальные возможности. Типовая структура интерфейса.
реферат [15,8 K], добавлен 07.12.2010Настройка текстового редактора MS Word. Создание текстового документа. Создание шаблона. Форматирование сложного документа. Создание списков и колонок текста. Создание таблиц. Создание формул. Связывание и внедрение объектов. Создание макросов.
контрольная работа [36,6 K], добавлен 10.05.2004Разработка текстового редактора с подсветкой синтаксиса языков программирования. Загрузка из XML-файла настроек для подсветки синтаксиса и конструкций языка. Формат файлов конфигурации и проверки. Разбор текста и применение к нему стилей, тестовый пример.
курсовая работа [141,6 K], добавлен 13.03.2013Дизайн интерфейса приложения как связь человека и персонального компьютера. Adobe Photoshop и его возможности, анализ функциональности и содержание главных операций. Используемые инструменты для разработки дизайна интерфейса текстового редактора.
контрольная работа [407,5 K], добавлен 12.10.2015Составление Win32 App проекта - простейшего текстового редактора, который позволяет выполнять такие операции: редактирование текста, копирование и вставку из одного окна проекта в другое окно проекта. Методы вызова диалогов сохранения и открытия файла.
курсовая работа [716,3 K], добавлен 09.11.2010Характеристика программ офисного назначения, версии текстового редактора Microsoft Word. Использование текстового редактора, табличного процессора Microsoft Excel и других программных средств в офисной деятельности предприятия ООО "Империя чистоты".
контрольная работа [24,1 K], добавлен 03.02.2012Функции текстового редактора как программы для работы с текстом. Использование редактора MS Word в научной деятельности исследователя-ономаста. Технология распознавания текста и организация работы с программой FineReader. Системы распознавания речи.
реферат [979,3 K], добавлен 16.10.2013Аналоги текстовых редакторов с русскоязычным интерфейсом. Разработка и тестирование программного продукта, позволяющего работать с текстом и файлами в редакторе на языке программирования, основанным на русском языке. Алгоритм функционала программы.
дипломная работа [2,8 M], добавлен 21.07.2013Решение задачи с помощью программы MS. Использование интерфейса для работы с электронной таблицей. Разработка и создание базы данных для хранения и обработки информации. Оформление пояснительной записки с помощью текстового редактора Microsoft Word.
курсовая работа [2,7 M], добавлен 13.01.2015Порядок створення нового документа в текстовому редакторі. Виділення окремих елементів документу( слова, рядка, тощо). Використання програми Блокнот. Переваги редактора Google Documents. Значення та можливості створення документів та текстових редакторів.
презентация [434,9 K], добавлен 17.05.2019