![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Примеры. Пример 2.1 Составить программу, которая читает текстовый файл в Memo1, определяет количество вхождений в текст указанного символа и количество разделителей
Пример 2.1 Составить программу, которая читает текстовый файл в Memo1, определяет количество вхождений в текст указанного символа и количество разделителей «;,:.!» и пробелов. Результаты вывести в Memo2 и записать в другой файл. Меню Файл содержит следующие пункты: Создать, Открыть, Сохранить, Сохранить как, Расчет, Выход Меню Справка содержит пункт О программе
Рисунок-29. Исходная форма объекта.
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(); } //---------------------------------------------------------------------------
|