Разделы презентаций


Тема: Среда Embarcadero RAD Studio – C++ Builder

Содержание

Основные понятия ООПОбъектно-ориентирование программирование (ООП) - это методика разработки программ, в основе которой лежит понятие объекта, как некоторой структуры, описывающей объект реального мира, его поведение.Функциональную возможность и структуру объектов задают классы

Слайды и текст этой презентации

Слайд 1Тема: Среда Embarcadero RAD Studio – C++ Builder
Основные понятия ООП
Визуальное

программирование. Основные понятия
Основы работы в C++ Builder
Компонент форма - TForm



Тема: Среда Embarcadero RAD Studio – C++ BuilderОсновные понятия ООПВизуальное программирование.  Основные понятияОсновы работы в C++

Слайд 2Основные понятия ООП
Объектно-ориентирование программирование (ООП) - это методика разработки программ,

в основе которой лежит понятие объекта, как некоторой структуры, описывающей

объект реального мира, его поведение.
Функциональную возможность и структуру объектов задают классы – типы данных, определенные пользователями.
Класс – это сложная структура, включающая, помимо описания данных, описание процедур и функций, которые могут быть выполнены над представителем класса – объектом.

Основные понятия ООПОбъектно-ориентирование программирование (ООП) - это методика разработки программ, в основе которой лежит понятие объекта, как

Слайд 3Основные понятия ООП
Данные класса называются полями, процедуры и функции –

методами – выполняемые объектом действия. Через методы происходит общение с

данными объекта.
Совокупность данных и методов их чтения и записи называется свойством. Свойства объекта характеризуется полем, сохраняющим значение свойства, и двумя методами, обеспечивающими доступ к полю свойства.
В программе C++ для установки значения свойства достаточно записать обычную команду присваивания значения свойству. Для обращения к свойству указывают имя объекта и через -> значение свойства.
Например: Человек->Имя = “Иван”
Основные понятия ООПДанные класса называются полями, процедуры и функции – методами – выполняемые объектом действия. Через методы

Слайд 4Основные понятия ООП
Для того, чтобы метод был выполнен, необходимо указать

имя объекта и имя метода, отделив одно имя от другого

точкой.
Например: Человек->Есть(пища)
Средой взаимодействия объектов являются сообщения, генерируемые в результате различных событий.
События наступают, прежде всего вследствие действий пользователя – перемещения курсора мыши, нажатия кнопок мыши или клавиш клавиатуры.
Реакцией на событие должно быть какое-либо действие. В C++ реакция на событие реализуется как процедура его обработки, называемая обработчиком события.

Основные понятия ООПДля того, чтобы метод был выполнен, необходимо указать имя объекта и имя метода, отделив одно

Слайд 5Основные понятия ООП
Основные механизмы (постулаты, принципы) ООП
Инкапсуляция – механизм, связывающий

вместе код и данные, которыми он манипулирует, и одновременно защищающий

их от произвольного доступа со стороны другого кода, внешнего по отношению к рассматриваемому. Доступ к данным жестко контролируется интерфейсом.
Наследование – механизм, с помощью которого один объект (производного класса) приобретает свойство другого объекта (родительского, базового класса).
Полиморфизм – механизм, позволяющий использовать один и тот же интерфейс для общего класс действий.



Основные понятия ООПОсновные механизмы (постулаты, принципы) ООПИнкапсуляция – механизм, связывающий вместе код и данные, которыми он манипулирует,

Слайд 6Основные понятия ООП
Декомпозиция заключается в том, то сложные проекты разбиваются

на более простые составные части, что позволяет упростить разработку ПО.


Декомпозиция бывает алгоритмическая и объектно-ориентированная.
Пример алгоритмической декомпозиции -выделение в рамках программы на ЯВУ, например, C, функций и процедур – структурное программирование.
Процедуры и функции – это фрагменты кодов (блоки программы), предназначенные для выполнения повторяющихся операций.
Объектно-ориентированная декомпозиция – разбиение программы на отдельные независимые модули.



Основные понятия ООПДекомпозиция заключается в том, то сложные проекты разбиваются на более простые составные части, что позволяет

Слайд 7Визуальное программирование. Основные понятия
Среда визуальной разработки — среда разработки программного

обеспечения, в которой наиболее распространенные блоки программного кода представлены в

виде графических объектов.
Среда визуального программирования предоставляет возможность быстрого создания программ путем визуального проектирования макета в графическом виде.
Технология работы в среде C++ Builder базируется на идеях объектно-ориентированного и визуального программирования.
Визуальное программирование.  Основные понятияСреда визуальной разработки — среда разработки программного обеспечения, в которой наиболее распространенные блоки

Слайд 8C++ Builder – интегрированная среда разработки (IDE - Integrated Development

Enviroment) - средство быстрой разработки приложений, позволяющее создавать приложения на

языке C++, используя при этом среду разработки и библиотеку компонентов Delphi.
Структурной единицей является визуальный объект, называемый компонентом.
Автоматизация программирования достигается благодаря возможности переноса компонента на форму (в программу) с палитры компонентов и изменения его свойств, не внося вручную изменений в программный код.

Визуальное программирование. Основные понятия

C++ Builder – интегрированная среда разработки (IDE - Integrated Development Enviroment) - средство быстрой разработки приложений, позволяющее

Слайд 9Введение в визуальное программирование
Все пользовательские программы в среде C++ Builder

называются приложениями и оформляются в виде специальных структур, называемых проектом.

Проект – это совокупность файлов, из которых состоят приложения.
Работа над новым проектом (приложением C++ Builder) начинается с создания стартовой формы - окна, которое по­является при запуске приложения.
На этапе разработки программы диалоговые окна называются формами.
Форма – компонент, который обладает свойствами окна Windows и предназначен для размещения других компонентов.


Введение в визуальное программированиеВсе пользовательские программы в среде C++ Builder называются приложениями и оформляются в виде специальных

Слайд 10Компоненты на форме могут быть видимыми и не видимыми.
Видимые

предназначены для организации диалога с пользователем. Это кнопки, списки, текстовые

поля, изображения и т.д.
Невидимые служат для доступа к системным ресурсам компьютера (таймер и т.д.).

Визуальное программирование. Основные понятия

Компоненты на форме могут быть видимыми и не видимыми. Видимые предназначены для организации диалога с пользователем. Это

Слайд 11Визуальное программирование. Основные понятия

Визуальное программирование.  Основные понятия

Слайд 12Основы работы в C++ Builder
1. Инструменты среды
Главное меню
Панель

инструментов
Палитра компонентов (Component Palette / Tool Palette)
Инспектор объектов (Object Inspector)
Окно

формы
Редактор кода программы (Code Editor)
Основы работы в C++ Builder 1. Инструменты средыГлавное меню Панель инструментовПалитра компонентов (Component Palette / Tool Palette)Инспектор

Слайд 13Инспектор
объектов
Окно структуры проекта
Палитра компонентов
Главное окно среды Embarcadero RAD Studio XE2

ИнспекторобъектовОкно структуры проектаПалитра компонентовГлавное окно среды Embarcadero RAD Studio XE2

Слайд 142. Главное меню и Панель инструментов

2. Главное меню и Панель инструментов

Слайд 153. Палитра компонентов
Для помещения одного компонента на форму следует его

выбрать щелчком мыши на палитре и затем щелкнуть на форме
Для

размещения нескольких одноименных компонентов следует выбрать инструмент с клавишей Shift. Для прекращения выбора текущего инструмента следует щелкнуть на палитре по инструменту
3. Палитра компонентовДля помещения одного компонента на форму следует его выбрать щелчком мыши на палитре и затем

Слайд 164. Окно формы
Все внутреннее пространство формы является рабочей областью, которая

имеет сетку выравнивания для удобного размещения компонентов на форме.
Для выполнения

групповых операций несколько компонентов можно объединять с помощью перетягивания мыши или щелчком на объектах с клавишей Shift

4. Окно формыВсе внутреннее пространство формы является рабочей областью, которая имеет сетку выравнивания для удобного размещения компонентов

Слайд 17Библиотека классов системы

История:
Вначале первые программы, написанные для выполнения под

управлением Windows использовали API (Application Programming Interface - интерфейс прикладного

программирования) для вызова различных системных функций ОС.
Первая библиотека классов OWL1.0 (Object Windows Library) от Borland
Библиотека классов MFC (Microsoft Foundation Class) от Microsoft
ЗАМЕЧАНИЕ: MFC имела большее распространение, но была ближе к API-интерфейсу, а не ООП
Библиотека классов системыИстория: Вначале первые программы, написанные для выполнения под управлением Windows использовали API (Application Programming Interface

Слайд 18Библиотека классов системы

Сегодня в С++ Builder библиотекой классов является библиотека

визуальных компонентов VCL – Visual Component Library) – библиотека визуальных

компонентов. В ее основе лежит концепция свойств, методов и событий.

В библиотеке VCL хорошо использован принцип ООП, как наследование.
Класс TObject является базовым классов для всех классов библиотеки VCL – содержит общие для всех объектов свойства и методы, позволяющие создавать и удалять объект, обрабатывать сообщения и др.
Библиотека классов системыСегодня в С++ Builder библиотекой классов является библиотека визуальных компонентов VCL – Visual Component Library)

Слайд 194. Инспектор объектов
С помощью инспектора объектов можно задавать начальные значения

свойств объектов и их реакцию на стандартные события.
Окно инспектора объектов

содержит список компонентов текущей формы, а также две закладки: свойства (Propeties) и события (Events).
Клавиша F11 выводит (скрывает) окно инспектора объектов.

4. Инспектор объектовС помощью инспектора объектов можно задавать начальные значения свойств объектов и их реакцию на стандартные

Слайд 204. Инспектор объектов
Свойства являются атрибутами компонента, определяющими его внешний вид

и поведение.
Каждый компонент имеет свой собственный набор обработчиков событий.


Label1->Caption = “First”;
В C++ Builder следует писать функции, называемые обработчиками событий, и связывать события с этими функциями. Создавая, обработчик того или и ого события, вы поручаете программе выполнить написанную функцию, если это событие произойдет.
4. Инспектор объектовСвойства являются атрибутами компонента, определяющими его внешний вид и поведение. Каждый компонент имеет свой собственный

Слайд 214. Инспектор объектов
Метод является функцией, которая связана с компонентом, и

которая объявляется как часть объекта. Создавая обработчики событий, можно вызывать

методы, используя следующую нотацию: ->, например:
Label1->Show();
ЗАМЕЧАНИЕ: при создании формы связанные с ней модуль и заголовочный файл с расширением *.h генерируются обязательно, тогда как при создании нового модуля он не обязан быть связан с формой (например, если в нем содержатся процедуры расчетов).
Имена формы и модуля можно изменить, причем желательно сделать это сразу после создания, пока на них не появилось много ссылок в других формах и модулях.
4. Инспектор объектовМетод является функцией, которая связана с компонентом, и которая объявляется как часть объекта. Создавая обработчики

Слайд 225. Менеджер проектов
Менеджер проектов показывает списки файлов и модулей приложения

и позволяет осуществлять навигацию между ними. Можно вызвать менеджер проектов

, выбрав пункт меню View/Project Manager.
5. Менеджер проектовМенеджер проектов показывает списки файлов и модулей приложения и позволяет осуществлять навигацию между ними. Можно

Слайд 235. Менеджер проектов
Файл модуля с расширением .CPP, содержащий код на

C++.

5. Менеджер проектовФайл модуля с расширением .CPP, содержащий код на C++.

Слайд 245. Менеджер проектов
Файл формы с расширением .DFM, содержащий информацию о

ресурсах окон для конструирования формы

5. Менеджер проектовФайл формы с расширением .DFM, содержащий информацию о ресурсах окон для конструирования формы

Слайд 255. Менеджер проектов
Заголовочный файл с расширением .H, содержащий описание класса

формы.

5. Менеджер проектовЗаголовочный файл с расширением .H, содержащий описание класса формы.

Слайд 267. Создание проекта

7. Создание проекта

Слайд 278. Сохранение проекта (первое)
Выполнить команду File – Save Project As
В

окне выбрать папку для сохранения (каждый проект сохранять в отдельной

папке).
Ввести имя модуля формы (например, согласиться с именем Unit1.cpp).
Ввести имя главного модуля (например, согласиться с предложенным Project1.cbproj).
ЗАМЕЧАНИЕ: при последующих сохранениях либо нажимать на кнопку Сохранить или Сохранить все, либо команда File – Save All


8. Сохранение проекта (первое)Выполнить команду File – Save Project AsВ окне выбрать папку для сохранения (каждый проект

Слайд 289. Компиляция и запуск проекта на выполнение
Выполнить команду Run –

Run (или F9)
Закрыть окно приложения после работы
ЗАМЕЧАНИЕ: если компиляция произошла

успешно, то в папке с проектом в папке Debug\Win32 будет сформирован исполнимый файл, например, Project1.exe
9. Компиляция и запуск проекта на выполнениеВыполнить команду Run – Run (или F9)Закрыть окно приложения после работыЗАМЕЧАНИЕ:

Слайд 2910. Закрытие проекта в среде
Выполнить команду File – Close All.
Закрыть

окно среды визуального программирования.

10. Закрытие проекта в средеВыполнить команду File – Close All.Закрыть окно среды визуального программирования.

Слайд 3011. Открытие готового проекта в среде для редактирования
Выполнить команду File

– Open Project
Выбрать папку с проектом и открыть файл проекта,

например, Project1.cbproj в среде Embarcadero RAD Studio.
запустить из проводника файл Project1. cbproj в среде Embarcadero RAD Studio
11. Открытие готового проекта в среде для редактированияВыполнить команду File – Open ProjectВыбрать папку с проектом и

Слайд 3112. Запуск готового приложения на любом компьютере
Выполнить приложение из среды

программирования для формирования исполнимого файла (команда Run – Run (или

F9)
Закрыть проект и среду программирования.
Скопировать в нужное место папку Win32 (для проектов, созданных в среде Embarcadero RAD Studio).
Запустить файл *.ехе из Debug\Win32

12. Запуск готового приложения на любом компьютереВыполнить приложение из среды программирования для формирования исполнимого файла (команда Run

Слайд 35Как и любой другой визуальный компонент, форма имеет свойства, методы

и события, общие для всех визуальных компонентов.
По умолчанию проект первоначально

содержит файлы для одной формы и исходного кода одного модуля. Однако большинство проектов содержат несколько форм и модулей.

Компонент форма - TForm

Как и любой другой визуальный компонент, форма имеет свойства, методы и события, общие для всех визуальных компонентов.По

Слайд 36Добавление форм к проекту
File → New → Form –C++ Builder

(или кнопка New Items на панели инструментов Стандартная)
File → Save

All → задать имя (например, Unit2)

Компонент форма - TForm

Добавление форм к проектуFile → New → Form –C++ Builder (или кнопка New Items на панели инструментов

Слайд 37Удаление формы из проекта
File → Project → Remove from Project
Выбрать

нужную форму → ОК
File → Save All
Компонент форма - TForm

Удаление формы из проектаFile → Project → Remove from ProjectВыбрать нужную форму → ОКFile → Save AllКомпонент

Слайд 38Выбор главной формы в проекте
Project → Options → Forms
Выбрать нужную

форму → ОК
Организация работы с множеством форм
Компонент форма - TForm

Выбор главной формы в проектеProject → Options → FormsВыбрать нужную форму → ОКОрганизация работы с множеством формКомпонент

Слайд 39Связь между формами
Если в проекте много форм, то из главной

можно организовать вызов на выполнение остальных форм (а можно и

из каждой формы вызвать любую другую).

Способы вызова форм:
С помощью обработчиков кнопок вызова конкретных форм
С помощью меню

Компонент форма - TForm

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

Слайд 40Вызов
File → Use Unit
Выбрать
нужный модуль
Компонент форма - TForm

ВызовFile → Use UnitВыбрать нужный модульКомпонент форма - TForm

Слайд 41Вызов формы на выполнение
Бывает двух типов: модальный и немодальный (обычный)

При

немодальном (обычном) выполняется метод класса TForm , который называется Show()
Form1

-> Show();
ЗАМЕЧАНИЕ: В обычном режиме можно вызвать сколько угодно форм, одну за другой – большой расход памяти, если они не закрыты (Form1 -> Close()).

Компонент форма - TForm

Вызов формы на выполнениеБывает двух типов: модальный и немодальный (обычный)При немодальном (обычном) выполняется метод класса TForm ,

Слайд 42
При модальном режиме вызова формы, приложение не сможет дальше нормально

работать, если форма не будет закрыта:
Form1 -> ShowModal();
ЗАМЕЧАНИЕ: на

формах, которые вызываются модально, помещают кнопку с именем и в ее обработчик помещают операторы:
ModalResult = ‘OK’;
Formi->Close();
Form1->Show();

Компонент форма - TForm

При модальном режиме вызова формы, приложение не сможет дальше нормально работать, если форма не будет закрыта: Form1

Слайд 43
Здесь Formi – это модальная форма, Form1 – главная форма,

из которой вызывалась Formi

В случае вызова Formi из Form1

обычным образом, то в обработчики ее кнопки Close. можно выло бы написать:
Formi->Close();
Form1->Show();


Компонент форма - TForm

Здесь Formi – это модальная форма, Form1 – главная форма, из которой вызывалась Formi В случае вызова

Слайд 44Пример
Напишем программу, содержащую кнопку Нажми меня, по выбору которой открывается

вторая форма с текстом приветствия.
Компонент форма - TForm

ПримерНапишем программу, содержащую кнопку Нажми меня, по выбору которой открывается вторая форма с текстом приветствия.Компонент форма -

Слайд 45Компонент форма - TForm

Компонент форма - TForm

Слайд 46Чтобы первая форма «видела» вторую вызываемую форму, в файле Unit1.cpp

добавим директиву на подключение заголовочного файла формы 2:

#include
#pragma hdrstop
 
#include

"Unit1.h"
#include "Unit2.h"

Компонент форма - TForm

Чтобы первая форма «видела» вторую вызываемую форму, в файле Unit1.cpp добавим директиву на подключение заголовочного файла формы

Слайд 47Напишем следующий обработчик события на кнопку Нажми меня:
 
void __fastcall TForm1::Button1Click(TObject

*Sender)
{
Form2->Show();
}
 
Компонент форма - TForm

Напишем следующий обработчик события на кнопку Нажми меня: void __fastcall TForm1::Button1Click(TObject *Sender){	Form2->Show();} Компонент форма - TForm

Слайд 48Для кнопки Закрыть на Форме 2 напишем обработчик события:
void __fastcall

TForm2::Button1Click(TObject *Sender)
{
Close();
Form1->Show();
}

Компонент форма - TForm

Для кнопки Закрыть на Форме 2 напишем обработчик события:void __fastcall TForm2::Button1Click(TObject *Sender){	Close();	Form1->Show();}Компонент форма - TForm

Слайд 49Свойства формы
События формы
Методы формы
Компонент форма - TForm

Свойства формыСобытия формыМетоды формыКомпонент форма - TForm

Слайд 50Компонент форма - TForm

Компонент форма - TForm

Слайд 51Компонент форма - TForm

Компонент форма - TForm

Слайд 52События формы
Компонент форма - TForm

События формыКомпонент форма - TForm

Слайд 53События формы
Компонент форма - TForm

События формыКомпонент форма - TForm

Слайд 54Методы формы
Компонент форма - TForm

Методы формыКомпонент форма - TForm

Слайд 55Функции выдачи сообщений и перевода данных из одного типа в

другой

Все рассматриваемы строковые данные – данные типа AnsiString.
Если необходимо

перейти к строкам, которые заданы как char *a или char m[количество] , то к такам строкам легко перейти, используя метод c_Str() класса AnsiString.
Функции преобразования:
 
Функции выдачи сообщений и перевода данных из одного типа в другойВсе рассматриваемы строковые данные – данные типа

Слайд 56Функции выдачи сообщений и перевода данных из одного типа в

другой

Функции выдачи сообщений и перевода данных из одного типа в другой

Слайд 57Функции выдачи сообщений и перевода данных из одного типа в

другой

Функции выдачи сообщений и перевода данных из одного типа в другой

Слайд 58Функции выдачи сообщений и перевода данных из одного типа в

другой

Для перевода изображения числа (строкового значения из текстового поля) в

число (числовое значение – переменную числового типа) воспользоваться следующими процедурами:
StrToFloat(имя объекта -> свойство) – для вещественных чисел
StrToInt(имя объекта -> свойство) – для целых чисел
 Например, блок ввода исходных данных может выглядеть следующим образом:
{ввод исходных данных из полей редактирования }
m = StrToFloat(Edit1->Text);
с = StrToInt(Label1 -> Caption);
с = Edit1->Text.ToInt();

 
Функции выдачи сообщений и перевода данных из одного типа в другойДля перевода изображения числа (строкового значения из

Слайд 59Функции выдачи сообщений и перевода данных из одного типа в

другой
 
Для преобразования численного значения переменной в строковое для помещения в

текстовое поле вывода, например, в компоненте Label, воспользоваться процедурами:
 
FloatToStr(имя переменной) – для вещественных чисел
FloatToStrF(имя переменной, формат вывода)
IntToStr(имя переменной) – для целых чисел
ЗАМЕЧАНИЕ: можно использовать форматы вывода чисел

Функции выдачи сообщений и перевода данных из одного типа в другой Для преобразования численного значения переменной в строковое

Слайд 60Функции выдачи сообщений и перевода данных из одного типа в

другой
 
Edit1->Text = “Ответ ” + Chr(#13) + FloatToStr(m); – для

вещественных чисел
Label1->Caption = IntToStr(m); – для целых чисел

Функции выдачи сообщений и перевода данных из одного типа в другой Edit1->Text = “Ответ ” + Chr(#13) +

Слайд 61Функции выдачи сообщений и перевода данных из одного типа в

другой

Функции вывода текстовых сообщений на жкран 

Функции выдачи сообщений и перевода данных из одного типа в другойФункции вывода текстовых сообщений на жкран 

Слайд 62Функции выдачи сообщений и перевода данных из одного типа в

другой

Функции вывода текстовых сообщений на экран 

Функции выдачи сообщений и перевода данных из одного типа в другойФункции вывода текстовых сообщений на экран 

Слайд 63Функции выдачи сообщений и перевода данных из одного типа в

другой

Функции вывода текстовых сообщений на жкран 

Функции выдачи сообщений и перевода данных из одного типа в другойФункции вывода текстовых сообщений на жкран 

Слайд 64Функции выдачи сообщений и перевода данных из одного типа в

другой

 

Функции выдачи сообщений и перевода данных из одного типа в другой 

Слайд 65Функции выдачи сообщений и перевода данных из одного типа в

другой

Функции вывода текстовых сообщений на жкран 

Функции выдачи сообщений и перевода данных из одного типа в другойФункции вывода текстовых сообщений на жкран 

Слайд 66Функции выдачи сообщений и перевода данных из одного типа в

другой 
Функция MessageDlg используется для вывода на экран messagebox с неким

сообщением и несколькими кнопками (Yes, No, OK и т. д.).
Параметры у этой функции следующие. Первый задает строку, которая будет показываться в нашем сообщении (Как и все строки в C++Builder, заключаем ее в двойные кавычки). Второй параметр определяет иконку на нашем Messagebox и сообщение в его заголовке. Возможные значения для этого параметра - mtConfirmation (Подтверждение), mtInformation (Сообщение), mtWarning (Предупреждение), mtError (Ошибка).
ЗАМЕЧАНИЕ: при записи любого из перечисленных значений Messagebox получит и соответствующий заголовок. Для этого параметра есть еще одно значение - mtCustom. Если использовать его, то никакой иконки в нашем messagebox не будет, а заголовок будет совпадать с именем exe-файла.
Функции выдачи сообщений и перевода данных из одного типа в другой Функция MessageDlg используется для вывода на экран

Слайд 67Функции выдачи сообщений и перевода данных из одного типа в

другой

Третий параметр определяет кнопки, которые будут присутствовать на messagebox. Вот

некоторые из возможных значений: mbYes (кнопка Yes), mbNo (кнопка No), mbCancel (кнопка Cancel), mbOK (кнопка OK).
Если кнопок несколько, то они объединяются посредством символов << (например, если мы хотим, чтобы присутствовало две кнопки Yes и No, то пишем << mbYes << mbNo). Так же необходимо написать ключевое слово TMsgDlgButtons().
Пример: TMsgDlgButtons() << mbYes << mbNo.

Функции выдачи сообщений и перевода данных из одного типа в другойТретий параметр определяет кнопки, которые будут присутствовать

Слайд 68Функции выдачи сообщений и перевода данных из одного типа в

другой

Функции вывода текстовых сообщений на жкран 
Последний, четвертый параметр - это

идентификатор контекстной справки.
В качестве результата функции MessageDlg возвращает значение, информирующее о том, что за кнопку пользователь нажал в messagebox.
Вот несколько возможных значений: mrYes, mrCancel, mrOK.
 
Функции выдачи сообщений и перевода данных из одного типа в другойФункции вывода текстовых сообщений на жкран Последний, четвертый

Слайд 69Функции выдачи сообщений и перевода данных из одного типа в

другой

Функции вывода текстовых сообщений на жкран 
 
Пример использования функции MessageDlg:
 
if (MessageDlg("Закрыть

приложение?", mtConfirmation, TMsgDlgButtons() << mbYes << mbNo,0) == mrYes)
{
Close();
}
 
В этом фрагменте у пользователя спрашивается, надо ли выходить из программы, и при положительном ответе программа закрывается.

Функции выдачи сообщений и перевода данных из одного типа в другойФункции вывода текстовых сообщений на жкран  Пример использования

Слайд 70Функции выдачи сообщений и перевода данных из одного типа в

другой

 
Функция InputBox отображает диалоговое окно для ввода строки текста.
AnsiString

InputBox (AnsiString ACaption, AnsiString APrompt, AnsiString ADefault)
Окно выводится в центре экрана и содержит поле ввода с надписью, а также кнопки ОК и Cancel.
Функции выдачи сообщений и перевода данных из одного типа в другой Функция InputBox отображает диалоговое окно для ввода

Слайд 71Функции выдачи сообщений и перевода данных из одного типа в

другой

 
Параметр ACaption задает заголовок окна.
Параметр APrompt содержит поясняющий текст к

полю ввода.
Параметр ADefault определяет строку, возвращаемую функцией при отказе пользователя от ввода информации (нажатие кнопки Cancel или клавиши ).
Функции выдачи сообщений и перевода данных из одного типа в другой Параметр ACaption задает заголовок окна.Параметр APrompt содержит

Слайд 72Функции выдачи сообщений и перевода данных из одного типа в

другой

 
Пример использования функции InputBox:
void __fastcall TForm1::Button3Click(TObject *Sender)
{
AnsiString soname ;
soname =

InputBox("Пользователь", "Введите фамилию", "Иванов");
}
Приведенная функция отображает окно запроса на ввод фамилии пользователя.
По умолчанию предлагается Иванов.
Функции выдачи сообщений и перевода данных из одного типа в другой Пример использования функции InputBox:void __fastcall TForm1::Button3Click(TObject *Sender){AnsiString

Слайд 73Функции выдачи сообщений и перевода данных из одного типа в

другой

 
Функция ShowMessage. У неё только один параметр - текст сообщения.


Пример:
 
ShowMessage(“Сообщение”);
 
Эта функция используется для вывода простых сообщений, которые не требуют ответа от пользователя (типа Yes, No и т. д.).

Функции выдачи сообщений и перевода данных из одного типа в другой Функция ShowMessage. У неё только один параметр

Слайд 74Использование диалогов для выбора файлов
Компоненты TOpenDialog и TSaveDialog находятся на

странице Dialogs палитры компонентов.
ЗАМЕЧАНИЕ: Все компоненты этой страницы являются

не визуальными, т. е. не видны в момент работы программы. Поэтому их можно разместить в любом удобном месте формы. Оба рассматриваемых компонента имеют идентичные свойства и отличаются только внешним видом.
Использование диалогов для выбора файловКомпоненты TOpenDialog и TSaveDialog находятся на странице Dialogs палитры компонентов. ЗАМЕЧАНИЕ: Все компоненты

Слайд 75Использование диалогов для выбора файлов
Диалоговое окно компонентов открывается после вызова

метода Execute, который возвращает true, если пользователь выбрал файл и

нажал «Ок», и false, если пользователь отказался от выбора.

Например:
if (OpenDialog1->Excecute)
{ // код, выполняющийся после выборе // файла пользователем
}
Использование диалогов для выбора файловДиалоговое окно компонентов открывается после вызова метода Execute, который возвращает true, если пользователь

Слайд 76Использование диалогов для выбора файлов
Свойства компонента OpenDialog
В случае успешного завершения

диалога имя выбранного файла поиска содержится в свойстве FileName.
Для фильтрации

файлов, отображаемых в окне просмотра, используется свойство Filter, а для задания расширения файла, в случае, если оно не задано пользователем, – свойство DefaultExt.
Если необходимо изменить заголовок диалогового окна, используется свойство Title.
Использование диалогов для выбора файловСвойства компонента OpenDialogВ случае успешного завершения диалога имя выбранного файла поиска содержится в

Слайд 77Использование диалогов для выбора файлов
Пример использования свойства Filter:
в диалоговом окне

Filter Editor производится настройка типов файлов.
Окно разбито на два

поля. В левом поле Filter Name вводятся строки пояснения. В правом поле Filter — расширения файлов. Для указания нескольких типов файлов необходимо записать их через точку с запятой.
Если задать несколько строк с пояснениями и типами файлов, то при работе приложения их можно будет выбирать с помощью выпадающего списка.
Использование диалогов для выбора файловПример использования свойства Filter:в диалоговом окне Filter Editor производится настройка типов файлов. Окно

Слайд 78Использование диалогов для выбора файлов

Рис. Окно Filter Editor

Использование диалогов для выбора файловРис. Окно Filter Editor

Слайд 79Использование диалогов для выбора файлов
Аналогично выполняется настройка компонента SaveDialog1.

ЗАМЕЧАНИЕ:

Для корректности работы приложения оба эти диалога должны иметь одинаковую

настройку свойства Filter
Использование диалогов для выбора файловАналогично выполняется настройка компонента SaveDialog1. ЗАМЕЧАНИЕ: Для корректности работы приложения оба эти диалога

Слайд 80Использование диалогов для выбора файлов
ЗАМЕЧАНИЕ: работу этих компонентов можно проверить

еще до выполнения программы. Дело в том, что после задания

свойства Filter этих компонентов двойной щелчок по компонентам приводит к открытию диалога на основе заданных свойств. Например, после двойного щелчка по компоненту SaveDialog1 откроется следующее окно:
Использование диалогов для выбора файловЗАМЕЧАНИЕ: работу этих компонентов можно проверить еще до выполнения программы. Дело в том,

Слайд 81Использование диалогов для выбора файлов

Использование диалогов для выбора файлов

Слайд 82Работа с файлами с использованием функций компонент
Многие визуальные компоненты (Memo,

ListBox, ComboBox, RichEdit) и некоторые классы (TStringList ) имеют доступ

к функциям:

LoadFromFile("Имя файла");
SaveToFile("Имя файла");

ЗАМЕЧАНИЕ: Эти функции особенно удобны для работы с текстовыми файлами.
Работа с файлами с использованием функций компонентМногие визуальные компоненты (Memo, ListBox, ComboBox, RichEdit) и некоторые классы (TStringList

Слайд 84Работа с файлами с использованием функций компонент
Имеется счетчик строк:
Memo1->Lines->Count;

Содержимое строк

можно получит по номеру строки n:
AnsiString vasS;
vasS = Memo1->Lines->Strings[n];

Работа с файлами с использованием функций компонентИмеется счетчик строк:Memo1->Lines->Count;Содержимое строк можно получит по номеру строки n: AnsiString

Слайд 85Работа с файлами с использованием функций компонент
Возможно присвоить некоторой строке

текст для дальнейшей манипуляции содержимым текста как единой строкой и

далее перенести исправленный текст опять в компоненты:

AnsiString vasS;
vasS=Memo1->Lines->GetText();

... манипуляции с текстом как единой строкой
Memo1->Lines->SetText(vasS.c_str());
Работа с файлами с использованием функций компонентВозможно присвоить некоторой строке текст для дальнейшей манипуляции содержимым текста как

Слайд 86Работа с файлами с использованием функций компонент
Многие визуальные компоненты и

некоторые классы имеют доступ к функциям:

LoadFromFile("Имя файла");
SaveToFile("Имя файла");

ЗАМЕЧАНИЕ: Эти

функции особенно удобны для работы с текстовыми фыйлами.
Работа с файлами с использованием функций компонентМногие визуальные компоненты и некоторые классы имеют доступ к функциям: LoadFromFile(

Слайд 87Работа с датами
В С++Builder существует специальный класс TDateTime, который содержит

методы работы с датами. Этот класс в качестве члена данных

включает в себя переменную типа double, которая в своей целой части содержит дату, а в дробной время
Точка отсчета даты – 30.12.1899г. 12 часов 00 минут.
Значение даты в это время принято считать равным нулю.
Ненулевое значение. вычисляется так: к точке отсчета прибавляется целая часть даты (т.е. количество дней).
Работа с датамиВ С++Builder существует специальный класс TDateTime, который содержит методы работы с датами. Этот класс в

Слайд 88Работа с датами
Функции и методы работы с датой:

DateToStr() — преобразует

дату в строку типа AnsiString;

DateTimeToStr() — преобразует дату и

время в строку типа AnsiString;

TimeToStr() — преобразует время в строку типа AnsiString.
Работа с датамиФункции и методы работы с датой:DateToStr() — преобразует дату в строку типа AnsiString; DateTimeToStr() —

Слайд 89Работа с датами
Чтобы работать с датой/временем, следует объявить переменную типа

TDateTime. Например:
TDateTime dl,d;
А затем использовать методы этого класса.

CurrentDate() - возвращает

текущую дату как значение типа TDateTime.

Значение времени возвращается равным нулю.
CurrentDateTime () — возвращает текущую дату и время как значение типа TDateTime.
Работа с датамиЧтобы работать с датой/временем, следует объявить переменную типа TDateTime. Например:TDateTime dl,d;А затем использовать методы этого

Слайд 90Работа с датами
CurrentTime () — возвращает текущее время как значение

типа TDateTime с нулевым значением даты.

DayOfWeek() - возвращает день недели

между 1 и 7. Воскресенье считается первым днем недели, суббота — последним.

DecodeDate() — разделяет значение даты типа TDateTime на год, месяц и число и помещает эти значения в соответствующие параметры: year, month, day.
Работа с датамиCurrentTime () — возвращает текущее время как значение типа TDateTime с нулевым значением даты.DayOfWeek() -

Слайд 91Работа с датами
DecodeTime() — выделяет значения часов, минут, секунд и

миллисекунд из времени даты и помещает их в соответствующие параметры

hour, min, sec, msec.

FormatString() — форматирует TDateTime-объект, используя определенные форматы.
Работа с датамиDecodeTime() — выделяет значения часов, минут, секунд и миллисекунд из времени даты и помещает их

Слайд 92Построение графиков
Обычно результаты расчетов представляются в виде графиков и диаграмм.
Способы

построения графиков и диаграмм:
Использование компонента TChart
Использование свойства Canvas формы

Построение графиковОбычно результаты расчетов представляются в виде графиков и диаграмм.Способы построения графиков и диаграмм:Использование компонента TChartИспользование свойства

Слайд 93Построение графиков
Использование компонента Tchart

Система C++Builder имеет мощный пакет стандартных программ

вывода на экран и редактирования графической информации, который реализуется с

помощью визуально отображаемого на форме компонента TChart (вкладка TeeCartStd)
Построение графиковИспользование компонента TchartСистема C++Builder имеет мощный пакет стандартных программ вывода на экран и редактирования графической информации,

Слайд 94Построение графиков

Построение графиков

Слайд 95Построение графиков
Компонент TChart осуществляет всю работу по отображению графиков, переданных

в объект Seriesk: строит и размечает оси, рисует координатную сетку,

подписывает название осей и самого графика, отображает переданную таблицу в виде всевозможных графиков или диаграмм.
При необходимости, с помощью встроенного редактора EditingChart компоненту TСhart передаются данные о толщине, стиле и цвете линий, параметрах шрифта подписей, шагах разметки координатной сетки и другие настройки.
Построение графиковКомпонент TChart осуществляет всю работу по отображению графиков, переданных в объект Seriesk: строит и размечает оси,

Слайд 96Построение графиков
Вызов редактора EditingChart:
двойной щелчок на объекте Chart1
контекстное

меню на объекте Chart1 и выбрать Edit Chart…

ЗАМЕЧАНИЕ: график

можно настраивать и изменять параметры и в ходе выполнения программы, то есть его настройка не ограничивается одним окошком.

Построение графиковВызов редактора EditingChart: двойной щелчок на объекте Chart1 контекстное меню на объекте Chart1 и выбрать Edit

Слайд 97Построение графиков

Построение графиков

Слайд 98Построение графиков
Для создания
нового объекта
Series1 следует
щелкнуть по
кнопке

Add
на странице
Series.


Построение графиковДля создания нового объекта Series1 следует щелкнуть по кнопке Add на странице Series.

Слайд 99Построение графиков
Для изменения надписи над графиком используется страница Titles.
Для разметки

осей необходимо выбрать страницу Axis и установить параметры настройки осей.

Построение графиковДля изменения надписи над графиком используется страница Titles.Для разметки осей необходимо выбрать страницу Axis и установить

Слайд 100Построение графиков
В процессе работы программы изменение параметров возможно через обращение

к соответствующим свойствам компонента TChart.

Например, свойство Chart1->BottomAxis содержит значение

максимального предела нижней оси графика и при его изменении во время работы программы автоматически изменяется изображение графика.
ЗАМЕЧАНИЕ: Когда свойство Chart1->BottomAxis->Automatic имеет значения false, автоматическая установка параметров осей не работает.
Построение графиковВ процессе работы программы изменение параметров возможно через обращение к соответствующим свойствам компонента TChart. Например, свойство

Слайд 101Построение графиков
Для добавления координат точек из таблицы в двумерный массив

объекта Seriesk используется функция
int Series1->AddXY(AXValue;AYValue;
AXLabel;AColor) ,
где AXValue, AYValue –

координаты точки по осям X и Y;
AXLabel – текстовая надпись добавленной точки;
AСolor задает цвет линий (если равен clTeeColor, то принимается цвет, определенный при проектировании формы).
Например: Series1->Add(y,x,clRed);

Построение графиковДля добавления координат точек из таблицы в двумерный массив объекта Seriesk используется функция int Series1->AddXY(AXValue;AYValue;AXLabel;AColor) ,где

Слайд 102Построение графиков
Пример: построить график зависимости х от у

Построение графиковПример: построить график зависимости х от у

Слайд 105Построение графиков
Программируем кнопку
if ((Edit1->Text=="") || (Edit2->Text==""))
{
ShowMessage("Введите значения х и

у");
return ;
}
// считываем значения с Edit1 в у, Edit2

в х
int x,y;
y = Edit1->Text.ToInt(); // y = StrToInt(Edit1->Text);
x = Edit2->Text.ToInt();
//выводим текущие значения х и у на графике
Series1->Add(y,x,clRed);
// очищаем поля
Edit1->Text=""; Edit2->Text="";


Слайд 106Построение графиков
2. Рисование графиков с помощью свойства объекта TForm –

Canvas

Построение графиков2. Рисование графиков с помощью свойства объекта TForm – Canvas

Слайд 107Построение графиков
TCanvas (Канва) - это класс, предназначенный для вывода и хранения

графических объектов в C++ Builder.
Канва входит в состав большинства визуальных

компонентов, кроме стандартных оконных контролов TButton, TMemo, TPanel и т.п.).  При помощи методов этого класса можно рисовать как и стандартные примитивы (линии, эллипсы, прямоугольники), так и графические объекты типа Graphics::TBitmap.
Построение графиковTCanvas (Канва) - это класс, предназначенный для вывода и хранения графических объектов в C++ Builder. Канва входит в

Слайд 108Построение графиков
Доступ к канве любого объекта происходит следующим образом:
имя_объекта->Canvas->Свойство/Метод;
Канва, в

ее графическом представлении, это двумерный массив пикселей. Каждый элемент этого

массива хранит в себе информацию о цвете. Доступ к отдельно взятому пикселю можно получить из свойства Pixels. Точка (0,0) - эта верхний левый угол канвы. Значение по x-координате возрастает слева направо от точки (0,0) до width – свойства TForm, а значение по y-координате сверху вниз - до height.
Построение графиковДоступ к канве любого объекта происходит следующим образом:имя_объекта->Canvas->Свойство/Метод;Канва, в ее графическом представлении, это двумерный массив пикселей.

Слайд 109Построение графиков
Методы класса ТCanvas-, используемые для создания графика:
MoveTo(х,у) – перейти

к точке холста с координатами (х,у) (в пикселах);
LineTo(х,у) – нарисовать

линию из предыдущей точки в точку с координатами (х,у).

Построение графиковМетоды класса ТCanvas-, используемые для создания графика:MoveTo(х,у) – перейти к точке холста с координатами (х,у) (в

Слайд 110Построение графиков
Пример 1:
//Проводим первую прямую
Form1->Canvas->LineTo(250,250);
//Теперь проводим другую

прямую
Form1->Canvas->LineTo(500,100);

Построение графиковПример 1: //Проводим первую прямую Form1->Canvas->LineTo(250,250); //Теперь проводим другую прямуюForm1->Canvas->LineTo(500,100);

Слайд 111Построение графиков
Пример 2:
//Перемещаем перо в точку (100,25) Canvas->MoveTo(100,25);
//Проводим

прямую в точку (500,100)
Canvas->LineTo(500,100);

Построение графиковПример 2: //Перемещаем перо в точку (100,25) Canvas->MoveTo(100,25); //Проводим прямую в точку (500,100)Canvas->LineTo(500,100);

Слайд 112Построение графиков
Пример: нарисовать на форме график функции у= f(x) ,

например, y = logx

Построение графиковПример: нарисовать на форме график функции у= f(x) , например, y = logx

Слайд 113Построение графиков

Построение графиков

Слайд 114Построение графиков
int x,y;
// начальные координаты //функции y = f(x)
y

= x = 0;
//начальная точка графика
Form1->Canvas->MoveTo(0,Height);
//установим цвет и толщину

графика
Form1->Canvas->Pen->Color = clRed;
Form1->Canvas->Pen->Width = 3;
// Вычисление функции y = f(x), где х меняется на один пиксел
//от 0 до мах. значения, равного ширине формы (свойство width)

Построение графиковint x,y;// начальные координаты 			//функции y = f(x) y = x = 0; //начальная точка графикаForm1->Canvas->MoveTo(0,Height);	//установим

Слайд 115Построение графиков
while (x < Form1 -> Width && y


Form1->Height)
{
x++;//следующая точка на оси х
// вызов пользовательской функции
y = f(x);


Form1->Canvas->LineTo(x,Height-y);
//рисуем линию и первую точку
}


Построение графиковwhile (x < Form1 -> Width && y < 						Form1->Height){	x++;//следующая точка на оси х// вызов пользовательской

Слайд 116Построение графиков
int f(int x)
{
int y = floor(50 *

log(x));
return (y);
}


Построение графиковint f(int x){  int y = floor(50 * log(x));  return (y);}

Слайд 118
В теле нужной процедуры в коде написать:

Application->Terminate(); // закрытие всего

приложения
Close(); //Закрытие окна
Программирование закрытия приложения (окна)

В теле нужной процедуры в коде написать:Application->Terminate(); // закрытие всего приложенияClose(); 			//Закрытие окнаПрограммирование закрытия приложения (окна)

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика