Orientação a Objetos - Programação em C++



Documentos relacionados
Orientação a Objetos - Programação em C++

Orientação a Objetos Programação em C++

Curso Introdutório C++ Builder

Microsoft Office PowerPoint 2007

UNIVERSIDADE LUTERANA DO BRASIL DEPARTAMENTO DE ENGENHARIA ELÉTRICA DISCIPLINA DE ENGENHARIA DE PROCESSAMENTO DIGITAL II PROJETO DE SOFTWARE

Orientação a Objetos - Programação em C++

Delphi 7 Aula 01 Área do Triângulo

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

AMBIENTE. FORMULÁRIO: é a janela do aplicativo apresentada ao usuário. Considere o formulário como a sua prancheta de trabalho.

PROJECT 1 Delphi Project (Extensão. DPR)

Inledning till DLL för USB Experiment-Interfacekortet K8055

BREVE TUTORIAL DO PAINT PARTE I Prof. Reginaldo Brito - Informática

1 Criando um aplicativo visual em Java

PROGRAMANDO EM C# ORIENTADO A OBJETOS

PROGRAMAÇÃO EM C# COM VISUAL STUDIO.NET

MANUAL GDS TOUCH. Versão: 1.0 Direitos reservados.

Microsoft PowerPoint

Laboratório de Programação I

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA TREINAMENTO EM INFORMÁTICA MÓDULO V

Manual do Spectacle. Boudhayan Gupta Boudhayan Gupta Tradução: André Marcelo Alvarenga

❶ No Sistema Gênesis, na Aba ESTOQUE

,QWURGXomRDR(GLWRUGH $SUHVHQWDo}HV3RZHU3RLQW

Para ser um bom programador de C++ Builder existem vários aspectos que se devem conhecer:

Linguagem de Programação Procedural (VB) Prof. MSc Eng Marcelo Bianchi AULA 01 - INTRODUÇÃO AO VB

ÍNDICE... 2 INTRODUÇÃO... 4

Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler

DIFERENÇAS ENTRE FUNÇÃO E BLOCO FUNCIONAL; CRIAÇÃO DE FUNÇÃO / BLOCO FUNCIONAL; UTILIZAÇÃO NO LADDER; EXEMPLO DE BLOCO FUNCIONAL;

#Criando Aplicações Web com o Delphi unigui

Disciplina: INF Programação I. 1 a aula prática Introdução ao ambiente do Microsoft Visual Studio 2010

Power Point. Autor: Paula Pedone

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 05: Editores de Imagem Paint / GIMP

NetBeans. Conhecendo um pouco da IDE

Existe uma diferença entre o enlace estático de uma DLL e o uso estático do enlace.

Técnicas de Programação II

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO. PROFa. GILENE BORGES GOMES. Home page:

Professor: Venicio Paulo Mourão Saldanha Site:

Manual de operação do sistema Desenhador Geográfico. 05/2012 Versão

Versão PIMACO AUTOADESIVOS LTDA. Assistente Pimaco Ajuda ao Usuário

PowerPoint. Prof. Claudio A. B. Tiellet. Parte II

Apostilas OBJETIVA Escrevente Técnico Judiciário TJ Tribunal de Justiça do Estado de São Paulo - Concurso Público Índice

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

Aula 03 PowerPoint 2007

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA TREINAMENTO EM INFORMÁTICA MÓDULO V

MARCOS GEODÉSICOS / REFERÊNCIAS DE NÍVEL

Manual de Utilização

Curso de Aprendizado Industrial Desenvolvedor WEB

O tratamento de informação através de planilha eletrônica, aplicada ao software Excel

Aula 3. Word Administrativo. Solicitamos que guarde seus arquivos, para o projeto final do módulo

OO Engenharia Eletrônica

ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2005/ Valores

APOSTILA WORD BÁSICO

Manual do KSnapshot 2

O processo termina com o surgimento da última flecha quando aparece uma bolinha azul. Outras bolinhas aparecem aleatoriamente POWER POINT NEW WAY

MICROSOFT POWER POINT

POWER POINT 2003 CARREGANDO O POWER POINT

Excel VBA - Parte IV:Inserindo um formulário e seus comandos

Banco de Dados BrOffice Base

Básico, Ferramentas e o Primeiro Programa em Qt

MAPA GEOIDAL DE CAMPINAS

Programação para Android. Aula 05: Estilos e temas; galeria de imagens


ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

DELPHI 7 LINGUAGEM DE PROGRAMAÇÃO AMBIENTE CLIENTE SERVIDOR

WEBGIS Sistema Informativo Territorial

AULA 14 Plugin TerraEdit

Display de Cristal Líquido

2. INSTALAÇÃO E CONFIGURAÇÃO

Delphi IDE. Jocélio Passos Delphi - IDE. Integrad Development Enviroment Ambiente de Desenvolvimento Integrado

A Estação da Evolução

Guia de Início Rápido

Word 1 - Introdução Principais recursos do word A janela de documento Tela principal

Guia e Utilização do Visual Studio 6.0

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Continuação. 32. Inserir uma imagem da GALERIA CLIP-ART

INE Sistemas Operacionais. Noções sobre sistemas operacionais, funcionamento, recursos básicos. Windows (cont.)

Criando um formulário no VBA

CERTIDÕES UNIFICADAS

Universidade Federal de Minas Gerais Escola de Engenharia Departamento de Engenharia Eletrônica

Programação de Computadores I. Conhecendo a IDE Code::Blocks

Manual Captura S_Line

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

MANUAL UTILIZAÇÃO. Emuntech Software Solutions Página 1

UNIVERSIDADE ESTADUAL DE CAMPINAS. Instruções para Uso do Software VISIO

Tutorial de Computação PWM v

1º. Semestre de 2006 Marcelo Nogueira São José dos Campos - SP

V 1.0 LINAEDUCA - GUIA DE USO

Criando uma agenda simples com NetBeans 6.5

Manual e Documentação

INTRODUÇÃO AO WINDOWS

INTERFACE COM O USUÁRIO (em Java) Programação Orientada a Objetos

Professor Paulo Lorini Najar

VisTrails. Fernando Seabra Chirigati Aluno de Engenharia de Computação e Informação COPPE/UFRJ fernando_seabra@cos.ufrj.br

Serviço Público Federal Universidade Federal do Pará - UFPA Centro de Tecnologia da Informação e Comunicação - CTIC S I E

MANUAL DE UTILIZAÇÃO DO WEBMAIL SBC

Manual Simulador de Loja

Usando o simulador MIPS

Desenvolvimento de Aplicações Locais na Plataforma Microsoft

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário

Transcrição:

OO- Engenharia Eletrônica Orientação a Objetos - Programação em C++ Slides 17: Programação Visual ou Orientada a Objetos Gráficos (Formulários, Botões, Caixas de Texto etc) Exemplificado em Borland C++ Builder. Prof. Jean Marcelo SIMÃO Aluno monitor: Vagner Vengue

Programação Visual. Estudar os código de exemplo. Entender que objetos gráficos são relacionados com código especial em C++. Entender que este código C++ especial serve para tratar os eventos sobre objetos gráficos. Entender que, em um projeto correto, o código essencial do sistema é o mais independente possível do código relacionado a objetos gráficos. No ProjetoOOJanelaExemplo é tratada a classe Universidade e o seu Relacionamento para com a classe Departamento. De forma análoga, tratar as demais classes existentes nas versões precedentes do sistema de universidade (Disciplina, Alunos etc).

Borland C++ Builder - Ambiente Rapid Application Development (RAD). - Ambiente visual: TButton, TEdit, TCheckBox, TComboCox, TLabel etc... - Utiliza o Framework Visual Component Library (VCL) para a criação de objetos gráficos. O VCL foi desenvolvido pela empresa Borland. -Traz uma grande variedade de classes, tanto para o desenvolvimento visual, quanto para o não visual, como acesso a banco de dados, criação de threads e comunicação TCP. - Existe uma grande quantidade de componentes de terceiros desenvolvidos para Delphi, que compartilha o mesmo framework, como o JCL e JVCL.

Borland C++ Builder Exemplo de Introdução

Borland C++ Builder

Borland C++ Builder

Borland C++ Builder Pressione F12 para visualizar o código.

//$$---- Form HDR ---- Borland C++ Builder //$$---- Form CPP ---- #ifndef Unit1H #define Unit1H #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> class TForm1 : public TForm { published: // IDE-managed Components private: public: // User declarations // User declarations fastcall TForm1(TComponent* Owner); }; extern PACKAGE TForm1 *Form1; #endif #include <vcl.h> #pragma hdrstop #include "Unit1.h" #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } Código gerado automaticamente pelo Borland C++ Builder.

Borland C++ Builder Adicionando um botão...

Borland C++ Builder Para adicionar um novo componente, basta selecioná-lo na caixa de ferramentas e arrastar para a janela.

//$$---- Form HDR ---- Borland C++ Builder //$$---- Form CPP ---- #ifndef Unit1H #define Unit1H #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> class TForm1 : public TForm { published: // IDE-managed Components TButton *Button1; private: public: // User declarations // User declarations fastcall TForm1(TComponent* Owner); }; extern PACKAGE TForm1 *Form1; #endif #include <vcl.h> #pragma hdrstop #include "Unit1.h" #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } Código adicionado automaticamente para o botão. Código gerado automaticamente pelo Borland C++ Builder.

Para compilar e executar, pressione F9. Borland C++ Builder

Borland C++ Builder ProjetoOOJanelaExemplo

Propriedades

Propriedades

Propriedades Propriedades - Através da caixa de propriedades, pode-se definir as características de cada componente, tais como nome, cor, posição na tela, tamanho, imagem de fundo, etc... - É uma boa prática de programação sempre definir características básicas, como o nome, o título (para telas) ou texto (para botões).

Eventos Selecionado Eventos - É uma ação externa ao programa, por exemplo: um click de mouse, uma tecla pressionada, um movimento da tela, uma tela abrindo ou fechando. - Com um duplo click sobre o componente é selecionado o evento padrão, onde pode-se inserir o código a ser executado quando o evento ocorrer.

Eventos -Quando o evento é selecionado, o método que trata o evento é adicionado automaticamente à classe. - O objeto Sender que é passado como parâmetro traz informações sobre o evento ocorrido e pode ser utilizado no código. Um exemplo é a posição (x, y) do mouse quando ele sobrepõe um componente. Click de mouse do button1 void fastcall TForm1::btnIniciarClick(TObject *Sender) { lstuniver->items->clear(); objeto_principal->iteradorluniversidades = objeto_principal->luniversidades.begin(); while (objeto_principal->iteradorluniversidades!= objeto_principal->luniversidades.end()) { string aux; aux = (*(objeto_principal->iteradorluniversidades))->getnome(); AnsiString NomeUniv; NomeUniv = aux.data(); } } lstuniver->items->add(nomeuniv); objeto_principal->iteradorluniversidades++;

class TForm1 : public TForm { published: // IDE-managed Components TListBox *lstuniver; TListBox *lstdepart; TLabel *Label1; TLabel *Label2; TButton *btniniciar; TButton *btnadicionar; void fastcall btnadicionarclick(tobject *Sender); void fastcall FormDestroy(TObject *Sender); void fastcall btniniciarclick(tobject *Sender); void fastcall lstuniverclick(tobject *Sender); private: // User declarations public: Agregação de Janelas (objetos) Principal* objeto_principal; // User declarations fastcall TForm1(TComponent* Owner); }; void fastcall TForm1::btnAdicionarClick(TObject *Sender) { frmadicionauniver->limpacampos(); frmadicionauniver->setprincipal( objeto_principal ); frmadicionauniver->show(); } Por padrão, automaticamente é criado um objeto de cada formulário, portanto, só é preciso executar o método Show() de cada uma quando desejado. Mostra a janela.

Borland C++ Builder Exemplo com figuras geométricas

Exemplo com desenhos

//$$---- Form HDR ---- #ifndef UDesenhaH #define UDesenhaH #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> class TfrmDesenho : public TForm { published: // IDE-managed Components TButton *btnmover; void fastcall FormPaint(TObject *Sender); void fastcall btnmoverclick(tobject *Sender); private: // User declarations int valor_aumentar; public: Exemplo com desenhos // User declarations fastcall TfrmDesenho(TComponent* Owner); }; extern PACKAGE TfrmDesenho *frmdesenho; #endif Para realizar os desenhos, pode ser utilizado o evento OnPaint() do formulário criado. void fastcall TfrmDesenho::FormPaint(Tobject *Sender) { int x, y; x = 10; y = 10 + valor_aumentar; // desenha uma elipse; this->canvas->ellipse(x, y, x+50, y+50); x += 100; // move para uma posição da tela; this->canvas->moveto(x, y); // desenha uma reta; this->canvas->lineto(x+50, y); x += 100; // desenha um retângulo; this->canvas->rectangle(x, y, x+50, y+60); } void fastcall TfrmDesenho::btnMoverClick(Tobject *Sender) { valor_aumentar += 10; this->repaint(); }

Bibliografias - Para mais detalhes sobre Borland C++ Builder, consulte: http://www.functionx.com/bcb/index.htm (acesso em 02/08/2010). http://www.embarcadero.com/products/cbuilder (acesso em 02/08/2010). http://en.wikipedia.org/wiki/c%2b%2bbuilder (acesso em 02/08/2010).