78
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 2012/2013

Módulo 10 e 11 de Linguagens Programação

Embed Size (px)

DESCRIPTION

Informação sobre porogramação orientada a objetos

Citation preview

Page 1: Módulo 10 e 11 de Linguagens Programação

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

Page 2: Módulo 10 e 11 de Linguagens Programação

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

Page 3: Módulo 10 e 11 de Linguagens Programação

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

Page 4: Módulo 10 e 11 de Linguagens Programação

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

Page 5: Módulo 10 e 11 de Linguagens Programação

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

Page 6: Módulo 10 e 11 de Linguagens Programação

Iniciando o VB Express

1

2

3

4

O Ambiente de Desenvolvimento

Emanuel Teixeira

Page 7: Módulo 10 e 11 de Linguagens Programação

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

Page 8: Módulo 10 e 11 de Linguagens Programação

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

Page 9: Módulo 10 e 11 de Linguagens Programação

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

Page 10: Módulo 10 e 11 de Linguagens Programação

Tipo de Projecto

Alterar para o nome pretendido do projecto

O Ambiente de Desenvolvimento

Emanuel Teixeira

Page 11: Módulo 10 e 11 de Linguagens Programação

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

Page 12: Módulo 10 e 11 de Linguagens Programação

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

Page 13: Módulo 10 e 11 de Linguagens Programação

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

Page 14: Módulo 10 e 11 de Linguagens Programação

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

Page 15: Módulo 10 e 11 de Linguagens Programação

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

Page 16: Módulo 10 e 11 de Linguagens Programação

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

Page 17: Módulo 10 e 11 de Linguagens Programação

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

Page 18: Módulo 10 e 11 de Linguagens Programação

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

Page 19: Módulo 10 e 11 de Linguagens Programação

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

Page 20: Módulo 10 e 11 de Linguagens Programação

Janelas do IDE

expor/recolher

◦ posicionamento

O Ambiente de Desenvolvimento

Emanuel Teixeira

Page 21: Módulo 10 e 11 de Linguagens Programação

Janelas do IDE

activar/desactivar

◦ separadores

O Ambiente de Desenvolvimento

Emanuel Teixeira

Page 22: Módulo 10 e 11 de Linguagens Programação

Janelas do IDE

divisão da área de trabalho

Mouse right-click

◦ Ctrl+Tab

O Ambiente de Desenvolvimento

Emanuel Teixeira

Page 23: Módulo 10 e 11 de Linguagens Programação

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

Page 24: Módulo 10 e 11 de Linguagens Programação

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

Page 25: Módulo 10 e 11 de Linguagens Programação

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

Page 26: Módulo 10 e 11 de Linguagens Programação

Barras de ferramentas

algumas das mais relevantes

entre outras, mais específicas…

O Ambiente de Desenvolvimento

Emanuel Teixeira

Page 27: Módulo 10 e 11 de Linguagens Programação

A Toolbox (Caixa de Ferramentas)

O Ambiente de Desenvolvimento

Emanuel Teixeira

Page 28: Módulo 10 e 11 de Linguagens Programação

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

Page 29: Módulo 10 e 11 de Linguagens Programação

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

Page 30: Módulo 10 e 11 de Linguagens Programação

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

Page 31: Módulo 10 e 11 de Linguagens Programação

Alguns componentes / controlos básicos

Label

Button

TextBox

MaskedTextBox

CheckBox

RadioButton

ListBox

ComboBox

MenuStrip

ToolStrip

StatusStrip

WebBrowser

O Ambiente de Desenvolvimento

Emanuel Teixeira

Page 32: Módulo 10 e 11 de Linguagens Programação

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

Page 33: Módulo 10 e 11 de Linguagens Programação

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

Page 34: Módulo 10 e 11 de Linguagens Programação

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

Page 35: Módulo 10 e 11 de Linguagens Programação

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

Page 36: Módulo 10 e 11 de Linguagens Programação

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

Page 37: Módulo 10 e 11 de Linguagens Programação

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

Page 38: Módulo 10 e 11 de Linguagens Programação

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

Page 39: Módulo 10 e 11 de Linguagens Programação

Ciclo Case no VisualBasic

Emanuel Teixeira

Page 40: Módulo 10 e 11 de Linguagens Programação

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

Page 41: Módulo 10 e 11 de Linguagens Programação

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.

Page 42: Módulo 10 e 11 de Linguagens Programação

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

Page 43: Módulo 10 e 11 de Linguagens Programação

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

Page 44: Módulo 10 e 11 de Linguagens Programação

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

Page 45: Módulo 10 e 11 de Linguagens Programação

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

Page 46: Módulo 10 e 11 de Linguagens Programação

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

Page 47: Módulo 10 e 11 de Linguagens Programação

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

Page 48: Módulo 10 e 11 de Linguagens Programação

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

Page 49: Módulo 10 e 11 de Linguagens Programação

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

Page 50: Módulo 10 e 11 de Linguagens Programação

Programemos os event handles seguintes:

e experimentar…

Eventos e Propriedades

Emanuel Teixeira

Page 51: Módulo 10 e 11 de Linguagens Programação

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

Page 52: Módulo 10 e 11 de Linguagens 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.

Auxiliares de Programação

Emanuel Teixeira

Page 53: Módulo 10 e 11 de Linguagens 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 para remover a indicação de

comentário da instrução ou do grupo de instruções.

Auxiliares de Programação

Emanuel Teixeira

Page 54: Módulo 10 e 11 de Linguagens Programação

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

Page 55: Módulo 10 e 11 de Linguagens Programação

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

Page 56: Módulo 10 e 11 de Linguagens Programação

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

Page 57: Módulo 10 e 11 de Linguagens Programação

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

Page 58: Módulo 10 e 11 de Linguagens Programação

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

Page 59: Módulo 10 e 11 de Linguagens Programação

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

Page 60: Módulo 10 e 11 de Linguagens Programação

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

Page 61: Módulo 10 e 11 de Linguagens Programação

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

Page 62: Módulo 10 e 11 de Linguagens Programação

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

Page 63: Módulo 10 e 11 de Linguagens Programação

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

Page 64: Módulo 10 e 11 de Linguagens Programação

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

Page 65: Módulo 10 e 11 de Linguagens Programação

Botões de Comando (Button)

Emanuel Teixeira

Page 66: Módulo 10 e 11 de Linguagens Programação

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

Page 67: Módulo 10 e 11 de Linguagens Programação

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

Page 68: Módulo 10 e 11 de Linguagens Programação

Resumo

Emanuel Teixeira

Page 69: Módulo 10 e 11 de Linguagens Programação

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

Page 70: Módulo 10 e 11 de Linguagens Programação

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

Page 71: Módulo 10 e 11 de Linguagens Programação

MsgBox

InputBox

OpenFileDialog

SaveFileDialog

ColorDialog

FontDialog

Caixas de Diálogo

Emanuel Teixeira

Page 72: Módulo 10 e 11 de Linguagens Programação

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

Page 73: Módulo 10 e 11 de Linguagens Programação

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

Page 74: Módulo 10 e 11 de Linguagens Programação

Caixas de Diálogo

Emanuel Teixeira

Page 75: Módulo 10 e 11 de Linguagens Programação

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

Page 76: Módulo 10 e 11 de Linguagens Programação

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

Page 77: Módulo 10 e 11 de Linguagens Programação

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

Page 78: Módulo 10 e 11 de Linguagens Programação

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