C++ Builder编写文本编辑器
CB是BORLAND公司继DELPHI之后开发的又一个通用的客户/服务器结构的开发工具。C++Builder的集成开发坏境除了深入更多的Windows95控制元件,可以建立的对象分类更为详细,添加了许多DELPHI所没有的部件之外,C++Builder的界面基本上与DHLPHI完全相同。C++Builder使用C++语言而不是object pascal语言,所以可以产生更快速和更高效的代码。
我学过并使用过foxbase、visual foxpro、c、borland c++、visual basic和visual c++,但从没有一个编程语言像CB这样给我留下如此深刻的印象,下面我就介绍用C++BUILDER编写文本编辑器,功能类似于WINDOWS的记事本,希望能将您带入到有趣味的C++BUILDER世界中。
本程序中对象属性值说明如下:
对象类 属性 属性值
TMEMO NAME edit
TBUTTON NAME bopen
CAPTION “open”
NAME bsave
CAPTION “save”
NAME bexit
CAPTION “exit”
TopenDialog NAME opendialog
TsaveDialog NAME savedialog
源代码如下:
//--------
#include
#pragma hdrstop
#include “Unit1.h”
#pragma resource “*.dfm”
Tform1 *Form1;
_fastcall Tform1::Tform1(Tcomponent * Owner)
:Tform(Owner)
{
}
//-------以上由电脑自动生成---
void _fastcall Tform1::FormCreate(Tobject *Sender)
{
bsave->Enabled=false; //将“SAVE”键设置为无效
edit->Lines->Clear(); //清除EDIT中的内容
edit->Enabled=false; //将EDIT设为无效
}
//------以上是窗体建立时初始内容----
void _fastcall Tform1::bopenClick(Tobject *Sender)
{
if(edit->Modified)//若EDIT中的文本已被改变,但未保存,则弹出对话框,询问是否保存
{yn=Application->MessageBox(“文件已经修改,是否保存?”,“打开”,MB_YESNO|MB_ICONQUESTION);
if(yn==IDYES)edit->Lines->SaveToFile(savedialog->FileName);
}
edit->Enabled=true;
if(opendialog->Execute())edit->Lines->LoadFromFile(opendialog->FileName);
edit->Modified=false;
bsave->Enabled=false;
}
//------以上是打开文件按钮的过程------
void _fastcall TForm1::bsaveClick(Tobject *Sender)
{
if(savedialog->Execute())edit->Lines->SaveToFile(savedialog->FileName);
edit->Modified=false;
bsave->Enabled=false;
}
//------以上是保存文件按钮的过程------
void _fastcall TForm1::editChange(TObject *Sender)
{
bsave->Enabled=true;
}
//---------------------
void _fastcall TForm1::bexitClick(Tobject *Sender)
{
Close();
}
以上在C++BUILDER3.0中测试通过.