Introdução e conceitos fundamentais de aplicações gráficas … · 2015. 9. 14. · Lazarus IDE...
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