Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Примеры. Пример 2.1 Составить программу, которая читает текстовый файл в Memo1, определяет количество вхождений в текст указанного символа и количество разделителей






Пример 2.1 Составить программу, которая читает текстовый файл в Memo1, определяет количество вхождений в текст указанного символа и количество разделителей «;,:.!» и пробелов. Результаты вывести в Memo2 и записать в другой файл.

Меню Файл содержит следующие пункты:

Создать, Открыть, Сохранить, Сохранить как, Расчет, Выход

Меню Справка содержит пункт О программе

 

Рисунок-29. Исходная форма

объекта.

TMainMenu позволяет Вам поместить главное меню в программу. При помещении TMainMenu на форму это выглядит, как просто иконка. Иконки данного типа называют " невидимыми компонентом", поскольку они невидимы во время выполнения программы. Создание меню включает три шага: (1) помещение TMainMenu на форму, (2) вызов Дизайнера Меню через свойство Items в Инспекторе Объектов, (3) определение пунктов меню в Дизайнере Меню.

TPopupMenu позволяет создавать всплывающие меню. Этот тип меню появляется по щелчку правой кнопки мыши на объекте, к которому привязано данное меню. У всех видимых объектов имеется свойство PopupMenu, где и указывается нужное меню. Создается PopupMenu аналогично главному меню.

TImage - отображает графическое изображение на форме. Воспринимает форматы BMP, ICO, WMF. Если картинку подключить во время дизайна программы, то она прикомпилируется к EXE файлу.

 

Листинг программы:

//---------------------------------------------------------------------------

 

#include < vcl.h>

#include < io.h>

#include < string.h>

#include < SysUtils.hpp>

#include < stdio.h>

#pragma hdrstop

 

#include " struct.h"

#include " Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource " *.dfm"

TForm1 *Form1;

AnsiString fname=" ";

char buf[256]=" ";

 

 

//TStringList *List= new TStringList;

//---------------------------------------------------------------------------

__fastcall TForm1:: TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1:: AexitExecute(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

 

 

//открытие файла

void __fastcall TForm1:: AopenExecute(TObject *Sender)

{ Edit1-> Text=" ";

if (OpenDialog1-> Execute()) {

fname=OpenDialog1-> FileName;

Memo1-> Lines-> LoadFromFile(fname);

}

}

//---------------------------------------------------------------------------

 

//создание нового файла

void __fastcall TForm1:: ANewExecute(TObject *Sender)

{

Memo1-> Clear();

Memo2-> Clear();

}

//---------------------------------------------------------------------------

// подсчет

void __fastcall TForm1:: ArunExecute(TObject *Sender)

{ AnsiString del=";,:.! ";

AnsiString st, st1;

int i, m=0, j=0;

Memo2-> Clear();

st1=Edit1-> Text; //ввести символ для поиска

for (i=0; i< =Memo1-> Lines-> Count; i++)

{

StrPCopy(buf, Memo1-> Lines-> Strings[i]);

st=buf;

for (int k=1; k< =StrLen(st.c_str()); k++)

{if (IsDelimiter(del, st, k)) j++; //подсчет количества разделителей в файле

if (IsDelimiter(st1, st, k)) m++; //подсчет введенного в Edit1 символа

} }

 

Memo2-> Lines-> Add(" количество символов " +Edit1-> Text+" равно " +IntToStr(m));

Memo2-> Lines-> Add(" количество разделителей " "; " ",:.! и пробелов равно " +IntToStr(j));

}

//---------------------------------------------------------------------------

 

//---------------------------------------------------------------------------

// сохранение файла под тем же именем

void __fastcall TForm1:: AsaveExecute(TObject *Sender)

{ if (fname! =" ")

Memo2-> Lines-> SaveToFile(fname);

else

if (SaveDialog1-> Execute()) {

fname=SaveDialog1-> FileName;

Memo2-> Lines-> SaveToFile(fname); }

}

//---------------------------------------------------------------------------

// сохранение файла под другим именем

void __fastcall TForm1:: ASaveAsExecute(TObject *Sender)

{

SaveDialog1-> FileName=fname;

if (SaveDialog1-> Execute()) {

fname=SaveDialog1-> FileName;

Memo2-> Lines-> SaveToFile(fname);

}

}

//---------------------------------------------------------------------------

 

 

void __fastcall TForm1:: AHelpExecute(TObject *Sender)

{

AboutBox-> ShowModal();

}

//---------------------------------------------------------------------------






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.