Introdução e conceitos fundamentais de aplicações gráficas … · 2015. 9. 14. · Lazarus IDE...

120
Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina POO Material III-Bimestre Introdução e conceitos fundamentais de aplicações gráficas usando janelas http://www1.univap.br/~wagner Prof. Responsável Wagner Santos C. de Jesus 1

Transcript of Introdução e conceitos fundamentais de aplicações gráficas … · 2015. 9. 14. · Lazarus IDE...

  • Universidade do Vale do ParaíbaColégio Técnico Antônio Teixeira Fernandes

    Disciplina POO

    Material III-Bimestre

    Introdução e conceitos fundamentais Introdução e conceitos fundamentais de aplicações gráficas usando

    janelashttp://www1.univap.br/~wagner

    Prof. Responsável

    Wagner Santos C. de Jesus

    1

  • Histórico C#

    A linguagemC# (Sharp) foi influenciada linguagens C++e Java que ganhoupopularidadenacomunidadede informáticapopularidadenacomunidadede informáticaquando a Microsoft decidiu incluí-la nopacote Visual Studio.

    2

  • Criador C#

    Engenheiro deSistemas Microsoft,que além do C# foique além do C# foicriador do TurboPascal e do Delphi.

    3

    Anders Hejlsberg

  • Ambiente RAD (C#)

    C++C#

    4

    C++Java C#

  • IDE (Ambiente Integrado (Ambiente Integrado de Desenvolvimento)

    5

  • Conceito de IDE

    É um programa de computador quereúne características e ferramentas de apoioao desenvolvimentode software com oao desenvolvimentode software com oobjetivo de agilizar este processo.

    6

  • RAD (Desenvolvimento (Desenvolvimento

    Rápido de Aplicativos)

    7

  • Conceito de RAD

    Normalmente as IDE facilitam asTécnicas de RAD (DesenvolvimentoTécnicas de RAD (DesenvolvimentoRápido de Aplicativos).

    8

  • Mono - Desktop

    9

    Gedit

  • Ilustração de Ferramenta RAD

    10

    Lazarus IDE (RAD)

  • C++ Builder

    11

  • GLgBuilder

    12

    Java Class LibraryAJAX Graphics Server for Mobile DeploymentCross-Platform C/C++ LibrariesC# DLL and ActiveX Control(Windows only)

  • Funcionamento da Ferramenta

    Programador

    13

    IDE Editor do Visual Studio

    C# GDI Windows

    GDI - Interface Dispositivos Gráficos

  • Características

    • O Java utiliza comentários Javadoc e o C#utiliza comentários baseados emXML ;

    • O Java utiliza a JVM, C# e .Net Framework.

    • Compiladores de linha de comando.• Compiladores de linha de comando.

    • Compiladores para Windows, Windows Mobile, Linux, Mac OS X e Solaris.

    • Orientação à Objetos.

    • Manipulação de Banco de Dados.

    14

  • Janela Principal do Ambiente

    15

  • Principais modelos para criação de aplicações.

    Modelo Tipos de Projetos Criados

    Windows Forms Aplication (Aplicativo Windows Foms) (*)

    Aplicação desktop para o sistema operacional Windows

    16

    Windows Foms) (*) operacional Windows

    WPF Application (Aplicativo WPF) Aplicação Desktop para criação de templates (Código Reutilizáveis)

    Console Application (Aplicativo de console) (*)

    Aplicação que ocorre apartir de linha de comandos do Windows.

  • Linguagem de Programação Características OperacionaisCaracterísticas Operacionais

    17

  • Característica principais de uma Linguagem de Programação (C#)

    – Sintaxe (Escrita)– Semântica (Significado)– Semântica (Significado)

    – Pragmática (Lógica)

  • Estrutura de um programa C#Aplicação (Console)

    using System;using System.Collections.Generic;using System.Linq;using System.Text;

    namespace ConsoleApplication1{

    Determina pacotes que deverão ser usados pelo programa.

    {class Program{

    static void Main(string[] args){

    ......................................}

    }} 19

    Declara escopo que contémumconjunto de classes relacionadas.

    Área de Template

  • Tipos de DadosDados

    20

  • Conceito de Tipos de Dados

    O tipo de dados representa o tipo deinformação que uma variável ou umaconstante pode armazenarconstante pode armazenarestabelecendo seu limite mínimo emáximo de valores suportados.

    21

  • Exemplo

    4 2 10 0 0 0

    1 0 0 1

    Inteiro de 3 bits (int3)n2

    n = 3

    22

    1 0 0 1

    2 0 1 0

    3 0 1 1

    4 1 0 0

    5 1 0 1

    6 1 1 0

    7 1 1 1

    int3 a = 5;

  • Tipos em C# (u - unsigned)

    Tipo de Dados ArmazenamentoByte, Ushort, Uint e Ulong Números inteiros positivos

    Sbyte, Short, Int e Long Números inteiros positivos e negativos

    23

    Float, Double e Decimal Números inteiros e reais (Positivos e negativos)

    Char e String Caracteres e cadeias de caracteres.

    Bool Valores lógicos

  • Literais (Valores pré-definidos)

    Tipo de Dados Sufixo Exemplo

    uint U uint valor = 35U;

    long L long valor = 35L;

    ulong UL ulong valor = 10UL;

    24

    ulong UL ulong valor = 10UL;

    float F Float valor = 20.3F;

    double D double valor = 20.3D;

    decimal M decimal valor = 20.3M;

  • Tipos Principais

    Tipo de Dados Tamanho Exemplo

    Int 4 bytes int valor = 35;

    long 8 bytes long valor = 35;

    byte 1 byte byte valor = 255;

    float 4 bytes float valor = 20.3;

    25

    float 4 bytes float valor = 20.3;

    double 8 bytes double valor = 20.3;

    decimal 16 bytes decimal valor = 20.3;

    char 2 bytes Apenas um caractere

    string - Conjunto de caracteres

    bool 1 byte true/false (Booleano)

  • Operações Matemáticas de Matemáticas de

    Lógicos

    26

  • Operadores Aritméticos

    + Adição

    - Subtração

    * - Multiplicação* - Multiplicação

    / - Divisão

    % - Resto da Divisão (Módulo)

    27

  • Operadores de atribuição

    = Atribuição simples

    += Atribuição com adição

    -= Atribuição com subtração

    *= Atribuição com multiplicação*= Atribuição com multiplicação

    /= Atribuição com divisão

    %= Atribuição com módulo

    28

  • Operadores Lógicos

    ! - Não inverso&& - e lógico&& - e lógico| | - ou lógico

    29

  • Operadores Relacionais

    = = - Igual

    != - Diferente de

    < - Menor que< - Menor que

    > - Maior que

    >= - Maior ou Igual

  • Operadores de Incremento e decremento

    ++ - Incremento-- - Decremento

    31

  • Exemplo atribuição

    int a = 5;

    a++; // Resultado de a = 6.

    int y = 4;int y = 4;

    int k = y++; // Resultado y = 5 e k = 4

    32

  • Linguagem de Programação C#

    •Atribuição

    •Condição •Condição

    •Repetição

    33

  • Condicional if()

    if() {[Bloco-Instruções-1]

    }}else {

    [Bloco-Instruções-2]}

    34

  • Condicional if()

    if() [Instrução-1]

    else else [Instrução-2]

    35

  • Exemplo de if()

    char sexo = ‘M’;

    if(sexo == ‘F’) {

    idade = 45;

    cintura = 20;

    nasc = “Brasileira”;

    }

    36

  • switch(): cadeia de condiçãoswitch() {

    case valor1:

    [bloco de instruções]

    break;

    case valor2:case valor2:

    [bloco de instruções]

    break;

    default:

    [bloco de instruções]

    break;

    } 37

  • Exemplo switch()switch(categoria) {

    case 1:

    bonus = salario * 0.1;

    break;

    case 6:

    bonus = salario * 0.07;

    A instrução break deve serusada para que hajaabandono da estrutura.

    break;

    case 7:

    bonus = 100;

    break;

    default:

    bonus = 0;

    break;

    }38

  • Estrutura de repetiçãorepetição

    39

  • while():Enquanto a condição verdadeira executa.

    while () {

    [bloco de instruções]

    }

    40

    do{

    [bloco de instruções]

    } while ();

  • Exemplo: while()

    int num = 20;

    int contador = 0;

    while (num > 10)while (num > 10)

    {

    num = num - 1;

    contador = contador + 1;

    }

    41

  • Exemplo: do while()

    int num = 8;

    int contador = 0;

    do {do {

    num = num - 1;

    contador = contador + 1;

    } while (num != 0);

    42

  • Instrução for()

    for(;;)

    {

    [bloco de instruções]

    }

    43

  • Exemplo do for()

    int num = 8;

    int contador = 0;

    for (int i = 0; i

  • Quebra e permanência de ciclo em estruturas de ciclo em estruturas de

    Controle.

    45

  • Quebra de ciclo (break)

    46

    Estrutura for (para)Estrutura while (enquanto)

  • Exemplo Prático (break)

    int num = 8;

    int contador = 0;

    while (num != 0) {

    if (contador == 2)if (contador == 2)

    break;

    num = num - 1;

    contador = contador + 1;

    }

    47

  • Permanência de ciclo (continue)

    48

    Estrutura for (para) Estrutura while (enquanto)

  • Exemplo Prático (continue)int num = 8;int contador = 0;

    while (num != 0) {if (contador == 2){

    num = 0;num = 0;continue;

    }num = num - 1;contador = contador + 1;

    }

    49

  • Entrada e Saída de Dadosde Dados

    50

  • Classe: Console

    Representa a entrada, assaídas, e os fluxos de erro padrãopara aplicativos do console. Estaclasse não pode ser herdada.classe não pode ser herdada.

    51

    Sistema Operacional

    Console

    Processador

    Dispositivos de Entrada e Saída

  • Entrada de dados Métodos read e readLine()

    Método Descrição

    read() Realiza a leitura de umcaractere pelo teclado.

    52

    caractere pelo teclado.readLine() Realiza a leitura de uma String

    pelo teclado.

  • Saída de dados Métodos write e writeLine()

    Método Descrição

    write() Realiza a escrita de uma stringsem salto de linhas.

    53

    sem salto de linhas.writeLine() Realiza a escrita de uma String

    com salto de linhas.

  • Exemplo de Entrada e Saida

    String str = Console.ReadLine();Console.WriteLine(str);Console.WriteLine(str);

    54

  • Conversão de Tipos de DadosTipos de Dados

    55

  • Método: Parse()

    Converte uma String em umnúmero de acordo com seutipo de dado especificado.tipo de dado especificado.

    56

    Referência de tipos slide 23.

  • Exemplo de conversão de tipos

    double num1 = double.Parse(Console.ReadLine());double num2 = double.Parse(Console.ReadLine());double soma = num1 / num2;Console.WriteLine(soma);

    57

  • Objetos Visuais Básicos e Manipulação de e Manipulação de

    Eventos

    58

  • Componente que permite uma entrada de dados em modo gráfico.

    Propriedades Importantes:Propriedades Importantes:

    text – Captura dados em uma caixa de texto.(String)

    Visible – Boolena

    lines – Array de linhas para caixa de texto.

    59

  • Exemplo: textBox

    Sintaxe:

    textBox1.text = ;

    Exemplo:

    textBox1.text = “Formação de TI”;

    60

  • Componente que exibe mensagens em um formulário.

    Propriedade:Propriedade:

    text: Insere uma string no label.

    61

  • Exemplo: Label

    Sintaxe:

    Label.text = ;Label.text = ;

    Exemplo:

    Label.text = “Escola”;62

  • Componente que cria umbotão de comandos.Permitindo o acionamento de uma ação definidaporumprocesso.porumprocesso.

    Propriedade:

    text: Insere umrótulo no botão de comandos.

    63

  • Conceito de Evento

    64

  • Eventos

    Eventossãoaçõesdisparadaspelo usuárioou dispositivoemumdeterminadomomento.

    65

    umdeterminadomomento.

  • Controle de Eventos

    SensorSolenóideTecladoDisp. Rede

    Evento Disparado

    66

    Código de programa

    Disp. Rede

    Controlador

  • Evento Load()

    private void Form1_Load(object sender, EventArgs e)

    {

    MessageBox.Show("Carregou Antes ****");

    }

    67

    Executa o código antes de carregar o formulário.

  • Evento FormClosed()

    private void Form1_FormClosed(object sender, FormClosedEventArgs e)

    {

    MessageBox.Show("Fechar Form");

    }}

    68

    Executa o código após encerramento do formulário

  • Evento DoubleClick()

    private void Form1_DoubleClick(object sender, EventArgs e)

    {

    MessageBox.Show("Efetuou clique em = "+this.Name);

    }}

    69

    Dispara o código usando Duplo Click.

  • Evento MouseMove()private void FrmTeste_MouseMove(object sender, MouseEventArgs e)

    {

    MessageBox.Show("Moveu o mouse ");

    }

    70

    Realiza o código quando mover o mouse.

  • Evento MouseHover()private void FrmTeste_MouseHover(object sender, EventArgs e)

    {

    MessageBox.Show(“Ao colocar o mouse no objeto ");

    }

    71

    Realiza código quando apontar com mouse.

  • Eventos de Captura de teclasCaptura de teclas

    72

  • Eventos KeyDown()private void FrmTeste_KeyDown(object sender, KeyEventArgs e)

    {

    if (e.KeyCode == Keys.F3 )

    {

    MessageBox.Show("Teste");MessageBox.Show("Teste");

    }

    }

    73

    Captura o código da tecla pressionada

  • Keys: Objeto que encapsula constantes

    Reúne umvasto número de constantesque representamvalores das teclas decontrole.controle.

    Sintaxe: Keys.

    74

  • Controle do teclado (Keys)“” – Pressionar a tecla seta para esquerda.

    “” - Pressionar a tecla seta para Direita.

    “” - Pressionar a tecla Home.

    “” - Pressionar a tecla End .

    “” - Pressionar a tecla Inserir.

    “” - Pressionar a tecla Delete.

    “” - Pressionar a tecla BackSpace.

    “” - Pressionar a tecla Enter.

    75

    “” - Pressionar a tecla Enter.

    “” - Pressionar a tecla Seta para cima.

    “” - Pressionar a tecla Seta para baixo.

    “” - Pressionar a tecla Page Up.

    ” - Pressionar a tecla Page Down.

    “” - Pressionar a tecla Tab.

    “” - Pressionar a tecla ESC.

    “” – Pressionar a tecla espaço.

  • KeyCode

    Vem a ser uma propriedade do objeto (e) da classe KeyEventArgs.

    Exemplo:

    if (e.KeyCode == Keys.F2 )

    {

    MessageBox.Show("Tecla F2 pressionada ");

    }76

  • Evento: KeyUp

    private void FrmTeste_KeyUp(object sender, KeyEventArgs e)

    {

    if (e.KeyCode == Keys.A)

    {

    MessageBox.Show("Liberado a tecla ");MessageBox.Show("Liberado a tecla ");

    }

    }

    77

    KeyUp: Quando soltar a tecla pressionada.

  • Evento KeyPress

    private void FrmTeste_KeyPress(object sender, KeyPressEventArgs e)

    {

    MessageBox.Show("Caracter obtido foi "+e.KeyChar );

    }}

    Retorna com a tecla pressionada.

    78

  • Objetos de Controle de listas Controle de listas

    de Dados

    79

  • Caixa de combinação permite inserir uma lista dedados escondida para umfutura seleção.

    Propriedade: Items

    Métodos:

    Add(): Adicionaumastringnalista.Add(): Adicionaumastringnalista.

    Insert(,): Insere emuma posiçãoda lista.

    Remove(): Remove o iteminformado dalista.

    RemoveAt(): Remove umitem medianteao índice informado. 80

  • Exemplo Prático de ComboBox:

    ComboBox1.Items.Add(“Item-1”);

    ComboBox1.Items.Add(“Item-2”);

    ComboBox1.Items.Add(“Item-3”);ComboBox1.Items.Add(“Item-3”);

    ComboBox1.Items.Add(“Item-4”);

    ComboBox1.Items.Add(“Item-5”);

    81

  • Exemplo 2: Prático de Insert:

    Insere um elemento e uma determinada posição da lista.

    Exemplo:

    ComboBox1.Items.Insert(2,“Item-1”);

    82

  • Exemplo 3: Prático de Remove():

    Retira uma String, se a mesma, existir na lista.

    Exemplo:

    ComboBox1.Items.Remove(“Item-3”);

    83

  • Exemplo 4: Prático de Remove():

    Retira um elemento em uma determinando o elemento da lista.

    Exemplo:

    ComboBox1.Items.RemoveAt(3);

    84

  • Método: Count

    Retorna com a quantidade de elementos de uma lista.

    Sintaxe:Sintaxe:

    = comboBox1.items.Count;

    85

  • Caixa de combinação permiteinserir umalista de dadosonde oselementosserãoapresentadosnatelaelementosserãoapresentadosnatelaemdeterminadonúmerodelinhas.

    86

  • Observação

    Todos os métodos mencionadosna caixa de combinação serãona caixa de combinação serãoherdados pelalista.

    87

  • Capturando Dados de uma Lista ou Combo.uma Lista ou Combo.

    88

  • • Captura um elemento da lista ou combomediante a seleção do usuário.

    • Captura um elementoda lista informado o

    Saída de dados usando Lista ou Combo.

    89

    • Captura um elementoda lista informado oindice.

    • Captura vários elementos selecionados da lista(Lista).

  • Propriedaede Items[],Text Método toString()Método toString()

    90

  • text

    Captura um elemento da lista ou combo mediante a seleção do usuário.

    Exemplo:

    String dado = comboBox1.text;

    91

  • Items[]

    Captura um elemento da lista informado o índice.

    Exemplo:

    String dado = listBox1.Items[2].ToString();

    92

  • Propriedade: SelectionMode

    Determina se caixa de lista será de Multipla seleção ou mono seleção.

    Status da propriedade:Status da propriedade:

    None:Seleção SimplesMultiSimple: Seleções multiplas

    93

  • Determina Múltiplas seleções

    listBox1.SelectionMode = SelectionMode.MultiSimple;

    Possibilita ao usuário a seleção de Possibilita ao usuário a seleção de mais de um item em uma lista.

    94

  • Método: GetSelected()

    Verifica se um determinado item da lista encontra-se selecionado ou não, retornando TRUE ou FALSE.TRUE ou FALSE.

    Sintaxe:

    = listBox1.GetSelected();

    95

  • Captura os elementos selecionados em uma lista

    for (int i = 0; i

  • Botões de Rádio e Caixas de VerificaçãoCaixas de Verificação

    97

  • Botão de rádio Controle usadoquando se encontra um númeroreduzido de opções, dependendodereduzido de opções, dependendodeapenas uma acontecer para que haja aexecuçãode umprocessamento.

    98

  • Propriedades principais (RadioButton)

    Propriedade Descrição

    checked Retorna um booleano caso botão esteja selecionado.

    Name Cria o nome do objeto da

    99

    Name Cria o nome do objeto da classe RadioButton

  • Exemplo RadioButton

    int sx = 1;

    if (!RadioButton1.Checked)

    {{

    sx = 2;

    }

    100

  • CheckBox: Cria caixa deverificação permitindo que todosos dados sejam passiveis deos dados sejam passiveis deseleção.

    101

  • Propriedades principais (CkeckBox)

    Propriedade Descrição

    checked Retorna um booleano caso botão esteja selecionado.

    Name Cria o nome do objeto da

    102

    Name Cria o nome do objeto da classe RadioButton

  • Exemplo: CheckBox

    if (CheckBox1.Checked)

    {

    ......

    103

    ......

    }

  • Controle de Calendário

    104

  • Realiza a criação de umacaixa de combinação nocaixa de combinação noformatodecalendário.

    105

  • Exemplo: DateTimePicker

    Saída do objeto DateTimePicker

    106

  • Propriedades (DateTimePicker)Propriedade Descrição

    Value Retorna a Data escolhida comsua respectiva hora, para umobjeto DateTime.

    Day Retorna o dia para uma data

    107

    Day Retorna o dia para uma dataescolhida.

    Month Retorna o mês para uma dataescolhida.

    Year Retorna o ano para uma dataescolhida.

  • Exemplo: DataTimePicker

    DateTime data = dateTimePicker1.Value;

    MessageBox.Show(""+data.Day ) ;

    MessageBox.Show("" + data.Month );MessageBox.Show("" + data.Month );

    MessageBox.Show("" + data.Year );

    108

  • Leitura e Exibição de ImagemImagem

    109

  • Permiteexibir comosaídaodesenhodeumaimagem.desenhodeumaimagem.

    110

  • Propriedades (PictureBox)

    Propriedade DescriçãoImage Permite exibir uma imagem no vídeo.

    SizeMode Normal,StrechImage, AutoSizee

    111

    SizeMode Normal,StrechImage, AutoSizee CenterImage.

  • Load():Método que carrega uma imagem em tempo de execução

    Sintaxe:

    pictureBox1.Load();

    :determina o caminho e o nome da :determina o caminho e o nome da imagem.

    Exemplo:

    pictureBox1.Load("C:\\flor.bmp");

    112

  • Controle de TempoControle de Tempo

    113

  • Cria um controlador detempopara resolver problemas depara resolver problemas detempo em uma determinadaaplicação.

    114

  • Propriedades: Timer

    Propriedade DescriçãoEnable Liga e desliga o temporizador

    (true,False).

    Interval Determinao tempo de espera para

    115

    Interval Determinao tempo de espera para execução do evento dentro do temporizado.

  • Exemplo de atividade temporizada

    private void timer1_Tick_1(object sender, EventArgs e)

    {

    label2.Text = "Mostra - "+x;

    x++;

    }

    116

  • Barra de Progressão Barra de Progressão

    117

  • Barra de Progressão

    Controle que permite verificarevolução de um determinadoevolução de um determinadoprocesso.

    118

  • Propriedade (ProgressBar)

    Propriedade Descrição

    Maximum Valor máximo de limite da barra deprogressão.

    Minimum Valor mínimo para inicio da barra de

    119

    progressão.

    Value Valor de encaminhamento de progresso dabarra.

    Step Número de saltos para preenchimento da barrade progressão.

  • Exemplo de evolução da barra de progressão

    private void timer1_Tick_1(object sender, EventArgs e){

    if(progressBar1.Value < 100)if(progressBar1.Value < 100)

    progressBar1.Value += 1;

    }

    120