Литература, Текст программы - Разработка визуального редактора
- 1. Методические указания по выполнению курсовых и дипломных проектов. Специальность: 2-40 02 01 "Программное обеспечение информационных технологий"; 2. Культин Н. Б. Самоучитель С++ Builder. - СПб.: БХВ-Петербург,2005. - 320с.: ил. 3. Культин Н. Б. С/С++ в задачах и примерах. - СПб.: БХВ-Петербург, 2006. - 288с.: ил. 4. Borland Builder C++. Освой самостоятельно. - СПб.: Питер, 2005. - 702с.: ил. 5. Холзнер С. Visual C++ 6. Учебный курс. - СПб.: Питер, 2006. - 570с.: ил. 6. Красиков И. В., Красикова И. Е. Алгоритмы. Просто как дважды два. - М.: Эксмо,2006. - 256с.: ил. 7. Карпов Б., Баранова Т. С++. Специальный справочник (2-е издание). - СПб.: Питер, 2005. - 381с.: ил. 8. Франка П. С++: Учебный курс. - СПб.: Питер, 2005. - 522с.: ил. 9. Википедия - свободная энциклопедия [Электронный ресурс]. - Электронные данные. - Режим доступа: http://ru. wikipedia. org/wiki/Веб-сайт; 10. Embarcadero Website [Электронный ресурс]. - Электронные данные. - Режим доступа: https://www. embarcadero. com/ru/products/cbuilder
Текст программы
//---------------------------------------------------------------------------
#include <vcl. h>
#pragma hdrstop
#include "mshtml. h"
#include "home. h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
Using namespace std;
TForm1 *Form1;
IDispatch *Disp = NULL;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::FormCreate(TObject *Sender)
{
This->WebBrowser1->Navigate("about:<html><body></body></html>");
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
If (this->WebBrowser1->Document)
{
IHTMLDocument2 *html;
This->WebBrowser1->Document->QueryInterface<IHTMLDocument2>(&;html);
BSTR bstrMode;
Html->get_designMode(&;bstrMode);
BSTR chek = L"On";
// Смена режима редактиования на режим просмотра )
If ( wcscmp(bstrMode, chek) ) {
html->put_designMode(L"On");
this->StatusBar1->Panels->operator [](1)->Text = "Редактирование";
this->BitBtn1->Caption = "Заблокировать";
}else{
html->put_designMode(L"Off");
this->StatusBar1->Panels->operator [](1)->Text = "Просмотр";
this->BitBtn1->Caption = "Редактировать";
}
html->Release();
}
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::ButtonGroup1Items1Click(TObject *Sender)
{
if (this->WebBrowser1->Document)
{
IHTMLDocument2 *html;
TStringList *t = new TStringList;
this->WebBrowser1->Document->QueryInterface<IHTMLDocument2>(&;html);
IHTMLElement *pElement;
html->get_body(&;pElement);
pElement->get_parentElement(&;pElement);
wchar_t *tmp;
pElement->get_outerHTML(&;tmp);
t->Text = tmp;
if (this->SaveDialog1->Execute()){
t->SaveToFile( this->SaveDialog1->FileName);
}
pElement->Release();
html->Release();
}
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::ButtonGroup1Items0Click(TObject *Sender)
{
if(this->OpenDialog1->Execute()){
Application->ProcessMessages();
TStringList *t = new TStringList;
t->LoadFromFile(this->OpenDialog1->FileName);
if (this->WebBrowser1->Document) {
this->WebBrowser1->Navigate("about:"+t->Text+"");
this->StatusBar1->Panels->operator [](1)->Text = "Просмотр";
this->BitBtn1->Caption = "Редактировать";
}
}
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::ButtonGroup1Items3Click(TObject *Sender)
{
IHTMLDocument2 *html;
this->WebBrowser1->Document->QueryInterface<IHTMLDocument2>(&;html);
html->put_designMode(L"Off");
this->StatusBar1->Panels->operator [](1)->Text = "Просмотр";
this->BitBtn1->Caption = "Редактировать";
this->WebBrowser1->Navigate("about:blank");
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::ButtonGroup1Items2Click(TObject *Sender)
{
if(this->WebBrowser1->Document){
IHTMLDocument2 *html;
this->WebBrowser1->Document->QueryInterface<IHTMLDocument2>(&;html);
html->put_designMode(L"Off");
this->WebBrowser1->Navigate("about:blank");
this->StatusBar1->Panels->operator [](1)->Text = "Просмотр";
this->BitBtn1->Caption = "Редактировать";
html->Release();
}
}
//---------------------------------------------------------------------------
Void ExecComd(BSTR cmd, VARIANT_BOOL showUI ){
if ( Form1->WebBrowser1->Document)
{
IHTMLDocument2 *html;
Form1->WebBrowser1->Document->QueryInterface<IHTMLDocument2>(&;html);
VARIANT var;
VARIANT_BOOL receive;
html->execCommand(cmd, showUI, var, &;receive);
html->Release();
}
}
Void ExecComd2(BSTR cmd, VARIANT_BOOL showUI, VARIANT var ){
if ( Form1->WebBrowser1->Document)
{
IHTMLDocument2 *html;
Form1->WebBrowser1->Document->QueryInterface<IHTMLDocument2>(&;html);
VARIANT_BOOL receive;
html->execCommand(cmd, showUI, var, &;receive);
html->Release();
}
}
Void __fastcall TForm1::Image5Click(TObject *Sender){ExecComd(L"Bold",true);}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Image8Click(TObject *Sender){ExecComd(L"Italic",true);}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Image6Click(TObject *Sender){ExecComd(L"underline",true);}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Image2Click(TObject *Sender){ExecComd(L"InsertImage",true);}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Image9Click(TObject *Sender){ExecComd(L"JustifyLeft",true);}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Image12Click(TObject *Sender){ExecComd(L"JustifyCenter",true);}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Image10Click(TObject *Sender){ExecComd(L"JustifyRight",true);}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Image11Click(TObject *Sender){ExecComd(L"justifyFull",true);}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Image1Click(TObject *Sender){ExecComd(L"Indent",true);}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Image3Click(TObject *Sender){ExecComd(L"CreateLink",true);}
//---------------------------------------------------------------------------
Void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
if (RichEdit2->Text. Trim() == "" || RichEdit1->Text. Trim() == "") {
Beep();
return;
}
start = clock();
TStringList* tmpList = new TStringList;
tmpList->Assign(RichEdit2->Lines);
AnsiString procent = "";
for(int i=0; i < tmpList->Count ; i++){
AnsiString test = tmpList->operator [](i).Trim();
if (test. Length() < 3 ) {
continue;
}
TStringList* result = search(test, RichEdit1->Lines->Text);
if (result!= NULL) {
AppendStr(procent, tmpList->operator [](i));
for(int i=0; i < result->Count ; i++){
// Form1->Memo1->Lines->Add(test);
RichEdit1->SelStart = StrToInt(result->operator [](i));
RichEdit1->SelLength = test. Length();
RichEdit1->SelAttributes->Color = clRed;
}
}
test = tmpList->operator [](i);
AnsiString noop = AnsiString::StringOfChar('ђ',test. Length());
tmpList->Text = StringReplace(tmpList->Text, test, noop, TReplaceFlags() << rfReplaceAll);
}
clock_t tmpl = clock();
Label4->Caption = "Текст уникален на " + FloatToStr(100.0 - (procent. Length() / (RichEdit1->Text. Length() / 100))) + "%";
log( "", "");
ADOTable1->Insert();
ADOTable1->Fields->operator [](2)->AsDateTime = Time();
ADOTable1->Fields->operator [](2)->AsString =FloatToStr((tmpl - start) / CLK_TCK)+" s.";
ADOTable1->Fields->operator [](3)->AsWideString = RichEdit2->Text. Trim();
ADOTable1->Fields->operator [](4)->AsWideString = RichEdit2->Text. Trim();
ADOTable1->Post();
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Button1Click(TObject *Sender)
{
RichEdit1->Lines->Clear();
RichEdit2->Lines->Clear();
LabeledEdit1->Text = "";
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
if (!OpenTextFileDialog1->Execute()) return;
RichEdit1->Lines->LoadFromFile(OpenTextFileDialog1->FileName);
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{
if (!OpenTextFileDialog1->Execute()) return;
RichEdit2->Lines->LoadFromFile(OpenTextFileDialog1->FileName);
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::SpeedButton3Click(TObject *Sender)
{
if (!SaveTextFileDialog1->Execute()) return;
RichEdit1->Lines->SaveToFile(SaveTextFileDialog1->FileName);
}
Похожие статьи
-
Общие сведения о программе Программа разработана для демонстрации возможностей языка C++ и может использоваться для пользователей, которые не знакомы с...
-
Концепция построения программы Список всех классов приведен на рисунке 3.1. Рисунок 3.1 - Диаграмма классов программы В качестве главного класса...
-
Первая программа - движение слева направо Просмотрите код Unit1.pas для нашего примера: Unit Unit1; Interface Uses Windows, Messages, SysUtils, Variants,...
-
А - Разработка программы на языке C++, реализующей игру "Морской бой"
ТЕКСТ ПРОГРАММЫ Текст программы состоит из следующих модулей: UShipBattle. h, UShipBattle. cpp, ShipBattle. cpp ShipBattle. cpp // - #include <vcl. h>...
-
Интерфейс Windows forms - Разработка визуального редактора
Windows Forms - интерфейс программирования приложений (API), отвечающий за графический интерфейс пользователя и являющийся частью Microsoft. NET...
-
Заключение - Разработка визуального редактора
Программа получилась небольшой, но функциональной. В полной степени справляется с поставленными задачами. В дальнейшем ее можно будет улучшать в плане...
-
Сообщения системы, Системные требования, Элементы управления - Разработка визуального редактора
Главные сообщения пользователю представлены отдельными диалоговыми окнами, появляющимися на главном окне после определенных действий. Если пользователь...
-
Библиотека MSHTML MSHTML (так же известен как Trident) - браузерный движок для Microsoft Internet Explorer. Впервые Trident был реализован в четвертой...
-
Описание алгоритмов Рассмотрим один из основных алгоритмов, задействованных в программе, - алгоритм передвижения мяча. Блок-схема алгоритма изображена на...
-
Постановка задачи, выбор предметной области Предметная область: "Автомобиль". Создание автомобиля будет состоять из трех этапов: выбор кузова, выбор...
-
Сеть Петри это двудольный направленный граф с маркировкой, ребра которого задают причинно-следственные отношения "события-условия" и именуются дугами....
-
Литература - Разработка программы для реализации редактора временных графов синхронизации
1. Авдошин С. М. Оптимизация гибких производственных систем // 1987. 2. Лескин А. А. Алгебраические модели гибких производственных систем // 1986. 3....
-
Заключение - Разработка программы для реализации редактора временных графов синхронизации
Результатом выполнения задания является реализованный редактор временных графов синхронизации (класс временных сетей Петри), соответствующий задачам,...
-
Пример с tegview ¦ L-- qml ¦ +-- tegrender. js ¦ L-- tegview. qml +-- tegview ¦ +--...
-
Поворот точки относительно центра на заданный угол: X = o. X + (p. X-o. X) * cos(angle) - (p. Y-o. Y) * sin(angle) Y = o. Y + (p. X-o. X) * sin(angle) +...
-
Выполнение задания осуществлялось на эмуляторе микро ЭВМ СМ - 1800 (Эмулятор Смирнова), установленном на ПК на базе процессора AMD Atlon(tm) X2 240 2.79...
-
Приложение разрабатывается в соответствии с паттерном проектирования Model-View-Presenter (MVP), который является производным от Model-View-Controller...
-
Стек технологий При выборе стека технологий основное внимание уделялось следующим факторам, в порядке убывания значимости: § Кроссплатформенность; §...
-
В данном разделе выпускной квалификационной работы описывается процесс разработки программы извлечения КП текста, а также производится оценка качества ее...
-
Сравнение аналогов - Разработка программы для реализации редактора временных графов синхронизации
Поскольку конечной целью работы был редактор сетей Петри, интегрированный с внешней библиотекой алгебраических вычислений, было рациональным рассмотреть...
-
Множество D с двумя заданными на нем операциями (плюс) и (умножение) называется диоидом, если выполнены следующие аксиомы: § Ассоциативность. §...
-
Обоснование выбранного метода При дизайне системы согласно требованиям или при оптимизации существующей необходимо ввести модель, позволяющую не только...
-
В ходе исследования был разработан веб-редактор для визуального языка в соответствии с требованиями, выделенными в главе 2, по результатам опроса...
-
Ввиду того, что для языка JAPE не предусмотрен специализированный редактор, разработчики рекомендуют использовать Vim[10] или Eclipse[11], ассоциировав...
-
"WWWSQLDesigner" позиционируется как абсолютно бесплатный, доступный для пользователей, универсальный веб-редактор, значительно упрощающий процесс...
-
Введение - Разработка программы для реализации редактора временных графов синхронизации
Математическое моделирование дискретно-событийных динамических систем является относительно молодым направлением науки теории управления. Разработка...
-
Данное методическое руководство является фактически введением в предмет создания приложений с помощью Delphi / C++Builder и тем более...
-
Технические требования Техническое задание данной работы требует разработать программу для визуального редактирования HTML-кода. Программа должна быть...
-
Введение - Разработка визуального редактора
В начале семидесятых консорциум очень умных людей разрабатывал компьютерную систему Muitix. Ее предназначением было обеспечение недорогого всеобщего...
-
Программная документация Модуля включает: Руководство системного программиста; Руководство оператора. Программная документация должна быть оформлена...
-
Блок-схема алгоритма - Основные типы графических редакторов
РЕАЛИЗАЦИЯ Для реализации приложения был использован языка программирования C++. Код получившейся программы представлен ниже: Код в файле Unit1.h:...
-
ClassBase_Korabl {:Color;:_Korabl();Prorisovka(short x, short y); } В этом листинге в производном классе был переопределен метод Prorisovka() для...
-
Литература - Разработка аналитического приложения
1. МАКРОЭКОНОМИКА УЧЕБНИК ДЛЯ БАКАЛАВРОВ 2-е издание, исправленное и дополненное. Под редакцией С. Ф. Серегиной 2. Авторский коллектив: Аносова А. В. --...
-
Характеристика даних і їх умовні позначення, Текст програми - Розробка гри в С# "Корови та бики"
Mas - змінна типу String, число введене гравцем, як тексту; Mas1 - массив даних типу char, число, загадане програмою, по одній цифрі у кожному елементі...
-
В программе присутствуют следующие основные модули: - PlatformManager - DeviceManager - ScenariosManager - ScenarioEngine - ExportManager - ImportManager...
-
Введение - Разработка программ преобразования форматов двоичных данных и сортировок
Программа юникод кодирование Основной задачей работы является разработать программу, преобразующую массив чисел в соответствующий формат. Перед тем, как...
-
В ходе работы был спроектирован и реализован интернет-магазин спортивных товаров и футбольной атрибутики. Также был произведен расчет экономической...
-
Литература - Разработка локальной сети для ОАО "Корпорация Монстров"
1. Олифер, В. Г. Компьютерные сети. Принципы, технологии, протоколы: учебник для ВУЗов / В. Г. Олифер, Н. А. Олифер. 4-е изд. М.: Изд-во Питер, 2012. 944...
-
Требования к функционированию программы Модуль функционирует в следующих режимах: Ш подготовка исходных данных; Ш заключение договора с клиентом; Ш...
-
Наименование программы Полное наименование программы - Модуль ипотечного кредитования банковской информационной системы "БИС". Краткое наименование...
Литература, Текст программы - Разработка визуального редактора