Литература, Текст программы - Разработка визуального редактора

    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);

}

Похожие статьи




Литература, Текст программы - Разработка визуального редактора

Предыдущая | Следующая