2012/2013
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
Objetivos ◦ 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. 2
Emanuel Teixeira
Introdução ao Visual Basic
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.
Emanuel Teixeira
Introdução ao Visual Basic
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.
Emanuel Teixeira
Introdução ao Visual Basic
Programador GDI Windows
IDE Editor do VB
VB
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.
Emanuel Teixeira
O Ambiente de Desenvolvimento 
Iniciando o VB Express
1 4
2
3
Emanuel Teixeira
O Ambiente de Desenvolvimento 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 Emanuel Teixeira
O Ambiente de Desenvolvimento 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
Emanuel Teixeira
O Ambiente de Desenvolvimento
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.
Emanuel Teixeira
O Ambiente de Desenvolvimento Tipo de Projecto
Alterar para o nome pretendido do projecto Emanuel Teixeira
O Ambiente de Desenvolvimento Tipo de Projecto
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 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.
sistemas
WPF – Windows Presentation Foundation; é um subsistema da framework e que constitui a base gráficaTeixeira do Vista e Server 2008 Emanuel
O Ambiente de Desenvolvimento 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)
Emanuel Teixeira
O Ambiente de Desenvolvimento
A opção Criar Directório para a Solução permite criar um
directório
principal
(com
o
nome
da
solução)
subdirectórios para cada um dos projectos constituintes.
Emanuel Teixeira
e
O Ambiente de Desenvolvimento 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)
Emanuel Teixeira
O Ambiente de Desenvolvimento 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) Emanuel Teixeira
O Ambiente de Desenvolvimento 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
(Adicionar nova pasta).
Emanuel Teixeira
Folder
O Ambiente de Desenvolvimento 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.
Emanuel Teixeira
O Ambiente de Desenvolvimento 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.
Emanuel Teixeira
O Ambiente de Desenvolvimento 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.
Emanuel Teixeira
O Ambiente de Desenvolvimento
Janelas do IDE
expor/recolher
◦ posicionamento
Emanuel Teixeira
O Ambiente de Desenvolvimento
Janelas do IDE
activar/desactivar
Emanuel Teixeira
◦ separadores
O Ambiente de Desenvolvimento
Janelas do IDE
divisão da área de trabalho
◦ Ctrl+Tab
Emanuel Teixeira
Mouse right-click
O Ambiente de Desenvolvimento
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
Emanuel Teixeira
O Ambiente de Desenvolvimento
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
Emanuel Teixeira
O Ambiente de Desenvolvimento
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
Emanuel Teixeira
O Ambiente de Desenvolvimento
Barras de ferramentas
algumas das mais relevantes
entre outras, mais específicas…
Emanuel Teixeira
O Ambiente de Desenvolvimento 
A Toolbox (Caixa de Ferramentas)
Emanuel Teixeira
O Ambiente de Desenvolvimento
A janela de Propriedades Propriedades
Classificadas
Eventos
Ordenadas
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
Emanuel Teixeira
O Ambiente de Desenvolvimento
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
Emanuel Teixeira
O Ambiente de Desenvolvimento
A janela de desenho (Design) voltemos a considerar uma aplicação Windows incluir componentes no Form: 2 TextBoxs + 1 Button SnapLines: funcionam como guias para alinhamento dos componentes
SmartTags:
Emanuel Teixeira
estão presentes em quase todos os componentes, expondo algumas opções
O Ambiente de Desenvolvimento
Alguns componentes / controlos básicos Label Button TextBox MaskedTextBox CheckBox RadioButton ListBox ComboBox MenuStrip ToolStrip StatusStrip WebBrowser
Emanuel Teixeira
Exercício 1. 2.
3.
4.
Criar uma nova aplicação para Windows. Acrescentar o componente WebBrowser – o componente ocupou a totalidade do espaço útil do formulário. Recorrer à SmartTag do WebBrowser e seleccione “Unlock in Parent Container”. Juntar os componentes necessários ao formulário seguinte:
Label Button
Button
Textbox
Button WebBrowser
Exercício 5. 6.
7.
8.
Alterar a propriedade Anchor da TextBox para: Top, Left e Right Alterar a propriedade do Button “>” para: Top e Right Alterar a propriedade Anchor do componente WebBrowser para: Top, Left, Right e Bottom Alterar os nomes dos componentes de acordo com a tabela seguinte: Componente Label1 TextBox1 WebBrowser1 Button “>” Button “Recuar” Button “Avançar” Form1
Propriedade Nome lblURL txtURL brwbrowser btngo btnrecuar btnavancar Frmbrowser
Exercício 9. 10.
11.
12.
13. 14.
Dar duplo-click sobre o Button btnGo Acrescentar o código: Me.brwBrowser.Navigate(txtURL.Text) Voltar ao Designer e dar duplo-click sobre o Button btnRecuar Acrescentar o código: Me.brwBrowser.GoBack() Voltar ao Designer e dar duplo-click sobre o Button btnAvancar Acrescentar o código: Me.brwBrowser.GoForward() e experimentar…
Emanuel Teixeira
Ciclo de desenvolvimento do VisualBasic
Criar uma especificação
Criar o
interface com o utilizador
Escrever código
Testar e depurar
Gerar e distribuir
Emanuel Teixeira
Ciclo If no VisualBasic
If (Condição) Then “Ação” ElseIf (Condição) Then “Ação” Else “Ação” End If End If End Sub
Emanuel Teixeira
Ciclo If no VisualBasic 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 Emanuel Teixeira
Ciclo Case no VisualBasic
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 Emanuel Teixeira
Ciclo Case no VisualBasic
Emanuel Teixeira
Ciclo Case no VisualBasic 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
Emanuel Teixeira
Utilização de controlos no VisualBasic • • • •
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.
Emanuel Teixeira
Utilização de controlos no VisualBasic 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
Emanuel Teixeira
Eventos e Propriedades
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.
Emanuel Teixeira
Eventos e Propriedades
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.
Emanuel Teixeira
Eventos e Propriedades 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”
Emanuel Teixeira
Eventos e Propriedades
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.
Emanuel Teixeira
Eventos e Propriedades
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.
Emanuel Teixeira
Eventos e Propriedades 
Outra forma de activar um event handler directamente na janela de cĂłdigo, passa por recorrer Ă s comboboxes no topo dessa janela:
Emanuel Teixeira
Eventos e Propriedades
Desenvolvamos um curto exercício como o ilustrado, adequando as propriedades dos seguintes componentes:
Componente
Emanuel Teixeira
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
Programemos os event handles seguintes:
e experimentar…
Emanuel Teixeira
Eventos e Propriedades Notação húngara (Charles Simonyi) para os componentes mais comuns: Componente
Prefixo Exemplo
Componente
Prefixo
Exemplo
CheckBox
chk
chkResponder
PictureBox
pic
picFoto
ComboBox
cbo
cboOpcoes
ProgressBar
prg
prgCalculando
Button
btn
btnTerminar
RichTextBox
rtf
rtfRelatorio
DateTimePicker dtp
dtpDataRegisto
StatusStrip
sts
stsInformacao
Form
frm
frmAlunos
TabControl
tab
tabOpcoes
GroupBox
grp
grpOpcoes
TextBox
txt
txtNome
Label
lbl
LblMensagem
Timer
tmr
tmrAlarme
ListBox
lst
lstNomes
ToolStrip
tlb
tlbActions
ListView
lvw
lvwCabecalhos
TreeView
tre
treOrganizacao
MenuStrip
mnu
mnuAbrirFicheiro
RadioButton
opt
optSexo
Auxiliares de Programação 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.
Emanuel Teixeira
Auxiliares de Programação 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
comentário da instrução ou do grupo de instruções.
Emanuel Teixeira
para remover a indicação de
Regras e Convenções de nomenclatura 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. Emanuel Teixeira
Declarações de variáveis e constantes
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
Emanuel Teixeira
Declarações de variáveis e constantes
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
Emanuel Teixeira
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
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
Ciclo de Vida das Variáveis A variável é… Local
Global
Quando é declarada no…
E pode ser acedida…
Interior de um procedimento.
Apenas no procedimento onde foi declarada.
Topo do módulo, isto é, fora de qualquer procedimento.
A partir de qualquer procedimento.
Tipos de dados Tipos de dados Byte, UShort, UInteger, ULong
Armazena… Números inteiros positivos.
Intervalo de valores 0-255, 0-65535, 0-4294967295, 0-18446744073709551615 -128 e 127, -32768 e 32767,
SByte, Short, Integer, Long
Números inteiros (positivos e negativos).
-2147483648 e 2147483647, -9223372036854775808 e 9223372036854775807 -3,402823E+38 e -1,401298E-45 1,401298E-45 e 3,402823E+38,
Single, Double e Decimal
Números inteiros e decimais (positivos e negativos).
-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.
Boolean
Valores lógicos.
Object
Objectos.
VariantType Emanuel Teixeira
Qualquer tipo de informação
01-01-0001 a 31-12-9999 (- ou /) 00:00:00 a 23:59:59 (dia=#5-8-90#)
True e False
Dim a
Controlos Básicos 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.
Emanuel Teixeira
Caixas de Texto (TextBox) 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
Emanuel Teixeira
Caixas de Texto (TextBox) 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
Emanuel Teixeira
Rótulos ou Etiquetas (Label)
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
Emanuel Teixeira
Botões de Comando (Button)
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.
Emanuel Teixeira
Bot천es de Comando (Button)
Emanuel Teixeira
Botões de Comando (Button)
No caso dos botões de comando, o evento por defeito é o Click. ◦ Este evento pressionado-
é
chamado
O formato do evento é: ◦ Private Sub Button1_Click
Emanuel Teixeira
sempre
que
o
botão
for
Caixas de Agrupamento (GroupBox) 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
Emanuel Teixeira
Resumo
Emanuel Teixeira
Caixas de Diálogo
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á! Como está? Emanuel Teixeira
Olá! Bom dia!!!
Caixas de Diálogo
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.
Emanuel Teixeira
Caixas de Diálogo
MsgBox
InputBox
OpenFileDialog
SaveFileDialog
ColorDialog
FontDialog
Emanuel Teixeira
Caixas de Diálogo
MsgBox
InputBox
OpenFileDialog
SaveFileDialog
ColorDialog
FontDialog
Emanuel Teixeira
Funções membro da classe Microsoft.VisualBasic.Interaction
Funções membro da classe System.Windows.Forms
Caixas de Diálogo
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”)
Emanuel Teixeira
Caixas de Diรกlogo
Emanuel Teixeira
Caixas de Diálogo
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
Emanuel Teixeira
Caixas de Diálogo
MsgBox Os valores que a função pode devolver são:
Botão OK
1
Botão CANCEL
2
Botão ABORT
3
Botão RETRY
4
Botão IGNORE
5
Botão YES
6
Botão NO
7
Emanuel Teixeira
Caixas de Diálogo
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 é “”.
Emanuel Teixeira
Caixas de Diálogo
Retorno da Função
A função InputBox devolve um valor do tipo String correspondente
ao
texto
digitado
na
caixa
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”)
Emanuel Teixeira
de