Aula1   c++ builder
Upcoming SlideShare
Loading in...5
×
 

Aula1 c++ builder

on

  • 12,127 views

aula de C++ Builder 6

aula de C++ Builder 6

Statistics

Views

Total Views
12,127
Views on SlideShare
12,127
Embed Views
0

Actions

Likes
2
Downloads
259
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Aula1   c++ builder Aula1 c++ builder Presentation Transcript

  • Linguagem Avançada C++ Builder Prof. Wdson de Oliveira Local: Fatec Jahu Fevereiro-2011
  • Objetivo do curso
    • Fornecer o conhecimento básico do ambiente de programação visual C++ Builder e de seus principais componentes para o desenvolvimento de aplicações.
  • Sobre o curso
    • Serão abordados os conceitos básicos de:
      • programação OO
      • programação orientada a eventos;
      • programação visual.
    • Serão utilizados os principais componentes (objetos) da linguagem.
  • Programação Orientada a Objetos
  • Programação Orientada a Objetos
    • Uma classe é uma abstração para agrupar determinados dados e manipulá-los de forma coerente. Em geral uma classe possui os seguintes elementos:
      • Propriedades /Atributos
      • Métodos
      • Eventos
  • Programação Orientada a Objetos
    • Propriedade de uma classe é um valor. Seja ele numérico, data, caracter ou qualquer outro tipo
    • Método é uma operação que é realizada sobre as propriedades de uma classe.
    • Uma classe pode possuir vários estados. Quando um destes estados muda, é acionado um evento associado a esta mudança.
  • O Ambiente C++ Builder
  • Tela Principal do Builder
  • Tela Principal do Builder SpeedBar é uma barra de ferramenta que contém botões para a execução das atividades mais utilizadas para estas opções estão contidas no Menu do Builder. Menu do Builder
  • Tela Principal do Builder Os componentes da página selecionada Guia ou Páginas
  • Tela Principal do Builder Guia de propriedades do Inspetor de Objetos (Object Inspector). Esta Guia especifica as propriedades do objeto selecionado. Guia de eventos do Inspetor de Objetos (Object Inspector) Neste ComboBox(Caixa de Combinação) temos relacionados todos os objetos do formulário, o nome do objeto que aparece selecionado é o objeto no qual o object Inspector esta exibindo suas propriedades.
  • Criando um projeto
    • O Builder trabalha com projeto e com os formulários vinculados ao projeto.
      • “ O projeto é o programa; os formulários vinculados ao projeto são as janelas ou seções“.
    • Ao salvar um projeto, supondo-se que este projeto seja salvo com o nome de “Projeto” , o Builder salvará o projeto na pasta especificada e irá gerar os seguintes arquivos :
      • Projeto . bpr
      • Projeto . res
      • Projeto . cpp
  • Criando um projeto
    • Projeto . bpr  neste arquivo tem informações da versão do builder, formulários que estão ligados ao projeto, etc...
    • Projeto . res  este é um arquivo de recurso do Builder
    • Projeto . cpp  neste arquivo está a função principal(WinMain) do projeto, que por sua vez inicializa a execução do projeto e a criação de todos os formulários em tempo de execução.
  • Criando um projeto
    • Depois de salvar o projeto iremos salvar o formulário com o nome de “Form” como “frm” , gerando os seguintes arquivos :
    • frm . cpp  possui o código que foi inserido pelo usuário nos evento dos objetos.
    • frm . h  neste arquivo está definido a classe do formulário e a declaração de todos os objetos colocados no formulário.
    • frm . dfm  possui a imagem do formulário.
  • O projeto: Backup
    • O Builder cria cópia dos arquivos do formulário que neste caso são : frm . ~cpp, frm . ~h e frm . ~dfm.
    • Ao salvar um projeto o Builder cria mais três arquivos que são : Projeto . ~bpr, Projeto . ~res e Projeto . ~cpp.
  • Menus do Builder
  • Menu File: New
    • Exibe a caixa de dialogo “New ”, que provê acesso para um novo formulários, nova aplicação para ser desenvolvida pelo usuário a partir do zero, etc.
  • Menu File: New - Application
    • Esta opção está disponível na caixa de diálogo da opção New do Menu File, a finalidade desta opção é gerar uma nova aplicação sem nada nela desenvolvida para que usuário possa desenvolver o seu sistema da maneira como quiser.
  • Menu File: New Form
    • Através desta opção pode-se adicionar um novo formulário em um projeto.
  • Menu Project
  • Menu Project: Add to Project
    • Esta opção abre a caixa de diálogo a seguir :
  • Menu Project: Add to Project
    • Use esta caixa de diálogo para adicionar uma unit existente e seu formulário ao projeto atualmente aberto no C++ Builder.
    • Quando você adiciona uma unit no projeto, o C++ Builder automaticamente faz referências da unit adicionando uma declaração de #include para o projeto no arquivo de extensão .BPR.
  • Menu Project: Remove from Project
    • Use esta caixa de diálogo para selecionar um ou mais unit que deseja remover do projeto atual. Quando você seleciona uma unit e clica em OK, C++ Builder remove a unit selecionada (os arquivos .CPP, .H e .DFM) do projeto atual mas não apaga nenhum arquivo de seu disco.
  • Menu Project: Add to Repository
    • Use este comando para somar projetos, códigos, e formulários para o Repository de Object .
    • É útil em situações onde você usa muito um formulário.
    • Adicionando este formulário no Repository Object, depois através da opção New do Menu File você poderá incluir o seu formulário sem ter que fazê-lo de novo.
  • Menu Project: Options
  • Menu Project: Options
    • Use as páginas(guias) desta janela de diálogo para especificar Forms, Application, Compile, Linker, C++, etc
    • Forms Controlam os formulário criados. Através da opção Main Form podemos especificar qual formulário será executado primeiro em um projeto com mais de um formulário.
    • Application Especifica o título(Title), nome de arquivo de ajuda(Help File), e nome de ícone associados com a aplicação(Load Icon).
  • Menu Project: Options
    • Compile especifica as opções gerais para os C++ compilador interruptores que detemina como código deve ser compilado.
    • Advance Compile Especifica opções adicionais para o compilador de C++.
    • C++ Especifica opções do compilador C++.
  • Menu Project: Options
    • Pascal Especifica opções do compilador de Objeto Pascal
    • Linker Gerencia como seus arquivos de programa são Linkados
    • Directories/Conditionals Especifica a localização de arquivos necessários para compilar e Linkar seu programa
  • Menu Project: Options
    • VersionInfo Especifica as informação de identificação do produto
    • Packages Especificam os pacotes com os objetos estão instalados
    • Tasm Configura os parâmetros e âmbito para o montador de turbo Assembly
  • Menu Run
  • Menu Run
    • Run : utilizada para compilar e linkar a sua aplicação e logo após executa o programa. Se o compilador encontra um erro, exibe uma caixa de diálogo de Erro; Não encontrando nenhum erro de sintaxe no código do programa o compilador constrói um arquivo executável
    • Program Reset : É utilizado para terminar a execução do programa atual e retira da memória um programa na qual ocorreu um erro em tempo de execução.
  • Menu Database
    • Explore : Executa o Explore(Explorador de Banco de dados ou Explorador de SQL). Ambas as ferramentas lhe deixarão : criar, visualizar, e editar dados e pseudônimos de BDE. Explorador de SQL permite examinar bancos de dados locais e distantes.
    • Form Wizard : Esta opção permite criar um formulário que exibe dados de um banco de dados sem muito trabalho.
  • Menu tools
    • Database Desktop : Executa o Database Desktop que é uma ferramenta utilizada para criar e reestruturar tabelas de um banco de dados. Você pode trabalhar com elas em Paradox, dBASE, e formatos de SQL.
    • Image Editor : aplicativo utilizado para criar imagem para objetos que você criou, para criar ícones, arquivos bitmap, etc...
    • Configure Tools : Nos permite configurar as opções do Menu Tools.
  • Object Inspector
  • Object Inspector (OI)
    • Permite visualizar rapidamente as propriedades e eventos de um determinado objeto, mostrando ainda de qual classe ele pertence.
    • Para verificar as propriedades de um determinado objeto, basta clicar no objeto em que se esta trabalhando, e o OI alternará para as propriedades e eventos deste objeto.
  •  
  • Figura do Object Inspector
    • à esquerda temos as propriedades do objeto Edit1 (classe TEdit), já no lado direito temos o Object Inspector mostrando os métodos deste mesmo objeto.
  • Primeiro Projeto
  • Soma dois números
    • Para a construção deste programa iremos precisar de três componentes (ou classes):
      • TEdit;
      • TButton e;
      • TLabel
  • Classe TEdit
    • Propriedades :
      • Name . é o nome do objeto. Todo objeto precisa ter um nome, para ser referenciado
      • Text . guarda o conteúdo digitado, ou o conteúdo para ser mostrado na tela
      • ReadOnly . aceita os valores true/false, caso o valor seja true, o usuário não poderá digitar nenhum valor neste objeto.
      • Visible . pode receber os valores true/false, caso o valor seja true o objeto será mostrado na tela.
  • Classe TEdit
    • Métodos :
      • SelectAll . seleciona todo o conteúdo do objeto
      • CopyToClipboard . copia o conteúdo selecionado do objeto para a área de Clipboard
      • PasteFromClipboard . cola o conteúdo da área de Clipboard na propriedade Text do objeto
      • Clear . limpa o conteúdo da propriedade Text.
      • SetFocus . fará com que o cursor seja posicionado neste objeto.
  • Classe TEdit
    • Eventos :
      • OnChange . é acionado quando a uma mudança na propriedade Text ocorrer, ou seja, quando houver uma mudança nesta propriedade o evento OnChange é acionado.
      • OnEnter . é acionado quando o Focus da aplicação é passado para esse objeto, ou seja, quando entra no objeto.
      • OnExit . ao contrário do evento OnEnter é acionado na saída do objeto.
  • Exemplos Classe TEdit
    • Edit1 e Edit2 são objetos da classe TEdit
    • Exemplo 1:
      • Igualar a propriedade Text de dois objetos
        • Edit1->Text = Edit2->Text;
    • Exemplo 2:
      • Igualar a propriedade Text de dois objetos, só que utilizando métodos
        • Edit2->SelectAll();
        • Edit2->CopyToClipboard();
        • Edit1->Clear();
        • Edit1->PasteFromClipboard();
        • Edit1->SetFocus();
  • Exemplos Classe TEdit
    • Exemplo 3:
      • Mostrar uma mensagem na tela se o conteúdo da propriedade Text do objeto Edit1 for alterado.
      • clicar no objeto Edit1, ir no Object Inspector, selecionar Events (eventos), dar dois cliques no evento OnChange , que o C++ Builder criará uma procedure, que deverá ser chamada toda vez que ocorrer uma mudança na propriedade Text.
      • Dentro desta procedure, nós podemos escrever qualquer comando, como por exemplo:
  • Exemplos Classe TEdit
      • ShowMessage(“Houve uma alteração de valor”); /* A função ShowMessage mostra uma mensagem qualquer na tela */
      • A implementação completa ficaria assim:
        • void __fastcall TForm1::Edit1Change(TObject *Sender)
        • {
        • ShowMessage("Houve uma alteração de valor");
        • }
  • Classe TButton
    • Propriedades :
      • Caption . A propriedade Caption fará com que seja mostrado o nome indicado no botão.
      • Enabled . Esta propriedade pode receber os valores true/false. Caso o valor seja true, o objeto pode ser acionado normalmente com um click do mouse. Caso a propriedade seja false, o click do mouse não fará efeito algum. O objeto estará desabilitado até que a propriedade seja alterada.
  • Classe TButton
    • Métodos :
      • SetFocus . A funcionalidade é a mesma do método SetFocus de TEdit
    • Eventos :
      • OnClick . O evento OnClick será acionado quando o usuário clicar no botão.
  • Exemplos Classe TButton
    • Exemplo 1:
      • Colocar o texto “Calcular” no botão Button1.
        • Button1->Caption = “Calcular”;
    • Exemplo 2:
      • Mostrar a mensagem “Você clicou no botão” quando Button1 for pressionado.
      • O botão ser pressionado significa que aconteceu o evento OnClick dentro de Button1. Logo dentro deste evento basta colocarmos o comando ShowMessage(“Você clicou no botão”). O comando completo:
        • void __fastcall TForm1::Button1Click(TObject *Sender)
        • {
        • ShowMessage("Você clicou no botão");
        • }
  • Classe TLabel
    • Propriedades :
      • Caption . A propriedade Caption fará com que seja mostrado o nome indicado no label.
  • Agora já estamos prontos para fazermos a nossa primeira implementação.....
  • Código Fonte: arquivos gerados
    • Project1.bpr  gerado automaticamente. Guarda os parâmetros de compilação para o programa, bem como os endereços de bibliotecas;
    • Project1.cpp  gerado automaticamente e não precisa ser alterado. É a partir dele que as Unit´s serão chamadas
    • Unit1.dfm  gerado a partir das definições de objeto que o usuário vai fazendo na tela, ou seja, basta o usuário ir posicionando os objetos na ordem que desejar, com suas respectivas propriedades e eventos, que o arquivo vai sendo gerado automaticamente;
    • Unit1.cpp  conterá o programa propriamente dito que possibilitará a soma dos dois números.
    • Unit1.h  Este arquivo também é gerado automaticamente , e constitui os cabeçalhos e funções, procedures e declaração de objetos. Para funções definidas pelo programador, ele precisará sofrer pequenas alterações. Não é o caso neste exemplo.
  • Arquivo Unit1.dfm
    • As definições de tela são armazenadas no arquivo com a extensão dfm.
    • O Objeto Form1 é da classe TForm, e é a tela onde serão colocados os outros objetos.
    • Os objetos Label1, Label2 e Label3 são da classe TLabel, e foram utilizados para escrever um conteúdo na tela.
  • Arquivo Unit1.dfm
    • Os objetos Edit1, Edit2 e Edit3 são da classe TEdit e foram utilizados para a entrada e a saída dos resultados.
    • O objeto Button1 da classe TButton, que foi o objeto utilizado para realizar a operação de soma.
  • Nossa tela Label1 Label2 Button1 Label3 Edit1 Edit2 Edit3 Form1
  • Arquivo Unit1.cpp
    • Neste arquivo, devemos incluir o que queremos que o nosso programa faça.
    • Faremos isto no evento OnClick do objeto Button1 , ou seja, quando o usuário clicar no botão executaremos uma determinada ação.
    • Para fazermos isso, basta o usuário dar dois cliques em Button1, que este criará a função Button1Click , associada ao evento OnClick deste botão. Agora basta escrevermos o que desejamos que a função faça:
  • Arquivo Unit1.cpp
    • /* Cria uma variável R (maiúscula) que armazenará valores reais */
    • float R;
    • /* A função StrToFloat converte uma String em um número real, como a propriedade Text do objeto Edit1 é do tipo String, esta conversão torna-se necessária. O mesmo ocorre com Edit2 */
    • R = StrToFloat(Edit1->Text) + StrToFloat(Edit2->Text);
    • /* Já a função FloatToStr faz exatamente o contrário, ou seja, converte um número real em uma String, para poder ser exibida no objeto Edit3, na propriedade Text */
    • Edit3->Text = FloatToStr(R);
  • Listagem completa do programa
    • //---------------------------------------------------------------------------
    • #include <vcl.h>
    • #pragma hdrstop
    • #include &quot;Unit1.h&quot;
    • //---------------------------------------------------------------------------
    • #pragma package(smart_init)
    • #pragma resource &quot;*.dfm&quot;
    • TForm1 *Form1;
    • //---------------------------------------------------------------------------
    • __fastcall TForm1::TForm1(TComponent* Owner)
    • : TForm(Owner)
    • {
    • }
    • //---------------------------------------------------------------------------
    • void __fastcall TForm1::Button1Click(TObject *Sender)
    • {
    • float R;
    • R = StrToFloat(Edit1->Text) + StrToFloat(Edit2->Text);
    • Edit3->Text = FloatToStr(R);
    • }
    • //---------------------------------------------------------------------------
  • Arquivo Unit1.h
    • //---------------------------------------------------------------------------
    • #ifndef Unit1H
    • #define Unit1H
    • //---------------------------------------------------------------------------
    • #include <Classes.hpp>
    • #include <Controls.hpp>
    • #include <StdCtrls.hpp>
    • #include <Forms.hpp>
    • //---------------------------------------------------------------------------
    • class TForm1 : public TForm
    • {
    • __published: // IDE-managed Components
    • TLabel *Label1;
    • TEdit *Edit1;
    • TLabel *Label2;
    • TEdit *Edit2;
    • TButton *Button1;
    • TLabel *Label3;
    • TEdit *Edit3;
    • void __fastcall Button1Click(TObject *Sender);
    • private: // User declarations
    • public: // User declarations
    • __fastcall TForm1(TComponent* Owner);
    • };
    • //---------------------------------------------------------------------------
    • extern PACKAGE TForm1 *Form1;
    • //---------------------------------------------------------------------------
    • #endif