Програма MEdit (Micro Editor) демонструє використання компонентів RichEdit, MainMenu, ToolBar, SpeedButton, OpenDialog і saveDialog.

Код написання програми
AnsiString aFileName;
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
aFileName = "";
SpeedButton1->OnClick = imOpenClick;
SpeedButton2->OnClick = imSaveClick;
}
bool __fastcall TForm1::SaveText()
{
if (aFileName == "")
{
SaveDialog1->OptionsofPathMustExistofOverwritePrompt;
if (SaveDialog1->Execute())
{
aFileName = SaveDialog1->FileName;
}
else
return false;
}
RichEdit1->Lines->SaveToFile(aFileName);
return true;
}
void __fastcall TForm1::imOpenClick (TObject *Sender)
{
int r;
if (RichEdit1->Modified)
{
r = MessageDlg ("Тект був змінен.\n""Зберегти зміни?",
mtWarning,TMsgDlgButtons()mbYesmbNombCancel,0);
if (r == mrCancel)
{
if ( (r == mrYes) && ( ! SaveText()))
{
return;
}
}
}
OpenDialog1->FileName = "*.txt";
OpenDialog1->OptionsofPathMustExistofFileMustExist;
if (OpenDialog1->Execute())
RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
RichEdit1->Modified = false;
Form1->Caption = "MEdit - " + OpenDialog1->FileName;
aFileName = OpenDialog1->FileName;
}
}
void __fastcall TForm1::imSaveClick (TObject *Sender)
{
if (SaveText() )
{
RichEdit1->Modified = false;
Form1->Caption = "MEdit - " + aFileName;
}
}
void __fastcall TForm1::imExitClick(TObject *Sender)
{
Form1->Close();
}
void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
{
int r;
if (RichEdit1->Modified)
{
r = MessageDlg("Текст был изменен.\n""Сохранить изменения?", mtWarning,TMsgDlgButtons()mbYesmbNombCancel,0)
switch (r)
{
case mrYes:
if (!SaveText())
{
CanClose = false;
break;
}
case mrCancel: CanClose = false;
}
}
}
У файлі *назва файлу*.h:
public: // User declarations
bool __fastcall TForm1::SaveText();
__fastcall TForm1(TComponent* Owner);
void __fastcall TForm1::imOpenClick (TObject *Sender);
void __fastcall TForm1::imSaveClick (TObject *Sender);
void __fastcall TForm1::imExitClick (TObject *Sender);
void __fastcall TForm1::imToolBarClick(TObject *Sender);
void __fastcall TForm1::imAboutClick(TObject *Sender);
програмування