c++builder tutorial

59
C++ Builder

Upload: timigo

Post on 04-Aug-2015

178 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: C++Builder Tutorial

C++ Builder

Page 2: C++Builder Tutorial

Iniciando o C++Builder

• No menu de programas escolha o item Borland C++ Builder 5 e, em seguida o item C++ Builder 5.

Page 3: C++Builder Tutorial

Criando um aplicação DOS• Escolha File New...

• Na janela que se abrir, selecione a opção Console Wizard e clique em OK;

Page 4: C++Builder Tutorial

Criando um aplicação DOS

• Selecione C++ em Source Type, e Console Application. Depois click em Ok.

Page 5: C++Builder Tutorial

Criando um aplicação DOS

• O C++ Builder abrirá o editor de textos para digitação do código fonte:

Page 6: C++Builder Tutorial

Primeiro Programa

#pragma hdrstop#include <iostream.h>#pragma argsusedint main(int argc, char* argv[]){

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

}

Salve o código fonte e o projeto:clique no menu File, eescolha a opção Save , salve o programa Prim.cpp eo projeto com o nome PrimProgram.bpr.Para executá-lo pressione F9.

Page 7: C++Builder Tutorial

Resultado da Execução de Prim.cpp

Page 8: C++Builder Tutorial

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

Page 9: C++Builder Tutorial

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.

Page 10: C++Builder Tutorial

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.

Page 11: C++Builder Tutorial

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 ObjectInspector, 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.

Page 12: C++Builder Tutorial

Ambiente Visual

Page 13: C++Builder Tutorial

Ambiente de Desenvolvimento Integrado - IDE

• Quando se inicia o C++Builder, visualiza-se um grupo de janelas dispersas em volta de uma janela principal.

Page 14: C++Builder Tutorial

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.

Page 15: C++Builder Tutorial

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.

Page 16: C++Builder Tutorial

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.

Page 17: C++Builder Tutorial

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.

Page 18: C++Builder Tutorial

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.

Page 19: C++Builder Tutorial

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.

Page 20: C++Builder Tutorial

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

Page 21: C++Builder Tutorial

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.

Page 22: C++Builder Tutorial

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.

Page 23: C++Builder Tutorial

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.

Page 24: C++Builder Tutorial

Componentes

• Para obter ajuda a respeito de um determinado componente, clique o componente e pressione F1.

Page 25: C++Builder Tutorial

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 Formrepresenta uma janela individual, onde podemos inserir, mover ou redimensionar componentes, entre outras ações.

Page 26: C++Builder Tutorial

O Form

• O Form é a nossa mesa de trabalho onde vamos colocando os objetos, desenhando a forma que desejamos para o programa.

Page 27: C++Builder Tutorial

O Object Inspector

• É 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.

Page 28: C++Builder Tutorial

O Object Inspector

• Quando um componente é selecionado, o ObjectInspector 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.

Page 29: C++Builder Tutorial

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.

Page 30: C++Builder Tutorial

O Code Editor

Page 31: C++Builder Tutorial

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.

Page 32: C++Builder Tutorial

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);}

Page 33: C++Builder Tutorial

Mais Exemplos

void __fastcall TForm1::Button1Click(TObject*Sender)

{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);

}

Page 34: C++Builder Tutorial

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");

Page 35: C++Builder Tutorial

AnsiString

• Mais exemplos:

AnsiString Simbolo('T');

AnsiString Int(120);

AnsiString AloMun("Alô, mundo");

AnsiString PtoFlut(675.15);

AnsiString LongoInt(-73495745);

AnsiString DplPrec(2.15e28);

Page 36: C++Builder Tutorial

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.

Page 37: C++Builder Tutorial

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;

Page 38: C++Builder Tutorial

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.

Page 39: C++Builder Tutorial

#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.

Page 40: C++Builder Tutorial

#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.

Page 41: C++Builder Tutorial

__fastcall

• o modificador __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.

Page 42: C++Builder Tutorial

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 );

Page 43: C++Builder Tutorial

A Função ShowMessage

Page 44: C++Builder Tutorial

O Componente TForm

Page 45: C++Builder Tutorial

O Componente TLabel

Page 46: C++Builder Tutorial

O Componente TEdit

Page 47: C++Builder Tutorial

Caixas de Diálogo

• OpenDialog

• SaveDialog

• OpenPictureDialog

• SavePictureDialog

• ColorDialog

Page 48: C++Builder Tutorial

Menus

• Principal (MainMenu)

• Contexto (PopUpMenu)

Page 49: C++Builder Tutorial

O TTimer

Page 50: C++Builder Tutorial

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" );

Page 51: C++Builder Tutorial

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 canvasusa 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.

Page 52: C++Builder Tutorial

TRect, Rect, TextRect, Brush e FrameRect

TRect ARect;ARect = Rect(10,10,300,300);ARect.Top = 10; ARect.Left = 10;ARect.Bottom = 300; 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);

Page 53: C++Builder Tutorial

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.

Page 54: C++Builder Tutorial

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);

Page 55: C++Builder Tutorial

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.

Page 56: C++Builder Tutorial

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 ...*/);

Page 57: C++Builder Tutorial

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.

Page 58: C++Builder Tutorial

O Componente TChart

• TChart

Page 59: C++Builder Tutorial

O Componente TBitmap

• ScanLine