Post on 07-Mar-2016
description
Módulo 10/11
Introdução à Programação Orientada a Objetos
Introdução às linguagens de Programação
Orientadas a Objetos
Curso de Informática de Gestão
Linguagem de programação
Emanuel Teixeira
201
2/2
01
3
2
◦ Apreender o conceito de Programação Orientada a Objetos;
◦ Conhecer e utilizar os recursos da ferramenta de desenvolvimento;
◦ Conhecer e utilizar a estrutura de um formulário;
◦ Conhecer a importância de utilização de comentários;
◦ Utilizar os controlos básicos de desenvolvimento;
◦ Identificar tipos de variáveis; ◦ Declarar constantes e variáveis; ◦ Implementar estruturas de controlo no
desenvolvimento de aplicações.
Objetivos
Emanuel Teixeira
A versão Express do Visual Basic 2008 deriva de um grande pacote
de ferramentas de desenvolvimento da Microsoft, especialmente
dedicado à Framework .NET – o Visual Studio 2008.
Actualmente, a Microsoft disponibiliza gratuitamente as versões
Express referentes a cada uma das tecnologias usadas no Visual
Studio 2008:
Visual Basic (VB) 2008 Express;
Visual C# (C Sharp) 2008 Express;
Visual C++ (C plus plus) 2008 Express;
Visual Web Developer 2008 Express.
Introdução ao Visual Basic
Emanuel Teixeira
A framework inclui programas de apoio, bibliotecas de código,
linguagens de script e outros softwares para ajudar a desenvolver e
juntar diferentes componentes de um projecto.
.NET – Iniciativa da Microsoft que visa uma plataforma única para o
desenvolvimento e execução de sistemas e aplicações. Todo e
qualquer código gerado para .NET pode ser executado em qualquer
dispositivo ou plataforma que possua a framework (a plataforma
.NET). Tal como acontece com a plataforma Java, o programador
deixa de escrever código para um sistema ou dispositivo específico,
passando a escrever para a plataforma .NET.
Introdução ao Visual Basic
Emanuel Teixeira
IDE – Integrated Development Environment (Ambiente de Desenvolvimento Integrado); é um
programa de computador que reúne características e ferramentas de apoio ao desenvolvimento
de software com o objectivo de agilizar este processo.
GDI – Graphics Device Interface (Interface de Dispositivos Gráficos); é o padrão do sistema
operativo Windows para representar objectos gráficos e tranmiti-los para dispositivos de saída.
Programador
IDE
Editor do VB VB
GDI
Windows
Introdução ao Visual Basic
Emanuel Teixeira
Iniciando o VB Express
1
2
3
4
O Ambiente de Desenvolvimento
Emanuel Teixeira
Secção Descrição
1 (Projectos Recentes)
Apresenta uma lista dos últimos projectos em desenvolvimento.
Permite também criar novos projectos e abrir projectos já existentes.
2 (Introdução) Reúne um conjunto de tópicos e artigos técnicos.
3 (Títulos) Apresenta links para informações e eventos acerca do Visual Basic.
4 (MSDN Lista artigos disponíveis para consulta online na MSDN.
MSDN – MicroSoft Developer Network; constitui a ponte do conhecimento entre a
Microsoft e os programadores espalhados pelo mundo. A Biblioteca MSDN é
particularmente útil no acesso ao sistema de ajuda sem ser necessário estabelecer-se
uma ligação à Internet (pode instalá-la gratuita e directamente a partir de:
http://www.microsoft.com/express/download/msdn
O Ambiente de Desenvolvimento
Emanuel Teixeira
Soluções e Projectos
Um projecto reúne o conjunto de todos os itens envolvidos no
desenvolvimento de um aplicativo em particular, tais como ícones,
formulários e ligações a bases de dados.
Uma solução consiste num único projecto ou num grupo de
projectos directa ou indirectamente relacionados entre si, podendo
envolver um programador ou uma equipa
O Ambiente de Desenvolvimento
Emanuel Teixeira
Criar Projectos
Há duas forma rápidas de criar um novo Projecto:
- Através da Secção Projectos Recentes;
- Através do botão disponível na barra de ferramentas
Standard.
O Ambiente de Desenvolvimento
Emanuel Teixeira
Tipo de Projecto
Alterar para o nome pretendido do projecto
O Ambiente de Desenvolvimento
Emanuel Teixeira
Modelo Tipo de Projecto a ser Criado
Windows Forms Application
Aplicação com um aspecto idêntico às aplicações comuns que encontramos no sistema operativo Windows (Calculadora, bloco de notas, Excel…)
Class Library Componente que poderá ser utilizado noutras aplicações e projectos.
WPF Application Aplicação especificamente desenhada para sistemas operativos que suportam a tecnologia WPF.
WPF Browser Application
Componente que pode ser embutido numa página web e que corre sobre o Silverlight.
Console Application
Aplicação que corre a partir de uma linha de comandos do Windows.
Tipo de Projecto
WPF – Windows Presentation Foundation; é um subsistema da framework e que constitui a base
gráfica do Vista e Server 2008
O Ambiente de Desenvolvimento
Emanuel Teixeira
Gravação de Projectos
Para guardar um projecto, faça clique sobre o botão , disponível na
barra de ferramentas standard ou escolha a opção Save All do
menu File.
O botão (equivalente à opção Save do menu File) apenas guarda
o item em estiver a trabalhar na altura.
Ao guardar um projecto pela primeira vez, surge a caixa de diálogo
Save Project, onde deverá indicar os nomes do projecto (Name)
e solução (Solution Name), bem como as suas localizações
(Location)
O Ambiente de Desenvolvimento
Emanuel Teixeira
A opção Criar Directório para a Solução permite criar um
directório principal (com o nome da solução) e
subdirectórios para cada um dos projectos constituintes.
O Ambiente de Desenvolvimento
Emanuel Teixeira
Solution Explorer (Explorador de Soluções)
O Solution Explorer está para o Visual Basic Express como o
Explorador do Windows está para o SO, ou seja, organiza em
pastas todos os itens que fazem parte da solução e dos projectos
em que estamos a trabalhar.
No presente exemplo, a solução contém um único projecto (WindowsApplication1) contido na pasta virtual ‘My Project’, que, por sua vez, contém um formulário (Form1)
O Ambiente de Desenvolvimento
Emanuel Teixeira
Propriedades
Cada item presente no Solution Explorer
possui um conjunto bem definido de
propriedades que o define, tal como, por
exemplo, a sua localização no sistema de
ficheiros do Windows. Para visualizar as
características de um item em particular,
seleccione-o e observe o painel
Properties (propriedades).
As propriedades permitem que os atributos assumam valores,
indicando o estado do objecto (componente/controlo)
O Ambiente de Desenvolvimento
Emanuel Teixeira
Criação de Pastas
Como forma de organizar todos os objectos
gráficos, é boa prática criar-se uma
pasta só para esse efeito. Para tal:
1) Faça clique com o botão direito do
rato sobre item que contém o nome do
projecto;
2) Através do menu de contexto, execute
o comando Add New Folder
(Adicionar nova pasta).
O Ambiente de Desenvolvimento
Emanuel Teixeira
3) Atribua um nome à nova pasta;
4) Pressione enter.
Para adicionar ficheiros à pasta:
1) Faça clique com o botão direito do rato sobre a pasta onde
pretende incluir o ficheiro e execute o comando Add Existing
Item (Adicionar Item Existente).
2) Localize e escolha o tipo de ficheiro que pretende adicionar;
3) O ficheiro é copiado da pasta original para a pasta ‘Imagens’ do
projecto.
O Ambiente de Desenvolvimento
Emanuel Teixeira
Fecho de Projectos
Para fechar um determinado projecto e manter o Visual Basic
aberto, escolha a opção Close Project do menu File. Como
habitualmente, caso tenha feito alterações a itens sem as ter
guardado, o IDE dar-lhe-á a possibilidade de as guardar.
Abertura de Projectos
Quando inicia o VB, a Start Page apresenta os últimos projectos
que foram utilizados na secção Recent Projects.
O Ambiente de Desenvolvimento
Emanuel Teixeira
Quando o projecto não é recente:
1) Faça clique em Open Project na secção Recent Project para o
localizar. Ou em alternativa, faça clique sobre o botão Open,
disponível na barra de ferramentas Standard.
2) Com ajuda da caixa de diálogo Open Project, localize e escolha o
ficheiro correspondente ao projecto (ou solução) que pretende
abrir.
As extensões predefinidas dos ficheiros representativos de soluções e
projectos são *.sln e *.vbproj, respectivamente.
O Ambiente de Desenvolvimento
Emanuel Teixeira
Janelas do IDE
expor/recolher
◦ posicionamento
O Ambiente de Desenvolvimento
Emanuel Teixeira
Janelas do IDE
activar/desactivar
◦ separadores
O Ambiente de Desenvolvimento
Emanuel Teixeira
Janelas do IDE
divisão da área de trabalho
Mouse right-click
◦ Ctrl+Tab
O Ambiente de Desenvolvimento
Emanuel Teixeira
Janelas do IDE Janela Descrição
Code Interface de codificação
Designer Interface normalmente associado a formulários, onde se depositam os componentes da toolbox
Database Explorer Interface directo com a Base de Dados
Solution Explorer Relação dos projectos e respectivos ficheiros que integram a solução
Object Browser Janela que apresenta a biblioteca de objectos disponíveis para utilização
Error List Janela que surge automaticamente na consequência de um erro de código
Properties Possibilita a alteração do aspecto e comportamento dos diversos componentes que integram o programa
Toolbox Trata-se de uma janela dinâmica que se adapta à tarefa que o programador executa num dado momento e encerra o conjunto de componentes à sua disposição
continua
O Ambiente de Desenvolvimento
Emanuel Teixeira
Janelas do IDE
Janela Descrição
Document Outline Dá uma noção hierárquica, sob a forma de uma árvore, dos diversos componentes que integram um dado formulário
Output Esta janela expõe o resultado do processo de compilação, sendo também útil para apresentar informação de depuração, enquanto o programa executa
Task List Trata-se de uma janela flexível que apresenta os erros de compilação, bem como tarefas que o programador tenha descrito (anotações e lembretes)
Start Page Página inicial
Web Browser A versão Express inclui um browser, muito útil na programação no sentido em que pode proporcionar acesso directo a URL’s de ajuda ao processo
Find Results Ferramenta de procura de orientada para a programação
O Ambiente de Desenvolvimento
Emanuel Teixeira
Barras de ferramentas
Standard
Janela Descrição
Comment Coloca a marca de comentário nas linhas seleccionadas
Uncomment Retira a marca de comentário das linhas seleccionadas
Undo Desfazer…
Redo Voltar a fazer…
Start Debugging Inicia a execução (com depuração) do programa
Break All Pausar a execução do teste do programa
Stop Debugging Parar a execução do teste do programa
Step Into Continuar a depuração no interior da rotina actual
Step Over Saltar a depuração da rotina actual
Step Out Terminar a depuração da rotina actual
O Ambiente de Desenvolvimento
Emanuel Teixeira
Barras de ferramentas
algumas das mais relevantes
entre outras, mais específicas…
O Ambiente de Desenvolvimento
Emanuel Teixeira
A Toolbox (Caixa de Ferramentas)
O Ambiente de Desenvolvimento
Emanuel Teixeira
A janela de Propriedades
cada componente possui um conjunto de
propriedades e características próprias que
o torna útil
por outro lado, existe um conjunto de
propriedades comum à generalidade dos
componentes
Propriedades
Eventos
Classificadas
Ordenadas
O Ambiente de Desenvolvimento
Emanuel Teixeira
A janela de código (Code)
Public Class Form2
'isto é um comentário
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
End
End Sub
End Class
O Ambiente de Desenvolvimento
Emanuel Teixeira
A janela de desenho (Design)
voltemos a considerar uma aplicação Windows
incluir componentes no Form: 2 TextBoxs + 1 Button
SnapLines:
SmartTags:
funcionam como guias
para alinhamento dos
componentes
estão presentes em
quase todos os
componentes, expondo
algumas opções
O Ambiente de Desenvolvimento
Emanuel Teixeira
Alguns componentes / controlos básicos
Label
Button
TextBox
MaskedTextBox
CheckBox
RadioButton
ListBox
ComboBox
MenuStrip
ToolStrip
StatusStrip
WebBrowser
O Ambiente de Desenvolvimento
Emanuel Teixeira
1. Criar uma nova aplicação para Windows.
2. Acrescentar o componente WebBrowser – o componente
ocupou a totalidade do espaço útil do formulário.
3. Recorrer à SmartTag do WebBrowser e seleccione “Unlock in
Parent Container”.
4. Juntar os componentes necessários ao formulário seguinte:
Label
Button
Button
Button
Textbox
WebBrowser
Exercício
Componente Propriedade Nome
Label1
TextBox1
WebBrowser1
Button “>”
Button “Recuar”
Button “Avançar”
Form1
lblURL
txtURL
brwbrowser
btngo
btnrecuar
btnavancar
Frmbrowser
5. Alterar a propriedade Anchor da TextBox para: Top, Left e Right
6. Alterar a propriedade do Button “>” para: Top e Right
7. Alterar a propriedade Anchor do componente WebBrowser para:
Top, Left, Right e Bottom
8. Alterar os nomes dos componentes de acordo com a tabela
seguinte:
Exercício
9. Dar duplo-click sobre o Button btnGo
10. Acrescentar o código:
Me.brwBrowser.Navigate(txtURL.Text)
11. Voltar ao Designer e dar duplo-click sobre o Button btnRecuar
12. Acrescentar o código:
Me.brwBrowser.GoBack()
13. Voltar ao Designer e dar duplo-click sobre o Button btnAvancar
14. Acrescentar o código:
Me.brwBrowser.GoForward()
e experimentar…
Exercício
Emanuel Teixeira
Criar o
interface com
o utilizador
Escrever
código
Testar e
depurar
Gerar e
distribuir
Criar uma
especificação
Ciclo de desenvolvimento do VisualBasic
Emanuel Teixeira
Ciclo If no VisualBasic
Emanuel Teixeira
If (Condição) Then
“Ação”
ElseIf (Condição) Then
“Ação”
Else
“Ação”
End If
End If
End Sub
Ciclo If no VisualBasic
Emanuel Teixeira
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
PictureBox1.Visible = False 'Esconde as moedas
TextBox1.Text = Int(Rnd() * 10) ' escolhe números
TextBox2.Text = Int(Rnd() * 10) ' escolhe números
TextBox3.Text = Int(Rnd() * 10) ' escolhe números
'se algum numero 7 aparecer nas labels então aparece a imagem e faz um beep
If (TextBox1.Text = 7) Or (TextBox2.Text = 7) Or (TextBox3.Text = 7) Then
PictureBox1.Visible = True
Beep()
If TextBox1.Text = 7 And TextBox2.Text = 7 And TextBox3.Text = 7 Then
MsgBox("Parabéns ganhou 500€", MsgBoxStyle.OkOnly +
MsgBoxStyle.Information)
ElseIf (TextBox1.Text = 1 And TextBox1.Text = 2) Or (TextBox1.Text = 7 And
TextBox3.Text = 7) Or (TextBox2.Text = 7 And TextBox3.Text = 7) Then
MsgBox("Parabéns ganhou 200€", MsgBoxStyle.OkOnly +
MsgBoxStyle.Information)
Else
MsgBox("Parabéns ganhou 100€", MsgBoxStyle.OkOnly +
MsgBoxStyle.Information)
End If
End If
End Sub
Ciclo Case no VisualBasic
Emanuel Teixeira
Select Case “condição”
Case “valor da condição”
“Acontecimento 1”
Case “valor da condição”
“acontecimento 2”
Case “valor da condição”
“acontecimento 3”
Case Else
“acontecimento final”
End Select
Ciclo Case no VisualBasic
Emanuel Teixeira
Ciclo Case no VisualBasic
Emanuel Teixeira
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim m, dias, bi As Integer
m = InputBox("Qual o n.º do mês?", "calculo")
Select Case m
Case 1, 3, 5, 7, 8, 10, 12
dias = 31
Case 4, 6, 9, 11
dias = 30
Case 2
bi = MsgBox("Ano Bissexto?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Calculo do número de dias do mês")
If bi = vbYes Then 'Verifica se é bisexto
dias = 29
Else
dias = 28
End If
Case Else
MsgBox("N.º mês incorrecto!!", MsgBoxStyle.Critical, "Calculo do número de dias do mês")
End Select
MsgBox("Esse mês tem " & dias & " dias", MsgBoxStyle.Information, "número de dias")
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim resp As Integer
resp = MsgBox("Quer mesmo sair?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Calculo do número de dias do mês")
If resp = vbYes Then
End
End If
End Sub
End Class
Utilização de controlos no VisualBasic
Emanuel Teixeira
• Conhecer e utilizar a estrutura de um formulário;
• Utilizar os controlos básicos de desenvolvimento;
• Utilizar estruturas de controlo;
• Utilizar funções de diálogo.
Utilização de controlos no VisualBasic
Emanuel Teixeira
Dim N As Integer, Q As Integer
Dim K As Integer, M As Long
N = Val(InputBox("Qual o Número?"))
Q = Val(InputBox("Quantos Múltiplos?"))
For K = 1 To Q
M = K * N
ListBox1.Items.Add(M)
Next K
Dim N As Integer, K As Integer
N = Val(InputBox("Qual o Número?"))
For K = 1 To N
If N Mod K = 0 Then
ListBox1.Items.Add(K)
End If
Next K
Dim base As Integer, exp As Integer
Dim I As Integer, poten As Double
base = Val(InputBox("Valor da Base?"))
exp = Val(InputBox("Valor do Expoente?"))
poten = 1
For I = 1 To exp
poten = poten * base
Next I
TextBox1.Text = poten
Uma das características do VB, é tratar-se de uma Linguagem
Orientada a Eventos.
Como tal os programas desenvolvidos em VB respondem a
eventos.
Na programação tradicional a execução de programas, começa na
primeira linha de código e segue um percurso predefinido,
invocando rotinas de acordo com as necessidades.
Na aplicações Orientadas a Eventos, o código não segue um fluxo
predeterminado; as diversas secções de código são executadas em
resposta a eventos, como: clicks ou movimento do rato, pressão de
um tecla, relógio do sistema, receção de um e-mail, etc.
Eventos e Propriedades
Emanuel Teixeira
Os eventos podem ser desencadeados por:
acções dos utilizadores.
por mensagens do sistema ou por outras aplicações.
a partir do próprio programa.
etc.
A sequência de eventos determina o fluxo do código, variando de execução para execução do programa, de acordo com o seguinte algoritmo:
1. Inicializar.
2. configurar a interface.
3. esperar por um evento.
4. tratar um evento que ocorra.
5. voltar ao passo 3 (o estado de espera).
Existem literalmente centenas de potenciais eventos a que um programa pode reagir.
Eventos e Propriedades
Emanuel Teixeira
Exemplo
Nele podemos constatar a existência 2 unidades organizacionais:
- uma delimitada por Public Class … End Class.
- outra por Private Sub … End Sub.
•A unidade organizacional
mais interna, consiste numa
rotina desencadeada pela
ocorrência de um
acontecimento: o clicar sobre
o botão “Button1”
Eventos e Propriedades
Emanuel Teixeira
Os eventos são desencadeados pela utilização da aplicação, podendo a
mesma responder-lhes ou ignorá-los
A eventual resposta aos eventos é programada em rotinas
específicas denominadas Event Handlers (eventos
manipuladores), sendo Button1_Click() um exemplo concreto.
Eventos e Propriedades
Emanuel Teixeira
Como saber/reconhecer os event handlers
disponíveis para utilização?
quando damos um duplo-click sobre o
botão “Terminar”, abrimos o event
handler que está associado, por defeito,
ao componente Button.
o event handler associado, por defeito, a
cada componente varia de forma lógica.
a generalidade dos event handlers
associados a um qualquer componente
pode ser observada na janela de
propriedades.
Accionar o event handler pode realizar-se
com um duplo-click sobre o evento desejado.
Eventos e Propriedades
Emanuel Teixeira
Outra forma de activar um event handler directamente na janela
de código, passa por recorrer às comboboxes no topo dessa janela:
Eventos e Propriedades
Emanuel Teixeira
Desenvolvamos um curto exercício como o ilustrado, adequando
as propriedades dos seguintes componentes:
Componente Propriedade Valor
Form Name
Text
frmCumprimentos
Cumprimentos…
TextBox Name txtNome
Button Name
Text
btnCumprimenta
&Cumprimenta
Label Name
Text
lblCumprimenta
Button Name
Text
btnTerminar
&Terminar
Eventos e Propriedades
Emanuel Teixeira
Programemos os event handles seguintes:
e experimentar…
Eventos e Propriedades
Emanuel Teixeira
Componente Prefixo Exemplo
PictureBox pic picFoto
ProgressBar prg prgCalculando
RichTextBox rtf rtfRelatorio
StatusStrip sts stsInformacao
TabControl tab tabOpcoes
TextBox txt txtNome
Timer tmr tmrAlarme
ToolStrip tlb tlbActions
TreeView tre treOrganizacao
Componente Prefixo Exemplo
CheckBox chk chkResponder
ComboBox cbo cboOpcoes
Button btn btnTerminar
DateTimePicker dtp dtpDataRegisto
Form frm frmAlunos
GroupBox grp grpOpcoes
Label lbl LblMensagem
ListBox lst lstNomes
ListView lvw lvwCabecalhos
MenuStrip mnu mnuAbrirFicheiro
RadioButton opt optSexo
Notação húngara (Charles Simonyi) para os componentes mais comuns:
Eventos e Propriedades
Comentários
É possível comentar o código com o emprego de plicas (‘). Uma
outra forma de inserir comentário é utilizando-se a palavra-chave
Rem (remember) do Visual Basic. Podemos, para além de iniciar o
comentário no princípio da linha, fazê-lo imediatamente após uma
instrução.
Não esquecer que todo o texto à direita da plica ou da instrução
Rem, na linha actual, é considerado um comentário, ou seja, é
ignorado pelo interpretador de código, e que todos os comentários
aparecem a verde no editor.
Auxiliares de Programação
Emanuel Teixeira
Exemplo:
Sub Fechar ( ) ‘Início do Procedimento
‘Declaração de variáveis
Dim idade as integer ‘ Número inteiro
Dim nome as string ‘Cadeia alfanumérica de caracteres
End Sub ‘ Fim do Procedimento
Rem Final da Listagem
Outra forma de comentar é usar a barra de ferramentas. O programador poderá
usar o botão para comentar, e o botão para remover a indicação de
comentário da instrução ou do grupo de instruções.
Auxiliares de Programação
Emanuel Teixeira
No processo de atribuição de nomes, tenha em conta que:
O primeiro carácter deve ser uma letra de A a Z;
A primeira letra para módulo e procedimentos é maiúscula e as
restantes são minúsculas; as variáveis, constantes e argumentos
são apresentados com todas as letras em minúsculas;
Não se pode exceder os 255 caracteres;
Os nomes devem utilizar poucos caracteres e ao mesmo tempo
devem ser elucidativos do que representam;
Não podem existir Espaços;
Não podem existir caracteres especiais, tais como ponto final (.),
vírgula (,), @, $, # e &;
Os nomes são únicos no módulo em que são definidos.
As regras aqui enunciadas são aplicadas, sem excepção, a todos os
módulos, procedimentos, argumentos, variáveis e constantes do
Visual Basic.
Regras e Convenções de nomenclatura
Emanuel Teixeira
Uma variável é uma localização na memória onde são
armazenados dados durante a execução de um programa.
DIM <nomeVariavel> AS <tipo de dados>
Tipos de dados
String
Integer
Double
Char
boolean
…
Exemplo
Dim nome as String
Dim idade as Integer ‘declaração Explícita
Dim altura as Single
Dim nome as String = “Ana”
Dim Idade as Integer = 54 ‘declaração Implícita
Dim altura as Single = 1.76
Dim n1, n2, n3 as Single ‘declaração múltipla
Declarações de variáveis e constantes
Emanuel Teixeira
Atribuição de valores a variáveis
Variável = Valor ou expressão
Exemplo
Dim nome as string
Dim idade as integer
Nome = “Ana”
Idade = 32
Exemplo
Dim n1 as integer
Dim n2 as integer
Dim n3 as integer
n1 = 10
n2 = 7
n3 = n1 + n2
Declarações de variáveis e constantes
Emanuel Teixeira
Uma constante apresenta as mesmas características de uma
variável, contudo, é definida de forma diferente e o seu
conteúdo não pode ser alterado durante a execução do
programa.
Const nome As tipo = valor ou expressão
Exemplo
Const perc_iva as single = 0.20
Declarações de variáveis e constantes
A variável é… Quando é declarada no… E pode ser acedida…
Local Interior de um procedimento.
Apenas no procedimento onde foi declarada.
Global Topo do módulo, isto é, fora de qualquer procedimento.
A partir de qualquer procedimento.
Ciclo de Vida das Variáveis
Declarações de variáveis e constantes
Tipos de dados Armazena… Intervalo de valores
Byte, UShort, UInteger, ULong
Números inteiros positivos. 0-255, 0-65535, 0-4294967295,
0-18446744073709551615
SByte, Short, Integer, Long
Números inteiros (positivos e negativos).
-128 e 127, -32768 e 32767,
-2147483648 e 2147483647,
-9223372036854775808 e
9223372036854775807
Single, Double e Decimal
Números inteiros e decimais (positivos e negativos).
-3,402823E+38 e -1,401298E-45
1,401298E-45 e 3,402823E+38,
-1.79769313486231E+308 e 4.94065645841247E-324
4.94065645841247E-324 e
1.79769313486232E+308,
+/-79228162514264337593543950335
Char Caracteres. “A”, “a”, “1”
String Cadeias de caracteres. “ASSDFG vVVVv”
Date Datas e/ou horas. 01-01-0001 a 31-12-9999 (- ou /)
00:00:00 a 23:59:59 (dia=#5-8-90#)
Boolean Valores lógicos. True e False
Object Objectos.
VariantType Qualquer tipo de informação Dim a
Tipos de dados
Emanuel Teixeira
Propriedade Name
A propriedade Name existe para todos os formulários e
controlos.
É através desta propriedade que os objectos podem ser
referenciados no código dos programas.
O seu valor pode ser alterado em design-time.
Controlos Básicos
Emanuel Teixeira
As caixas de texto (TextBox) são utilizadas para introduzir texto (entrada de dados) ou para mostrar texto (saída de dados)
Por defeito o limite é de 2048 caracteres ou, caso a propriedade Multiline estiver com o valor True, este limite pode ir até 32KB.
Propriedades
Text - Esta propriedade contém o texto que está a ser mostrado no controlo. O seu valor pode ser alterado em design-time ou em run-time
◦ TextBox1.Text = “isto é um teste” ‘ Exemplo de modificação do valor da caixa de texto
◦ Texto = TextBox1.Text ‘ Exemplo da leitura do valor da caixa de texto
Caixas de Texto (TextBox)
Emanuel Teixeira
Eventos
Em design-time, ao fazer duplo-clique em cima de qualquer controlo, vai ser activado o evento por defeito para esse controlo.
No caso da caixa de texto esse evento é o TextChanged
◦ Este evento é chamado sempre que o conteúdo da caixa muda.
O formato do evento é:
◦ Private Sub TextBox1_TextChanged
Caixas de Texto (TextBox)
Emanuel Teixeira
Os rótulos (Label control) são utilizadas para representar texto, por exemplo uma legenda de uma caixa de texto.
São sempre apenas de leitura.
Por defeito a propriedade AutoSize tem o valor True, indicando que o seu tamanho se ajusta ao texto introduzido.
As suas propriedades principais são idênticas às das caixas de texto, não existindo as propriedades PasswordChar nem Multiline por exemplo.
O seu evento por defeito é o Click que é activado quando se clica (duplo clique) com o rato em cima do controlo.
O formato do evento é:
◦ Private Sub Label1_Click
Rótulos ou Etiquetas (Label)
Emanuel Teixeira
A principal função de um botão de comando é a de executar uma operação ou um conjunto de operações quando for pressionado.
Tal como todos os controlos da plataforma .NET, partilha com a caixa de texto propriedades comuns (Name, Text, Location, Size, Enabled, Visible e outras)
Propriedades
TextAlign - neste caso, o texto que se encontra no botão pode ser alinhado horizontal e verticalmente. Assim temos 9 possibilidades de escolha
Image - esta propriedade permite adicionar uma imagem ao botão. Neste caso, a propriedade ImageAlign indica com a imagem será alinhada.
Botões de Comando (Button)
Emanuel Teixeira
Botões de Comando (Button)
Emanuel Teixeira
No caso dos botões de comando, o evento por defeito é o Click.
◦ Este evento é chamado sempre que o botão for pressionado-
O formato do evento é:
◦ Private Sub Button1_Click
Botões de Comando (Button)
Emanuel Teixeira
CAIXAS DE AGRUPAMENTO (GROUPBOX) A principal função de uma Caixa de Agrupamento
(GroupBox Containers) é a de agrupar controlos relacionados (dentro da sua área), de modo a organizar o formulário e torná-lo mais “amigável” (perceptível) ao utilizador.
No caso das caixas de agrupamento, o evento por defeito é o Enter.
◦ Este evento faz parte de um conjunto de eventos que ocorrem quando um controlo ganha o Focus (Enter, GotFocus, Leave, Validating, Validated, LostFocus)
O formato do evento é:
◦ Private Sub GroupBox1_Enter
Caixas de Agrupamento (GroupBox)
Emanuel Teixeira
Resumo
Emanuel Teixeira
As caixas de diálogo (ou janelas de interação) são janelas
que permitem a interação com o utilizador.
As janelas são modais, isto é, nenhuma outra janela da
aplicação é acessível enquanto ela estiver aberta.
É uma das formas de comunicação entre o utilizador e a
máquina
Predefinidas
Personalizadas Olá! Bom dia!!!
Olá! Como está?
Caixas de Diálogo
Emanuel Teixeira
Uma caixa de diálogo pré-definida é um recurso nativo do
próprio Windows
O seu principal objectivo é de transmitir e receber
informações ao utilizador do sistema.
Caixas de Diálogo
Emanuel Teixeira
MsgBox
InputBox
OpenFileDialog
SaveFileDialog
ColorDialog
FontDialog
Caixas de Diálogo
Emanuel Teixeira
MsgBox
InputBox
OpenFileDialog
SaveFileDialog
ColorDialog
FontDialog
Funções membro da classe Microsoft.VisualBasic.Interaction
Funções membro da classe System.Windows.Forms
Caixas de Diálogo
Emanuel Teixeira
MsgBox
Apresenta no ecrã uma caixa de mensagem padrão de sistema operativo com o ícone e botões especificados.
Sintaxe
MsgBox(“mensagem”, Buttons, “Título”)
Caixas de Diálogo
Emanuel Teixeira
Caixas de Diálogo
Emanuel Teixeira
MsgBox
Exemplo: Private Sub sair_Click( )
Dim resp As Integer
resp = MsgBox(“Tem a certeza que deseja sair?", MsgBoxStyle.YesNo, “Mensagem")
If resp = 6 Then
End
End If
End Sub
Caixas de Diálogo
Emanuel Teixeira
MsgBox
Os valores que a função pode devolver são:
Botão CANCEL 2
Botão RETRY 4
Botão YES 6
Botão OK 1
Botão ABORT 3
Botão IGNORE 5
Botão NO 7
Caixas de Diálogo
Emanuel Teixeira
InputBox
Sintaxe:
InputBox(Prompt [, Title][, DefaultResponse][, XPos][, YPos])
Prompt – texto que queremos mostrar. É obrigatório.
Title – título da caixa de diálogo, do tipo objecto. Por
defeito é Nothing.
DefaultResponse – texto que irá ser mostrado na caixa
de texto como resposta por defeito, caso não haja uma
nova entrada de dados. Por defeito é “”.
Caixas de Diálogo
Emanuel Teixeira
Retorno da Função
A função InputBox devolve um valor do tipo String
correspondente ao texto digitado na caixa de
introdução.
Exemplo:
Dim utilizador as string
Utilizador=InputBox(“Digite o seu nome”, “Função InputBox”, “Anónimo”)
Msgbox(“Bem vindo utilizador “ & utilizador, , “retorno da função inputbox”)
Caixas de Diálogo
Emanuel Teixeira