Escolar Documentos
Profissional Documentos
Cultura Documentos
Ambiente de Programao I
Common Language Runtime (CLR) .NET Base Class Library Linguagens e o .NET Framework Compilao e execuo de uma aplicao .NET Gerenciamento da memria - Garbage Collection (GC) 2Orientao a Objetos
Classes Objetos e Membros Agregao Encapsulamento Polimorfismo Herana Herana com Polimorfismo Orientao a Eventos 3Variveis
As Caractersticas de uma Varivel O Comando Dim Abrangncia e Tempo de Vida de uma Varivel Converso de dados 4Operadores
Clausula If Clausula If ...Then ...Else Clausula ElseIf Clusula Select Case Uso de Operadores 6Comandos de Lao
Barra de Menus e Barra de Ferramentas Propriedades Gerais de Controle e Layout dos Componentes Formulrio Labels, TextBoxes e Buttons GroupBox e Panels CheckBox e RadioButtons ComboBox Ednilson
Tratamento de Erros no .NET Framework Principais Propriedades da Classe Exception 10 11 Classe String Classe Matemtica (Math)
Ednilson
O .NET Framework possui dois componentes principais: o Common Language Runtime (CLR) e o .NET Base Class Library. A figura a seguir exemplifica a estrutura do .Net Framework.
Arquitetura .NET
Linguagens de Programao (VB.NET, C#, etc) Base Class Library Common Language Runtime
Common Type System Common Language Specification
Ednilson
System
Ednilson
Metadados So um conjunto de instrues geradas no processo de compilao de qualquer programa .NET, junto com a MSL, que contm as seguintes informaes especficas da aplicao: A descrio dos tipos (classes, estruturas, tipos enumerados etc.) usados na aplicao, podendo esta ter sido gerada em forma de DLL ou de executvel. A descrio dos membros de cada tipo (propriedades, mtodos, eventos, etc.). A descrio de cada unidade de cdigo externo (assembly) usada na aplicao e que requerida para que esta execute adequadamente. Resoluo da chamada de mtodos. Resoluo de verses diferentes de uma aplicao.
Dada a informao contida nos METADADOS, podemos dizer que uma aplicao .NET autoexplicativa, dispensando a utilizao do registro do Windows para armazenar informaes adicionais a seu respeito. Mais ainda, nos METADADOS armazenada a verso da aplicao, o que permite que duas aplicaes, mesmo sendo homnimas, possam conviver amigavelmente sem gerar conflitos de verses no sistema. O CLR vai procurar nos METADADOS a verso correta da aplicao a ser executada. Esse um ganho muito grande no que diz respeito implementao e manuteno de sistemas em produo, dadas as dificuldades associadas manuteno de DLLs e de componentes cujas verses so diferentes, mas cuja convivncia no mesmo ambiente necessria por razes de compatibilidade com outros aplicativos que precisam de uma ou de outra DLL.
Assembly Toda aplicao .NET, quando compilada, armazenada fisicamente numa unidade de cdigo denominada assembly. Uma aplicao pode ser composta de um ou mais assemblies, os quais so representados no sistema de arquivos do sistema operacional na forma de arquivos executveis (EXE), ou de DLL. Porm, as aplicaes .NET no so aplicaes Win32, apesar de executarem no ambiente Windows, razo pela qual o runtime Win32 no sabe como execut-las. O Win32, ao identificar uma aplicao .NET, dispara o runtime .NET que, a partir desse momento, assume o controle da aplicao.
PE (Portable Executable) Quando um aplicativo compilado, so geradas instrues em MSIL. Como j dissemos acima, METADADOS como informaes da aplicao tambm so gerados, e obviamente armazenados na forma Ednilson 6
Compilao JIT (Just in Time) Um compilador JIT, tambm conhecido como JITTER, converte instrues MSIL para instrues especficas da arquitetura do processador onde a aplicao .NET est sendo executada. Pr-JIT: Compila de uma s vez todo o cdigo da aplicao .NET que est sendo executada e o armazena no cache para uso posterior. Exono-JIT: Este tipo de compilador usado em dispositivos como hand-helds onde a memria um recurso precioso. Sendo assim, o cdigo compilado sob demanda, e a memria alocada que no est em uso liberada quando o dispositivo assim o requer. Normal-JIT: O Normal-JIT compila o cdigo sob demanda e coloca o cdigo resultante no cache, de forma que esse cdigo no precise ser recompilado quando houver uma nova invocao do mesmo mtodo.
Ednilson
Orientao a Objetos
Objetos e Membros
Um objeto a instanciao de uma classe. Objetos so compostos de Membros. Membros so Propriedades, Campos, Mtodos e Eventos e eles representam dados e funcionalidades de um objeto. Campos e Propriedades representam dados de um objeto. Mtodos so as aes que um objeto pode desempenhar e Eventos so notificaes que um objeto recebe ou envia para outros objetos quando atividades acontecem na aplicao. Considerando o exemplo de um objeto carro, ele pode ter propriedades como: cor, fabricante, modelo, ano e assim por diante. Essas propriedades descrevem o estado do objeto. Um objeto carro pode possuir diversos mtodos, como acelerar, brecar, virar, etc. Os mtodos representam comportamentos que um objeto pode representar. E eventos representam notificaes. Por exemplo, um objeto carro poder gerar um evento batida quando interage com um objeto rvore.
Agregao
Um modelo de objeto uma organizao hierrquica com objetos subordinados a um objeto principal. Para ilustrar vamos retornar ao exemplo do objeto carro. Um objeto carro pode conter: um objeto motor, 4 objetos rodas e assim por diante. A composio desses objetos subordinados afeta diretamente as funes e as regras do objeto carro. Por exemplo, se a propriedade cilindro do objeto motor por igual a 4, este carro ter um comportamento diferente de outro carro cuja a propriedade cilindro do motor for igual a 8. O .NET Framework utiliza-se do conceito de agregao em vrios objetos presentes no Windows Forms. Por exemplo: o objeto TextBox possui a propriedade Fonte que consiste no objeto Fonte. Um objeto Form pode conter uma coleo de outros objetos, como caixas de texto, checagem, seleo, etc.
Encapsulamento
Objetos podem interagir uns com outros atravs das propriedades, mtodos e eventos pblicos. Porm, um objeto no necessita saber a implementao de um mtodo pblico de outro objeto para acionlo. Basta saber que ele existe e que pode ser acionado. Por exemplo, um objeto carro possui os mtodos AndarParaFrente, AndarParaTrs e Parar. Porm um objeto Motorista pode se utilizar desses mtodos sem saber o que o objeto Carro faz internamente para que esses mtodos funcionem. A isso, damos o nome de Encapsulamento.
Ednilson
Herana
Herana significa partir de algo j pronto e modific-lo com o propsito de deix-lo mais adequado a determinada finalidade. Supondo que voc tem uma classe boto com propriedades bsicas; voc pode herdar aquelas caractersticas bsicas e adicionar ainda mais funcionalidade. O detalhe que, ao derivar uma classe a partir de outra, voc no precisa conhecer o cdigo da classe anterior. A sua nova classe no trar os cdigos da classe base. Eles continuaro encapsulados l e voc poder us-los se quiser. O dado importante que voc no precisa manipular os cdigos da classe base.
Orientao a Eventos
Uma linguagem de programao pode ser orientada a objetos, sem ser orientada a eventos e viceversa. Porm a unio desses dois conceitos torna uma linguagem muito mais poderosa e interessante. Como o prprio nome sugere uma linguagem orientada a eventos uma linguagem capaz de responder a determinados acontecimentos dentro de um determinado ambiente. Os eventos podem ser muitos: clique do mouse, uma tecla pressionada, a mudana de foco de um componente, etc.
Ednilson
O Comando Dim
Comando utilizado para declarao de variveis. Sintaxe: Dim NomeDaVarivel As TipoDeVarivel Exemplo: Dim valor As Integer Dim nome As String
Ednilson
10
Intervalo de Valor
Decimal
de
SByte Short (inteiro curto) Single (ponto flutuante de preciso simples) String varivel) UInteger ULong User-Defined (Estrutura) UShort (tamanho
True ou False 0 a 255 (valores positivos) 0 a 65535 (valores positivos) 0:00:00 (meia noite) de 1 de Janeiro de 0001 s 23:59:59 de 31 de Dezembro de 9999 Decimal 16 bytes 0 a +/79.228.162.514.264.337.593.543.950.335 (+/-7,9...E+28) sem casas decimais; E de 0 +/-7,9228162514264337593543950335 com 28 casas decimais direita; Nmero mais prximo de zero +/0,0000000000000000000000000001 (+/ 1E-28) Double 8 bytes -1,79769313486231570E+308 a 4,94065645841246544E-324 para valores negativos; 4,94065645841246544E-324 a 1,79769313486231570E+308 para valores positivos Int32 4 bytes -2.147.483.648 2.147.483.647 Int64 8 bytes -9.223.372.036.854.775.808 9.223.372.036.854.775.807 (9,2...E+18 ) Object (class) 4 bytes em Qualquer tipo pode ser armazenado numa plataforma 32-bit e varivel do tipo Object. 8 bytes em plataforma 64-bit SByte 1 byte -128 a 127 (signed) Int16 2 bytes -32.768 a 32.767 Single 4 bytes -3,4028235E+38 a -1,401298E-45 para valores negativos; 1,401298E-45 a 3,4028235E+38 para valores positivos String (class) Varia de acordo com 0 a aproximadamente 2 bilhes de a plataforma. caracteres Unicode UInt32 4 bytes 0 a 4.294.967.295 (somente valores positivos) UInt64 8 bytes 0 a 18.446.744.073.709.551.615 (1,8...E+19 ) (somente valores positivos) (Herana de Varia de acordo com Cada membro da estrutura tem um ValueType) a plataforma. intervalo determinado por seu tipo de dado. UInt16 2 bytes 0 a 65.535 (somente valores positivos)
Ednilson
11
A varivel Nome que criamos dentro do Private Sub, possui validade somente dentro desta rotina de cdigo. Chamamos de varivel Local. Quando encerrar (comando End Sub) a varivel ser retirada da memria. Entretanto, se queremos que uma varivel tenha abrangncia em todos os mtodos de uma classe, ento devemos cri-la no incio da classe. Exemplo:
Public Class FrmPrincipal Dim nomeFuncionario As String Private Sub btnEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnviar.Click nomeFuncionario = "Jeremias da Silva" MessageBox.Show(nomeFuncionario, "Texto Enviado!", MessageBoxButtons.OK) End Sub End Class
Converso de dados
A classe Convert responsvel pela converso entre tipos de dados. Por exemplo: Convert.ToChar(65) Convert.ToInt32(156) Convert.ToDouble(txtValor.Text) => Resultado: A => Converte a string 156 no Integer 156 => Converte o contedo do TextBox txtValor em Double
Ednilson
12
Operadores Matemticos
Estes tipos de operadores possuem a finalidade de efetuar clculos. Operador + * / \ ^ Mod & Descrio Soma Subtrao Multiplicao Diviso Diviso. Resultado ser um nmero inteiro Exponenciao Resto da Diviso Concatenador de String Exemplo var = 18+5 var = 18-5 var = 18*5 var = 18/5 var = 18\5 var = 18^5 var = 18 Mod 5 ca & ju = caju
Esses operadores respeitam uma ordem de precedncia universal: 1. Exponenciao 2. Multiplicao e Diviso 3. Adio e Subtrao O calculo: 3+4*2^2/4-1+5 resultar em 11. Se por algum motivo precisarmos que o programa efetue primeiro a soma, ento devemos coloc-la entre parnteses: (3+4)*2^2/4-(1+5) = 1. Usamos os parnteses para mudar a ordem de precedncia dos operadores.
Operadores Relacionais
Estes operadores fazem comparaes entre variveis ou expresses. O retorno desta comparao ser sempre um valor booleano (True ou False). Nos exemplos abaixo todas as comparaes sero verdadeiras. Operador < > <= >= = <> Descrio Menor Maior Menor ou Igual Maior ou Igual Igual Diferente Exemplo 3<5 5>3 3 <= 5 5 >= 3 5=5 a <> A
Operadores Lgicos
Os operadores lgicos tambm retornam valores booleanos (True ou False).
And: Usamos quando precisamos comparar duas relaes e ambas tem que ser verdadeira. 20 > 10 and 5 = 5 O Resultado ser verdadeiro ( True ). 20 maior que 10 e 5 igual a 5. J em: Ednilson 13
versa.
O resultado ser falso. 10 maior que 5. Seria Verdadeira a comparao, mas como possui o Not ele inverte o resultado. Xor: Ou exclusivo. Para ser verdadeiro, ou uma coisa ou outra, nunca dois resutados iguais. 8 > 10 Xor 8 > 6 Retorna verdadeiro, pois o resultado das duas comparaes foram diferentes. A primeira falsa e a segunda verdadeira. 8 > 10 Xor 6 > 8 Retorna falso, pois o resultado das duas comparaes foram semelhantes. A primeira falsa e a segunda tambm. 10 > 8 Xor 8 > 6 Retorna falso, pois o resultado das duas comparaes foram semelhantes. A primeira verdadeira e a segunda tambm. Eqv: Abreviatura de Equivalente. Faz uma equivalncia lgica entre duas expresses. 10 > 8 Eqv 8 > 6 Retorna verdadeiro, pois ambas comparaes so iguais. 8 > 10 Eqv 8 > 6 Retorna falso, pois as comparaes retornam valores diferentes. Imp: Abreviatura de Implicao (uma coisa implica em outra). O resultado ser False somente se a primeira comparao for True e a segunda for False. Nos outros casos o resultado ser sempre True. Este operador o nico onde a ordem dos operadores faz diferena. 10 > 8 Imp 6 > 8 - Retorna Falso, pois a primeira comparao Verdadeira e a segunda Falsa. 10 > 8 Imp 8 > 6 - Retorna Verdadeiro. 8 > 10 Imp 6 > 8 - Retorna Verdadeiro.
Ednilson
14
5-
Comandos Condicionais
Os comandos condicionais executam determinadas aes desde que algumas condies sejam favorveis (verdadeiras).
Clausula If
O bloco If...Then utilizado para executar um ou mais comandos condicionalmente. Ele pode ser usado em uma linha simples ou em estrutura de bloco: Exemplo:
- Uma linha
- Bloco
Traduzindo: IF = Se, THEN = Ento, END IF = Fim do Comando Se. Quando colocamos uma estrutura condicional IF dentro do nosso programa estamos querendo que o computador avalie uma condio, e conforme for o resultado siga determinado caminho. Veja os exemplos: Exemplo de comando simples. Podem ser feito na mesma linha: Dim Numero as Integer Numero = Convert.ToInt32(txtNumero.Text) If Numero < 20 Then MessageBox.Show(Nmero menor que 20)
O programa faz a verificao: Se nmero for menor que 20 ento emita a mensagem: Nmero menor que 20. Quando uma determinada condio que colocamos no comando IF verdadeira, ele comea a executar todas as linhas que existem entre IF e END IF. Se a condio no for verdadeira ento o programa passa a execuo para a linha aps o END IF e ignora tudo que houver dentro da estrutura IF... END IF. No procedimento exemplo, o programa verifica se o nmero maior que 20. Caso ele no seja, ele no executar as linhas existentes dentro da estrutura IF...END IF.
Ednilson
15
- Uma linha
- Bloco - Bloco
O comando ELSE, que sempre executado quando a condio inicial no verdadeira. Dim Numero as Integer Numero = Convert.ToInt32(txtNumero.Text) If Numero < 20 Then MessageBox.Show(Nmero menor que 20) Else MessageBox.Show(Nmero maior ou igual a 20) End If O programa verifica: Se o nmero for menor que 20 exibe a mensagem: Nmero menor que 20, seno, exibe Nmero maior ou igual a 20. Lembre-se: Sempre que usar o comando IF necessrio usar o comando THEN aps a condio.
Clausula ElseIf
If condio1 Then Bloco de Comandos1 ElseIf condio2 Then Bloco de Comandos2 Else Bloco de Comandos3 End If
Traduzindo: IF = Se, THEN = Ento, ELSEIF = Seno se, END IF = Fim do Comando Se. Utilizamos o comando ELSEIF ao invs de ELSE sempre que existam mais de duas condies a serem analisadas. Dim Numero as Integer Numero = Convert.ToInt32(txtNumero.Text) If Numero < 20 Then MessageBox.Show(Nmero menor que 20) ElseIf Numero = 20 Then MessageBox.Show(Nmero igual a 20) Else MessageBox.Show(Nmero maior que 20) End If
Ednilson
16
Note que este comando verifica se a Opo igual a 1, se no for, verifica se igual a 2 e depois se igual a 3. Caso a varivel Opo no seja 1, 2 ou 3 ento o comando CASE ELSE acionado. O comando CASE ELSE opcional, ou seja, no necessrio ser colocado em um Select Case. Se ele no estiver presente e nenhuma das opes for a correta, ento o Select Case ser encerrado. O comando Case pode avaliar seqncias. Estas devem ser separadas por vrgulas. Exemplo: Case 2, 4, 6 Ou seja, se a condio for 2, 4, ou 6 ele processar esta clausula. No comando Case podemos usar tambm intervalos, como por exemplo: Case 2 to 4 Ou seja, caso a condio esteja entre 2 e 4. Caso queira que na verificao da condio seja avaliado se a varivel maior ou menor que determinada expresso, usamos: Case Is > 50
Uso de Operadores
As clausulas If e Select Case permitem o uso de operadores relacionais ( >,>=, <, <=, <> e = ). J os operadores lgicos s podem ser usados na clausula If e servem para que duas ou mais comparaes possam ser avaliadas. Os operadores lgicos mais utilizados so: And, Or e Not.
Ednilson
17
Comandos de Lao
So comandos que criam uma estrutura de repetio (loop), ou seja, criam uma estrutura condicional que se repete at a que condio seja satisfeita. DO WHILE <<Condio>> LOOP ( Faa enquanto ) Executa todos os comandos que existirem entre DO WHILE e o LOOP. Quando a execuo do programa encontra o comando LOOP, o DO WHILE reavaliado e a rotina continua enquanto a condio estabelecida esteja sendo satisfeita. Dim Contador as Short = 0
Faa enquanto Contador for menor que 10. Do While Contador < 10 Contador = Contador + 1 Loop
Inicializamos uma varivel de nome Contador com Zero, e pedimos para o programa: Repita as instrues abaixo enquanto Contador for menor que 10. O comando LOOP faz com que o programa volte para a linha do DO WHILE e teste a condio novamente. Somente quando a condio for verdadeira, ou seja, quando Contador for maior ou igual a 10, que o programa executar a linha aps o LOOP. Perceba que dependendo do resultado da condio os comandos existentes dentro da estrutura podem no ser executados, passando direto para a linha aps o comando LOOP. DO ... LOOP WHILE <<Condio>> ( Repita enquanto ) Neste caso o Comando Do abre a seqncia de repetio, mas no faz nenhum teste de condio. Este teste feito no final da estrutura com o comando LOOP WHILE, ou seja, obrigatoriamente as instrues contidas aps o comando DO sero executadas. Dim Contador as Short = 0 Do Contador = Contador + 1 Loop While contador < 10
Faa enquanto o contador for menor que 10.
DO UNTIL <<Condio>> LOOP ( Faa at que) Executa todos os comandos que existem entre DO UNTIL e o LOOP. Quando a execuo do programa encontra o comando LOOP, o DO UNTIL reavaliado e a rotina continua at que a condio estabelecida esteja satisfeita. Dim Contador as Short = 0 Do Until contador >= 10 Contador = Contador + 1 Loop Faa at que Contador seja maior ou igual a 10.
Inicializamos uma varivel de nome Contador com Zero, e pedimos para o programa: Repita as instrues abaixo at que Contador seja maior ou igual que 10. O comando LOOP faz com que o programa volte para a linha do DO UNTIL e teste a condio de novo. Somente quando a condio for verdadeira, ou seja, quando Contador for realmente maior ou igual a 10, que o programa executar a linha aps o LOOP.
Ednilson
18
FOR <<Intervalo>> ... NEXT (Faa de nmero inicial at nmero final) O comando FOR faz uma contagem de um determinado intervalo de nmeros. Diferentemente dos demais comandos de repetio, no For o contador no precisa ser incrementado manualmente. Ao passar pela clausula Next, ele incrementado automaticamente. Exemplo: Dim cont as short Conte de 1 at 10 For cont = 1 to 10 MessageBox.Show(A varivel Contador agora vale & cont.ToString()) Next Neste cdigo, o comando FOR avisa que a varivel contador ser iniciada com o valor 1. As instrues contidas na linha abaixo so executadas, e quando o comando NEXT encontrado a execuo volta para o FOR, e a varivel Contador incrementada em mais um e assim por diante. Quando Contador for maior que 10 a estrutura FOR/NEXT desfeita. STEP Usamos o STEP em conjunto com o FOR para alterar o valor com que uma varivel incrementada. Exemplo: Se quisermos que o comando conte de 2 em 2 colocamos FOR Varivel = 1 TO 10 STEP 2. Exemplo, para exibir os valores impares de 1 a 10 podemos fazer: Dim Contador as Short Este cdigo exibir mensagens com os nmeros 1, 3, 5, 7 e 9.
For Contador = 1 to 10 Step 2 MessageBox.Show(Contador.ToString()) Next Podemos usar a Clausula Step para gerar valores decrescentes. Exemplo: Dim Contador as Short Este cdigo exibir mensagens com os nmeros 5, 4, 3, 2, 1 e 0.
Ednilson
19
Dim Contador as Short = 0 Do While Contador < 10 Contador = Contador + 1 if Contador = 5 then Exit Do end if Loop Exit For: Fora a sada de um FOR..NEXT, mesmo que o nmero final no tenha sido alcanado. Dim Contador as Short For Contador = 1 to 10 If Contador = 6 Then Exit For end if Next
Ednilson
20
Sistemas de Informao Ambiente de Programao I 7IDE do Visual Studio 2005 e Componentes de Interface
Menu File Edit View Project Build Debug Data Format Tools Windows Help
Descrio Contm comandos para abrir e fechar projetos, imprimir dados do projeto etc. Contm comandos como cut, paste, find, undo etc. Contm comandos para exibir as janelas e barras de ferramentas do IDE. Contm comandos para gerenciar um projeto e seus arquivos. Contm comandos para compilar um programa. Contm comandos para depurao (isto , identificar e corrigir problemas em um programa) e executar um programa. Contm comandos para interagir com bancos de dados (isto , arquivos que armazenam dados). Contm comandos para arranjar os controles de um formulrio. Contm comandos para acessar ferramentas e opes adicionais do IDE que possibilitam a sua personalizao. Contm comandos para arranjar e exibir janelas Contm comandos para acessar os recursos de ajuda do IDE.
As principais janelas da IDE para o desenvolvimento so: Toolbox, onde se localizam os componentes disponveis; Solution Explorer, que permite visualizar e selecionar todos os itens de uma Solution (Projetos, Forms, Classes, Imagens, Relatrios); Properties, que permite visualizar / alterar as propriedades de qualquer componente em um formulrio. A figura seguinte exibe estas 3 janelas:
Ednilson
21
Toolbox
Solution Explorer
Properties
Ednilson
A seguir sero exibidas tabelas com as propriedades, mtodos e eventos mais comuns encontrados nos objetos: Formulrio, Label, TextBox, Button, GroupBox, Panel, CheckBox, RadioButton, ComboBox, ListBox, PictureBox, alm dos tratamentos de eventos de mouse e teclado.
Formulrio
Propriedades de Formulrios Name AutoScroll ControlBox Cursor GridSize MinimizeBox e MaximizeBox MinimumSize e MaximumSize Opacity StartPosition Text Window State Descrio Nome do formulrio Indica se as barras de rolagem aparecero quando o Form for pequeno demais para exibir todos os seus controles. O padro False. Determina se um form ter os botes minimizar, maximizar e fechar. Permite alterar o cursor do mouse. Distncia entre os pontos do Grid. Habilita ou desabilita os botes minimizar e maximizar do form. Indica o tamanho mnimo e mximo do formulrio. Porcentagem de opacidade de um formulrio. Posio inicial de um Form. Ttulo de um formulrio. Determina o estado inicial da janela.
Ednilson
23
GroupBox e Panels
Propriedades de GroupBox Controls Text Propriedades de Panel AutoScroll BorderStyle Controls Descrio Lista os controles que um GroupBox contm. Especifica o texto exibido na parte superior do Groupbox (seu ttulo). Descrio Indica se as barras de rolagem aparecero quando o Panel pequeno demais para exibir todos os seus controles. Padro False. Configura a borda do Panel (padro None; demais opes so Fixed3D e FixedSingle). Lista os controles que um Panel contm.
CheckBox e RadioButtons
Propriedades de CheckBox Checked CheckState Descrio Indica se a CheckBox est marcada (contm uma marca de verificao preta) ou no marcada (branca). Indica se a CheckBox est ou no marcada. Uma enumerao com valores Checked, Unchecked ou Indeterminate (marca e sombreia a CheckBox). 24
Ednilson
Descrio Indica se o RadioButton est marcado. Especifica o texto exibido direita do RadioButton (chamado de rtulo). Gerado quando o usurio clica no controle. Gerado toda vez que o RadioButton marcado ou desmarcado. Quando um usurio d um clique duplo no controle RadioButton na visualizao do projeto, um tratador de eventos vazio para este evento gerado.
ComboBox
Propriedades de ComboBox DropDownStyle Descrio Determina o tipo de caixa combinada. O valor simples significa que a parte do texto editvel e a parte da lista est sempre visvel. O valor DropDown (padro) significa que a parte do texto editvel, mas o usurio deve clicar no boto de seta para ver parte da lista. O valor DropDownList significa que a parte do texto no editvel e que o usurio deve clicar no boto de seta para ver parte da lista. A coleo de itens no controle ComboBox. Especifica o nmero mximo de itens (entre 1 e 100) que a lista suspensa pode exibir. Se o nmero de itens exceder o nmero mximo de itens a ser exibido, uma barra de rolagem aparecer. Retorna o ndice do item selecionado. Se no houver item selecionado, o valor -1 retornado. Retorna uma referncia ao item selecionado. Indica se os itens so classificados alfabeticamente. Configurar o valor dessa propriedade como True classifica os itens. O padro False. Gerado quando o ndice selecionado alterado (tal quando um item diferente selecionado). Este o evento padro quando o controle recebe um duplo clique.
ListBox
Propriedades de ListBox Items MultiColumn SelectedIndex SelectedIndices SelectedItem Descrio A coleo de itens da ListBox. Indica se a ListBox pode dividir uma lista em mltiplas colunas. As mltiplas colunas eliminam as barras de rolagem verticais da exibio. Retorna o ndice do item selecionado. Se o usurio selecionar mltiplos itens, esta propriedade retorna arbitrariamente um dos ndices selecionados; se nenhum item foi selecionado, a propriedade retorna -1. Retorna uma coleo contendo os ndices de todos os itens selecionados. Retorna uma referncia ao item selecionado (se mltiplos itens sos selecionados, ela retorna o item com o nmero do ndice mais baixo). 25
Ednilson
PictureBox
Propriedades de PictureBox Image SizeMode Descrio Configura a imagem a ser exibida na PictureBox. Enumerao que controla o tamanho e posio da imagem. Os valores so Normal (padro), StretchImage, AutoSize e CenterImage. Normal posiciona a imagem no canto superior esquerdo de PictureBox, e CenterImage coloca a imagem no meio (ambos truncam a imagem se ela for grande demais). StretchImage redimensiona a imagem para caber em PictureBox. AutoSize redimensiona PictureBox para conter a imagem. Gerado quando o usurio clica no controle. Evento-padro quando este controle recebe um clique duplo.
Eventos Click
Ednilson
26
Prefixos de Controles
Prefixo Frm lbl txt cmd chk rad pic mnu mnuitm lnklbl lst chklst cbo tre lvw ils tbc tbp tmr Controle
Form Label TextBox Button CheckBox RadioButton PictureBox Menu MenuItem LinkLabel ListBox CheckedListBox ComboBox TreeView ListView ImageList TabControl TabPage Timer
27
Ednilson
Procedimentos Sub A sintaxe de um procedimento Sub a seguinte: Sub NomeDoProcedimento (Lista de argumentos) comandos End Sub A Lista de argumentos opcional. Se for necessrio que a rotina receba mais de um parmetro, estes devem ser separados por vrgulas. Cada argumento escrito como uma declarao de varivel e atua como tal dentro do procedimento. A sintaxe de cada argumento a seguinte: [ByVal] NomeDaVarivel As Tipo de Dado ByVal indica que o parmetro passado por valor e ByRef, que o parmetro passado por referncia (endereo). O valor de uma varivel pode ser alterado por um procedimento quando ele passado por referncia (ByRef). Ao contrrio, somente uma cpia da varivel passada para o procedimento quando o mesmo passado por valor (ByVal). Se o procedimento alterar seu valor, esta alterao afeta somente a cpia e no a varivel original. Exemplo de declarao de Sub sem passagem de parmetros: Sub Limpar() txtValor.Clear() lstLoop.Items.Clear() End Sub Exemplo de declarao de Sub com passagem de parmetros por valor (ByVal): Sub ListarValores(ByVal Valor As Integer) Dim i As Integer lstLoop.Items.Clear() 'Para i = 0 at o contedo da varivel valor For i = 0 To Valor lstLoop.Items.Add(i) Next 'Atualiza o contador automaticamente End Sub A chamada de uma Sub acontece da seguinte forma: ListarValores(15) Valor. O procedimento passa o valor 15 como parmetro para a Sub ListarValores atravs da varivel
Ednilson
28
Ednilson
29
End Try
O bloco Finally, quando declarado, sempre executado. Ele usado principalmente para a liberao dos recursos utilizados na rotina. Se nenhuma exceo ocorre ou se uma exceo capturada e tratada, o programa continua a execuo com o prximo comando aps a seqncia Try/Catch/Finally.
possvel tratar erros especficos de maneira personalizada, atravs das especializaes da classe Exception. O exemplo a seguir mostra o tratamento de um erro caso ocorra uma exceo do tipo OverflowException. Caso ocorra qualquer outro tipo de exceo, esta tratada de forma gerrica atravs da classe Exception. Function Fatorial(ByVal Valor As Integer) As Integer Dim resultado As Integer = 1 Dim i As Integer Try For i = 2 To Valor resultado *= i Next Return resultado Catch ex As OverflowException MessageBox.Show("Nmero muito grande para ser calculado!") Return 0 Catch ex As Exception MessageBox.Show(ex.Message) Return 0 End Try End Function
Ednilson
30
Rotina2
Como a Rotina3 no tem tratamento de erros, retorna a exceo para a rotina que o ativou, no caso a Rotina2
Ednilson
31
PadLeft(tamanho as integer) PadRight(tamanho as integer) Remove(inicio as integer, quantidade as integer) Replace(valorAntigo as string, NovoValor as string) StartWith(valor as string) Substring(inicio as tamanho as integer) ToLower() ToUpper() Trim() integer,
Propriedade Length
Ednilson
32
Ednilson
33