Você está na página 1de 59

C++ Builder

Iniciando o C++Builder

No menu de programas escolha o item

Borland C++ Builder 5 e, em seguida o item

C++ Builder 5.

Iniciando o C++Builder • No menu de programas escolha o item Borland C++ Builder 5 e,

Criando um aplicação DOS

Escolha File New

Na janela que se abrir, selecione a

opção Console Wizard e clique em OK;

DOS • Escolha File  New • Na janela que se abrir, selecione a opção Console

Criando um aplicação DOS

Selecione C++ em Source Type, e Console

Application. Depois click em Ok.

Criando um aplicação DOS • Selecione C++ em Source Type , e Console Application . Depois

Criando um aplicação DOS

O C++ Builder abrirá o editor de textos para

digitação do código fonte:

Criando um aplicação DOS • O C++ Builder abrirá o editor de textos para digitação do

Primeiro Programa

#pragma hdrstop

#include <iostream.h>

#pragma argsused

int main(int argc, char* argv[])

Salve o código fonte e o projeto:

clique no menu File, e

escolha a opção Save ,

salve o programa Prim.cpp e o projeto com o nome PrimProgram.bpr. Para executá-lo pressione F9.

{

 

cout << "\n\tEstou fazendo o meu primeiro programa\n\n\a"; system("pause");

return 0;

}

Resultado da Execução de Prim.cpp

Resultado da Execução de Prim.cpp

No diretório do Programa

PrimProgram.bpr: arquivo do projeto

PrimProgram.exe: executável

PrimProgram.bpf

PrimProgram.tds

Prim.cpp: código fonte

Prim.obj

Ambiente Visual

Usando o C++Builder, pode-se criar

rapidamente aplicativos altamente eficientes,

para a família Windows da Microsoft, com um mínimo de codificação manual.

O C++Builder fornece uma biblioteca geral de componentes reutilizáveis e um conjunto de ferramentas para o rápido desenvolvimento de aplicativos.

Versões do C++Builder

C++ Builder Standard: Mais simples das versões, fornece várias as ferramentas necessárias para o desenvolvimento

de aplicações. É recomendada para iniciantes.

C++ Builder Profissional. Oferece a maioria das ferramentas necessárias ao desenvolvimento de aplicativos

poderosos, mas sem suporte à arquitetura Cliente/Servidor.

C++ Builder - Cliente / Servidor (Enterprise). Versão completa, com todas as ferramentas de apoio, e compatibilidade com bases de dados.

Ambiente Visual

Ao iniciar o C++Builder, já observa-se os

diversos recursos do ambiente visual de

programação divididos em quatro janelas: a janela principal, responsável pelo gerenciamento do projeto; a janela Object Inspector, que nos possibilita alterar as propriedades dos componentes do projeto; a janela Code Editor, o local onde entraremos

com a codificação manual; e a janela Form, a

área de trabalho de nossos projetos.

Ambiente Visual

Ambiente Visual

Ambiente de Desenvolvimento

Integrado - IDE

Quando se inicia o C++Builder, visualiza-se um

grupo de janelas dispersas em volta de uma

janela principal.

Menu Principal e Barra de Ferramentas

Muitas das opções que se pode acessar do

menu principal estão disponíveis através do

painel de botões de atalho da barra de ferramentas. Em geral a barra de ferramentas

provê uma maneira rápida de executar

operações do programa com um simples clique do mouse.

a barra de ferramentas provê uma maneira rápida de executar operações do programa com um simples

Menu File

New: Abre uma caixa de diálogo que contém os objetos que podem ser incluídos no projetos.

New Application: Cria um novo projeto que contém,

inicialmente, um Form vazio, uma Unit e um arquivo do

projeto.

New Form: Cria e adiciona um Form vazio no projeto.

Open: Exibe uma caixa de diálogo Open para abrir um

projeto existente, um form, uma unit, um arquivo de

texto ou um arquivo.

Save: Salva o arquivo selecionado

Save All: Salva todos os arquivos

Close All: Fecha todos os arquivos abertos.

Exit: Fecha o projeto aberto e encerra o C++Builder.

Menu Edit

Select All: Seleciona todos os componentes do form

Align To Grid: Alinha o componente selecionado para o

grid fechado.

Align: Alinha componentes.

Scale: Muda o tamanho de todos os componentes no

form.

Flip Children: Inverte o layout (posição) dos controles entre direita e esquerda.

Lock Controls: Assegura que todos os componentes do form sejam mantidos em suas posições atuais.

Menu Search

Find: Procura pelo texto especificado.

Replace: Procura pelo texto especificado,

substituindo-o pelo novo texto especificado.

Search Again: Repete a busca. Equivale a

localizar novamente.

Menu View

Project Manager: Exibe o gerenciador do projetos, onde podemos chamar units, forms ou Project.

Project Source: Exibe o arquivo do projeto principal (inicial)

no Code editor

Object Inspector: Exibe o Object Inspector

Breakpoints: Exibe uma caixa de diálogos com a lista de

Breakpoints (pontos cruciais) do programa.

Watches: Exibe a caixa de diálogo Watch List.

Component List: Exibe o box de Componentes, permitindo a colocação destes diretamente no form.

Toggle Form/Unit: Exibe o form inativo ou a janela da unit ativa.

Units: Exibe uma caixa para visualização das Units.

Forms: Exibe a caixa para visualizar os Form.

Menu Project

Add to Project: Adiciona um novo arquivo no

projeto.

Remove from Project: Remove um arquivo desde o projeto.

Build project: Compile todos os arquivos no

projeto, sem levar em consideração e algum código foi alterado.

Options: Exibe a caixa de diálogos Project Options para fundamentos do projeto.

Menu Run

Run: Compila e executa sua aplicação.

Parameters: Especifica parâmetros de inicialização para sua aplicação.

Step Over: Executa um programa a um tempo, progresso de passo a passo sobre funções enquanto executá-lo como uma simples unidade.

Trace Into: Executa um programa a um tempo, seguindo dentro das funções

e seguindo a execução de cada linha.

Run To Cursor: Executa o programa até a localização do cursor na janela do Code Editor, demosntrando a posição do cursor no momento em que tal linha de código estiver sendo executada.

Program Reset: Finaliza o corrente programa e libera a memória.

Inspect: Abre o Inspect dialog onde você pode examinar o valor de uma variável ou expressão.

Inspect Local Variables: Exibe as funções correntes e variáveis locais enquanto no modo debug.

Add Watch: Abre a caixa de diálogos Watch Properties, onde você pode

criar e modificar watches

Add Breakpoint: Abre a caixa de diálogos Edit Breakpoint, onde você pode criar e modificar breakpoints

Paleta de Componentes

Os componentes são a base da construção de

qualquer aplicação fundamentada na

biblioteca VCL (Visual Component Library). Cada página de componentes exibe um grupo

de ícones representando os componentes que

você pode usar para desenhar a interface de

suas aplicações.

exibe um grupo de ícones representando os componentes que você pode usar para desenhar a interface

Paleta de Componentes

Para implantar os componentes em sua aplicação, basta selecioná-lo com um clique do mouse no objeto desejado e dar um clique no

formulário (Form) para que o objeto seja

automaticamente inserido no Form. Outra maneira de inserir o componente, é através de um duplo clique no mesmo, o que provocará a

inserção do mesmo no centro do formulário.

Uma vez inserido o componente no formulário, você poderá, em tempo de projeto, através do

método de arrastar e soltar, alterar sua posição,

ou redimensioná-lo.

Componentes

Cada componente C++Builder é uma classe;

colocando um componente no form cria-se

uma instância dessa classe. Uma vez que o componente esteja colocado no form, o C++Builder gera o código necessário para construir uma instância objeto quando sua aplicação estiver executando.

Os componentes podem ser visuais ou não visuais. Cada componente tem atributos específicos que você ativa para controlar sua aplicação: Propriedades, eventos e métodos.

Componentes

Para obter ajuda a respeito de um

determinado componente, clique o

componente e pressione F1.

O Form

Quando trabalhamos com o C++Builder, nossa

área de trabalho bem como os resultados

obtidos são realizados através do Form (formulário ou forma). Cada Form

representa uma janela individual, onde

podemos inserir, mover ou redimensionar

componentes, entre outras ações.

O Form

O Form é a nossa mesa de trabalho onde

vamos colocando os objetos, desenhando a

forma que desejamos para o programa.

O Form é a nossa mesa de trabalho onde vamos colocando os objetos, desenhando a forma

O Object Inspector

O Object Inspector • É um dos recursos que o C++Builder nos oferece para trabalhar com

É um dos recursos que

o C++Builder nos oferece para trabalhar com as propriedades ou eventos dos objetos do

programa. Ele nos permite

alterar as propriedades do projeto em tempo de desenvolvimento, bem como

nos mostra os eventos

associados aos objetos da aplicação.

O Object Inspector

Quando um componente é selecionado, o Object Inspector automaticamente tem o seu foco direcionado para as propriedades e eventos desse objeto.

Podemos entender por propriedades de um objeto, o seu nome, cor, altura, estilos da borda, estilo da font, estados da janela entre várias outras. Quanto aos

eventos, podemos classificá-los como as ações que o

usuário efetua sobre determinado componente, como, por exemplo, dar um clique num botão, mover o cursor do mouse sobre determinado objeto, soltar o botão do

mouse que se encontrava pressionado, entre diversas

outras ações.

O Code Editor

A janela do Code Editor código mostra o código

atual da aplicação C++Builder. Ao darmos um

duplo clique sobre objetos colocados no Form, automaticamente, abrir-se-á a janela de edição de códigos, exibindo a função associada ao evento de tal chamada, colocando o cursor numa linha interna para digitação do código.

Outra forma de chamarmos o Code Editor é através de um duplo clique na guia correspondente do evento que queremos editar, no Object Inspector.

O Code Editor

O Code Editor

Configurando Componentes

Podemos inserir palavras, textos ou frases em diversos componentes através códigos ou de suas propriedades

no Object Inspector. Podemos, posteriormente, em tempo

de execução, alterar essas propriedades.

Exemplos: no Object Inspector, mude o texto da propriedade Caption do Form, de um Label, de um botão, e

assim por diante e visualize, já no projeto, o resultado da

alteração.

Outros componentes, derivados de outros ramos, possuem outras formas de ser alterados. Por exemplo, altere a propriedade Text de um Edit, ou de um MaskEdit; ou a

propriedade Items de um ListBox; ou as

propriedades Text e Items de um ComboBox etc.

Configurando Componentes em tempo

de execução

void

fastcall

TForm1::Button1Click(TObject *Sender)

{

Label1 -> Caption = "Testando propriedades";

Edit1->Text = "Continuando o teste

ListBox1->Items-> Add(Label1 -> Caption);

ListBox1->Items-> Add("Testando

ComboBox1 -> Text = "Fala, Grande!";

ComboBox1 -> Items -> Add(Label1 -> Caption);

ComboBox1 -> Items -> Add("Fala, Grande ComboBox1 -> Items -> Add(Edit1->Text);

}

";

");

");

Mais Exemplos

void

fastcall

*Sender)

TForm1::Button1Click(TObject

{

ShowMessage("Alô!");

ShowMessage("Alô!" "\nEstou na segunda caixa de

mensagem,\n e na terceira linha");

MessageBox(0, "Agora uma caixa de mensagens

\nm\n\ta\n\t\ti\n\t\t\ts\neditada!", "Caixa de

Aprendizagem

}

", 64);

A classe AnsiString

O C++Builder implementa o

tipo AnsiString como uma classe.

Permite atribuição direta de uma string;

Permite atribuição direta de tipos numéricos;

Permite comparações entre strings;

Implementa conversões de string para números.

Ex.: AnsiString Especie; Especie = "Cachorro";

AnsiString Raca("Pastor Alemão");

AnsiString

Mais exemplos:

AnsiString Simbolo('T');

AnsiString Int(120); AnsiString AloMun("Alô, mundo");

AnsiString PtoFlut(675.15); AnsiString LongoInt(-73495745);

AnsiString DplPrec(2.15e28);

Funções da AnsiString

Insert(str, pos) insere str na posição pos;

Delete(pos, len) apaga len caractere a partir de

pos;

SetLength(newlen) altera o tamanho;

Pos(substr) procura por substr;

LowerCase() e UpperCase() transforma em minúsculo ou maiúsculo o conteúdo da string;

Trim(), TrimLeft() e TrimRight() retira espaços no início e/ou final da string.

Funções da AnsiString cont.

SubString(pos,len) extrai parte da string

começando em pos e comprimento len;

AnsiPos(substr) procura por substr na string;

A Diretiva #pragma

Esta diretiva termina a lista de header

files escolhidos para pré-compilação.

Você pode usá-lo para reduzir o espaço em disco usado por headers de pré-compilação.

#pragma (smart_init)

É utilizada durante a inicialização do

aplicativo.

Assegura que qualquer unidade de códigos requisitada pelo programa será inicializada na

seqüência correta, ou seja, serão inicializadas

na ordem determinada por suas

dependências. Tipicamente, você pode usar

o #pragma package para arquivos .CPP que

são criados como packages.

#pragma resource “*.dfm

Esta diretiva pragma faz o arquivo ser

marcado como uma unidade de Form e requer

combinação .dfm. Ou seja, ela determina que o compilador utilize tal arquivo (.dfm) de

definição do Form, requisitado por essa Unit.

Tais arquivos são administrados pelo IDE.

o modificador

fastcall

fastcall

declara funções que

aguardam parâmetros para serem passados

em registros. Os registros não são usados se o parâmetro é um ponto flutuante ou uma

estrutura (struct type).

Além disso, acrescenta o prefixo @ aos nomes das funções.

Função Principal

Todos os aplicativos escritos em

linguagem C ou C++ iniciam a execução do

programa através de uma função principal. Nas aplicações tipo Console, essa função denomina- se main. Aplicações Win32 GUI

chamam WinMain para iniciar a execução:

int WINAPI WinMain( HINSTANCE hInstance, // manipulador da instancia atual HINSTANCE hPrevInstance, // manipulador da instancia prévia

LPSTR lpszCmdLine, // ponteiro à línha de comando int

nCmdShow // estado de visualização da janela );

A Função ShowMessage

O Componente TForm

O Componente TLabel

O Componente TEdit

Caixas de Diálogo

OpenDialog

SaveDialog

OpenPictureDialog

SavePictureDialog

ColorDialog

Menus

Principal (MainMenu)

Contexto (PopUpMenu)

O TTimer

O Componente TCanvas

TCanvas possibilita o trabalho com gráficos

primitivos, rotinas para desenhar linhas, shapes

(figuras), polygons (polígonos), fonts (fontes), etc, para qualquer controle que contém um canvas:

Canvas->Pen->Color = clBlue; Canvas->MoveTo( 100, 100 ); Canvas->LineTo( 200, 200 ); Canvas->Brush->Color = clBtnFace; Canvas->Font->Name = "Arial"; Canvas->TextOut( Canvas->PenPos.x, Canvas- >PenPos.y,"Este é o fim da linha" );

Propriedades do Canvas

Font: especifica a aparência da fonte (Tfont: fonte, como cor, tamanho e estilo da fonte ) a ser usada quando escrever textos na imagem.

Brush: determina a cor e a forma que Canvas usa

para preencher figuras gráficas e backgrounds.

Pen: especifica a espécie de caneta que o canvas usa para desenhar linhas e esboçar figuras. Use as propriedade do objeto TPen para especificar a cor, estilo largura e modo da caneta.

PenPos: especifica a posição atual de pen.

Pixels: especifica a cor de pixels da área dentro do atual ClipRect.

TRect, Rect, TextRect, Brush e

FrameRect

TRect ARect; ARect = Rect(10,10,300,300); ARect.Top = 10; ARect.Bottom = 300;

ARect.Left = 10; ARect.Right = 300;

Canvas->TextRect(ARect, 85, 100, "Texto no recorte retangular");

Canvas->Brush->Color = clRed;

// A função FrameRect desenha uma borda em torno do retângulo especificado, usando o brush especificado. A largura e altura da borda será sempre uma unidade lógica.

Canvas->FrameRect(ARect);

Desenho de objetos gráficos no Canvas

pen é usado para desenhar uma figura

e brush (pincel) para preencher o interior da

figura.

Para desenhar retângulo ou elipse na tela,

chame o método Rectangle ou o

método Ellipse, passando as coordenadas dos limites do retângulo.

Para desenhar um retângulo arredondado na

tela, chame o método RoundRect.

Exemplos

// ClientWidth especifica a largura da área do

controle em pixels

Canvas->Rectangle(0, 0, ClientWidth/2,

ClientHeight/2);

// ClientHeight especifica a altura da área do

controle em pixels

Canvas->Ellipse(0, 0, ClientWidth/2,

ClientHeight/2);

Canvas->RoundRect(0, 0, ClientWidth/2,

ClientHeight/2, 30, 30);

Desenhando Polígonos

Para desenhar polígonos com qualquer

número de linhas na tela, use o

método Polygon de canvas, que desenha uma série de linhas na tela conectando os pontos

passados, providenciando, por fim, o

fechamento da figura por unir o último ponto

com o primeiro.

Exemplo Polígono

TPoint ponto[6];

ponto[0] = Point(0,0);

ponto[1] = Point(30,80); ponto[2] = Point(280,130); ponto[3] = Point(280,220); ponto[4] = Point(340,320); ponto[5] = Point(440,380); Canvas->Brush->Color = clBlue;

Canvas-> Polygon(ponto, 5 /*número de lados: ou

4, ou 3, ou 2

*/);

O Componente TPen

A propriedade Pen de um controle canvas é o

meio de fazer linhas aparecerem, incluindo

linhas trabalhadas como linhas de figuras. Propriedades:

Color muda a cor de pen;

Width muda a largura de pen; Style muda o estilo de pen;

Mode muda a forma de pen.

O Componente TChart

TChart

O Componente TBitmap

ScanLine