Sei sulla pagina 1di 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.

Criando um aplicao DOS


Escolha File New... Na janela que se abrir, selecione a opo Console Wizard e clique em OK;

Criando um aplicao DOS


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

Criando um aplicao DOS


O C++ Builder abrir o editor de textos para digitao do cdigo fonte:

Primeiro Programa
#pragma hdrstop #include <iostream.h> #pragma argsused int main(int argc, char* argv[]) { cout << "\n\tEstou fazendo o meu primeiro programa\n\n\a"; system("pause"); return 0; }
Salve o cdigo fonte e o projeto: clique no menu File, e escolha a opo Save , salve o programa Prim.cpp e o projeto com o nome PrimProgram.bpr. Para execut-lo pressione F9.

Resultado da Execuo de Prim.cpp

No diretrio do Programa
PrimProgram.bpr: arquivo do projeto PrimProgram.exe: executvel PrimProgram.bpf PrimProgram.tds

Prim.cpp: cdigo fonte Prim.obj

Ambiente Visual
Usando o C++Builder, pode-se criar rapidamente aplicativos altamente eficientes, para a famlia Windows da Microsoft, com um mnimo de codificao manual. O C++Builder fornece uma biblioteca geral de componentes reutilizveis e um conjunto de ferramentas para o rpido desenvolvimento de aplicativos.

Verses do C++Builder
C++ Builder Standard: Mais simples das verses, fornece vrias as ferramentas necessrias para o desenvolvimento de aplicaes. recomendada para iniciantes. C++ Builder Profissional. Oferece a maioria das ferramentas necessrias ao desenvolvimento de aplicativos poderosos, mas sem suporte arquitetura Cliente/Servidor. C++ Builder - Cliente / Servidor (Enterprise). Verso 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 programao divididos em quatro janelas: a janela principal, responsvel 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 codificao manual; e a janela Form, a rea de trabalho de nossos projetos.

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 opes que se pode acessar do menu principal esto disponveis atravs do painel de botes de atalho da barra de ferramentas. Em geral a barra de ferramentas prov uma maneira rpida de executar operaes do programa com um simples clique do mouse.

Menu File
New: Abre uma caixa de dilogo que contm os objetos que podem ser includos no projetos. New Application: Cria um novo projeto que contm, 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 dilogo 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 (posio) dos controles entre direita e esquerda. Lock Controls: Assegura que todos os componentes do form sejam mantidos em suas posies 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 dilogos com a lista de Breakpoints (pontos cruciais) do programa. Watches: Exibe a caixa de dilogo Watch List. Component List: Exibe o box de Componentes, permitindo a colocao destes diretamente no form. Toggle Form/Unit: Exibe o form inativo ou a janela da unit ativa. Units: Exibe uma caixa para visualizao 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 considerao e algum cdigo foi alterado. Options: Exibe a caixa de dilogos Project Options para fundamentos do projeto.

Menu Run
Run: Compila e executa sua aplicao. Parameters: Especifica parmetros de inicializao para sua aplicao. Step Over: Executa um programa a um tempo, progresso de passo a passo sobre funes enquanto execut-lo como uma simples unidade. Trace Into: Executa um programa a um tempo, seguindo dentro das funes e seguindo a execuo de cada linha. Run To Cursor: Executa o programa at a localizao do cursor na janela do Code Editor, demosntrando a posio do cursor no momento em que tal linha de cdigo estiver sendo executada. Program Reset: Finaliza o corrente programa e libera a memria. Inspect: Abre o Inspect dialog onde voc pode examinar o valor de uma varivel ou expresso. Inspect Local Variables: Exibe as funes correntes e variveis locais enquanto no modo debug. Add Watch: Abre a caixa de dilogos Watch Properties, onde voc pode criar e modificar watches Add Breakpoint: Abre a caixa de dilogos Edit Breakpoint, onde voc pode criar e modificar breakpoints

Paleta de Componentes
Os componentes so a base da construo de qualquer aplicao fundamentada na biblioteca VCL (Visual Component Library). Cada pgina de componentes exibe um grupo de cones representando os componentes que voc pode usar para desenhar a interface de suas aplicaes.

Paleta de Componentes
Para implantar os componentes em sua aplicao, basta selecion-lo com um clique do mouse no objeto desejado e dar um clique no formulrio (Form) para que o objeto seja automaticamente inserido no Form. Outra maneira de inserir o componente, atravs de um duplo clique no mesmo, o que provocar a insero do mesmo no centro do formulrio. Uma vez inserido o componente no formulrio, voc poder, em tempo de projeto, atravs do mtodo de arrastar e soltar, alterar sua posio, ou redimension-lo.

Componentes
Cada componente C++Builder uma classe; colocando um componente no form cria-se uma instncia dessa classe. Uma vez que o componente esteja colocado no form, o C++Builder gera o cdigo necessrio para construir uma instncia objeto quando sua aplicao estiver executando. Os componentes podem ser visuais ou no visuais. Cada componente tem atributos especficos que voc ativa para controlar sua aplicao: Propriedades, eventos e mtodos.

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 so realizados atravs do Form (formulrio ou forma). Cada Form representa uma janela individual, onde podemos inserir, mover ou redimensionar componentes, entre outras aes.

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

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

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 vrias outras. Quanto aos eventos, podemos classific-los como as aes que o usurio efetua sobre determinado componente, como, por exemplo, dar um clique num boto, mover o cursor do mouse sobre determinado objeto, soltar o boto do mouse que se encontrava pressionado, entre diversas outras aes.

O Code Editor
A janela do Code Editor cdigo mostra o cdigo atual da aplicao C++Builder. Ao darmos um duplo clique sobre objetos colocados no Form, automaticamente, abrir-se- a janela de edio de cdigos, exibindo a funo associada ao evento de tal chamada, colocando o cursor numa linha interna para digitao do cdigo. Outra forma de chamarmos o Code Editor atravs de um duplo clique na guia correspondente do evento que queremos editar, no Object Inspector.

O Code Editor

Configurando Componentes
Podemos inserir palavras, textos ou frases em diversos componentes atravs cdigos ou de suas propriedades no Object Inspector. Podemos, posteriormente, em tempo de execuo, alterar essas propriedades. Exemplos: no Object Inspector, mude o texto da propriedade Caption do Form, de um Label, de um boto, e assim por diante e visualize, j no projeto, o resultado da alterao. 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 execuo


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

A classe AnsiString
O C++Builder implementa o tipo AnsiString como uma classe.
Permite atribuio direta de uma string; Permite atribuio direta de tipos numricos; Permite comparaes entre strings; Implementa converses de string para nmeros. Ex.: AnsiString Especie; Especie = "Cachorro"; AnsiString Raca("Pastor Alemo");

AnsiString
Mais exemplos: AnsiString Simbolo('T'); AnsiString Int(120); AnsiString AloMun("Al, mundo"); AnsiString PtoFlut(675.15); AnsiString LongoInt(-73495745); AnsiString DplPrec(2.15e28);

Funes da AnsiString
Insert(str, pos) insere str na posio 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 minsculo ou maisculo o contedo da string; Trim(), TrimLeft() e TrimRight() retira espaos no incio e/ou final da string.

Funes da AnsiString cont.


SubString(pos,len) extrai parte da string comeando 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-compilao. Voc pode us-lo para reduzir o espao em disco usado por headers de pr-compilao.

#pragma (smart_init)
utilizada durante a inicializao do aplicativo. Assegura que qualquer unidade de cdigos requisitada pelo programa ser inicializada na seqncia correta, ou seja, sero inicializadas na ordem determinada por suas dependncias. Tipicamente, voc pode usar o #pragma package para arquivos .CPP que so criados como packages.

#pragma resource *.dfm


Esta diretiva pragma faz o arquivo ser marcado como uma unidade de Form e requer combinao .dfm. Ou seja, ela determina que o compilador utilize tal arquivo (.dfm) de definio do Form, requisitado por essa Unit. Tais arquivos so administrados pelo IDE.

__fastcall
o modificador __fastcall declara funes que aguardam parmetros para serem passados em registros. Os registros no so usados se o parmetro um ponto flutuante ou uma estrutura (struct type). Alm disso, acrescenta o prefixo @ aos nomes das funes.

Funo Principal
Todos os aplicativos escritos em linguagem C ou C++ iniciam a execuo do programa atravs de uma funo principal. Nas aplicaes tipo Console, essa funo denominase main. Aplicaes Win32 GUI chamam WinMain para iniciar a execuo:
int WINAPI WinMain( HINSTANCE hInstance, // manipulador da instancia atual HINSTANCE hPrevInstance, // manipulador da instancia prvia LPSTR lpszCmdLine, // ponteiro lnha de comando int nCmdShow // estado de visualizao da janela );

A Funo ShowMessage

O Componente TForm

O Componente TLabel

O Componente TEdit

Caixas de Dilogo
OpenDialog SaveDialog OpenPictureDialog SavePictureDialog ColorDialog

Menus
Principal (MainMenu) Contexto (PopUpMenu)

O TTimer

O Componente TCanvas
TCanvas possibilita o trabalho com grficos primitivos, rotinas para desenhar linhas, shapes (figuras), polygons (polgonos), fonts (fontes), etc, para qualquer controle que contm 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 aparncia 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 grficas e backgrounds. Pen: especifica a espcie de caneta que o canvas usa para desenhar linhas e esboar figuras. Use as propriedade do objeto TPen para especificar a cor, estilo largura e modo da caneta. PenPos: especifica a posio 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.Left = 10; ARect.Bottom = 300; ARect.Right = 300; Canvas->TextRect(ARect, 85, 100, "Texto no recorte retangular"); Canvas->Brush->Color = clRed; // A funo FrameRect desenha uma borda em torno do retngulo especificado, usando o brush especificado. A largura e altura da borda ser sempre uma unidade lgica. Canvas->FrameRect(ARect);

Desenho de objetos grficos no Canvas


pen usado para desenhar uma figura e brush (pincel) para preencher o interior da figura. Para desenhar retngulo ou elipse na tela, chame o mtodo Rectangle ou o mtodo Ellipse, passando as coordenadas dos limites do retngulo. Para desenhar um retngulo arredondado na tela, chame o mtodo 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 Polgonos
Para desenhar polgonos com qualquer nmero de linhas na tela, use o mtodo Polygon de canvas, que desenha uma srie de linhas na tela conectando os pontos passados, providenciando, por fim, o fechamento da figura por unir o ltimo ponto com o primeiro.

Exemplo Polgono
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 /*nmero 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

Potrebbero piacerti anche