Linguagem II – Visual Basic Walmor Cardoso Godoi, M.Sc. http://www.walmorgodoi.com
Agenda Projeto do 2º bimestre Programação Estruturada Trabalhando com: Menus, Toolbars e Dialog Boxes Prática Lista Exs. 2 - Laços
Projeto da Disciplina Desenvolver um protótipo em Visual Basic. Em equipes (máximo 3). Apresentar o protótipo oralmente (Valor 100, Peso 6) Apresentar por escrito a documentação do protótipo (Valor 100, Peso 4) Entregar CD com boot de instalação do protótipo (Valor 100, Peso 6). Ou disponibilizar online (4shared,URL, blog, etc) DATA=> 29/11/2010
Programação Estruturada Sub-Rotinas O ambiente de programação Visual Basic usa três paradigmas de programação de computadores: Estruturada (P.E.) Orientada a objetos (O.O.) Orientada a eventos (O.E.)
Programação Estruturada Orientação a eventos ->sub-rotinas -> P.E. e O.O. sub-rotinas na P.E. -> métodos na O.E. e O. O. Na IDE do Visual Basic as sub-rotinas são classificadas em dois tipos de procedimentos: Sub -> pode ou não retornar um valor Function -> retorna um valor sempre
Programação Estruturada Sub-rotina: sequência de instruções, dispostos de forma lógica, com a finalidade de atender a um determinado objetivo lógico. Executa, de uma única vez, todo o código de programa nele armazenado Uma sub-rotina Sub são utilizados com o objetivo de dividir um programa em blocos menores e armazenar trechos de códigos
Programação Estruturada Sub-rotina Private Sub nome<(argumentos)> <instruções> End Sub Duas formas: passagem de argumentos por valor (ByVal) e por referência (ByRef)
Exemplo- Sub-rotina com passagem de argumentos por valor Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim N As Long N = Val(TextBox1.Text) Fatorial(N) TextBox1.Focus() End Sub End Class
Exemplo- Sub-rotina com passagem de argumentos por valor 'Sub-rotina criada manualmente Private Sub Fatorial(ByVal X As Long) Dim F = 1, I As Integer For I = 1 To X F = F * I Next MsgBox("Fatorial = " & Str(F)) End Sub
Exemplo Sub-rotina com passagem de argumentos por referência Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim R = 99, N As Long N = Val(TextBox1.Text) Fatorial(N, R) MsgBox("Fatorial= " & Str(R)) TextBox1.Focus() End Sub Private Sub Fatorial(ByVal X As Long, ByRef F As Long) Dim I As Integer F = 1 For I = 1 To X F = F * I Next End Class Exemplo Sub-rotina com passagem de argumentos por referência Novo Projeto FatorialProcPPR
Sub-Rotinas Function A função deve retornar um valor que pode ser atribuído a uma variável Function nome [(arg)] As tipo <instruções> <nome=expressão> End Function
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim N As Long N = Val(TextBox1.Text) MsgBox("Fatorial = " & Str(Fatorial(N))) TextBox1.Focus() End Sub Function Fatorial(ByVal X As Long) As Long Dim I, F As Long F = 1 For I = 1 To X F = F * I Next Fatorial = F End Function End Class
Menus, Toolbars e Caixas de Diálogos Adicionar e utilizar menus aos programas com o MenuStrip control Adicionar toolbars and botões usando o ToolStrip control. Utilizando OpenFileDialog e ColorDialog controls para criar caixas de diálogos. Adicionar keys and shortcut keys aos menus (botões de atalho).
Menus, Toolbars e Caixas de Diálogos 1. Crie um novo projeto Windows Forms Application no Visual Basic e nomeie para MeuMenu. 2. Clique no MenuStrip control na aba Menus & Toolbars do Toolbox 3. Desenhe um menu para o seu form.
Menus, Toolbars e Caixas de Diálogos 4. Digite o texto do menu no Type Here tag, digite Relógio, e então Enter. 5. Digite Data para a criar um comando Date para o menu Relógio, e então Enter. 6. Digite Tempo para criar um comando Time para o menu, e então Enter.
Menus, Toolbars e Caixas de Diálogos Agora crie atalhos de acesso com o & para cada item do Menu Exemplo &Relógio ->Relógio Para acessar este item do menu basta clicar Alt+R
Menus, Toolbars e Caixas de Diálogos Insira um label e altere as propriedades dele para
Menus, Toolbars e Caixas de Diálogos Código para o item do menu Tempo: Private Sub TempoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TempoToolStripMenuItem.Click Label1.Text = TimeString End Sub