//“保存”菜单项的OnClick事件:
void __fastcall TForm1::MenuSaveClick(TObject *Sender)
{
//保存文件
if(SaveDialog1-$#@62;Execute())
RichEdit2-$#@62;Lines-$#@62;SaveToFile(SaveDialog1-$#@62;FileName);
}
//--------------------------------------------------------------
//“退出”菜单项的OnClick事件:
void __fastcall TForm1::MenuExitClick(TObject *Sender)
{
Close();
}
//--------------------------------------------------------------
//“开始”菜单项的OnClick事件:
void __fastcall TForm1::MenuStartClick(TObject *Sender)
{
AnsiString StrLine,StrI,StrJ,StrSpaces;
int SpacesLen,IndentCount;
int CurIndent=0;
RichEdit2-$#@62;Lines-$#@62;Clear();
RichEdit2-$#@62;Lines-$#@62;Add("$#@60;HTML$#@62;");
RichEdit2-$#@62;Lines-$#@62;Add("$#@60;head$#@62;");
RichEdit2-$#@62;Lines-$#@62;Add("$#@60;title$#@62;Untitled Document$#@60;/title$#@62;");
RichEdit2-$#@62;Lines-$#@62;Add("$#@60;meta http-equiv=\"Content-Type\" content=\"text/HTML; charset=gb2312\"$#@62;");
RichEdit2-$#@62;Lines-$#@62;Add("$#@60;/head$#@62;");
RichEdit2-$#@62;Lines-$#@62;Add("");
RichEdit2-$#@62;Lines-$#@62;Add("$#@60;body bgcolor=\"#FFFFFF\" text=\"#000000\"$#@62;");
//循环转换每一行
for(int i=0;i$#@60;RichEdit1-$#@62;Lines-$#@62;Count;i++)
{
SpacesLen=0;
StrI=RichEdit1-$#@62;Lines-$#@62;Strings[i];
//检测有多少空格
do
{
SpacesLen++;
}
while (StrI.SubString(SpacesLen,1)==" ");
//加上空格
StrLine=AnsiString::StringOfChar(" ", SpacesLen-1);
//IndentCount为本行需要缩进数
IndentCount=(SpacesLen-1)/2;
//进行缩进,CurIndent为已经缩进数
if(IndentCount$#@62;CurIndent)
{
for(int k=0;k$#@60;IndentCount-CurIndent;k++)
{
StrSpaces=AnsiString::StringOfChar(" ", (k+CurIndent) * 2);
RichEdit2-$#@62;Lines-$#@62;Add(StrSpaces+"$#@60;blockquote$#@62;");
}
}
else
{
for(int k=CurIndent-IndentCount;k$#@62;0;k--)
{
StrSpaces=AnsiString::StringOfChar(" ", (k+CurIndent-2) * 2);
RichEdit2-$#@62;Lines-$#@62;Add(StrSpaces+"$#@60;/blockquote$#@62;");
}
}
CurIndent=IndentCount;
//去掉所有空格
StrI=StrI.Trim();
StrLine+="$#@60;p$#@62;";
//转换特殊符号
for(int j=1;j$#@60;=StrI.Length();j++)
{
StrJ=StrI.SubString(j,1);
if(StrJ=="&")
StrLine+="&";
else if(StrJ=="\"")
StrLine+=""";
else if(StrJ=="$#@60;")
StrLine+="$#@60;";
else if(StrJ=="$#@62;")
StrLine+="$#@62;";
else
StrLine+=StrJ;
}
StrLine+="$#@60;/p$#@62;";
RichEdit2-$#@62;Lines-$#@62;Add(StrLine);
}
//根据已经缩进数用$#@60;/blockquote$#@62;进行配对
for(int k=CurIndent-IndentCount;k$#@62;0;k--)
{
StrSpaces=AnsiString::StringOfChar(" ", (k+CurIndent-2) * 2);
RichEdit2-$#@62;Lines-$#@62;Add(StrSpaces+"$#@60;/blockquote$#@62;");
}
RichEdit2-$#@62;Lines-$#@62;Add("$#@60;/body$#@62;");
RichEdit2-$#@62;Lines-$#@62;Add("$#@60;/HTML$#@62;");
if(Application-$#@62;MessageBox("文件已经转换成功!\n是否保存?","转换成功",48+MB_YESNO)==IDYES)
MenuSaveClick(NULL);
}
//--------------------------------------------------------------
//“关于”菜单项的OnClick事件:
void __fastcall TForm1::MenuAboutClick(TObject *Sender)
{
Application-$#@62;MessageBox("作者:符东亮","关于...",64);
}
//--------------------------------------------------------------
以上程序在Win98/Win2000,Borland C++ Builder 5.0 下运行通过。

BK网络学院主要内容:平面设计教程,网站开发在线教程,网页制作教程,服务器教程,网络编程,数据库教程等。