- •2 . Пример
- •Лабораторная работа № 2
- •1 Содержание работы
- •1 Порядок выполнения лабораторной работы:
- •Задание
- •2. Пример
- •Лабораторная работа№ 3
- •1 Порядок выполнения лабораторной работы:
- •Задание
- •Часть вторая: Оператор выбора
- •1 Порядок выполнения лабораторной работы:
- •Задание
- •Группа а Таблица 7
- •Группа в
- •2. Примеры
- •Лабораторная работа№ 4
- •1 Порядок выполнения лабораторной работы:
- •Задание
- •2 Примеры
- •For (выражение1; выражение2;выражение3) {операторы; }
- •Лабораторная работа№ 5
- •1 Порядок выполнения лабораторной работы:
- •Задание
- •2. Примеры
- •3. Сортировка элементов массива
- •Сортировка выбором
- •3.2. Сортировка вставкой
- •3.3. Сортировка методом прямого выбора
- •3.4. Сортировка методом обмена
- •Лаборатоная работа № 6
- •1 Порядок выполнения лабораторной работы:
- •Задание
- •Методические указания
- •Лабораторная работа № 7
- •1 Порядок выполнения лабораторной работы:
- •Лаборатоная работа № 8
- •1 Порядок выполнения лабораторной работы:
- •Задания
- •2. Теоретические сведения
- •Год рождения – 1978
- •Лабораторная работа № 9
- •1 Порядок выполнения лабораторной работы:
- •Лабораторная работа № 10
- •1 Порядок выполнения лабораторной работы:
- •2. Задание для выполнения
- •2. Примеры
- •Лабораторная работа № 11
- •1 Порядок выполнения лабораторной работы:
- •2. Задание для выполнения
- •Варианты заданий
- •Лабораторная работа № 12
- •1 Порядок выполнения лабораторной работы:
- •2. Краткие теоретические сведения Объектно-ориентированный подход
- •Сущности и Объекты
- •Система типов
- •Инкапсуляция
- •Пример класса
- •Создание объектов. Конструкторы и деструктор
- •Наследование
- •Перегрузка функций
- •Полиморфизм
- •Функции-друзья
- •Абстрактные классы
- •Дополнительные возможности
- •Индивидуальные задания
- •2.1. Пример решения задания
- •Int windForce; // Сила ветра в баллах
- •Int startHeight; // Начальная высота
- •Int fuel; // Запас топлива
- •Результат выполнения программы:
- •Список использованной литературы
2. Примеры
Пример 2.1 Составить программу, которая читает текстовый файл в Memo1, определяет количество вхождений в текст указанного символа и количество разделителей «;,:.!» и пробелов. Результаты вывести в Memo2 и записать в другой файл.
Меню Файл содержит следующие пункты:
Создать, Открыть, Сохранить, Сохранить как, Расчет, Выход
Меню Справка содержит пункт О программе
Рисунок-29. Исходная форма объекта.
T
MainMenu
позволяет Вам поместить главное меню
в программу. При помещении 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();
}
//---------------------------------------------------------------------------
