Uploaded by Rafael Rocha

PROGRAMANDO COM C E VISUAL STUDIO.NET 2005

advertisement
Curso Programando com C# e o Visual Studio .NET 2005
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 1
Curso Programando com C# e o Visual Studio .NET 2005
Nota sobre direitos autorais:
Este e-book é de autoria de Herbert Moroni Cavallari da Costa Gois, sendo
comercializado
diretamente
www.linhadecodigo.com.br
ou
www.mercadolivre.com.br,
através
através
mediante
do
site
do
site
contato
www.juliobattisti.com.br
de
e
leilões
Mercado
Livre:
através
do
email:
batisti@hotmail.com ou webmaster@juliobattisti.com.br, diretamente pelo autor ou
por Júlio Battisti. No Mercado Livre, somente o usuário GROZA é que tem
autorização para comercializar este e-book. Nenhum outro usuário/email e/ou
empresa está autorizada a comercializar este ebook.
Ao adquirir este ebook você tem o direito de lê-lo na tela do seu computador e de
imprimir quantas cópias desejar. É vetada a distribuição deste arquivo, mediante
cópia ou qualquer outro meio de reprodução, para outras pessoas. Se você recebeu
este ebook através do e-mail ou via ftp de algum site da Internet, ou através de
um CD de Revista, saiba que você está com uma cópia pirata, ilegal, não
autorizada, a qual constitui crime de Violação de Direito Autoral, de acordo com a
Lei 5988. Se for este o caso entre em contato com o autor, através do e-mail
webmaster@juliobattisti.com.br, para regularizar esta cópia. Ao regularizar a sua
cópia você irá remunerar, mediante uma pequena quantia, o trabalho do autor e
incentivar que novos trabalhos sejam disponibilizados. Se você tiver sugestões
sobre novos cursos que gostaria de ver disponibilizados, entre em contato pelo email: webmaster@juliobattisti.com.br.
Visite periodicamente o site www.juliobattisti.com.br para ficar por dentro das
novidades:
•
Cursos de informática.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 2
Curso Programando com C# e o Visual Studio .NET 2005
•
Guias de Estudo para os Exames de Certificação da Microsoft.
•
Artigos e dicas sobre Certificações da Microsoft.
•
Artigos sobre Carreira e Trabalho.
•
Dicas de livros e sites sobre diversos assuntos.
•
Simulados
•
ESTE E-BOOK NÃO PODE SER FORNECIDO EM UM CD
gratuitos,
em
português,
para
os
exames
da
Microsoft.
OU DVD DE NENHUMA REVISTA
•
SE
VOCÊ
ATRAVÉS
OUTRO
OBTEVE
DO
UMA
E-MULE,
PROGRAMA
CÓPIA
KAZAA,
DE
DESTE
E-BOOK
MORPHEUS
OU
COMPARTILHAMENTO,
SAIBA QUE VOCÊ ESTÁ COM UMA CÓPIA ILEGAL,
NÃO AUTORIZADA
•
USAR UMA CÓPIA NÃO AUTORIZADA É CRIME DE
VIOLAÇÃO DE DIREITOS AUTORAIS, COM PENA
PREVISTA DE CADEIA
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 3
Curso Programando com C# e o Visual Studio .NET 2005
PRÉ-REQUISITOS PARA O CURSO:
Para que você possa acompanhar as lições deste curso é necessário que você já
tenha preenchido os seguintes pré-requisitos:
•
Conhecimento básico do Windows 98, 2000 ou XP, tais como:
Criação de pastas e subpastas.
Utilização do mouse e do teclado.
Operações básicas com arquivos e pastas, usando o Windows
Explorer.
Conhecer conceitos tais como ícones, área de trabalho, janelas do
Windows, uso de menus e outras configurações básicas do Windows.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 5
Curso Programando com C# e o Visual Studio .NET 2005
Palavras do autor:
A proposta desde curso é ajudá-lo a entrar no mundo da programação usando a
linguagem C# e a ferramenta Visual Studio .NET 2005. Para tanto, não exite em
fazer os exemplos propostos. Aprender a programar é como dirigir, você aprende
fazendo, para isso apresentamos uma série de exemplos passo-a-passo e conforme
vamos nos aprofundando nos exemplos e as duvidas vão surgindo discutimos a
teoria, assim fica mais fácil assimilar e memorizar o assunto proposto.
Também estou a disposição para responder eventuais dúvidas sobre o conteúdo do
curso, envie-me também suas sugestões para que possamos sempre melhorar o
material proposto. Meu e-mail para contato é herbertmoroni@hotmail.com ou
moroni@weblitenet.com.br.
Ao final deste curso você vai dominar a linguagem de programação C# e vai saber
como
tirar
proveito
dos
principais
recursos
do
Visual
Studio
.NET
2005,
proporcionando melhor produtividade no desenvolvimento de sistemas.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 6
Curso Programando com C# e o Visual Studio .NET 2005
Índice do Curso
Índice do Curso............................................................................................ 7
Introdução ................................................................................................ 10
Módulo 1.............................................................................................................................................13
Bem vindo ao C# e ao Visual Studio.NET 2005 ..................................................................13
Lição 1 – Bem vindo ao C# e ao Visual Studio .NET 2005 ........................................13
Lição 2 – Usando o CSC para compilar seu programa.................................................28
Lição 3 – Criando sua primeira aplicação Windows com C# e o Visual Studio
.NET.................................................................................................................................................34
Lição 4 – Criando documentação usando XML e cometários.....................................47
Módulo 2.............................................................................................................................................56
Variáveis.............................................................................................................................................56
Lição 5 – Entendo variáveis e tipos de dados .................................................................56
Lição 6 – Nomeando uma variável ......................................................................................59
Lição 7 – Palavras Reservadas do C# ................................................................................61
Lição 8 – Declarando variáveis .............................................................................................62
Lição 9 – Atribuindo valor a variáveis ................................................................................63
Lição 10 – Tipos de dados ......................................................................................................64
Lição 11 – Adicionando valor a uma variável..................................................................67
Lição 12 – Operadores .............................................................................................................69
Módulo 3.............................................................................................................................................81
Métodos e Escopo ...........................................................................................................................81
Lição 13 – Entendento métodos ...........................................................................................81
Lição 14 – Entendento Escopo ..............................................................................................86
Lição 15 – Criando e Chamando Métodos.........................................................................89
Módulo 4...........................................................................................................................................107
Estruturas de Decisão .................................................................................................................107
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 7
Curso Programando com C# e o Visual Studio .NET 2005
Lição 16 – Entendendo as Estruturas de Decisão........................................................107
Lição 17 – Usando o if............................................................................................................108
Lição 18 – Usando o switch..................................................................................................118
Módulo 5...........................................................................................................................................129
Estruturas de Repetição .............................................................................................................129
Lição 19 – Usando o while ....................................................................................................129
Lição 20 – Usando o do .........................................................................................................134
Lição 21 – Usando o for.........................................................................................................138
Lição 22 – Conhecendo o foreach......................................................................................143
Módulo 6...........................................................................................................................................144
Gerenciando Erros e Exceções .................................................................................................144
Lição 23 – Conhecendo os três tipos de erros ..............................................................144
Lição 24 – Encontrando erros com o Visual Studio.NET 2005................................145
Lição 25 – Usando a janela Watch ....................................................................................158
Lição 26 – Usando a janela Command.............................................................................163
Lição 27 – try..catch ...............................................................................................................166
Lição 28 – Usando try...catch aninhados........................................................................176
Lição 29 – Programação defensiva....................................................................................180
Lição 30 – Exit try....................................................................................................................181
Módulo 7...........................................................................................................................................183
Arrays e Coleções .........................................................................................................................183
Lição 31 – Usando Arrays .....................................................................................................183
Lição 32 – Coleções.................................................................................................................197
Módulo 8...........................................................................................................................................205
Aprofundando em Windows Forms.........................................................................................205
Lição 33 – Trabalhando com múltiplos formulários ....................................................205
Lição 34 – Passando valores entre Forms ......................................................................212
Lição 35 – Posicionando os formulários na tela............................................................217
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 8
Curso Programando com C# e o Visual Studio .NET 2005
Lição 36 – Controlando os eventos dos formulários...................................................218
Módulo 9...........................................................................................................................................221
Usando controles do Windows Forms....................................................................................221
Lição 37 – Usando o controle dateTimePicket...............................................................221
Lição 38 – Usando os controles radioButton, checkBox, listBox e comboBox..226
Módulo 10 ........................................................................................................................................238
Bancos de dados com ADO.NET ..............................................................................................238
Lição 39 – Conceitos básicos de banco de dados ........................................................238
Lição 40– Usando o Visual Studio 2005 para manipular dados de um banco de
dados. ...........................................................................................................................................245
Módulo 11 ........................................................................................................................................260
Imprimindo......................................................................................................................................260
Lição 41 – Imprimindo a partir de uma textBox ..........................................................260
Módulo 12 ........................................................................................................................................274
Distribuindo sua aplicação.........................................................................................................274
Lição 42 – Criando um projeto de instalação ................................................................275
Lição 43 – Executando o programa de instalação .......................................................295
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 9
Curso Programando com C# e o Visual Studio .NET 2005
Introdução
Neste curso você vai aprender a usar a linguagem de programação C# e utilizar
seus recursos para desenvolver aplicações para Windows através da ferramenta
Visual Studio .NET 2005.
O C#, junto com o Visual Studio .NET 2005 compõe uma ferramenta extremamente
robusta e fácil de utilizar, com perfeito suporte a todas as novas ondas que rondam
o mundo da informática e tecnologia.
O Visual Studio .NET 2005 é a melhor ferramenta de desenvolvimento de aplicações
para a plataforma .NET. Com uma interface amigável e integrada com os ambientes
e de fácil entendimento, proporciona aos desenvolvedores a criação de aplicações
sofisticadas com todos os recursos existentes, sem ter que ficar criando parte de
código em um aplicativo e o restante no outro. É possivel com o Visual Studio
gerenciar recursos da máquina e local e de um possível servidor, criar aplicações
para Windows, web e dispositivos móveis.
Capítulo 1: Neste capítulo você vai iniciar no desenvolvimento usando o Visual
Studio .NET 2005, vai aprender a criar aplicações Windows e a utilizar o CSC para
compilar seu programa pelo prompt de comando. Vai aprender também como gerar
documentação XML a partir de comentários que podem ser inseridos em seus
programas.
Capítulo 2: Neste capítulo você vai aprender sobre variáveis, tipos de dados,
conversão de tipos de dados, operadores, o que é Common language Runtime e
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 10
Curso Programando com C# e o Visual Studio .NET 2005
Common Type System, além disso vai receber dicas sobre como nomear suas
variáveis.
Capitulo 3: Neste capitulo você vai entender o que são métodos e escopo. Vai
aprender a criar e usar métodos.
Capítulo 4: Neste capítulo você vai aprender sobre estruturas de DECISÃO, vai
saber como usar o IF e o SWITCH.
Capítulo 5: Neste capítulo você vai aprender sobre estruturas de REPETIÇÃO, vai
saber como usar o WHILE, o DO, o FOR e vai conhecer o FOREACH.
Capítulo 6: Neste capítulo você vai aprender como encontrar erros utilizando o
Visual Studio .NET, vai também aprender a usar o Try..Catch..Finally para tratar
seus erros em tempo de execução. Não bastando vai aprender a programar
defensivamente, evitando erros.
Capítulo 7: Neste capítulo você vai aprender a criar e manipular dados de Arrays e
Coleções.
Capítulo 8: Neste capítulo você vai aprender a usar múltiplos formulários no seu
programa, passar valor entre eles, posicioná-los na tela e controlar seus eventos.
Capítulo 9: Neste capítulo você vai aprender a usar os controles disponíveis para
suas
aplicações
Windows,
para
isso
estudaremos
o
uso
dos
controles:
DateTimePicket, RadioButton, CheckBox, ListBox, ComboBox.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 11
Curso Programando com C# e o Visual Studio .NET 2005
Capítulo 10: Neste capítulo você vai aprender os conceitos principais de banco de
dados e como inserir, apagar e alterar registros.
Capítulo 11: Neste capítulo você vai aprender a imprimir informações de seus
programas, vai aprende também a implementar os recurso de configurar impressão
e visualizar impressão.
Capítulo 12: Neste capítulo você vai aprender como distribuir suas aplicações
criando um instalador.
Para enviar suas dúvidas referentes aos assuntos e exemplos abordados neste
curso, para enviar sugestões de alterações/correções, para sugerir novos cursos,
para criticar e para elogiar (porque não?), é só entrar em contato pelo e-mail:
moroni@weblitenet.com.br.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 12
Curso Programando com C# e o Visual Studio .NET 2005
Módulo 1
Bem vindo ao C# e ao Visual Studio.NET 2005
Neste capitulo você vai se familiarizar com a linguagem C# e o ambiente de
desenvolvimento do Visual Studio .NET 2005. Para isso vai criar uma sua primeira
aplicação.
Lição 1 – Bem vindo ao C# e ao Visual Studio .NET
2005
Vamos primeiramente conhecer um pouco do Visual Studio.NET, a ferramenta que
utilizaremos para desenvolver nossos aplicativos e criar nosso primeiro exemplo.
1 – Entre no Visual Studio.NET, eu estou usando a versão 2005, mas os exercícios
funcionam em qualquer versão.
Você pode entrar no Visual Studio.NET através do menu Iniciar / Programas /
Microsoft Visual Studio .NET / Microsoft Visual Studio .NET , sinta-se a
vontade para criar qualquer atalho para ele.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 13
Curso Programando com C# e o Visual Studio .NET 2005
A imagem anterior mostra o Visual Studio .NET assim que o iniciamos, é exibida a
pagina Start Page onde podemos abrir rapidamente os ultimos projetos criados
através da caixa Recent Projects.
2 – No menu File, aponte em New, e clique em Project. (Ou clique Ctrl+Shift+N).
A caixa de dialogo New Project aparece. Ela permite que criemos um novo
projeto usando vários templates, como um Windows Application, Class Library,
Console Application e vários outros.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 14
Curso Programando com C# e o Visual Studio .NET 2005
3 – No painel Project Type, clique em Visual C# Projects, aqui estão todos os
templates disponíveis para a linguagem C#.
4 – No painel Templates clique em Console Application.
5 – No campo nome digite, ClassicoHelloWorld.
Perceba que você pode ainda alterar o caminho onde sua aplicação será
salva e o nome da sua Solução.
6 – Clique em OK.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 15
Curso Programando com C# e o Visual Studio .NET 2005
A barra de menus (menu bar) possibilita o acesso aos comandos que você usa
no ambiente de programação. Você pode usar o teclado ou o mouse para acessar o
menu ou atalhos exatamente como usa em outros programas baseados em
Windows.
A barra de ferramentas (toolbar) é localizada embaixo da barra de menus e
disponibiliza botões que executam os comandos usados com mais freqüência. Não
confunda toolbar com toolbox.
A janela Solution Explorer mostra os nomes dos arquivos associados com o seu
projeto. Você pode dar um clique duplo sobre o nome do arquivo para exibi-lo no
painel de código (Code pane). Vamos examinar os arquivos que o Visual Studio
criou como parte do seu projeto:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 16
Curso Programando com C# e o Visual Studio .NET 2005
•
ClassicoHelloWorld.sln organiza os projetos de cada solução, uma solução
pode ter vários projetos, seu nome é representado no primeiro item na
janela Solution Explorer só que sem a extensão do arquivo.
•
ClassicoHelloWorld.csproj este é o arquivo do projeto C#. Pode ser
associado a vários arquivos de código. É reconhecido no Solution Explorer
pelo nome do projeto apenas, no entanto é gravado no disco com a
extensão .csproj.
•
Program.cs é um arquivo de código do C#. Você vai escrever seu código
neste
arquivo.
O
Visual
Studio
já
adicionou
algum
código
nele
automaticamente, examinaremos esse código mais adiante.
•
AssemblyInfo.cs este é um outro arquivo de código do C#. Você pode usar
esse arquivo para adicionar atributos ao seu programa, como por exemplo,
nome do autor, data que o programa foi escrito e outros. Vamos examina-lo
também mais adiante no curso.
Aos poucos nós vamos explorando mais o Visual Studio, vamos ao nosso primeiro
exemplo.
O arquivo Program.cs define uma classe chamada Program que contém um
método chamado Main. Todos os métodos precisam ser definidos dentro de uma
classe. O método Main é especial porque ele é o primeiro a ser executado quando
o programa é iniciado, por isso ele precisa ser designado como static (estático),
métodos e classes vão ser discutidos em detalhes mais adiante no curso.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 17
Curso Programando com C# e o Visual Studio .NET 2005
Importante: O C# é case-sensitive, ele diferencia letras minúsculas de
maiúsculas, um M é interpretado diferente de um m. Consequentemente Main é
diferente de main.
Nosso primeiro exemplo é bem simples, e um clássico para quem esta aprendendo
qualquer linguagem, ele escreve Hello World no console.
7 – Dentro do método Main, entre os colchetes digite: Console
A classe Console contém os métodos para exibir mensagens na tela e pegar as
entradas do teclado. Tudo que o usuário digita no teclado pode ser lido através da
classe Console. A classe Console só é significante para aplicações que rodam no
prompt de comando como neste nosso primeiro exemplo.
8 – Agora digite um ponto depois de Console.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 18
Curso Programando com C# e o Visual Studio .NET 2005
Uma lista aparece, ela é chamada de IntelliSense, esse não é um recurso
exclusivo do Visual Studio mas ajuda muito na programação principalmente em
linguagens case-sensitive, como é o C#. O IntelliSense exibe todos os métodos,
propriedades e campos da classe.
9 – Selecione WriteLine, você pode usar o Mouse ou o Teclado, tecle Enter ou dê
um clique duplo sobre o WriteLine.
O IntelliSense é fechado e o método WriteLine é adicionado ao código. Como a
seguinte imagem:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 19
Curso Programando com C# e o Visual Studio .NET 2005
Quando o IntelliSense aparece você também pode pressionar W para ir direto para
o primeiro membro do método Console que começar com w.
10 – Abra parênteses (
É mostrado uma outra forma do IntelliSense, esse mostra os parâmetros do
método WriteLine. O método WriteLine tem o que chamamos de Sobrecarga
(Overload). Para cada sobrecarga do método WriteLine usamos parâmetros
diferentes. Cada sobrecarga e seus respectivos parâmetros podem ser visualizados
clicando com o mouse na seta do IntelliSense
ou navegando pelas setas do
teclado.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 20
Curso Programando com C# e o Visual Studio .NET 2005
11 – Feche os parênteses ) e digite ponto-e-virgula, vai ficar assim:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 21
Curso Programando com C# e o Visual Studio .NET 2005
12 – Digite entre os parênteses a string “Hello World”, string deve ficar entre
aspas. Vamos aprender sobre os tipos de dados em detalhes também, o importante
agora é saber que string é um tipo de dado. Vai ficar assim:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 22
Curso Programando com C# e o Visual Studio .NET 2005
Pegue o habito de digitar os pares de caracteres juntos, como ( e ) e { e }, antes
de entrar com seus respectivos conteúdos. Assim você evitará alguns erros por
esquecer de fechar.
13 – Vamos agora compilar nossa aplicação. No menu Build, clique em Build
Solution. Se tudo estiver certinho vai aparecer a seguinte linha na janela Output:
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
Para exibir a janela Output na barra de menus clique em View, Output ou pressione
Ctrl+W+O.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 23
Curso Programando com C# e o Visual Studio .NET 2005
Um asterisco depois do nome do arquivo no painel de código indica que foram
feitas modificações no código do respectivo arquivo e que essas alterações não
foram salvas. Você pode salvar manualmente antes de compilar a aplicação, mas
ao compilar o Visual Studio salva automaticamente todos os arquivos da aplicação.
14 – No menu Debug, clique em Start Without Debugging para executar o
programa no prompt de commando.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 24
Curso Programando com C# e o Visual Studio .NET 2005
O programa vai escrever Hello World como a ilustração acima.
Nós escolhemos Start Without Debugging para forçar uma pausa no final da
execução. Se clicássemos em Start ele iria executar o programa e fechar o prompt
de comando logo após a execução, seria tão rápido que não conseguiríamos ver o
que foi escrito, experimente.
15 – Com o foco no prompt de comando pressione qualquer tecla.
A janela irá fechar e retornaremos para o Visual Studio.
16 - Na janela Solution Explorer, clique no botão Show All Files.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 25
Curso Programando com C# e o Visual Studio .NET 2005
Aparecem os nomes bin e obj depois do nome do projeto. Esses dois
correspondem a pastas com seus respectivos nomes. Essas pastas são criadas
quando você executa a aplicação e contem uma versão executável do programa e
outros arquivos necessários para depurar o programa.
17 – Ainda na janela Solution Explorer, clique no sinal de + à esquerda do nome
bin.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 26
Curso Programando com C# e o Visual Studio .NET 2005
Um outro nome aparece representando uma outra pasta chamada debug.
18 – Clique no sinal de + de debug.
Repare nos arquivos: ClassicoHelloWorld.exe e ClassicoHelloWorld.pdb.
O arquivo .exe é o executável da aplicação.
O arquivo .pdb armazena informações de depuração da aplicação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 27
Curso Programando com C# e o Visual Studio .NET 2005
O arquivo ClassicoHelloWorld.vshost.exe só aparece no Visual Studio 2005, ele
é usado para melhorar a performance da depuração de erros.
Como vimos até agora, o Visual Studio compilou automaticamente nosso programa
e criou os arquivos necessários automaticamente, durante o processo de
compilação. Em resumo a compilação é o processo que transforma seus arquivos
fonte em um arquivo executável pelo sistema operacional, um .exe por exemplo.
Lição 2 – Usando o CSC para compilar seu programa
1 - Com o Visual Studio fechado, na barra de ferramentas do windows clique em
Iniciar, Executar, digite notepad em Abrir e clique em OK.
2 - Digite o seguinte código no notepad.
using System;
namespace txtHello
{
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 28
Curso Programando com C# e o Visual Studio .NET 2005
class Class1
{
static void Main(string[] args)
{
Console.WriteLine("Hello World");
}
}
}
3 – Salve o arquivo com o nome teste.cs
Para isso será necessário escolher Todos os arquivos na opção Salvar como tipo no
notepad quando você clicar em Arquivo \ Salvar.
4 – Feche o notepad.
5 – No menu Iniciar, vá em Programas / Visual Studio .NET / Visual Studio
.NET Tools e clique em Visual Studio .NET Command Prompt.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 29
Curso Programando com C# e o Visual Studio .NET 2005
Para
compilarmos
manualmente
nosso
programa
são
necessárias
algumas
mudanças no ambiente do sistema operacional como alterações em algumas
variáveis de ambiente, PATH, LIB e INCLUDE. Essas mudanças incluem adicionar
pastas contendo bibliotecas e utilitários .NET.
6 – No prompt, vá até a pasta que você salvou o arquivo teste.cs.
7 – Digite dir e tecle enter.
Ele vai listar os arquivos da pasta, no caso vai mostrar o arquivo teste.cs.
8 – Digite: csc /out:hello.exe teste.cs
Isso vai criar um executável chamado hello.exe.
9 – Digite dir e tecle enter.
Agora você não vê apenas o arquivo teste.cs, foi adicionado um arquivo chamado
hello.exe, ele é o resultado da compilação do seu arquivo fonte teste.cs.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 30
Curso Programando com C# e o Visual Studio .NET 2005
10 – Digite hello e tecle enter.
O programa será executado, no caso, será escrito a palavra “Hello World”, no
prompt semelhante ao que ocorreu com o exemplo da lição 1.
11 – Digite del hello.exe e tecle enter.
Isso apagara o arquivo executável.
12 – Digite csc teste.cs
Ao omitir o parâmetro /out o compilador cria um arquivo executável com o mesmo
nome do arquivo fonte. Será criado então o arquivo teste.exe, execute este
arquivo para testá-lo.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 31
Curso Programando com C# e o Visual Studio .NET 2005
13 – Abra novamente o arquivo teste.cs, pode ser no próprio notepad ou no Visual
Studio .NET.
14 – Apague a primeira linha de código. Vai ficar assim:
namespace txtHello
{
class Class1
{
static void Main(string[] args)
{
Console.WriteLine("Hello World");
}
}
}
15 – Compile e teste a aplicação, novamente fica a sua escolha, use o prompt de
comando ou o Visual Studio .NET. Uma recomendação, compile manualmente pelo
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 32
Curso Programando com C# e o Visual Studio .NET 2005
prompt para se familiarizar melhor com ele, já que não falaremos muito mais
sobre ele no curso.
16 – Ao compilar ele vai emitir um erro. Como este:
teste.cs(7,4): error CS0246: The type or namespace name 'Console' could not be
found (are you missing a using directive or an assembly reference?)
17
–
Mude
a
linha
com
Console.WriteLine("Hello
World");
para
System.Console.WriteLine("Hello World");
18 - Compile e teste novamente.
A compilação é concluída com sucesso e o programa funciona normalmente só que
desta vez sem a diretiva using System;
Como parte do Microsoft .NET Framework o C# pode fazer uso de uma série de
classes de utilidades que executam uma gama de operações úteis. Essas classes
são organizadas no que chamamos de namespaces, eles contem um conjunto de
classes relacionadas e também podem conter outros namespaces.
System é um namespace. O namespace System é o mais importante porque
contém as classes que a maior parte das aplicações utiliza para interagir com o
sistema operacional.
A classe Console é uma classe do namespace System.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 33
Curso Programando com C# e o Visual Studio .NET 2005
O método Writeline é um método da classe console que escreve uma mensagem
no prompt de comando.
Os namespaces ajudam a reduzir a complexidade de um programa e a facilitar sua
manutenção.
Podemos criar nossos próprios namespaces.
Programas pequenos e crianças pequenas têm uma coisa obvia em comum, eles
crescem. Com o crescimento de um programa surgem dois problemas:
1º - Quanto mais código maior a complexidade do programa e mais difícil
sua manutenção.
2º - Mais código usualmente representa mais nomes de dados, funções,
classes, etc. Facilitando os erros por conter nomes iguais.
Os namespaces tem a função de ajudar a solucionar esses dois problemas. Para
usar um namespace lembre-se que é necessário fazer uma referencia ao mesmo
através de uma diretiva using seguido do nome do namespace no começo do
bloco de código. Você pode fazer referencia a vários namespaces no seu arquivo
de código. Um em cada linha. Um após o outro.
Lição 3 – Criando sua primeira aplicação Windows
com C# e o Visual Studio .NET
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 34
Curso Programando com C# e o Visual Studio .NET 2005
Até agora por motivo didático usamos somente o prompt de comando para criar os
nossos exemplos. Como sabemos esse tipo de aplicação não é muito útil nos dias
de hoje. O Visual Studio .NET conta com diversos recursos importantes para o
desenvolvimento de aplicações Windows.
1 – Entre no Visual Studio .NET.
2 – Crie um novo projeto, só que desta vez do tipo Windows Application,
chamado WinHello.
O Visual Studio .NET cria e mostra um formulário baseado em Windows no modo
Design.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 35
Curso Programando com C# e o Visual Studio .NET 2005
Vamos agora criar a nossa interface com o usuário.
3 – Na barra de ferramentas do Visual Studio .NET clique em ToolBox. O ícone da
ToolBox aparece a esquerda do formulário. Você também pode localizar a ToolBox
através do menu View > ToolBox.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 36
Curso Programando com C# e o Visual Studio .NET 2005
4 – Arraste da barra de ferramentas o controle Label e posicione-o no canto
superior esquerdo do formulário.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 37
Curso Programando com C# e o Visual Studio .NET 2005
Para colocar um controle no formulário você pode também dar um clique duplo
sobre ele na barra de ferramentas ou clicar uma vez sobre ele na barra de
ferramentas e depois clicar no formulário. O clique duplo posiciona o controle no
canto superior esquerdo. A segunda opção coloca o controle no local onde você
clicar.
5 – Coloque também no formulário um controle TextBox e um controle Button.
Como na próxima ilustração:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 38
Curso Programando com C# e o Visual Studio .NET 2005
6 – Na janela Solution Explorer, clique no botão View Code.
O código do arquivo Form1.cs aparece.
Para voltar ao modo design, também na janela Solution Explorer clique em View
Design.
Form1.cs tem todo o código gerado automaticamente pelo Visual Studio .NET.
Note os seguintes elementos no código.
•
As diretivas usadas no inicio do código referenciando aos namespaces.
using System;
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 39
Curso Programando com C# e o Visual Studio .NET 2005
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
•
O Visual Studio .NET usa o mesmo nome do projeto para criar o namespace
principal.
namespace WinHello
{
…
}
•
Uma classe chamada Form1 dentro do namespace WinHello.
namespace WinHello
{
public class Form1 ...
{
...
}
}
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 40
Curso Programando com C# e o Visual Studio .NET 2005
•
O constructor (construtor), é um método especial que tem o mesmo nome
da classe. Ele é o primeiro método a ser executado quando o programa é
iniciado.
public class Form1 ...
{
...
public Form1()
{
...
}
}
•
Um método chamado InitializeComponent. O código dentro deste método
configura as propriedades dos controles que adicionamos no modo Design.
Atenção, não modifique o conteúdo do InitializeComponent diretamente no
código, use a janela Properties no modo Design. Vamos aprender mais sobre
os
métodos
nos
próximos
tutoriais.
Este
método
esta
no
arquivo
Form1.designer.cs no Visual Studio .NET 2005.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 41
Curso Programando com C# e o Visual Studio .NET 2005
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(13, 13);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(35, 13);
this.label1.TabIndex = 0;
this.label1.Text = "label1";
//
// button1
//
this.button1.Location = new System.Drawing.Point(150, 50);
this.button1.Name = "button1";
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 42
Curso Programando com C# e o Visual Studio .NET 2005
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 1;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(16, 50);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(100, 20);
this.textBox1.TabIndex = 2;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F,
13F);
this.AutoScaleMode =
System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.button1);
this.Controls.Add(this.label1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
this.PerformLayout();
}...
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 43
Curso Programando com C# e o Visual Studio .NET 2005
Vamos agora definir as propriedades dos controles que colocamos no Form.
7 – Volte para o modo Design.
Para voltar ao modo design, também na janela Solution Explorer clique em View
Design.
8 – De um clique sobre o Button1 para selecioná-lo.
9 – Na janela Properties, altere a propriedade Text do button1 para OK.
Se não localizar a janela Properties, clique em F4, ou no menu View, clique em
Properties Window.
10 – Altere também a propriedate Text do Label1 para Digite o seu nome
11 – Altere agora a propriedade Text do controle textBox1 para aqui.
Note que as propriedades modificadas na janela Properties ficam em negrito.
Assim você pode saber se elas estão com seu valor padrão ou não.
12 – Selecione o formulário clicando sobre ele.
Note que aparecem alguns marcadores envolta do formulário. Eles ajudam a
redimensionar o formulário.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 44
Curso Programando com C# e o Visual Studio .NET 2005
13 - Clique sobre o marcador central na parte de baixo do Form1 e mantendo o
botão pressionado arraste para cima.
Isso serve para os outros controles também, clique sobre os outros controles e note
os marcadores.
Vamos agora escrever o código para o nosso programa.
14 – No painel de código de um clique duplo sobre o Button1.
Note que ele vai diretamente para o painel de código e é criado automaticamente o
seguinte código.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 45
Curso Programando com C# e o Visual Studio .NET 2005
private void button1_Click(object sender, System.EventArgs e)
{
}
Tudo que for digitado dentro deste código será executado assim que o Button1 for
clicado quando o programa estiver executando.
15 - Digite o seguinte código:
Tenha atenção com esse código, ele deve ser digitado exatamente como se segue,
lembre-se que o C# é case-sensitive. É necessário também o ponto-e-virgula no
final da linha.
MessageBox.Show("Hello " + textBox1.Text);
Vai ficar assim:
private void button1_Click(object sender, System.EventArgs e)
{
MessageBox.Show("Hello " + textBox1.Text);
}
16 – Execute o programa.
Para executar o programa você pode clicar e F5, ou no menu Debug clicar em
Start Debugging.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 46
Curso Programando com C# e o Visual Studio .NET 2005
Automaticamente o Visual Studio .NET salva o programa, compila e o executa. A
seguinte janela aparece:
17 – Digite seu nome e clique em OK.
Uma janela aparece exibindo a mensagem “Hello seu-nome”.
18 - Clique em Ok para fechar a janela com a mensagem.
19 – Na janela executando o Form1 clique em fechar.
Lição 4 – Criando documentação usando XML e
cometários
Podemos facilitar o processo de documentação de nossos programas usando XML.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 47
Curso Programando com C# e o Visual Studio .NET 2005
Vamos fazer um exemplo pratico pra ver como isso é possível.
1 – Entre no Visual Studio .NET e crie uma Console Application chamada
Documentacao.
2 – No painel de código modifique o nome da classe de Program para
BemVindos, não pode haver espaços entre as palavras quando se nomeia uma
classe.
3 – Adicione o seguinte código dentro do namespace Documentacao:
/// <summary>
/// <remarks>
/// Este programa escreve "Hello World"
/// usando o método WriteLine da
/// Classe Syste.Console
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 48
Curso Programando com C# e o Visual Studio .NET 2005
/// The main entry point for the application.
/// </remarks>
/// </summary>
Vai ficar como a imagem abaixo:
4 – Dentro do método Main digite o código que escreve “Hello World” no prompt
de comando. Se tiver duvida consulte a lição 1.
5 – Na janela Solution Explorer clique sobre o arquivo Program.cs.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 49
Curso Programando com C# e o Visual Studio .NET 2005
6 – Na janela Properties, modifique o nome do arquivo Program.cs para
BemVindos.cs
Se você for verificar o nome do arquivo pelo Explorer do Windows verá que o nome
do arquivo foi realmente modificado.
Mudao o nome da classe não muda o nome do arquivo, é uma boa pratica sempre
mudar o nome do arquivo após a mudança do nome da classe.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 50
Curso Programando com C# e o Visual Studio .NET 2005
7 – Entre no prompt de comando. Qualquer duvida sobre isso visite a lição 2.
8 – Navegue até a pasta dos arquivos do projeto.
9 – Digite csc /doc:Hello.xml BemVindos.cs
Esse comando extrai os comentários XML inseridos junto com o código.
10 – Através do Explorer do Windows, vá até a pasta do programa e de um clique
duplo sobre o arquivo Hello.xml
Você vai visualizar o código XML com os comentários que inserimos no código no
Internet Explorer.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 51
Curso Programando com C# e o Visual Studio .NET 2005
Existe uma variedade enorme de tags XML que podem ser usadas na documentação
do código, iremos listar as mais usadas logo abaixo.
O comentário XML é sempre adicionado após barras triplas, ou seja, uma barra a
mais que usamos para comentar o código, como o exemplo abaixo:
/// <remarks>
/// Este programa escreve "Hello World"
/// usando o método WriteLine da
/// Classe Syste.Console
/// The main entry point for the application.
/// </remarks>
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 52
Curso Programando com C# e o Visual Studio .NET 2005
Abaixo segue uma lista das tags XML mais usadas. Lembre-se que com XML você
pode criar suas próprias tags.
TAG
<summary> … </summary>
PROPÓSITO
Para
uma
breve
descrição
de
uma
classe, método ou propriedade.
<remarks> … </remarks>
Para uma descrição mais detalhada.
<para> ... </para>
Permite delinear parágrafos dentro da
tag <remarks>
<list type="…"> … </list>
Permite usar marcadores para formatar
uma descrição. Os tipos de marcadores
podem ser “bullet”, “number” e “table”.
<example> … </example>
Para disponibilizar um exemplo de como
usar um método, propriedade ou outro
membro da biblioteca.
<code> … </code>
Para indicar que o texto incluído é
código da aplicação.
<c> … </c>
Para indicar que o texto incluído é
código da aplicação. É usada para linhas
de código que precisam ser separadas
da descrição.
<see cref="member"/>
Indica uma referencia a outro membro
ou campo. O compilador verifica se o
membro realmente existe.
<exception> … </exception>
Para fazer a descrição de uma exceção.
<permission> … </permission>
Para documentar a acessibilidade.
<param name="name"> … </param>
Para documentar um parâmetro de um
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 53
Curso Programando com C# e o Visual Studio .NET 2005
método.
<returns> … </returns>
Para documentar um valor e seu tipo
retornado de um método.
<value> … </value>
Para descrever uma propriedade.
Existe uma maneira mais fácil de gerar sua documentação XML, usando o Visual
Studio sem precisar do prompt de comando.
11 – Na janela Solution Explorer, clique com o botão direito do mouse e selecione
Properties, como a imagem seguinte.
12 – Na janela que se abre, clique na guia Build e marque a opção XML
Documentation file, como na próxima imagem.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 54
Curso Programando com C# e o Visual Studio .NET 2005
13 – No menu Build, clique em Build Solution ou pressione F6.
Seu arquivo de documentação é gerado. Você pode alterar o nome do arquivo que
será gerado na caixa de texto que segue a opção XML documentation file, pode
alterar também o caminho do local onde o arquivo será gerado. Por padrão ele tem
o mesmo nome do projeto e é criado na pasta bin\debug dentro do projeto.
Você pode agora ir clicar em Show All Files na janela Solution Explorer e
navegar até o local onde o arquivo XML foi criado para visualizá-lo.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 55
Curso Programando com C# e o Visual Studio .NET 2005
Módulo 2
Variáveis
Lição 5 – Entendo variáveis e tipos de dados
Antes de falarmos sobre os tipos de dados vamos conhecer um pouco mais da
plataforma .NET.
Uma aplicações desenvolvida utilizando uma linguagem de programação como
Delphi ou Visual Basic é executada encima do sistema operacional, ou seja, ela
acessa DLLs, APIs e outros recursos diretamente do sistema operacional.
Isso não acontece com o .NET, esse acessa seus recursos do .NET Framework. O
.NET Framework é um conjunto de DLLs que disponibiliza os recursos que podem
ser usados na plataforma .NET.
O objetivo do .NET Framework é simplificar o desenvolvimento de software. Alguns
dos seus benefícios são:
•
Baseado em padrões WEB: suporta a maioria das tecnologias disponíveis
para a Internet incluindo HTML, XML, SOAP, XSLT, XPath, e outros.
•
Modelo de aplicação unificado: as classes do .NET Framework estão
disponíveis para qualquer linguagem com suporte à plataforma.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 56
Curso Programando com C# e o Visual Studio .NET 2005
•
Fácil de se usar: o código é organizado hierarquicamente em namespaces e
classes. Os tipos de dados são unificados entre as linguagens compatíveis
com a plataforma. Vamos estudar melhor sobre os tipos de dados.
Namespaces e classes vão ser tratados no futuro.
•
Classes extensíveis: A hierarquia do .NET Framework não é oculta ao
desenvolvedor, você pode acessar e extender classes do .NET Framework
(menos as classes seladas) usando herança.
Você vai entender melhor os benefícios do .NET Framework durante o curso. Como
você pode ver ele é muito importante para a plataforma .NET.
Por sua vez, um dos principais componentes do .NET Framework é a CLR ou
Common
Language
Runtime.
A
CLR
fornece
vários
benefícios
para
o
desenvolvedor, tais como:
•
Tratamento de erros
•
Segurança
•
Depuração
•
Controle de versão
Estes benefícios estão disponíveis em qualquer linguagem criada para a CLR. Isto
quer dizer que a CLR pode servir a uma variedade de linguagens e pode oferecer
um conjunto comum de ferramentas para estas linguagens. A Microsoft criou o C#
e o VB .NET, como as principais linguagens para a CLR.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 57
Curso Programando com C# e o Visual Studio .NET 2005
Quando um compilador compila para a CLR, o código é chamado de código
gerenciado. Código gerenciado é simplesmente código que tira vantagem dos
serviços oferecidos pela CLR.
Quando você declara uma variável no C# você precisa determinar qual tipo de dado
será armazenado nela. O tipo de dado vai dizer quais valores são possíveis de se
armazenar nessa variável.
Quem define as regras para os tipos de dados como declaração, uso e
gerenciamento dos tipos é o CTS ou common type system que faz parte do CLR.
Através do CTS é possível o desenvolvimento em linguagens diferentes na mesma
plataforma e ter total integração entre elas, além disso, ele é responsável por
garantir o tipo de dado e aumentar o desempenho da execução.
Variáveis são espaços na memória do computador reservador para armazenar
dados.
A referencia aos dados de uma variável pode ser feita de duas maneiras:
1. Por valor, chamado de Value-Type.
2. Por referência, chamada de Reference-Type
A principal diferença entre os dois tipos é que quando você faz referencia a uma
variável Value-Type ela contém diretamente um dado, enquanto uma variável
Reference-Type contém uma referencia ao dado. Vamos analisar um pouco melhor
esses dois tipos de variaveis:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 58
Curso Programando com C# e o Visual Studio .NET 2005
Value-Type
•
Contém diretamente o dado.
•
Cada copia da variável contém uma copia do dado.
•
Operações em uma variável não afetam a sua cópia.
•
Exemplos
de
variáveis
Value-Type
são:
integers,
doubles,
floats,
e
structures.
Reference-Type
•
Armazenam uma referencia ao dado(conhecido como objetos)
•
Duas variáveis Reference-Type podem conter referencia a um mesmo
objeto.
•
Operações em uma afetam a outra.
•
Exemplos de Reference-Type são: strings, arrays, e classes.
Vamos aprender agora como declarar variáveis, seus principais tipos e como
atribuir e recuperar valores delas.
Lição 6 – Nomeando uma variável
A documentação do Microsoft .Net Framework da as seguintes recomendações para
a nomeação das variáveis:
•
Evite usar underline;
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 59
Curso Programando com C# e o Visual Studio .NET 2005
•
Não crie variáveis que apenas se diferenciem apenas pela sua forma.
Exemplo: minhaVariavel e outra chamada MinhaVariavel;
•
Procure iniciar o nome com uma letra minúscula;
•
Evite usar todas as letras maiúsculas;
•
Quando o nome tiver mais que uma palavra, a primeira letra de cada
palavra após a primeira deve ser maiúscula (conhecido como notação
camelCase);
•
Não use notação Húngara.
Convenção PascalCasing
Para usar a convenção PascalCasing para nomear suas variáveis, capitalize o
primeiro caractere de cada palavra. Exemplo:
void InitializeData();
A microsoft recomenda usar o PascalCasing quando estiver nomeando classes,
métodos, propriedades, enumeradores, interfaces, constantes,
campos somente
leitura e namespaces.
Convenção camelCasing
Para usar esse tipo de convenção, capitalize a primeira letra de cada palavra menos
da primeira. Como o exemplo:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 60
Curso Programando com C# e o Visual Studio .NET 2005
int loopCountMax;
A Microsoft recomenda usar essa convenção na nomeação de variáveis que definem
campos e parâmetros.
Para
maiores
informações
sobre
convenção
de
nomes
pesquise
“Naming
Guidelines”, na documentação do Visual Studio.
Lição 7 – Palavras Reservadas do C#
A linguagem C# reserva setenta e cinco palavras para seu próprio uso. Estas
palavras são chamadas de palavras reservadas e cada uma tem um uso particular.
Palavras reservadas também não são permitidas como nome de variáveis.
Segue uma lista que identifica todas estas palavras:
abstract
as
base
Bool
break
byte
case
Catch
char
checked
class
Const
continue
decimal
default
Delegate
do
double
else
Enum
event
explicit
extern
false
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 61
Curso Programando com C# e o Visual Studio .NET 2005
finally
fixed
float
for
foreach
goto
if
implicit
in
int
interface
internal
is
lock
long
namespace
new
null
object
operator
out
override
params
private
protected
public
readonly
ref
return
sbyte
sealed
short
sizeof
stackalloc
static
string
struct
switch
this
throw
No painel de código do Visual Studio .NET as palavras reservadas são identificadas
pela cor de letra azul.
Lição 8 – Declarando variáveis
Antes de usar uma variável é necessário declará-la.
Quando declaramos uma variável, alocamos espaço para a mesma na memória do
computador. Sempre que declaramos uma variável precisamos dizer que tipo de
dado pode ser armazenado nela. O tipo de dado indica qual o tamanho do espaço
vai ser reservado para a variável.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 62
Curso Programando com C# e o Visual Studio .NET 2005
O C# pode armazenar diferentes tipos de dados: como inteiros, números de ponto
flutuante, textos e caracteres.
Declaramos especificando o tipo de dado seguido do nome da variável como no
exemplo:
int contador;
Esse exemplo declara uma variável chamada contador do tipo integer. Ou seja, ela
deverá armazenar números inteiros, mais a frente estudaremos melhor o que
armazenar em cada tipo de dado.
Podemos também declarar múltiplas variáveis de uma vez, fazemos isso da
seguinte maneira:
int contador, numeroCarro;
Estamos declarando nesse exemplo duas variáveis do tipo integer, uma chamada
contador e a outra numeroCarro.
Lição 9 – Atribuindo valor a variáveis
Depois de declarar sua variável você precisa atribuir um valor a ela. No C# você
não pode usar uma variável antes de colocar um valor nela, isso gera um erro de
compilação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 63
Curso Programando com C# e o Visual Studio .NET 2005
Exemplo de como atribuir um valor a uma variável:
int numeroFuncionario;
numeroFuncionario = 23;
Primeiro nós declaramos nossa variável do tipo integer. Depois atribuímos o valor
23 a ela. Entendemos pelo sinal de igual como recebe. Assim numeroFuncionario
recebe 23.
Podemos também atribuir um valor a variável quando a declaramos, dessa forma:
int numeroFuncionario = 23;
Isso faz à mesma coisa que o exemplo anterior, só que tudo em uma linha.
Mais um exemplo:
char letraInicial = ‘M’;
Lição 10 – Tipos de dados
A seguinte tabela mostra os tipos do C# com sua referencia no Framework.
Os tipos da tabela abaixo são conhecidos como tipos internos ou Built-in.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 64
Curso Programando com C# e o Visual Studio .NET 2005
C# Type
.NET Framework type
bool
System.Boolean
byte
System.Byte
sbyte
System.SByte
char
System.Char
decimal
System.Decimal
double
System.Double
float
System.Single
int
System.Int32
uint
System.UInt32
long
System.Int64
ulong
System.UInt64
object
System.Object
short
System.Int16
ushort
System.UInt16
string
System.String
Cada tipo no C# é um atalho para o tipo do Framework. Isso quer dizer que se
declararmos a variável desta forma:
string nome;
ou dessa forma
System.String nome;
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 65
Curso Programando com C# e o Visual Studio .NET 2005
teremos o mesmo resultado. O atalho serve apenas para facilitar na hora de
desenvolver a aplicação.
A seguinte tabela mostra os tipos de variáveis e os valores possíveis de se
armazenar em cada uma delas.
C# Type
Valores possíveis de se armazenar
bool
Verdadeiro ou Falso (Valores booleandos)
byte
0 a 255 (8 bits)
sbyte
-128 a 127 (8 bits)
char
Um caractere (16 bits)
decimal
±1.0 × 10−28 a ±7.9 × 1028 (128 bits)
double
±5.0 × 10−324 a ±1.7 × 10308 (64 bits)
float
±1.5 × 10−45 a ±3.4 × 1038 (32 bits)
int
-2,147,483,648 a 2,147,483,647 (32 bits)
uint
0 a 4,294,967,295 (32 bits)
long
–9,223,372,036,854,775,808 a
9,223,372,036,854,775,807 (64 bits)
ulong
0 a 18,446,744,073,709,551,615 (64 bits)
object
Qualquer tipo.
short
-32,768 a 32,767 (16 bits)
ushort
0 a 65,535 (16 bits)
string
Seqüência de caracteres (16 bits por caractere)
Todos os tipos na tabela com exceção dos tipos object e string são conhecidos
como tipos simples.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 66
Curso Programando com C# e o Visual Studio .NET 2005
Para retornar o tipo de qualquer variável do C# você pode usar o método
GetType(); Como no exemplo:
Console.WriteLine(minhaVariavel.GetType());
Isso retornaria o tipo da variável minhaVariavel.
Lição 11 – Adicionando valor a uma variável
É muito comum precisarmos adicionar ou subtrair valores de uma variável usando
no calculo o valor que já esta armazenado na mesma.
O código seguinte declara uma variável do tipo integer chamada contador e
armazena o valor 2 nesta variável, depois incrementa o valor 40:
int contador;
contador = 2;
contador = contador + 40;
No final do código acima a variável contador tem qual valor?
A resposta é 42, claro, criamos a variável, adicionamos o valor 2 nela e após,
pegamos o valor dela (que era 2) e adicionamos 40, e armazenamos o valor na
mesma.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 67
Curso Programando com C# e o Visual Studio .NET 2005
Preste atenção na seguinte linha de código:
contador = contador + 40;
Perceba que para somar o valor a variável precisamos repetir o nome da variável.
Podemos fazer da seguinte forma também em C#:
contador += 40;
Isso teria o mesmo resultado e é uma maneira mais elegante.
Você pode subtrair também valores, como o exemplo:
contador -= 23;
Isso subtrairia 23 do valor da variável.
Na verdade você pode fazer isso com todos os operadores aritméticos, como
multiplicação e divisão também. Você vai aprender sobre operadores no próximo
capitulo.
Para saber mais você pode consultar a documentação do Visual Studio e procurar
por “assignment”.
Embora não tenhamos feito nenhum exercício até aqui neste capitulo você
aprendeu como declarar uma variável, de que forma nomear as variáveis, quais as
palavras que não podem ser usadas na nomeação de variáveis e quais os tipos de
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 68
Curso Programando com C# e o Visual Studio .NET 2005
dados e valores que eles suportam. Os exercícios sobre esse conteúdo serão feitos
sempre, já que sempre faremos uso de variáveis em nossos programas, assim fique
tranqüilo aos pouco isso será bem familiar a você.
Lição 12 – Operadores
Operadores Aritméticos:
O C# suporta os símbolos aritméticos que todos nós conhecemos para as operações
aritméticas básicas como adição (+) e subtração (-), ele utiliza o asterisco (*) para
multiplicação e barra pra frente (/) para divisão. Esses símbolos são chamados
operadores, e “operam” os valores das variáveis. Exemplo:
long salario;
salario = 500 * 20;
A expressão acima multiplica 500 por 20 e armazena o resultado na variável
salario.
Entretanto você não pode usar os operadores para qualquer tipo de dado. Os
operadores matemáticos, por exemplo, só podem ser usados para os tipos char,
int, long, float, double e decimal. Eles não podem ser usados para string e bool.
Exemplo:
Console.WriteLine(“Londrina” – “São Paulo”);
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 69
Curso Programando com C# e o Visual Studio .NET 2005
Isso vai gerar um erro porque você não pode subtrair uma string de outra.
Console.WriteLine(“43” – “11”);
Isso também vai gerar um erro, porque valores entre aspas são sempre strings,
para efetuar a subtração o correto é:
Console.WriteLine(43 – 11);
Vamos fazer um exemplo pratico de como utilizar os operadores.
1 – Crie um novo projeto no Visual Studio do tipo Windows Application chamado
Operadores.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 70
Curso Programando com C# e o Visual Studio .NET 2005
2 – Arraste para o Form1 os seguintes controles:
•
3 Label
•
3 TextBox
•
1 Button
•
1 GroupBox
•
5 RadioButton
3 – Organize-os como a figura abaixo:
4 – Configure as propriedades dos controles conforme a tabela abaixo:
Controle
Propriedade
Valor
Label1
Text
Valor1
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 71
Curso Programando com C# e o Visual Studio .NET 2005
Label2
Text
Valor2
Label3
Text
Resultado
Button
Text
Calcular
GroupBox
Text
Operador
RadioButton1
Text
+ Adição
RadioButton2
Text
- Subtração
RadioButton3
Text
* Multiplicação
RadioButton4
Text
/ Divisão
RadioButton5
Text
% Resto Divisão
Vai ficar como a figura abaixo:
5 – Execute a aplicação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 72
Curso Programando com C# e o Visual Studio .NET 2005
Clique na TextBox1, pressione a tecla Tab do teclado, verifique que conforme você
clica na tecla ele passa de um controle a outro.
Clique sobre os operadores, veja que você só pode selecionar um, essa é uma
característica do controle RadioButton que não tinha sido usado até aqui. A
GroupBox agrupa todos os RadioButtons dentro dela de forma que apenas um
deles pode ser selecionado.
6 – Finalize a execução, para isso você pode simplesmente fechar a janela do
Form1 ou clicar no botão Stop Debugging na barra de ferramentas.
7 - Vamos agora digitar o código que efetuará os cálculos, esse código vai ser
executado quando o botão Calcular for clicado. De um clique duplo sobre o
Button1 para digitarmos o seguinte código. (Atenção na hora de digitar, lembre-se
que o C# é case-sensitive ou seja, diferencia maiúsculas de minúsculas).
long primeiroValor, segundoValor, resultado;
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 73
Curso Programando com C# e o Visual Studio .NET 2005
primeiroValor = int.Parse(textBox1.Text);
segundoValor = int.Parse(textBox2.Text);
if (radioButton1.Checked)
{
resultado = primeiroValor + segundoValor;
textBox3.Text = resultado.ToString();
}
else if (radioButton2.Checked)
{
resultado = primeiroValor - segundoValor;
textBox3.Text = resultado.ToString();
}
else if (radioButton3.Checked)
{
resultado = primeiroValor * segundoValor;
textBox3.Text = resultado.ToString();
}
else if(radioButton4.Checked)
{
resultado = primeiroValor / segundoValor;
textBox3.Text = resultado.ToString();
}
else if(radioButton5.Checked)
{
resultado = primeiroValor % segundoValor;
textBox3.Text = resultado.ToString();
}
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 74
Curso Programando com C# e o Visual Studio .NET 2005
Digitamos nosso código dentro do procedimento:
private void button1_Click(object sender, System.EventArgs e)
{
}
Esse procedimento é executado sempre que o Button1 é clicado. Sendo assim
quando o botão é clicado, primeiro:
Declaramos as variáveis primeiroValor, segundoValor e resultato do tipo Long.
O tipo Long é usado aqui porque armazena uma grande variedade de números.
Perceba que declaramos as três variáveis em apenas uma linha de código.r.
long primeiroValor, segundoValor, resultado;
Depois atribuímos os valores das caixas de texto as variáveis primeiroValor e
segundoValor.
primeiroValor = int.Parse(textBox1.Text);
segundoValor = int.Parse(textBox2.Text);
Como o valor que esta na caixa de texto é do tipo string convertemos para int
usando int.Parse. Você pode usar o método Parse sempre que precisar converter
um tipo de dados em outro. Para usa-lo digite o tipo do dado ponto Parte como o
exemplo acima ou o seguinte exemplo:
long.Parse(textBox2.Text);
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 75
Curso Programando com C# e o Visual Studio .NET 2005
Voltando ao nosso exemplo, depois de atribuir os valores as variáveis vamos
verificar qual operação executar, para isto usamos a propriedade checked de cada
RadioButton.
if (radioButton1.Checked)
ou
else if (radioButton2.Checked)
Se o valor da propriedade Checked do RadioButton for True quer dizer que ele esta
selecionado,
então
executamos
o
calculo
correspondente
ao
RadioButton
selecionado e atribuímos o resultado a variável resultado.
Agora atribuímos o valor da variável resultado à propriedade Text do textbox3
para que seja exibida na tela.
textBox3.Text = resultado.ToString();
Perceba que precisamos converter o valor da variável resultado para String.
Fizemos isto utilizando o método ToString. Você pode usar o método ToString
sempre que precisar converter um tipo de dados para string.
8 – Execute o programa.
9 – Digite 9 para o valor1 e 2 para o valor2, selecione adição e clique em calcular.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 76
Curso Programando com C# e o Visual Studio .NET 2005
Faça testes com os outros operadores.
Subtração:
Multiplicação:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 77
Curso Programando com C# e o Visual Studio .NET 2005
Divisão, perceba que ele retorna um resultado em inteiro, o numero inteiro mais
próximo do resultado:
Resto da Divisão, perceba que ele retorna o resto da divisão, 9 dividido por dois
resulta em 4 com resto 1.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 78
Curso Programando com C# e o Visual Studio .NET 2005
10 – Pare a aplicação.
Precedência de Operadores:
Operações dentro dos parênteses são sempre executadas primeiro, como nas
operações matemáticas.
Em C#, operadores multiplicativos (*, /, %) tem precedência sobre os aditivos (+,
-).
Vamos dar a ordem de precedência da seguinte expressão:
2+3*4
2+3*4
2 + 12
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 79
Curso Programando com C# e o Visual Studio .NET 2005
14
Para efetuar a soma primeiro podemos utilizar os parênteses:
(2 + 3) * 4
(2 + 3) * 4
5*4
20
Perceba que a ordem de precedência altera o valor do resultado, por isso devemos
ter atenção com a precedência.
Nesta lição aprendemos a fazer operações aritméticas em nossos programas, alem
disso aprendemos sobre precedência de operadores.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 80
Curso Programando com C# e o Visual Studio .NET 2005
Módulo 3
Métodos e Escopo
Lição 13 – Entendento métodos
Método é uma seqüência nomeada de instruções. Cada método tem um nome e um
corpo. O corpo contem as instruções que vão ser executadas quando o método for
chamado. O nome do método deve ajudar a identificar seu propósito, ex:
CalcularImpostoVenda.
A maioria dos métodos recebe dados, processa-os e retorna a informação ou o
resultado do processamento. Método é um mecanismo fundamental e poderoso.
Especificando a sintaxe de declaração de um método:
tipoDeRetorno nomeDoMetodo ( listaDeParamentros
opcional
)
{
// corpo do método
}
•
tipoDeRetorno – é o tipo de dado que vai ser retornado pelo método após sua
execução. Pode ser o nome de qualquer tipo como int ou string. Se o seu
método não for retornar valor algum, você precisa usar a palavra reservada
void aqui, especificando que o método não retorna nada.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 81
Curso Programando com C# e o Visual Studio .NET 2005
•
nomeDoMetodo – é o nome que vai ser usado para chamar o método. Este
nome deve seguir as mesmas recomendações usadas nos nomes das variáveis.
Procure usar notação camelCasing para nomear os métodos e também procure
utilizar um verbo na primeira palavra do nome, para ajudar a identificar o que o
método faz.
•
ListaDeParametros – descreve o tipo e os nomes das informações opcionais que
o método recebe. Você escreve os parâmetros dentro dos parênteses como se
fosse declarar variáveis: nome do tipo seguido pelo nome do parâmetro. Se o
seu método tiver mais que um parâmetro, separe-os com vírgula.
•
Corpo do método – linhas de código que vão ser executadas quando o método é
chamado.
O C# não suporta os métodos globais, utilizados por programadores Visual Basic, C
e C++.
Abaixo um exemplo de um método chamado AdicionarValores que retorna um
numero inteiro (int) e recebe dois números inteiros como paramentos.
int adicionarValores (int numeroPequeno, int numeroGrande)
{
//...
// corpo do método deve ser feito aqui
//...
}
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 82
Curso Programando com C# e o Visual Studio .NET 2005
Abaixo um segundo exemplo, de um método chamado mostrarResultado que não
retorna nenhum valor, e recebe um simples parâmetro chamado pergunta do tipo
int.
void mostrarResultado (int pergunta)
{
// ...
}
Lembre-se de usar a palavra reservada void quando o método não for retornar
nada.
Escrevendo declarações que retornam valores:
Se você quer que seu método retorne uma informação (em outras palavras que
retorne um tipo e não um void), você precisa escrever um código de retorno dentro
do método.
Para isso você usa a palavra reservada return, seguida da expressão que calcula o
valor a ser retornado. Atenção, porque o resultado da expressão deve ser do
mesmo tipo que o especificado como tipoDeRetorno do método, senão o programa
não vai compilar.
Por exemplo:
int adicionarValores (int numeroPequeno, int numeroGrande)
{
//...
return numeroPequeno + numeroGrande;
}
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 83
Curso Programando com C# e o Visual Studio .NET 2005
Lembre-se do ponto-e-vírgula ao final de cada instrução.
O retorno do método deve estar no final do método porque ele causa a finalização
do método. Qualquer código depois da linha que faz o retorno não vai ser
executado.
Se você não quer que seu método retorne informação alguma (do tipo void), você
pode uma variação da palavra reservada return para causar o encerramento
imediato do método, para isso digite return seguido de ponto-e-vírgula.
Por exemplo:
void mostrarResultado (int pergunta)
{
...
if (...)
return;
...
}
Se o seu método não precisar retornar nada você pode simplesmente omitir o
return, porque o método vai ser finalizado automaticamente quando a ultima linha
de código do corpo for executada.
Chamando métodos:
Métodos existem para serem chamados. Você chama um método pelo seu nome
para ele executar uma tarefa. Se esse método precisa de informações para realizar
sua tarefa (parâmetros), você precisa enviar essas informações pra ele. Se o
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 84
Curso Programando com C# e o Visual Studio .NET 2005
método retornar uma informação, você precisa ter uma forma de receber essa
informação, como uma variável, por exemplo.
Especificando a sintaxe para se chamar um método:
nomeDoMetodo (listaDeArgumentos
•
opcional)
nomeDoMetodo – precisa ser exatamente igual ao nome do método que você
esta chamando, lembre-se que o C# é case-sensitive ou seja, diferencia
maiúsculas de minúsculas.
•
listaDeArgumentos – informações adicionais que o método aceita, você precisa
passar um valor para cada parâmetro e este valor precisa ser compatível o tipo
correspondente ao parâmetro. Se o método que você esta chamando tiver dois
ou mais parâmetros, você precisa separar os valores com vírgula.
Importante: Você precisa escrever os parênteses ao final de cada método, mesmo
que lê não tiver parâmetro algum.
Por exemplo, lembre-se do método adicionarValores:
int adicionarValores (int numeroPequeno, int numeroGrande)
{
//...
return numeroPequeno + numeroGrande;
}
Este método tem dois parâmetros entre os parênteses, para chamá-lo, faça assim:
adicionarValores(39,3)
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 85
Curso Programando com C# e o Visual Studio .NET 2005
Esta é a maneira correta de chamar o método, se você tentar das seguintes formas
não vai conseguir:
adicionarValores
// Falta parênteses
adicionarValores()
// Falta argumentos
adicionarValores(39)
// Falta um argumento
adicionarValores(“39”, “3”)
// Tipos errados
O método adicionarValores retorna um numero inteiro. Este valor inteiro pode ser
usado em qualquer lugar que uma variavel int puder ser usada.
Por exemplo:
resultado = adicionarValores(39,3);
mostrarResultado(adicionarValores(39,3));
No primeiro exemplo atribuímos o retorno a uma variável chamada resultado.
No segundo atribuímos o resultado a outro método, que vai utilizar este resultado
como parâmetro para sua execução.
Lição 14 – Entendento Escopo
Você viu que pode criar uma variável dentro de um método. A variável é criada na
código que a define, e outros código no mesmo método que vêm depois podem
usar a variável. Em outras palavras, uma variável pode ser usada só em certos
lugares depois de que ter sido criada. Uma vez que o método terminou, a variável
desaparece completamente.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 86
Curso Programando com C# e o Visual Studio .NET 2005
Se uma variável pode ser usada em um local particular em um programa, ela
parece estar no escopo daquele local. O escopo de uma variável é simplesmente a
região do programa em que ela é utilizável. O escopo se aplica a métodos como
também a variáveis. O escopo de uma variável é ligado ao local da sua declaração
que introduz a mesma no programa, como você aprenderá agora.
Criando escopo local com um método.
As chaves determinam onde começa e onde termina o corpo do método. Elas
também determinam o escopo do método. Qualquer variável criada dentro do corpo
do método faz parte do escopo do método. Estas variáveis são chamadas de
variáveis locais porque são locais ao método onde são declaradas. Elas não
podem ser usadas no escopo nenhum outro método, por isso você não pode usar
variáveis locais para armazenar informações entre métodos. Quando um método
acaba sua execução ele finaliza as variáveis que ele criou.
Por exemplo:
class Exemplo
{
void método()
{
int variavel;
...
}
void outroMetodo()
{
variavel = 42;
// isso gera um erro de compilação
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 87
Curso Programando com C# e o Visual Studio .NET 2005
}
}
O erro mostrado acima é porque a variável foi criada dentro de um método
diferente da qual esta sendo usada.
Criando escopo de classe com uma classe:
As chaves determinam onde começa e onde termina o corpo da classe e
determinam seu escopo. Assim sendo, qualquer variável que você criar dentro do
corpo da classe (mas que não estejam dentro do método), fazem parte do seu
escopo. Em C# o nome correto desse tipo de variável é campo. Em contraste as
variáveis locais você pode usar os campos para armazenar informações entre os
métodos.
Por exemplo:
class Exemplo
{
int campo;
void método()
{
campo = 42;
...
}
void outroMetodo()
{
campo = 44;
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 88
Curso Programando com C# e o Visual Studio .NET 2005
}
}
Perceba que criamos a variável dentro da classe.
Em um método você precisa declarar uma variável antes de usá-la. Campos são
diferentes, um método pode usar um campo antes de ser definido algum valor para
ele.
Lição 15 – Criando e Chamando Métodos
1 – Crie uma aplicação no Visual Studio .NET do tipo Console Application
chamada Metodo.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 89
Curso Programando com C# e o Visual Studio .NET 2005
2 – No painel de código crie digite o seguinte código que cria o método lerDouble
dentro da classe Program.
public double lerDouble(string inicie)
{
Console.Write(inicie);
string linha = Console.ReadLine();
return double.Parse(linha);
}
Vai ficar assim nosso método:
Esse método escreve no console o texto que é enviado para ele como parâmetro.
Depois armazena na variável linha o numero digitado pelo usuário e o retorna.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 90
Curso Programando com C# e o Visual Studio .NET 2005
3 – No menu Build clique em Build Metodo ou pressione Ctrl+Shift+B.
Verifique se compila sem nenhum erro.
4 - Vamos criar agora um outro método com as seguintes características:
Digite o seguinte código, você pode digitá-lo em qualquer local desde que esteja
dentro da Classe no nosso caso a Program.
public int lerInteiro(string inicio)
{
Console.Write(inicio);
string linha = Console.ReadLine();
return int.Parse(linha);
}
Esse método faz a mesma coisa que o método lerDouble, só que retorna uma
integer (inteiro).
Esta ficando assim nosso código:
using System;
using System.Collections.Generic;
using System.Text;
namespace Metodo
{
class Program
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 91
Curso Programando com C# e o Visual Studio .NET 2005
{
public double lerDouble(string inicie)
{
Console.Write(inicie);
string linha = Console.ReadLine();
return double.Parse(linha);
}
public int lerInteiro(string inicio)
{
Console.Write(inicio);
string linha = Console.ReadLine();
return int.Parse(linha);
}
static void Main(string[] args)
{
}
}
}
Verifique se os dois métodos estão dentro do escopo da classe Program.
5 – Novamente menu Build clique em Build Metodo ou pressione Ctrl+Shift+B.
E verifique se ocorre erros, se ocorrer verifique seu código comparando-o ao acima.
Lembre-se novamente que o C# é case-sensitive, ou seja, diferencia maiúsculas de
minúsculas.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 92
Curso Programando com C# e o Visual Studio .NET 2005
6 – Vamos criar mais um método, este método possui mais de um parâmetro:
Segue as características do nosso método:
public double calcular(double taxaDiaria, int dias)
{
return taxaDiaria * dias;
}
Esse método retorna a multiplicação dos dois parâmetros que são enviados para
ele.
7 – Nosso ultimo método tem as seguintes especificações:
public void escrever(double taxa)
{
Console.WriteLine("A taxa é: {0}", taxa * 1.1);
}
Lembre que os métodos do tipo void não retornam nada.
Esse método escreve no console a multiplicação do parâmetro que é enviado para
ele com 1.1
Esta ficando assim nosso código:
using System;
using System.Collections.Generic;
using System.Text;
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 93
Curso Programando com C# e o Visual Studio .NET 2005
namespace Metodo
{
class Program
{
public double lerDouble(string inicie)
{
Console.Write(inicie);
string linha = Console.ReadLine();
return double.Parse(linha);
}
public int lerInteiro(string inicio)
{
Console.Write(inicio);
string linha = Console.ReadLine();
return int.Parse(linha);
}
public double calcular(double taxaDiaria, int dias)
{
return taxaDiaria * dias;
}
public void escrever(double taxa)
{
Console.WriteLine("A taxa é: {0}", taxa * 1.1);
}
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 94
Curso Programando com C# e o Visual Studio .NET 2005
static void Main(string[] args)
{
}
}
}
8 – Clique em Build Metodo no menu Build para verificar se compila
corretamente. Tudo certo? Vamos usar os métodos que criamos.
Chamando Métodos
Podemos chamar métodos dentro de métodos, como faremos a seguir.
9 – Crie um novo método que não retorna nada, ou seja, do tipo void. De o nome
dele de Executar
O código do nosso novo método deve ficar assim:
public void executar()
{
double taxadiaria = lerDouble("Digite a taxa diaria: ");
int dias = lerInteiro("Digite o numero de dias: ");
escrever(calcular(taxadiaria,dias));
}
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 95
Curso Programando com C# e o Visual Studio .NET 2005
Na primeira linha de código criamos uma variável do tipo double e atribuímos a ela
o método lerDouble.
Na segunda linha criamos uma variável do tipo int e atribuímos a ela o método
lerInteiro.
Na terceira linha de código chamamos o método escrever e passamos para ele
como parâmetro o método calcular.
10 – No método Main (primeiro método executado pelo programa) digite o
seguinte código:
(new Class1()).executar();
Isso vai executar o método executar assim que o programa for iniciado
O método Main vai ficar assim:
static void Main(string[] args)
{
(new Program()).executar();
}
11 – Pressione Ctrl+F5 para executar o programa.
O Visual Studio compila o programa e o executa. Uma janela console aparece.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 96
Curso Programando com C# e o Visual Studio .NET 2005
12 – Para taxa diária digite 315 e pressione Enter.
13 – Para numero de dias digite 15 e pressione Enter.
O programa vai escrever a seguinte mensagem no console:
A taxa é: 5197,5
14 – Pressione qualquer tecla para retornar ao Visual Studio.
Vou digitar o código fonte todo utilizado para você poder verificar caso haja algum
problema e vamos depurar nosso programa para entender melhor como ele
funciona.
using System;
using System.Collections.Generic;
using System.Text;
namespace Metodo
{
class Program
{
public double lerDouble(string inicie)
{
Console.Write(inicie);
string linha = Console.ReadLine();
return double.Parse(linha);
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 97
Curso Programando com C# e o Visual Studio .NET 2005
}
public int lerInteiro(string inicio)
{
Console.Write(inicio);
string linha = Console.ReadLine();
return int.Parse(linha);
}
public double calcular(double taxaDiaria, int dias)
{
return taxaDiaria * dias;
}
public void escrever(double taxa)
{
Console.WriteLine("A taxa é: {0}", taxa * 1.1);
}
public void executar()
{
double taxadiaria = lerDouble("Digite a taxa diaria: ");
int dias = lerInteiro("Digite o numero de dias: ");
escrever(calcular(taxadiaria, dias));
}
static void Main(string[] args)
{
(new Program()).executar();
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 98
Curso Programando com C# e o Visual Studio .NET 2005
}
}
}
Visual Studio .NET depurador
O depurador ou debug é um programa desenvolvido para ajudar o programador na
verificação e correção de erros. Ele vem embutido no Visual Studio e vamos utilizálo para compreender melhor como funciona nosso programa, ele permite a
execução do programa passo-a-passo.
15 – Localize no código o método executar.
16 – Mova o mouse a primeira linha de código do método executar. É a seguinte
linha:
double taxadiaria = lerDouble("Digite a taxa diaria: ");
17 – Clique com o botão direito do mouse sobre ela, no menu que se abre clique
em Run To Cursor.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 99
Curso Programando com C# e o Visual Studio .NET 2005
O programa é executado até chegar nessa linha de código. Neste momento a
execução é pausada e uma seta amarela indica que chegou à linha selecionada.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 100
Curso Programando com C# e o Visual Studio .NET 2005
18 – Na barra de ferramentas clique em Step Into.
A linha de execução pula para a primeira linha de código do método lerDouble.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 101
Curso Programando com C# e o Visual Studio .NET 2005
Como vimos no método executar nossa primeira linha de código cria uma variável
do tipo Double e atribui a ela o resultado do método lerDouble. Quando essa
linha de código é executada o método lerDouble é chamado e o resultado do seu
código vai ser atribuído a variável taxaDiaria, se a variavel for de um tipo
diferente do tipo que o método vai retornar então temos um erro.
19 – Na barra de ferramentas debug clique em Step Out.
O programa vai exibir no console a mensagem “Digite a taxa diária: ”
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 102
Curso Programando com C# e o Visual Studio .NET 2005
20 – Digite 315 e pressione Enter.
O controle retorna ao Visual Studio e a seta amarela fica sobre a linha que chama o
método lerDouble no método executar. Ou seja, ele executou o método
lerDouble e voltou para o método executar.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 103
Curso Programando com C# e o Visual Studio .NET 2005
21 – Clique novamente em Step Into.
A seta se move para a segunda linha de código do método executar.
22 – Clique novamente em Step Into.
A seta se move agora para a primeira linha de código do método lerInteiro.
23 – Clique em Step Out.
24 – Digite 15 e pressione Enter.
A seta volta agora para a segunda linha de código do método executar.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 104
Curso Programando com C# e o Visual Studio .NET 2005
25 – Clique em Step Into.
A seta se move para a terceira linha de código do método executar.
26 – Clique em Step Into.
A seta se move para a primeira linha de código do método calcular.
27 – Clique em Step Out.
A seta volta para a terceira linha de código do método executar.
28 – Clique em Step Into.
Perceba que agora a seta se move para a primeira linha de código do método
escrever. Isso aconteceu porque na seguinte linha de código chamamos um
método e passamos como parâmetro para ele um outro método.
escrever(calcular(taxadiaria,dias));
Aqui o método escrever recebe como parâmetro o método calcular, antes de ser
executado o método escrever é executado o método calcular, seu resultado então
é enviado ao método escrever para ser processado.
29 – Clique agora em Step Out.
O cursor se move para o fim do método executar. O resultado do programa é
exibido na tela conforme a figura:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 105
Curso Programando com C# e o Visual Studio .NET 2005
Parabéns, você escreveu métodos e os chamou com sucesso, alem disso usou o
depurador do Visual Studio .NET.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 106
Curso Programando com C# e o Visual Studio .NET 2005
Módulo 4
Estruturas de Decisão
Lição 16 – Entendendo as Estruturas de Decisão
A ESTRUTURA DE DECISÃO sem dúvida, é a mais utilizada na programação. O
objetivo é identificar o conteúdo de uma condição e direcionar o fluxo do programa
para um determinado cálculo, rotina, desvio, função, etc.
Primeiramente vamos entender o que é uma EXPRESSÃO CONDICIONAL. Esta é
uma expressão que sempre retorna um valor boleano, ou seja, VERDADEIRO ou
FALSO.
Exemplo:
Preço é menor que 100.
Se preço for menor que 100 então o resultado da expressão acima é VERDADEIRO.
Caso contrario o resultado é FALSO.
Você pode usar os seguintes operadores para fazer comparações em C#:
(SUPONHA QUE A VARIAVEL SALARIO TENHA O VALOR 1200)
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 107
Curso Programando com C# e o Visual Studio .NET 2005
OPERADOR
QUER DIZER
EXEMPLO
RESULTADO
==
Igual a
Salario == 100
FALSO
!=
Diferente de
Salario != 100
VERDADEIRO
>
Maior que
Salario > 100
VERDADEIRO
<
Menor que
Salario < 100
FALSO
>=
Maior ou igual a
Salario >= 100
VERDADEIRO
<=
Menor ou igual a
Salario <= 100
FALSO
Então a expressão que usamos no exemplo acima ficaria assim:
Preço < 100
Agora que você já sabe o que é uma expressão condicional vamos estudar o que é
uma ESTRUTURA DE DECISÃO.
Uma ESTRUTURA DE DECISÃO nada mais é que do que um bloco de código que
utiliza as expressões condicionais para tomar decisões que orientam qual código
deve ser executado.
Lição 17 – Usando o if
A primeira estrutura de decisão que iremos estudar é o IF, veja a sintaxe a seguir:
if ( expressãocondicional )
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 108
Curso Programando com C# e o Visual Studio .NET 2005
{
bloco-de-codigo1
}
else
{
bloco-de-codigo2
}
Se o resultado da expressão condicional for VERDADEIRO então o bloco-de-codigo1
será executado, se a expressão for FALSO, então o bloco-de-codigo2 será
executado.
Se o bloco-de-codigo1 e bloco-de-codigo2 for apenas uma linha de código não é
necessário usar os colchetes, como nos exemplos abaixo.
Veja o seguinte exemplo:
double Salario = 1200;
if (Salario > 1000)
Salario *= 1.1;
Existe uma variável chamada Salario que está definida e contém o valor 1200.
Como toda condição retorna apenas verdadeiro ou falso, É verificado se o
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 109
Curso Programando com C# e o Visual Studio .NET 2005
valor é maior que 1000, e caso seja verdadeiro será somado 10% ao Salario. Se
Salario for menor que 1000 nada será executado.
Vamos a mais alguns exemplos para facilitar o entendimento.
double Salario = 1200;
if (Salario < 500)
Salario += 50;
else
Salario += 100;
Aqui é verificado se o valor é menor que 500 e dependendo da condição é somado
50 ou 100, pois há o Else. Então se a variável for menor que 500 adicionamos nela
o valor 50, senão adicionamos 100.
double Salario = 1200;
if (Salario < 500)
Salario += 50;
else if ((Salario >= 500) && (Salario < 2000))
Salario += 100;
else
Salario += 250;
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 110
Curso Programando com C# e o Visual Studio .NET 2005
Já no exemplo acima existem 3 condições, onde o primeiro IF soma 50, o segundo
100 e o ELSE 250. O Else sempre é executado quando nenhuma expressão é
verdadeira.
É possível avaliar diversos else ifs com uma determinada expressão. Como no
exemplo abaixo:
double Salario = 1200;
if (Salario < 500)
Salario += 50;
else if ((Salario >= 500) && (Salario < 600))
Salario += 100;
else if ((Salario >= 500) && (Salario < 700))
Salario += 110;
else if ((Salario >= 500) && (Salario < 800))
Salario += 120;
else
Salario += 250;
Perceba que no bloco de código acima usamos o &&.
O && é usado quando precisamos testar mais de uma expressão condicional.
Exemplo:
else if ((Salario >= 500) && (Salario < 600))
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 111
Curso Programando com C# e o Visual Studio .NET 2005
Nesta linha testamos se o Salario é maior ou igual a 500 e o Salario é menor que
600.
Então se o Salario for 553 a expressão acima é VERDADEIRA, caso contrario é
FALSA.
O && é conhecido como um OPERADOR LÓGICO, temos quatro deles como mostra
a tabela a seguir:
OPERADOR LÓGICO
QUER DIZER
&& (And)
Se duas expressões condicionais forem
verdadeiras o resultado é verdadeiro.
|| (Or)
Se qualquer expressão condicional é
verdadeira então o resultado é
verdadeiro.
! (Not)
Se a expressão condicional for falsa o
resultado é verdadeiro. Se a expressão
condicional for verdadeira o resultado é
falso.
Algumas expressões complexas podem exigir mais de um operador lógico. A
seqüência de execução neste tipo de expressão é primeiro, os operadores
matemáticos, depois os operadores de comparação e só então os operadores
lógicos.
Vamos a alguns exemplos de como utilizar os operadores lógicos:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 112
Curso Programando com C# e o Visual Studio .NET 2005
EXPRESSÃO LÓGICA
RESULTADO
Veiculo = “Bicicleta” && Preço < 300
Verdadeiro (Se as duas condições forem
verdadeiras)
Veiculo = “Carro” || Preço < 500
Verdadeiro (Se uma das condições
forem verdadeiras)
! Preço < 100
Verdadeiro (Se a condição for falsa)
Vamos fazer um programinha que valida o usuário, verificando se é ele mesmo
através do seu nome e senha.
1 – Entre no Visual Studio e crie uma aplicação chamada EstruturaDeDecisao do
tipo Windows Application.
2 – Arraste para o Form os seguintes controles:
2 - Label
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 113
Curso Programando com C# e o Visual Studio .NET 2005
2 – TextBox
1 – Button
3 – Mude as propriedades dos controles como a tabela abaixo:
Controle
Propriedade
Valor
Label1
Text
Nome
Label2
Text
Senha
Textbox1
Text
Textbox2
Text
Button1
Text
Validar
4 – Organize-os para ficarem assim:
5 – De um clique duplo no button1 e digite o seguinte código:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 114
Curso Programando com C# e o Visual Studio .NET 2005
string Nome = textBox1.Text;
string Senha = textBox2.Text;
if ((Nome == "Moroni") && (Senha == "123"))
MessageBox.Show("Bem Vindo Moroni");
else
{
MessageBox.Show("Usuario Invalido");
Close();
}
Você pode substituir o valor do nome para o seu nome e sua senha.
Perceba que tivemos que abrir e fechar colchetes ( {} ) depois do else,
sempre temos que fazer isso quando tivermos mais que uma linha de
código, isso se aplica ao else, e também depois do if, se tivéssemos mais
de uma linha de código no bloco de código acima teríamos que fazer o
mesmo.
6 – Execute o programa.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 115
Curso Programando com C# e o Visual Studio .NET 2005
7 – Digite Moroni em nome (ou seu nome) e a senha 123.
8 – Clique em validar.
É executado o seguinte código:
MessageBox.Show("Bem Vindo Moroni");
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 116
Curso Programando com C# e o Visual Studio .NET 2005
Fazendo com que a seguinte mensagem apareça.
9 – Clique em Ok.
10 – Digite outro valor qualquer na caixa de texto e clique em OK.
E executado o seguinte código:
MessageBox.Show("Usuario Invalido");
Close();
Fazendo com que a seguinte mensagem apareça.
E que o programa seja encerrado.
Em resumo:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 117
Curso Programando com C# e o Visual Studio .NET 2005
Declaramos duas variáveis e demos as elas os valores dos controles de texto.
Depois testamos se o valor do nome era Moroni e a Senha 123, você pode
substituir o valor para o seu nome e sua senha. Se o resultado da expressão for
verdadeira então ele da a mensagem de bem vindo, caso contrario ele da a
mensagem de usuário invalido e sai do programa.
Lição 18 – Usando o switch
A segunda estrutura de decisão que iremos estudar é conhecida como switch.
Essa estrutura de decisão seleciona o código a ser executado baseado no valor de
uma expressão.
A sintaxe é a seguinte:
switch (testexpression)
{
case constant-expression:
statements
break:
default:
statements
}
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 118
Curso Programando com C# e o Visual Studio .NET 2005
O funcionamento ocorre da seguinte maneira: a expressão é obtida no switch e
para cada Case existe uma condição a ser validada. Caso o Case seja verdadeiro,
então a linha ou o bloco de código é executado. Se nenhum dos Cases for válido,
então default é executado. O default é opcional e você pode ter quantos Cases for
necessário. A cada Case é preciso declarar o break, senão o programa
continua avaliando todos os Cases.
Veja o exemplo:
int diaDaSemana = 3;
switch (diaDaSemana)
{
case 1:
MessageBox.Show("Domingo");
break;
case 2:
MessageBox.Show("Segunda-Feira");
break;
case 3:
MessageBox.Show("Terça-Feira");
break;
case 4:
MessageBox.Show("Quarta-Feira");
break;
case 5:
MessageBox.Show("Quinta-Feira");
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 119
Curso Programando com C# e o Visual Studio .NET 2005
break;
case 6:
MessageBox.Show("Sexta-Feira");
break;
case 7:
MessageBox.Show("Sabado");
break;
}
Primeiro criamos uma variável do tipo int e atribuímos a mesma o valor 3.
A seguir iniciamos a estrutura colocando como expressão de teste o valor da
variável.
O primeiro Case verifica se o valor da variável ou expressão de teste é 1. Se for o
código que escreve na tela o texto Domingo é executado e a estrutura é finalizada
não verificando os outros Cases. Caso contrario ele vai pro próximo case e segue
como o primeiro até o fim da estrutura. Se nenhum dos cases se enquadrar no
valor da expressão de teste nenhum código será executado, para isso que serve o
default. No próximo exemplo vamos apenas programar o uso do default:
int diaDaSemana = 3;
switch (diaDaSemana)
{
case 1:
MessageBox.Show("Domingo");
break;
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 120
Curso Programando com C# e o Visual Studio .NET 2005
case 2:
MessageBox.Show("Segunda-Feira");
break;
case 3:
MessageBox.Show("Terça-Feira");
break;
case 4:
MessageBox.Show("Quarta-Feira");
break;
case 5:
MessageBox.Show("Quinta-Feira");
break;
case 6:
MessageBox.Show("Sexta-Feira");
break;
case 7:
MessageBox.Show("Sabado");
break;
default:
MessageBox.Show("Dia Inválido");
break;
}
Aqui se o resultado da expressão de teste não for verdadeiro em nenhum Case,
então será executado o default, escrevendo na tela que o valor informado é
invalido, o que não é o caso para o nosso exemplo, já que o valor da expressão se
enquadra no Case 3 escrevendo Terça-Feira.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 121
Curso Programando com C# e o Visual Studio .NET 2005
Para entender ainda melhor vamos fazer um exemplo no Visual Studio. Esse
exemplo lista todos os meses do ano e quando selecionado um mês ele exibe uma
mensagem na tela com o numero de dias que o mês selecionado possui.
1 - Crie um novo projeto chamado EstruturaDeDecisao2, do tipo Windows
Application.
2 – Arraste um listBox para o Form1. Na propriedade Items na janela
Properties digite todos os meses do ano como abaixo:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 122
Curso Programando com C# e o Visual Studio .NET 2005
O Form1 vai ficar assim:
3 – De um clique duplo sobre o listBox1 e digite o seguinte código:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 123
Curso Programando com C# e o Visual Studio .NET 2005
switch (Convert.ToString(listBox1.SelectedItem))
{
case "Fevereiro" :
MessageBox.Show ("Este mes tem 28 dias");
break;
case "Abril":
case "Junho":
case "Setembro":
case "Novembro":
MessageBox.Show ("Este mes tem 30 dias");
break;
default:
MessageBox.Show ("Este mes tem 31 dias");
break;
}
Vai ficar assim:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 124
Curso Programando com C# e o Visual Studio .NET 2005
4 – Execute a aplicação (pressione F5).
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 125
Curso Programando com C# e o Visual Studio .NET 2005
5 – Clique sobre um mês, por exemplo, Fevereiro, note a janela que exibe o
numero de dias que tem esse mês.
Nosso exemplo é simples, criamos uma estrutura switch e demos a ela como
expressão de teste o valor do item selecionado na listBox1. Usamos o método
Convert para converter para string o valor obtido da listBox1.
O primeiro Case verifica se o item selecionado ou valor da expressão é Fevereiro.
Se sim então mostra a caixa de dialogo com a mensagem dizendo que o mês possui
28 dias, senão vai para o próximo Case que verifica se o item selecionado é Abril, e
assim sucessivamente até Novembro. Note que só implementamos código em
Novembro, agrupamos assim quando os cases forem executar o mesmo bloco de
código. Se o valor da expressão não se enquadrar em nenhum item da lista então
ele vai para o default que executa o código com a mensagem de que o mês possui
31 dias.
6 – Vamos fazer uma mudança no nosso switch agora, siga o exemplo abaixo:
switch (listBox1.SelectedIndex + 1)
{
case 2 :
MessageBox.Show ("Este mes tem 28 dias");
break;
case 4:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 126
Curso Programando com C# e o Visual Studio .NET 2005
case 6:
case 9:
case 11:
MessageBox.Show ("Este mes tem 30 dias");
break;
default:
MessageBox.Show ("Este mes tem 31 dias");
break;
}
Neste exemplo, ao invés de pegarmos o texto selecionado no listBox agora
estamos pegando o índice.
O índice é um numero que é atribuído a cada valor na lista começando por zero,
então Janeiro tem índice 0, Fevereiro 1 e assim por diante.
Como sabemos que Janeiro é o primeiro mês do ano e fevereiro o segundo e assim
por diante adicionamos 1 ao valor do índice. Isso apenas para não confundirmos.
Lembre-se do seguinte a respeito do switch:
•
O switch deixa o código mais estruturado em relação ao uso de vários else
if seguidos;
•
Você só pode usar o switch com tipos de dados primitivos, como: (int,
long, float, double, decimal, string, char, bool). Para usar outros tipos
de dados use o if;
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 127
Curso Programando com C# e o Visual Studio .NET 2005
•
A expressão do case precisa ser uma expressão única, em outras palavras,
não é permitido escrever duas expressões em um mesmo case.
•
Você precisa repetir a sintaxe do case para cada valor individual que você
quer avaliar, mesmo que ele execute o mesmo bloco de código, veja o
ultimo exemplo.
•
Você deve usar o break após cada bloco de código senão ele vai continuar
avaliando os outros cases.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 128
Curso Programando com C# e o Visual Studio .NET 2005
Módulo 5
Estruturas de Repetição
As estruturas de repetição – também conhecidas como estruturas de looping –
permitem que você executa uma linha ou bloco de código repetidamente até que
uma condição seja verdadeira.
O uso de loopings nos programas é uma prática comum, pois em muitos casos é
preciso percorrer uma determinada coleção de dados, um conjunto de registros,
valores de matrizes, etc.
Lição 19 – Usando o while
O looping While é executado sempre associado a uma condição, ou seja, a cada
passagem pelo looping a condição é avaliada. Veja a sintaxe a seguir:
while ( booleanExpression )
statement
Vamos fazer um exemplo para você compreender melhor o funcionamento do
while.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 129
Curso Programando com C# e o Visual Studio .NET 2005
1 - Crie um novo projeto no Visual Studio, novamente do tipo Windows
Application, chame o projeto de while.
2 - Adicione no Form1 os seguintes controles:
•
1 Button
•
1 ListBox
3 - Mude a propriedade Text do Button1 para “Loop”.
4 - Organize os controles como a figura abaixo:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 130
Curso Programando com C# e o Visual Studio .NET 2005
5 - De um clique duplo sobre o Button1 e digite o seguinte código:
int contador = 0;
while (contador < 20)
{
contador++;
listBox1.Items.Add(contador);
}
Vai ficar assim:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 131
Curso Programando com C# e o Visual Studio .NET 2005
Esse é nosso código, vamos estudá-lo um pouco:
int contador = 0;
while (contador < 20)
{
contador++;
listBox1.Items.Add(contador);
}
Na primeira linha declaramos uma variável chamada contador do tipo integer e
atribuimos a essa variavel o valor 0.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 132
Curso Programando com C# e o Visual Studio .NET 2005
A segunda linha começa o While com a condição. Essa linhar quer dizer enquanto
contador for menor que 20, ou seja ele vai executar o loop ou o código que esta
entre os colchetes até que o conteudo da variável contador seja igual ou maior
que 20.
A linha quatro soma 1 ao conteudo da variável contador, a linha a seguir tem o
mesmo significado:
contador = contador + 1
Entretanto da forma que fizemos no nosso exemplo é mais elegante porque não
precisamos repetir o nome da variável, se apenas fizéssemos assim:
contador = 1
Ele atribuiria 1 ao conteúdo da variável e o nosso looping se tornaria um loop
infinito ou seja nunca ia parar de rodar porque nunca entraria na condição que o
faz parar. Cuidado com esse tipo de loop, seus loops nunca devem ser infinitos.
A linha 5 atribui ao ListBox o valor da variável.
Fique atento para o seguinte quando estiver utilizando o WHILE:
•
A expressão condicional deve retornar sempre um valor Boolean ou seja,
verdadeiro o falso.
•
A expressão condicional também deve estar sempre entre parênteses.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 133
Curso Programando com C# e o Visual Studio .NET 2005
•
Se na primeira passagem o resultado da empressão condicional for falso, o
código do While não será executado.
•
Se você for usar mais de uma linha de código dentro do while precisa
colocá-lo entre colchetes, senão não.
Lição 20 – Usando o do
O Do é semelhante ao while, ou seja, é executado sempre associado a uma
condição, novamente a cada passagem pelo looping a condição é avaliada. Só que
no Do a condição é colocada no final, fazendo com que mesmo que o resultado seja
falso da expressão booleana o código seja executado pelo menos uma vez. Caso
precise abandonar o looping, use o break, que é opcional. Veja a sintaxe (não
esqueça do ponto-e-virgula no final):
do
statement
while (booleanExpression);
Vamos fazer uma modificação no exercicio do item anterior para compreender
como funciona o break.
1 - Se o exemplo anterior não estiver aberto no Visual Studio, abra-o.
2 - Vá para o código do button1, ele deve ser o seguinte:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 134
Curso Programando com C# e o Visual Studio .NET 2005
int contador = 0;
while (contador < 20)
{
contador++;
listBox1.Items.Add(contador);
}
3 - Mude para o seguinte:
int contador = 0;
while (contador < 20)
{
contador++;
if (contador == 10)
{
break;
}
listBox1.Items.Add(contador);
}
Perceba que as modificações foram minimas, apenas inserimos um If que verifica
se o conteudo da variavel contador é 10, se for ele executa o break que finaliza
imediatamente o loop.
4 - Execute a aplicação:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 135
Curso Programando com C# e o Visual Studio .NET 2005
5 - Clique em Loop.
Perceba que ele nem chega a escrever o número 10 por que a linha de código que é
responsável por isso esta depois do If que finalizou o loop.
6 – Agora mude o valor inicial da variável 0 para 20.
7 – Execute a aplicação e clique em Loop.
Perceba que não aparece nada, porque o resultado da expressão condicional
começa como false, já que o valor não é menor que 20, e sim é igual a 20.
8 – Vamos usar o Do agora, mude o código para o seguinte:
int contador = 20;
do
{
contador++;
listBox1.Items.Add(contador);
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 136
Curso Programando com C# e o Visual Studio .NET 2005
if (contador == 10)
{
break;
}
}
while (contador < 20);
9 - Execute a aplicação e clique em Loop.
Se a expressão estivesse encima nada apareceria, mas agora aparece o 21, isso
porque ele executou uma vez o loop antes de avaliar a expressão, algumas vezes
esse tipo de loop pode ser necessário. Fique atento.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 137
Curso Programando com C# e o Visual Studio .NET 2005
Lição 21 – Usando o for
O For é usado quando sabemos o número de vezes que iremos executar o Loop. O
For precisa de um contador que normalmente é uma variável que controla o
número de vezes que o loop será executado..
A variável contador pode ser inicializada antes do For ou na própria declaração.
Se durante o processamento você quiser abandonar o looping, terá que usar o
break. A sintaxe do For é a seguinte:
for (initialization; booleanExpression; updateControlVariable)
statement
1 - Crie uma nova aplicação do tipo Windows Application com nome For.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 138
Curso Programando com C# e o Visual Studio .NET 2005
2 - Arraste para o Form1 um Button.
3 - Mude a propriedade Text do Button1 para “Beep”.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 139
Curso Programando com C# e o Visual Studio .NET 2005
4 - De um clique duplo sobre o botão e no digite o seguinte código para o evento
do botão:
for (int i = 1; i <= 4; i++)
{
MessageBox.Show(i.ToString());
}
Vai ficar assim:
5 - Execute a aplicação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 140
Curso Programando com C# e o Visual Studio .NET 2005
6 - Clique no botão Beep.
Vamos dar uma avaliada no código:
for (int i = 1; i <= 4; i++)
{
MessageBox.Show(i.ToString());
}
Quando inicializamos o for, primeiro iniciamos uam variável do tipo integer e damos
o valor 1 para ela, demos o nome de i para essa variavel. Depois colocamos uma
expressão booleana que será responsável por avaliar o numero de vezes que o for
será executado, nossa expressão diz que o for deve ser executado enquanto o
conteúdo de da varial i for menor ou igual a 4. Para finalizar a inicialização do For
dizemos que a cada passada o conteúdo da variável i deve ser acrescentado em 1.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 141
Curso Programando com C# e o Visual Studio .NET 2005
7 - Mude o código do botão para o seguinte:
for (int i = 1; i <= 25; i+=5)
{
MessageBox.Show(i.ToString());
}
8 - Execute a aplicação e clique em Beep.
Perceba que o i+= 5 fez com que o número adicionado a variavel a cada passada
do loop é 5 ao invés de 1.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 142
Curso Programando com C# e o Visual Studio .NET 2005
Lição 22 – Conhecendo o foreach
O Foreach é usado em casos onde você precisa percorrer uma coleção de dados.
No Foreach você não precisa verificar o limite do looping, pois isto já está implícito
na própria coleção, ou seja, você se preocupa apenas em manipular o objeto atual.
Caso tenha dúvida no uso, pense da seguinte forma: Para cada elemento contido
na coleção, faça algo. Vamos estudá-lo em detalhe quanto falarmos sobre Arrays e
Coleções.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 143
Curso Programando com C# e o Visual Studio .NET 2005
Módulo 6
Gerenciando Erros e Exceções
O ambiente de desenvolvimento do Visual Studio .Net contém muitas ferramentas
que nos ajudam a resolver os erros em nossos programas.
Lição 23 – Conhecendo os três tipos de erros
Três tipos de erros podem ser encontrados em seus programas, são eles: erros de
sintaxe, erros de Runtime e erros lógicos, vamos entender cada um deles.
Erros de sintaxe ou erro de compilação:
Acontece quando você digita de forma errada uma palavra reservada ou comando
do C#. Você não consegue executar seu programa quando tem esse tipo de erro no
seu código.
Erros de Runtime:
Acontecem quando o programa para de executar derrepente durante sua execução,
chamamos essa parada de exceção.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 144
Curso Programando com C# e o Visual Studio .NET 2005
Erros de runtime acontecem quando alguma coisa interfere na correta execução do
seu código, por exemplo, quando seu código precisa ler um disquete que não esta
no drive, ao não encontrar o disquete ele gera uma exceção e para bruscamente a
execução, esse tipo de erro pode e deve ser tratado.
Erros lógicos:
Esse é o tipo de erro mais dificil de ser tratado. É um erro humano. O código
funciona perfeitamente, mas o resultado é errado. Exemplo, uma função que deve
retornar um valor, só que o valor retornado esta errado, o erro neste caso se
encontra na lógica da função que esta processando o cálculo. A grosso modo é
como se o seu programa precise fazer um calculo de 2 + 2 em que o resultado
certo é 4 mas ele retorna 3. Quando é uma conta simples é fácil de identificar mas
e se o calculo for complexo?
Lição 24 – Encontrando erros com o Visual
Studio.NET 2005
1 - Entre no Visual Studio.NET e crie uma nova aplicação, novamente do tipo
Windows Application chamada Debug.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 145
Curso Programando com C# e o Visual Studio .NET 2005
2 - Arraste para o Form1 os seguintes controles e organize-os como a figura
abaixo:
•
1 Button
•
2 TexBox
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 146
Curso Programando com C# e o Visual Studio .NET 2005
Até agora sempre usamos a janela Properties para setar as propriedades dos
controles, desta vez vamos fazer de uma outra forma.
De um clique duplo sobre o Form1 em qualquer lugar, desde que não seja encima
de nenhum controle. Vai aparecer o cursor dentro do seguinte código:
private void Form1_Load(object sender, EventArgs e)
{
}
Tudo que estiver dentro deste procedimento, chamado Form1_Load será executado
assim que o programa for executado.
3 - Digite o seguinte código dentro do procedimento:
button1.Text = "Testar";
Vai ficar assim:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 147
Curso Programando com C# e o Visual Studio .NET 2005
4 - Execute a aplicação.
Note que a propriedade text do button1 foi modificada como se a tivéssemos feito
na janela properties.
Para usar o Debug não é necessário setar as propriedades assim, pode ser pela
janela Properties apenas entenda que as propriedades podem ser modificadas em
tempo de execução, você pode inclusive setar propriedades em um evento de
clique de botão.
5 - De um clique duplo sobre o Button1 e digite o seguinte código:
int idade;
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 148
Curso Programando com C# e o Visual Studio .NET 2005
idade = int.Parse(textBox1.Text);
if (idade > 13 && idade < 20)
{
textox2.Text = "Você é adolescente";
}
else
{
textBox2.Text = "Você não é adolescente";
}
Nosso programa vai ler o conteudo no TextBox1, se o valor for um numero entre
13 e 20 ele vai escrever no TextBox2 a mensagem que você é um adolescente,
senão vai escrever que você não é um adolescente.
6 -Execute sua aplicação. A seguinte mensagem deve aparecer:
A caixa de dálogo esta dizendo que sua aplicação tem erros, se você clicar em sim
ele tenta executar a aplicação mesmo com os erros, clicando em não ele para a
tentativa de execução do programa.
7 – Clique em No.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 149
Curso Programando com C# e o Visual Studio .NET 2005
Agora no painel de código perceba que depois da linha de inicio do If o código que
seta a propriedade Text do TextBox2 tem o nome do controle sublinhado. Esse é
um erro de sintaxe, o nome do controle esta digitado errado, esta faltando um B.
Veja a próxima figura:
Repare na janela Error List.
Repare que o Visual Studio ajuda na detecção do erro.
8 - De um clique duplo sobre a mensagem “The name ‘textox2’ does not exist in
the context”
Ele vai direto para a linha de código com problema.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 150
Curso Programando com C# e o Visual Studio .NET 2005
9 - Vamos resolver o erro. Acrescente o b que esta faltando na palavra TextBox2.
10 - Execute a aplicação. Agora tudo ocorre certo não é mesmo?
11 - Digite 21 na primeira caixa de texto e clique em Testar.
Ele escreve a mensagem “Você não é adolescente”, porque ele entra no else do IF,
já que 21 não esta entre 13 e 20.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 151
Curso Programando com C# e o Visual Studio .NET 2005
12 - Digite agora o numero 17 e clique em Testar.
Agora como o número entra na condição a mensagem muda para “Você é
adolescente”.
13 - Feche a aplicação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 152
Curso Programando com C# e o Visual Studio .NET 2005
14 - Vá ao painel de código novamente.
15 - Localize a seguinte linha de código.
idade = int.Parse(textBox1.Text);
16 - Clique sobre esta linha com o botão direito do mouse e selecione a opção
Insert BreakPoint, como na figura abaixo:
Essa linha de código vai ficar assim:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 153
Curso Programando com C# e o Visual Studio .NET 2005
O BreakPoint é um ponto de parada. Você pode colocar vários destes no seu
código.
17 - Execute o programa agora.
18 - Digite 21 na primeira caixa de texto e clique em Testar.
O programa a execução exatamente na linha do BreakPoint.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 154
Curso Programando com C# e o Visual Studio .NET 2005
Apareçe também uma nova barra de ferramentas:
Essa é a barra de ferramentas do depurador ou debug, como o nome diz ela
permite que depuremos nosso código linha-a-linha, permitindo uma analise
detalhada.
19 - Na barra de ferramentas debug, clique no botão Step Into.
Ele executa a linha marcada e vai para a próxima linha.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 155
Curso Programando com C# e o Visual Studio .NET 2005
Neste momento a variável idade já tem o conteúdo do TextBox1. Passe o mouse
sobre o texto idade em qualquer lugar do código para ver o conteúdo da variável.
A seta amarela representa a próxima linha de código que será executada. Neste
momento a linha amarela ainda não foi executada.
20 - Clique em Locals. A janela Locals também mostra informações do programa,
como o valor da variável idade.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 156
Curso Programando com C# e o Visual Studio .NET 2005
21 - Clique em Step Into até que todo o código seja executado.
Note que depois que ele avalia o IF como não entra na condição ele já pula para o
Else.
O botão Step Out, pula para o próximo BreakPoint ou termina a execução.
O botão Stop Debugging, para o debug e encerra a execução do programa.
22 - Pare a execução.
Vá novamente a linha de código marcada com o BreakPoint.
23 - Clique com o botão direito do mouse e selecione a opção Delete BreakPoint.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 157
Curso Programando com C# e o Visual Studio .NET 2005
Isso remove a marcação.
O debug é muito útil para encontrar erros lógicos, supondo que os adolecentes são
pessoas de faixa etária que vai de 13 a 19 anos procure localizar o erro lógico no
programa que acabamos de criar.
Lição 25 – Usando a janela Watch
1 - No programa que criamos no item anterior, marque um BreakPoint novamente
na linha:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 158
Curso Programando com C# e o Visual Studio .NET 2005
idade = int.Parse(textBox1.Text);
2 - Execute o programa.
3 - Digite 25 na primeira caixa de texto e clique em Testar.
O programa para no BreakPoint. E o Visual Studio entra no que chamamos de
Break Mode.
Para usar a janela Watch você precisa estar em Break Mode.
4 - Clique na guia Watch 1, não tem nada na janela Watch ainda.
5 - Clique com o botão direito sobre o nome da variável idade, e selecione Add
Watch, como na figura:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 159
Curso Programando com C# e o Visual Studio .NET 2005
É adicionado uma linha com o nome da variável e seu valor na janela Watch.
O valor é 0 e o tipo da variável é tido como integer.
6 - Adicione também TextBox2.Text a janela Watch.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 160
Curso Programando com C# e o Visual Studio .NET 2005
7 - Selecione a expressão idade < 20 e adicione a janela Watch.
Sua janela Watch deve estar assim:
Agora a cada passo do programa você vai poder acompanhar o valor de cada um
destes itens.
8 - Clique no botão Step Into na barra de ferramentas Debug. Ao invés de clicar
no botão você pode apertar F11 no teclado.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 161
Curso Programando com C# e o Visual Studio .NET 2005
O valor da variável idade é mudado para 25 e a expressão idade < 20 é avaliada
como False. Os valores são modificados na janela Watch em vermelho porque
acabaram de ser atualizados.
9 - Clique em Step Into mais algumas vezes até a completa execução do código.
10 - Pare a execução do programa.
Para remover um item da janela Watch, clique sobre o mesmo, exemplo, idade <
20 e pressione a tecla Delete no teclado.
Para ver o conteúdo das varáveis e propriedades durante a execução do programa
você precisa usar a janela Watch, porque a janela Locals não mantem os valores
durante a execução de todo o programa.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 162
Curso Programando com C# e o Visual Studio .NET 2005
Lição 26 – Usando a janela Command
Para esse item suponho que você tenha finalizado o anterior e o que o exemplo
esta com o BreakPoint marcado.
1 - Execute o programa.
2- Na primeira caixa de texto digite 25 e clique em Testar.
Ele deve parar na linha marcada:
3 - Na barra de ferramentas Debug clique em Step Into ou pressione F11.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 163
Curso Programando com C# e o Visual Studio .NET 2005
4 - No menu Debug, selecione Windows e clique em Immediate.
O cursor vai para a janela Command, no modo Immediate.
5 - Digite idade = 14 e pressione enter.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 164
Curso Programando com C# e o Visual Studio .NET 2005
Agora você modificou o conteúdo da variável idade com a janela Command, o
valor da váriavel idade é exibido na janela Locals em vermelho, imediatamente
após a modificação, mostrando que acabou de ser modificada.
6 - Clique duas vezes sobre o botão Step Into na barra de ferrametas Debug.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 165
Curso Programando com C# e o Visual Studio .NET 2005
7 - Digite o seguinte código na janela Command e pressione Enter:
TextBox2.Text = “Você tem uma boa idade”
A propriedade Text do objeto TextBox2 é imediatamente modificado.
Verifique na janela Locals.
8 - Clique no botão Step Into da barra de ferramentas Debug mais duas vezes.
O número 25 permanece na TextBox1, isso porque mudamos apenas o valor da
variável e não o valor do TextBox1, já a TextBox2 mostra a mensagem nova que
colocamos através da janela Command.
Em companhia com as janelas Locals e Watch a janela Command pode ser muito
útil para encontrar e resolver dificeis erros de lógica em seus programas.
Lição 27 – try..catch
Até agora você aprendeu como utilizar o Visual Studio .NET para resolver erros de
sintaxe e lógicos. À partir deste item você aprenderá a tratar erros de runtime
através do try...catch, que é conhecido como uma estrutura de tratamento de erros
ou estrutura de tratamento de exceções. Você pode usá-lo para reconhecer qual o
erro de runtime esta ocorrendo no seu programa e através disso emitir uma
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 166
Curso Programando com C# e o Visual Studio .NET 2005
mensagem de erro adequada e ajustar seu programa com as condições necessárias
para que ele continue executando.
Um exemplo bem comum, mas que permite que ilustremos bem como os erros de
runtime ocorrem e como tratá-los é o exemplo da leitura do drive de disquete.
Para esse exemplo será necessário um disquete com um arquivo nele. Vamos
colocar um arquivo de imagem, assim você já aprende como abrir um arquivo de
imagem no seu programa.
1 - Pegue um disquete - o ideal é que não tenha nenhum arquivo nele ou pelo
menos o espaço necessário para a imagem - coloque o no drive A.
2 - Copie para o disquete uma imagem, no nosso exercício estou colocando a
imagem inverno.jpg, porque ela já vem com o windows XP e fica armazenada na
pasta amostra de imagens dentro de Meus Documentos > Minhas Imagens >
Amostra de imagens. Fique a vontade para colocar outra imagem.
3 - Agora no Visual Studio crie um novo programa chamado TryCatch do tipo
Windows Application.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 167
Curso Programando com C# e o Visual Studio .NET 2005
4 - Arraste para o Form1 os seguites controles:
•
1 Button
•
1 PictureBox
5 - Mude a propriedade Text do Button1 para “Testar Drive”.
6 - Organize os controles como a figura abaixo:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 168
Curso Programando com C# e o Visual Studio .NET 2005
Eu redimencionei tanto o tamanho do Form1 como o tamanho do PictureBox1,
você pode fazer o mesmo utilizando as guias.
7 - De um clique duplo sobre o Button1 e digite o seguinte código:
pictureBox1.Image = System.Drawing.Image.FromFile(@"a:\inverno.jpg");
Quando for passar um caminho como string utilize o @ antes como fizemos no
código acima.
8 - Execute sua aplicação.
9 - Clique no botão Testar Drive, a imagem deve abrir no Form como a seguir:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 169
Curso Programando com C# e o Visual Studio .NET 2005
10 - Pare a execução do programa.
11 - Tire o disquete do drive.
12 - Execute novamente o programa e clique no botão Testar Drive.
O programa não consegue encontrar o arquivo, acontece então um erro de runtime,
que para bruscamente a execução do programa.
A linha com o erro também fica amarela no painel de código.
13 - Clique no botão Continue para fechar o programa ou pressione F5.
Vamos agora implementar o código que faz o tratamento do erro.
14 - Modifique o código do Evento do Button1 para o seguinte:
try
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 170
Curso Programando com C# e o Visual Studio .NET 2005
{
pictureBox1.Image = System.Drawing.Image.FromFile(@"a:\inverno.jpg");
}
catch
{
MessageBox.Show("Insira o disquete no drive A");
}
Você não precisa digitar denovo a linha que executa a leitura da imagem do
disquete. Apenas acrescente o try..catch e o código responsavel por emitir a
mensagem de erro.
15 - Execute a aplicação.
16 - Sem o disquete no drive clique no botão Testar Drive.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 171
Curso Programando com C# e o Visual Studio .NET 2005
Perceba que agora ele mostra a caixa de dialógo com a mensagem que
especificamos. Isso é muito mais elegante do que o erro gerando anteriormente.
17 - Clique no botão OK.
18 - Insira o disquete com a imagem no drive e clique em OK.
19 - Feche a aplicação.
Vamos analizar agora o bloco de código responsável pelo tratamento do erro.
Primeiramente segue a sintaxe do try...catch:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 172
Curso Programando com C# e o Visual Studio .NET 2005
try
{
Código executado se nenhum erro acontecer
}
catch
{
Código executado se houver erro
}
Finally
{
Opcional, sempre é executado
}
O código fica sempre após a palavra reservada try, se algum erro aconteçer no
processamento deste código o programa vai imediatamente para o bloco catch que
é responsavel pelo tratamento do erro. O finally é opcional, ele é sempre
executado, com erro ou não. No nosso exemplo colocamos o código que lê a
imagem dentro do try, e no catch o código que abre a caixa de dialógo pedindo
para inserir o disquete no drive A.
Se nenhum erro ocorrer é executado apenas o código dentro do try, senão ele vai
para o catch. Pedindo para inserir o disquete no drive A.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 173
Curso Programando com C# e o Visual Studio .NET 2005
try
{
pictureBox1.Image = System.Drawing.Image.FromFile(@"a:\inverno.jpg");
}
catch
{
MessageBox.Show("Insira o disquete no drive A");
}
Vamos agora implementar o Finally no nosso código.
20 - Altere o código do evento do Button1 para o seguinte:
try
{
pictureBox1.Image = System.Drawing.Image.FromFile(@"a:\inverno.jpg");
}
catch
{
MessageBox.Show("Insira o disquete no drive A");
}
finally
{
MessageBox.Show("Código executado no finally");
}
Você não precisa mudar o código anterior, apenas acrescentar o finally, como
exemplo de uso do finally apenas vamos exibir mais uma caixa de diálogo.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 174
Curso Programando com C# e o Visual Studio .NET 2005
21 - Execute a aplicação.
22 - Teste com e sem disque do drive. Vai ver que a mensagem do Finally apareçe
nas duas alternativas, ou seja, com e sem erro.
A tabela a seguir mostra o que ocasiona a maior parte dos erros de runtime:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 175
Curso Programando com C# e o Visual Studio .NET 2005
Lição 28 – Usando try...catch aninhados
Podemos aninhar - colocar blocos de try...catch um dentro de outro - para criar
estruturas de tratamento mais avançadas, como o exemplo:
try
{
pictureBox1.Image = System.Drawing.Image.FromFile(@"a:\inverno.jpg");
}
catch
{
MessageBox.Show("Insira o disquete no drive A");
try
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 176
Curso Programando com C# e o Visual Studio .NET 2005
{
pictureBox1.Image = pictureBox1.Image =
System.Drawing.Image.FromFile(@"a:\inverno.jpg");
}
catch
{
MessageBox.Show("Falha ao abrir o arquivo");
button1.Enabled = false;
}
}
A primeira mensagem de erro pede para o usuario inserir o disque e clicar em OK,
se ele o fizer o programa tenta ler o arquivo, se não for possivel emite a mensagem
de Falha e desabilita o Button1.
Vamos fazer esse exemplo para você ver a diferença do que tinhamos feito até
aqui.
1 – No programa que criamos na lição anterior, modifique o código do evento do
Button1 para o seguinte.
try
{
pictureBox1.Image = System.Drawing.Image.FromFile(@"a:\inverno.jpg");
}
catch
{
MessageBox.Show("Insira o disquete no drive A");
try
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 177
Curso Programando com C# e o Visual Studio .NET 2005
{
pictureBox1.Image = pictureBox1.Image =
System.Drawing.Image.FromFile(@"a:\inverno.jpg");
}
catch
{
MessageBox.Show("Falha ao abrir o arquivo");
button1.Enabled = false;
}
}
Vai ficar assim:
2 - Execute aplicação e sem o disco no drive clique no botão Testar Drive.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 178
Curso Programando com C# e o Visual Studio .NET 2005
A seguinte mensagem aparece:
3 - Insira o disco no drive e clique em OK.
Ele carrega a imagem e a exibe.
4 - Agora tire novamente o disco do drive e clique no botão.
5 - Sem colocar o disco no drive clique em OK.
A seguinte mensagem aparece.
6 - Clique em OK.
Agora o Form1 é mostrado com o Button1 desabilitado.
O código responsável por desabilitar o Button1 é o seguinte:
button1.Enabled = false;
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 179
Curso Programando com C# e o Visual Studio .NET 2005
Lição 29 – Programação defensiva
Conhecemos por programação defensiva a iniciativa do programador de escrever
seu código protegendo-o de erros de runtime. Exemplo:
if (System.IO.File.Exists(@"a:\inverno.jpg"))
{
pictureBox1.Image = System.Drawing.Image.FromFile(@"a:\inverno.jpg");
}
else
{
MessageBox.Show("Não é possivel abrir o arquivo no drive A");
}
O código acima usa a o método File.Exists para verificar se o arquivo existe antes
de tentar abri-lo.
O IF não é uma estrutura de tratamento de erros, porque não previne os erros de
runtime, no entanto ele permite técnicas de validação.
A pergunta aqui é a seguinte: Quando utilizo programação defensiva preciso usar
os blocos de tratamento de erros?
A resposta depende de com que freqüência você acha que o problema vai ocorrer
no programa que você esta criando. Se o erro de runtime for ocorrer menos de
25% das vezes que o código for executado o tratamento de erros é a forma mais
eficiente de tratar o erro. Os try...catch é essencial se você tem mais do que uma
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 180
Curso Programando com C# e o Visual Studio .NET 2005
condição para testar também, e se você quer privar os usuários de várias questões
a serem respondidas para prevenir os erros.
No entanto se a estimativa do erro ocorrer for mais de 25% da vezes, a
programação defensiva é bem eficaz para diminuir a quantidade de exceções.
Mas o ideal é o uso das duas, tanto da programação defensiva como dos blocos
Try...Catch.
Lição 30 – Exit try
Para finalizar suponha que o usuário esta sem o disco e tente abrir o arquivo, não
sendo possivem a exceção aconteçe e consequentemente o erro de runtime, um
bloco try...catch trata o erro, mas novamente o usuario clica no botão e o erro
aconteçe denovo, é tratado, e assim sucessivamente.
Para evitar esse problema podemos criar uma variavel que armazena o numero de
vezes que o Catch foi executado, chegando a um número estipulado podemos por
exemplo desabilitar o botão, como no exemplo abaixo:
int retorno = 0;
try
{
pictureBox1.Image = System.Drawing.Image.FromFile(@"a:\inverno.jpg");
}
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 181
Curso Programando com C# e o Visual Studio .NET 2005
catch
{
retorno += 1;
if (retorno <= 2)
{
MessageBox.Show("Insira o disquete no drive A");
}
else
{
MessageBox.Show("Recurso não disponivel");
button1.Enabled = false;
}
}
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 182
Curso Programando com C# e o Visual Studio .NET 2005
Módulo 7
Arrays e Coleções
Lição 31 – Usando Arrays
Imagine que você tem que armazenar as faltas cometidas por cada jogador de um
time em uma partida de futebol. Você precisaria armazenar o nome e o número de
faltas que cada jogador cometeu. Como faria para armazenar isso em variáveis?
Provavelmente você teria que declarar duas variáveis para cada jogador, uma para
armazenar o nome e outra o número de faltas, chagando facilmente a 22 variáveis,
isso, se não houver nenhuma substituição.
Arrays são usados para gerenciar grande quantidade de informação. Como
variáveis, você precisa declarar seus arrays antes de usá-los. Os arrays também
respeitam as mesmas regras de escopo que as variáveis, ou seja se declaradas
dentro de procedimentos, ficam disponiveis apenas para o procedimento em
questão.
Vamos fazer um exemplo, nele vamos criar o programa que armazenará os dados
nos nomes dos jogadores e as faltas cometidas por eles.
1 - Entre no Visual Studio e crie um novo projeto do tipo Windows Application
chamado Arrays.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 183
Curso Programando com C# e o Visual Studio .NET 2005
2 - Arraste para o Form1 os seguintes controles:
•
3 Button
•
1 ListBox
•
2 Labels
•
2 TextBoxes
3 - Altere a propriedade Text do Button1 para “Inserir Jogador”.
4 – Altere a propriedade Text do Button2 para “Inserir Falta”
5 – Altere a propriedade Text do Button3 para “Visualizar Array”
6 - Altere a propriedade Text do Form1 para “Array”.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 184
Curso Programando com C# e o Visual Studio .NET 2005
7 – Altere a propriedade Text do Label1 para “Jogador”.
8 – Altere a propriedade Text do Label2 para “Num. Faltas”
9 - Organize-os como a próxima figura:
10 - Na janela Solution Explorer clique no botão View Code para ir para o Painel
de código.
11 - Digite dentro da classe do Form1 o seguinte código:
string[] jogadores = new string[11];
Vai ficar assim:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 185
Curso Programando com C# e o Visual Studio .NET 2005
Nesta linha declaramos um Array de tamanho fixo. O array que criamos é como
uma tabela com 11 linhas, o suficiente para armazenar o nome do time inteiro, 11
jogadores.
12 - Na janela Solution Explorer clique em View Designer para voltar para o
Form1 no modo Design, você pode também clicar na aba Form1.vb[Design] ao
lado da aba Start Page, à essa altura do curso você ja deve estar familiarizado
com o Visual Studio.
13 - De um clique duplo sobre o Button1 e digite o seguinte código:
jogadores[0] = textBox1.Text;
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 186
Curso Programando com C# e o Visual Studio .NET 2005
Isso insere “Marcos” na primeira linha do Array, se colocassemos 6 ao invés de 0,
por exemplo, seria na linha 7. O primeiro registro no array é sempre o 0, isso
porque os índices sempre começam com 0.
14 - De um clique duplo sobre o Button3 (Visualizar Array) e digite o seguinte
código:
listBox1.Items.Add(jogadores[0]);
Isso insere na ListBox1 o conteúdo da primeira linha do array Jogadores, se
colocassemos 6, exibiria o conteúdo da linha 7, lembre-se que de o primeiro
registro do array tem sempre o índice 0 e assim sucessivamente.
Não se assuste com o código para inserir no ListBox1, se fosse em uma TextBox
ou Label você poderia usar a seguinte linha de código:
textBox1.Text = jogadores[0];
Só que para inserir um item no ListBox precisamos usar seu método Add.
15 – Execute a aplicação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 187
Curso Programando com C# e o Visual Studio .NET 2005
16 – Digite Marcos no textBox1 e clique em inserir Jogador.
17 – Clique em Visualizar Array.
Agora que você já compreende como inserir e ler dados do array vamos avançar
no exemplo.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 188
Curso Programando com C# e o Visual Studio .NET 2005
18 – Pare a execução.
19 - Digite dentro da classe do Form1 o seguinte código:
int contador = 0;
Isto cria uma variável que estará disponível para todos os procedimentos dentro da
classe, ou seja, seu escopo é a classe. Também já atribuímos o valor 0 nela. Essa
variável será usada para controlar o índice ou local do array onde vamos inserir
cada jogador.
20 - Volte para o código do procedimento do Button1.
21 - Substitua o código pelo seguinte:
if (contador <= 10 && textBox1.Text != "")
{
jogadores[contador] = textBox1.Text;
contador += 1;
textBox1.Text = null;
}
else
{
button1.Enabled = false;
}
Vai ficar assim:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 189
Curso Programando com C# e o Visual Studio .NET 2005
Não podemos adicionar jogadores no array se ele estiver cheio e se o conteúdo do
textBox não tiver nada. Para isso usamos o if.
Depois adicionamos o conteúdo do textBox1 no array. A posição é informada pela
variável contador.
Adicionamos 1 a variável contador, senão o array nunca vai para a próxima
posição.
Para finalizar limpamos o textBox1.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 190
Curso Programando com C# e o Visual Studio .NET 2005
No else apenas desabilitamos o Button1 caso o array esteja vazio ou não tenha
nada nele digitado, ou seja, caso a expressão lógica do if retorne false.
22 - Mude o código do Button3 pelo seguinte:
for (int i = 0; i <= jogadores.Length - 1; i++)
{
listBox1.Items.Add(jogadores[i]);
}
Vai ficar assim:
Aqui usamos o loop tor para passar por cada item do Array e adiciona-lo no
ListBox1.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 191
Curso Programando com C# e o Visual Studio .NET 2005
A propriedade Length retorna o numero de registros do array, que é 11,
poderíamos simplesmente ter feito assim:
for (int i = 0; i <= 10; i++)
Colocamos o -1 depois do Length porque o Lenght retorna 11, lembre-se que o
índice do primeiro elemento do array é 0, então o ultimo é 10.
A cada passada pelo For o i assume o valor de uma linha do array até chegar ao
final.
23 - Execute a aplicação.
24 – Digite o nome de um Jogador e clique no botão Inserir Jogador.
Faça isso sucessivamente até que o botão seja desabilitado, ou seja, que o array
seja totalmente preenchido.
25 - Clique no botão Visualizar Array.
O nome dos 11 jogadores é listado.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 192
Curso Programando com C# e o Visual Studio .NET 2005
Como você pode ver, trabalhamos facilmente com os nomes dos 11 jogadores em
nosso array, podemos modificar os dados do nosso array facilmente, bastando para
isso indicar qual linha deve ser alterada e o novo dado, como no exemplo:
jogadores[10] = “Robinho”;
Um array pode conter mais de um coluna. Vamos entender como isso funciona
implementando o código que vai armazenar o número de faltas de cada jogador.
Como um Array só pode conter um tipo de dado e nosso Array já é do tipo String,
no nosso exemplo vamos adicionar o número de faltas como string mesmo, mas, a
maneira correta seria criar um outro Array do tipo integer para armazenar as faltas.
Vamos optar pela primeira opção para você aprender a trabalhar com duas colunas.
26 - Altere o código que declara o Array para o seguinte:
string[,] jogadores = new string[11,2];
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 193
Curso Programando com C# e o Visual Studio .NET 2005
Isso cria um Array com 11 linhas e 2 colunas.
27 - Localize no procedimento do evento do Button1, as seguintes código:
jogadores[contador] = textBox1.Text;
28 - Mude-o para o seguinte:
jogadores[contador,0] = textBox1.Text;
Isso apenas indica que vamos adicionar o nome na linha que o loop indicar, na
coluna 1, de índice 0.
29 - Digite dentro da classe do Form1 o seguinte código:
int contadorFaltas = 0;
Esta variável fará o mesmo que a contador, só que para as faltas.
30 - Dê um clique duplo sobre o Button2 e digite o seguinte código:
if (contadorFaltas <= 10 && textBox2.Text != "")
{
jogadores[contadorFaltas, 1] = textBox2.Text;
contadorFaltas += 1;
textBox2.Text = null;
}
else
{
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 194
Curso Programando com C# e o Visual Studio .NET 2005
button2.Enabled = false;
}
Vai ficar assim:
Isso é semelhante ao código do Button1. Só que usamos a variável contadorFaltas,
o textBox2 e o button2.
Note também que agora atribuimos os valores à segunda coluna, como mostra o
código:
jogadores[contadorFaltas, 1] = textBox2.Text;
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 195
Curso Programando com C# e o Visual Studio .NET 2005
O índice 1 se refere a segunda coluna.
Agora precisamos mudar o código do button3, que exibe os dados, para listar as
faltas também.
31 - Mude o código do Button3 para o seguinte:
for (int i = 0; i <= 10; i++)
{
listBox1.Items.Add(jogadores[i,0] + " - Total de faltas: " +
jogadores[i,1]);
}
O que fizemos foi concatenar os dados da coluna 1 com os da 2, e fazer um loop
por cada linha do array de 0 a 10 ou seja pelas 11 linhas.
32 - Execute sua aplicação:
33 – Digite o nome de um Jogador e clique no botão Inserir Jogador.
Faça isso sucessivamente até que o botão seja desabilitado, ou seja, que o array
seja totalmente preenchido.
34 – Digite uma quantidade de faltas para cada jogador como fez com o nome dos
jogadores até o botão ser desabilitado.
35 – Clique no botão Visualizar array
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 196
Curso Programando com C# e o Visual Studio .NET 2005
Lição 32 – Coleções
Uma coleção é um grupo de objetos relacionados. Todo controle que você arrasta
para o Form é um objeto. E cada objeto adicionado ao Form é adicionado a uma
coleção. Essa coleção é conhecida como coleção de controles ou Control
Collection.
1 - Entre no Visual Studio e crie um novo projeto do tipo Windows Application
chamado Coleções.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 197
Curso Programando com C# e o Visual Studio .NET 2005
2 - Arraste 3 Buttons para o Form1.
Sempre que adicionamos controles como o Button por exemplo ao nosso Form,
automaticamente os controles são adicionados a coleção de controle do Form,
vamos chamar essa coleção de Control Collection daqui pra frente.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 198
Curso Programando com C# e o Visual Studio .NET 2005
3 - De um clique duplo sobro o button1 e digite o seguinte código:
foreach (Control controles in Controls)
{
controles.Text = "OK";
}
Vai ficar assim:
4 - Execute sua aplicação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 199
Curso Programando com C# e o Visual Studio .NET 2005
5 - Clique no Button1.
Nosso loop modificou a propriedade Text de todos os botões para OK.
Criamos um loop que passou por cada controle modificando sua propriedade Text.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 200
Curso Programando com C# e o Visual Studio .NET 2005
6 - Você pode filtrar os controles que quer modificar também, vamos fazer isso
modificando o Loop do Button1 para o seguinte:
foreach (Control controles in Controls)
{
if (controles.Name != "button1")
controles.Left = controles.Left + 20;
}
Vai ficar assim no painel de código:
7 - Execute a aplicação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 201
Curso Programando com C# e o Visual Studio .NET 2005
8 - Clique no Button1.
Agora apenas o Button2 e Button3 foram alterados pelo Loop. Já que
adicionamos o If para testar se o controle não era o Button1. Mudamos uma
propriedade diferente desta vez, movimentando assim os Buttons para a direita.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 202
Curso Programando com C# e o Visual Studio .NET 2005
Você pode referenciar um controle na coleção individualmente, para isso você
utiliza o indice para localizar um objeto da coleção. Como nos arrays o indice
começa sempre em 0. Outro ponto importante é que o primeiro controle do indice,
ou seja, o indice 0 é o último controle adicionado no Form1, o penultimo tem
indice 1 e assim sucessivamente. Se você adicionar um controle novo , ele fica com
indice 0 e os outros pulam um pra frente sucessivamente.
Assim para alterar o Button3 poderiamos usar a seguinte linha de código:
Controls[0].Left += 35;
Lembrando que Controls representa todos os controles do Form1, ou seja, a
Control Collection.
9 - No Form1 de um clique duplo sobre o Button2 e digite o seguinte código:
Controls[0].Left += 35;
10 - Execute a aplicação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 203
Curso Programando com C# e o Visual Studio .NET 2005
11 - Clique no Button2.
Conforme citado o indice 0 representa o último controle adicionado no Form1,
então nosso código moveu apenas o Button3 - que foi o último controle adicionado
- para a esquerda.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 204
Curso Programando com C# e o Visual Studio .NET 2005
Módulo 8
Aprofundando em Windows Forms
A partir deste capitulo vamos nos aprofundar mais no desenvolvimento de
aplicações para Windows. Um programa realmente não é desenvolvido com apenas
um formulário (Form). Sempre temos vários deles nos nossos programas, vamos
estudar neste capitulo como trabalhar com varios formulários. Alem disso, vamos
estudar as propriedades mais importantes dos formulários.
Lição 33 – Trabalhando com múltiplos formulários
Sempre que você cria uma Windows Application um formulário já é criado por
padrão, ele é conhecido como formulário Base.
Para adicionar um novo formulário no seu programa você:
1 – Na janela Solution Explorer, clique com o botão direito no nome do
projeto, selecione Add e clique em Windows Form. Como a imagem
seguinte.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 205
Curso Programando com C# e o Visual Studio .NET 2005
2 – Digite um nome para o novo formulário e clique em Add.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 206
Curso Programando com C# e o Visual Studio .NET 2005
Vamos fazer um exemplo que ilustra como podemos trabalhar com múltiplos
formulário.
1 – Crie uma Windows Application chamada Formularios.
2 – Arraste 2 buttons para o Form1.
3 – Mude as propriedades Text dos Buttons 1 e 2 para Vermelho e Verde
respectivamente.
4 – Adicione mais dois formulários no projeto.
5 – Mude o nome do Form2 para frmVermelho e do Form3 para frmVerde. Para
isso clique sobre o nome do Form no Solution Explorer e clique em Rename
como a imagem seguinte:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 207
Curso Programando com C# e o Visual Studio .NET 2005
Se a seguinte mensagem aparecer clique em Sim. Isso vai atualizar todas as
referencias ao form do projeto para o novo nome.
Vai ficar assim:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 208
Curso Programando com C# e o Visual Studio .NET 2005
6 – Mude a propriedade BackColor do frmVermelho para a cor Vermelha.
7 – Mude a propriedade BackColor do frmVerde para Verde.
8 – No Form1 de um clique duplo sobre o botão Vermelho e digite o seguinte
código dentro do procedimento do evento click:
frmVermelho Vermelho = new frmVermelho();
Vermelho.Show();
Vai ficar assim:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 209
Curso Programando com C# e o Visual Studio .NET 2005
9 – Faça o mesmo para o botão Verde mas digite o seguinte código:
frmVerde Verde = new frmVerde();
Verde.ShowDialog();
10 – Execute a aplicação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 210
Curso Programando com C# e o Visual Studio .NET 2005
11 – Clique sobre o botão Vermelho.
O formulário Vermelho é aberto, perceba que você pode clicar novamente no Form1
e depois voltar para o Vermelho e assim por diante.
12 – Feche a janela Vermelha e clique agora no botão Verde.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 211
Curso Programando com C# e o Visual Studio .NET 2005
Perceba agora que você não consegue voltar para o Form1 sem antes fechar o
formulário Verde, isso porque usamos o método ShowDialog ao invés do método
Show, geralmente eu procuro usar sempre o método ShowDialog em minhas
aplicações.
Para a próxima lição continuaremos usando este exemplo.
Lição 34 – Passando valores entre Forms
Para esta lição continuaremos usando o exemplo que criamos na lição anterior.
1 – Adicione 1 button e 1 label no formulário frmVermelho conforme a imagem:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 212
Curso Programando com C# e o Visual Studio .NET 2005
2 – Vá para o painel de código do frmVermelho e dentro da classe frmVermelho
digite o seguinte código:
public string mensagem;
Isso cria uma variável publica do tipo string chamada Mensagem.
Usamos a palavra public antes do tipo do dado na declaração de variáveis sempre
que queremos fazê-la publica.
Uma variável publica pode ser acessada por outro formulário.
Vai ficar assim no painel de código:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 213
Curso Programando com C# e o Visual Studio .NET 2005
3 – Vá para o Form1 e de um clique duplo sobre o botão Vermelho.
4 – Adicione o seguinte código:
Vermelho.mensagem = "Formulario Form1";
Vai ficar assim:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 214
Curso Programando com C# e o Visual Studio .NET 2005
5 – Volte para o frmVermelho, de um clique duplo sobre o button1 e digite o
seguinte código no procedimento:
label1.Text = mensagem;
Isso adiciona o conteúdo da variável mensagem no Label1.
6 - Execute a aplicação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 215
Curso Programando com C# e o Visual Studio .NET 2005
7 – Clique sobre o botão Vermelho.
8 – No frmVermelho, clique no button1.
O conteúdo da variável foi exibida no label1. O mais importante desta lição é que
você agora é capaz de passar valores entre formulários.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 216
Curso Programando com C# e o Visual Studio .NET 2005
Lição 35 – Posicionando os formulários na tela
1
-
Crie
uma
nova
aplicação
do
tipo
Windows
Application
chamada
Posicionando.
2 - Modifique a propriedade StartPosition do Form1 para CenterScreen.
3 - Execute a aplicação.
Essa propriedade faz com que o formulário em questão seja exibido no centro da
tela.
4 - Pare a execução da aplicação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 217
Curso Programando com C# e o Visual Studio .NET 2005
5 - Modifique agora a propriedade StartPosition do Form1 para Manual.
Agora você deve especificar manualmente como os valores que serão usados para
posicionar o formulário na tela.
6 - Modifique a propriedade Location para 100;50.
7 - Execute a aplicação.
O formulário é exibido agora a 100 pixels da lateral esquerda e 50 pixels do topo da
tela.
Lição 36 – Controlando os eventos dos formulários
1 - Crie um novo projeto no Visual Studio chamado Eventos do tipo Windows
Application.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 218
Curso Programando com C# e o Visual Studio .NET 2005
O clique do botão é um exemplo de evento que pode ocorrer nos seus programas.
Existem dezenas de eventos que podem ocorrer em seus programas, e sempre que
um evento ocorre um bloco de código pode ser processado, esse bloco de código é
conhecido como Manipulador de Evento. O evento que você mais usou até aqui
foi o do clique do botão, também usou o Load do formulário.
O .NET Framework usa uma nomeação padrão para os Manipuladores de
Eventos. Essa nomeação combina o nome do objeto com o evento correspondente
ligando-os por um underline, exemplo: button1_Click; form1_Load.
Nosso exemplo vai nos mostrar como adicionar manipuladores de eventos em
nossos programas usando o painel de código ou Code Pane.
2 – Selecione o Form1 e na janela Properties clique sobre o botão Events.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 219
Curso Programando com C# e o Visual Studio .NET 2005
É exibida uma lista de todos os eventos disponíveis para o Formulário.
Cada objeto possui uma lista de eventos.
3 - Arraste para o Form1 os seguintes controles:
•
1 Label
•
1 TextBox
•
1 Button
4 – Clique sobre cada um dos controles acima e visualize sua lista de eventos.
Para criar o procedimento do evento desejado de um clique duplo sobre o nome do
mesmo na janela Properties.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 220
Curso Programando com C# e o Visual Studio .NET 2005
Módulo 9
Usando controles do Windows Forms
Lição 37 – Usando o controle dateTimePicket
Esse controle permite que o usuário escolha a data ou hora através de um
calendário. Muito util para evitar erros de digitação de data ou hora incorretos.
1 - Crie um nova aplicação chamada DateTimePicket do tipo Windows Forms.
2 - Localize o controle DateTimePicket na ToolBox e adicione-o ao Form1.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 221
Curso Programando com C# e o Visual Studio .NET 2005
O objeto DateTimePicket por padrão exibe a data atual, mas você pode ajustar
esse valor na propriedade Value.
3 - Execute sua aplicação.
4 - No controle DataTimePicket, clique na seta para baixo.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 222
Curso Programando com C# e o Visual Studio .NET 2005
Você pode escolher a data no calendário. Isso é muito prático e evita erros.
5 – Pare a execução da aplicação.
6 - Arraste um Button para o formulário.
7 - Altere a propriedade Text do Button1 para Aniversário, como a imagem:
8 – De um clique duplo sobre o botão e no seu procedimento de evento clique
digite o seguinte código:
MessageBox.Show("Sua data de aniversário é " + dateTimePicker1.Text);
MessageBox.Show("O dia é " +
dateTimePicker1.Value.DayOfYear.ToString());
MessageBox.Show("Hoje é " + DateTime.Now.ToString());
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 223
Curso Programando com C# e o Visual Studio .NET 2005
A primeira linha usa a propriedade Text para exibir a data que esta selecionada no
controle.
A segunda usa o método DayOfYear para recuperar apenas o dia do ano da data
que esta selecionada no controle.
A terceira linha exibe a data e hora atual usando o método Now da estrutura
DateTime.
9 - Execute a aplicação.
10 - Selecione a data do seu aniverário no controle.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 224
Curso Programando com C# e o Visual Studio .NET 2005
Para encontrar mais facil a data você pode digitar o ano no controle antes de abrir
o calendário para que ele já localize o ano.
11 - Clique no botão aniversário.
A primeira mensagem exibe a data do seu aniversário ou nascimento se você
selecionou o ano em que nasceu.
12 - Clique em OK.
A segunda mensagem exibe o número do dia do seu aniversário ou nascimento em
relação ao ano selecionado.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 225
Curso Programando com C# e o Visual Studio .NET 2005
13 - Clique novamente em OK para exibir a data atual.
14 - Clique em Ok e feche sua aplicação.
Lição 38 – Usando os controles radioButton,
checkBox, listBox e comboBox
Vamos compreender agora como utilizar os controles RadioButton, CheckBox,
ListBox e ComboBox para receber informações dos usuários. Para isso vamos
criar uma simples aplicação que usa os quatro tipos de controles para você
compreender quais as diferenças entre eles, quando e como aplicá-los.
1 - Crie um novo projeto chamado Controles do tipo Windows Application.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 226
Curso Programando com C# e o Visual Studio .NET 2005
2 - Arraste para o Form1 os seguintes controles:
•
2 GroupBox
•
3 RadioButton
•
3 CheckBox
•
1 ListBox
•
1 ComboBox
•
8 Label
3 - Organize-os como a figura:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 227
Curso Programando com C# e o Visual Studio .NET 2005
4 - Mude a propriedade Text do GroupBox1 para Computadores (apenas um).
5 - Mude a propriedade Text do GroupBox2 para Escritório (0-3).
6 - Mude a propriedade Text do RadioButton1 para PC.
7 - Mude a propriedade Text do RadioButton2 para MAC.
8 - Mude a propriedade Text do RadioButton3 para Notebook.
9 - Mude a propriedade Text do CheckBox1 para FAX.
10 - Mude a propriedade Text do CheckBox2 para Calculadora.
11 - Mude a propriedade Text do CheckBox3 para Copiadora.
12 - Mude a propriedade Text do Label1 para Periféricos (apenas um).
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 228
Curso Programando com C# e o Visual Studio .NET 2005
13 - Mude a propriedade Text do Label2 para Produtos escolhidos.
14 - Mude a propriedade Text dos Labels 3 a 8 para “vazio”.
Deve ficar como a seguinte imagem:
Os 3 RadioButton devem ficar dentro do GroupBox1, assim como os 3
CheckBox devem ficar dentro do GroupBox2, o GroupBox agrupa os controles.
Vamos agora inserir valores na ListBox1.
15 - Clique na ListBox1 e na janela Properties, localize a propriedade Items.
Clique no botão com as reticências nesta propriedade, deve abrir a seguite caixa:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 229
Curso Programando com C# e o Visual Studio .NET 2005
16 - Na janela String Collection Editor digite os items conforme a figura abaixo:
17 - Clique em OK.
Isso deve adicionar os items que digitamos na ListBox1.
18 - Faça o mesmo para o ComboBox1, adicione os seguintes items:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 230
Curso Programando com C# e o Visual Studio .NET 2005
19 - Mude a propriedade Text do ComboBox1 para Forma de Pagamento.
Seu Form1 deve estar semelhante a seguinte imagem:
20 - Execute a aplicação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 231
Curso Programando com C# e o Visual Studio .NET 2005
A primeira funcionade que iremos implementar agora é a dos RadioButton. Eles
são usados sempre que o usuário precisa fazer uma escolha única, já que não
permite que mais de um item seja marcado. Podemos também colocar uma escolha
que já aparece marcada como padrão, para isso você deve mudar a propriedade
Checked do RadioButton em questão para True.
21 - Pare a execução do programa.
22 - Mude a propriedade Checked do RadioButton1 para True.
23 - Execute novamente a aplicação. Agora o item PC já apareçe marcado.
24 - Pare novamente a execução do programa. Vamos agora programar o código
para os RadioButtons.
25 - No modo Design, de um clique duplo sobre o RadioButton1 e digite o
seguinte código no procedimento de evento criado:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 232
Curso Programando com C# e o Visual Studio .NET 2005
label3.Text = "PC";
26 - Faça o mesmo para o RadioButton2 e RadioButton3, digitando as seguintes
linhas de código respectivamente:
label3.Text = "MAC";
label3.Text = "Notebook";
Deve ficar assim:
O evento padrão para o RadioButton é o CheckedChanged, que ocorre sempre
que há uma mudança na propriedade Checked. Quando você clica nele o Checked
fica como True, então o evento é disparado e muda a propriedade Text do Label3.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 233
Curso Programando com C# e o Visual Studio .NET 2005
27 - Execute a aplicação e clique sobre as escolhas do RadioButtons para verificar
a funcionalidade que acabamos de colocar.
28 - Pare a execução do programa.
Vamos agora programar o código para os CheckBoxes. Eles são semelhantes ao
RadioButton, no entando permitem mais de uma escolha. Novamente você pode
mudar a propriedade Checked de alguns deles para já iniciarem marcados. São
usados sempre para perguntas que requerem nenhum ou várias respostas como no
nosso exemplo. O usuário pode não querer nenhum item para o escritório, pode
querer um, dois ou todos os items.
29 - De um clique duplo sobre o CheckBox1 e digite o seguinte código:
if (checkBox1.Checked == true)
label6.Text = "Fax";
else
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 234
Curso Programando com C# e o Visual Studio .NET 2005
label6.Text = "";
30 - Faça o mesmo para o CheckBox2 e digite o seguinte código:
if (checkBox2.Checked == true)
label7.Text = "Calculadora";
else
label7.Text = "";
31 - Faça o mesmo para o CheckBox3 e digite o seguinte código:
if (checkBox3.Checked == true)
label8.Text = "Copiadora";
else
label8.Text = "";
32 - Execute sua aplicação. Marque as opções FAX e Copiadora, por exemplo, como
disse podemos marcar mais de um item.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 235
Curso Programando com C# e o Visual Studio .NET 2005
33 - Pare a execução do programa.
34 - De um clique duplo sobre o ListBox1 e digite o seguinte código:
label4.Text = listBox1.SelectedItem.ToString();
Isso escreve o conteúdo do item seleciona na Label4.
35 - Vamos já programar o código para a ComboBox também, de um clique duplo
sobre a mesma no modo Design para abrir o procedimento de evento padrão e
digite o seguinte código:
label5.Text = comboBox1.SelectedItem.ToString();
36 - Execute sua aplicação.
37 - Teste todas as escolhas.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 236
Curso Programando com C# e o Visual Studio .NET 2005
Agora você já é capaz de pegar informações dos usuários de várias maneiras.
Procure utilizar sempre os controles aprendidos neste capitulo, eles impedem
muitos erros nos programas por impedirem entradas de dados inválidas.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 237
Curso Programando com C# e o Visual Studio .NET 2005
Módulo 10
Bancos de dados com ADO.NET
Lição 39 – Conceitos básicos de banco de dados
Tudo o que aprendemos até aqui é relacionado à interface com o usuário ou Front
End, esse acessa os dados nos bancos de dados. Um banco de dados é uma
coleção organizada de informações armazenadas. Você pode criar poderosos banco
de dados usando ferramentas da própria Microsoft como SQL Server e Access e
outros de terceiros como Paradox, Oracle, etc, ou seja, você não usa o Visual
Basic.NET para criar bancos de dados, mas para exibir, analisar, e manipular as
suas informações.
Para manipular os dados você precisa entender os conceitos básicos.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 238
Curso Programando com C# e o Visual Studio .NET 2005
A imagem acima representa uma tabela em um banco de dados. Esta tabela
armazena as informações dos clientes. Cada linha representa um registro. Cada
registro na nossa tabela clientes representa um cliente especifico. Cada coluna
representa um campo, sendo cada campo uma informação do cliente, como nome
e telefone. Podemos ter mais informações como endereço, cep, etc. Um banco de
dados pode e geralmente contem varias tabelas. Outras tabelas no nosso banco de
dados de clientes poderiam ser produtos, vendedores, etc.
Para criar o banco de dados que vamos utilizar nos exemplos deste capitulo vamos
usar o Access. O Access é instalado junto com o Microsoft Office, se sua versão for
a 2003, ele deve estar em Iniciar > Programas > Microsoft Office > Microsoft
Office Access 2003. Você pode usar qualquer versão do Access para os exemplos
deste capítulo.
1 - Entre no Access.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 239
Curso Programando com C# e o Visual Studio .NET 2005
2 - No menu Arquivo clique em Novo.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 240
Curso Programando com C# e o Visual Studio .NET 2005
3 - Crie uma pasta chamada ADONET no local que você esta criando seus
exemplos, navegue até essa pasta e crie o banco com o nome dados.mdb.
4 - Na janela dados:Banco de dados, de um clique duplo em Criar tabela no
modo Design.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 241
Curso Programando com C# e o Visual Studio .NET 2005
5 - Digite em Nome do campo e Tipo de dados os itens como na figura abaixo.
Note que o campo id contêm uma chave, para adiciona-lá com o campo id
selecionado clique em Chave Primaria na barra de ferramentas.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 242
Curso Programando com C# e o Visual Studio .NET 2005
6 - Na janela Tabela1:Tabela clique em fechar, você vai receber a seguinte
mensagem:
7 - Clique em Sim.
8 - Em Nome da tabela digite Clientes e clique em OK.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 243
Curso Programando com C# e o Visual Studio .NET 2005
A tabela clientes é criada.
9 - De um clique duplo sobre ela e digite o nome e telefone de 10 pessoas, como a
figura:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 244
Curso Programando com C# e o Visual Studio .NET 2005
Note que não é necessário digitar o Id porque ele é adicionado automaticamente,
isso porque selecionamos numeração automatica quando criamos o campo. O id é o
campo que identifica individualmente cada registro no banco de dados. Por isso
marcamos ele com a chave primaria, podem ter dois clientes com o mesmo nome,
mas não com o mesmo id em nossa tabela.
10 - Feche o Access.
Lição 40– Usando o Visual Studio 2005 para
manipular dados de um banco de dados.
1 - Crie uma nova aplicação chamado ADONET do tipo Windows Application.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 245
Curso Programando com C# e o Visual Studio .NET 2005
2 – No menu Data, clique em Add New Data Source.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 246
Curso Programando com C# e o Visual Studio .NET 2005
Nesta janela podemos escolher qual a origem dos dados.
3 – Selecione Database na janela Data Source Configuration Wizard e clique em
Next.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 247
Curso Programando com C# e o Visual Studio .NET 2005
Escolhemos que nossa origem de dados será um banco de dados, agora criaremos
uma nova conexão com o banco de dados.
4 – Clique no botão New Connection.
5 – Na janela Choose Data Source, selecione Microsoft Access Database File, já que
criamos nosso banco de dados no Access.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 248
Curso Programando com C# e o Visual Studio .NET 2005
6 – Ainda na janela Choose Data Source, clique em Continue.
7 – Aparece a janela Add Connection. Nela selecionaremos o nosso banco de dados
clicando em Browse. Se configuramos uma senha no nosso banco de dados
especificamos as mesmas nesta janela também.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 249
Curso Programando com C# e o Visual Studio .NET 2005
8 – Clique em Browse e selecione o arquivo de banco de dados dados.mdb que
criamos, conforme a imagem seguinte.
9 – Clique em Test connection para testar a conexão, após clique em OK.
Voltando a janela Data Source Configuration Wizard podemos ver a string de
conexão criada, basta clicar em + Connection string.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 250
Curso Programando com C# e o Visual Studio .NET 2005
10 – Clique em Next. A seguinte mensagem é exibida:
Se você clicar em sim o Visual Studio criará automaticamente uma copia do banco
de dados para dentro do projeto e corrigira a string de conexão para o uso do
mesmo.
11 –Clique em Sim.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 251
Curso Programando com C# e o Visual Studio .NET 2005
12 - A tela acima permite que salvemos a string de conexão em um arquivo de
configuração XML, certifique-se que Yes, save the connection as estaja marcado e
clique em Next.
13 - A tela seguinte permite que escolhamos as tabelas e consultas que desejamos
usar em nosso programa, marque todas as opções em clique em Finish.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 252
Curso Programando com C# e o Visual Studio .NET 2005
14 – No menu Data, clique em Show Data Sources, a seguinte janela é aberta:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 253
Curso Programando com C# e o Visual Studio .NET 2005
Nesta janela configuramos como os controles de tela devem ser criados baseados
nos campos das tabelas do banco de dados.
15 – Clique em + Clientes para espandir os campos.
16 – Arraste Clientes para o formulário, ele deve ficar como a seguinte figura:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 254
Curso Programando com C# e o Visual Studio .NET 2005
Perceba que ele já cria automaticamente os controles necessários para o acesso e
atualização dos dados, assim como um controle DataGridView para manipular os
mesmos.
17 – Execute a aplicação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 255
Curso Programando com C# e o Visual Studio .NET 2005
Você já pode navegar, incluir, excluir e alterar os registro da tabela.
18 – Pare a execução do programa.
19 – Apague todos os controles do Form1.
20 – Na janela Data Sources, clique na seta para baixo de Clientes e selecione
Detais.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 256
Curso Programando com C# e o Visual Studio .NET 2005
21 – Arraste novamente Clientes para o formulário.
Novamente são criados todos os controles necessários para a manipulação dos
dados, só que desta vez não é usado o DataGridView.
22 – Execute a aplicação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 257
Curso Programando com C# e o Visual Studio .NET 2005
Novamente você pode navegar, incluir, excluir e alterar os registro da tabela.
23 – Pare a execução do programa.
Você também pode configurar individualmente como será exibido cada campo da
tabela através da janela Data Sources. Basta clicar na seta para baixo do campo
conforme a próxima imagem:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 258
Curso Programando com C# e o Visual Studio .NET 2005
Agora você já é capaz de manipular dados em seus programas.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 259
Curso Programando com C# e o Visual Studio .NET 2005
Módulo 11
Imprimindo
Lição 41 – Imprimindo a partir de uma textBox
1 - Crie um nova aplicação chamada Impressão, do tipo Windows Application.
2 - Adicione os seguintes controles no Form1:
•
3 Button
•
1 TextBox
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 260
Curso Programando com C# e o Visual Studio .NET 2005
•
1 PrintDocument
•
1 PrintDialog
•
1 PageSetupDialog
•
1 PrintPreviewDialog
3 - Mude as seguintes propriedades do TextBox1:
Multiline = True
ScrollBars = Vertical
4 - Mude a propriedade Text do Button1 para Imprimir.
5 - Mude a propriedade Text do Button2 para Configurar Impressão.
6 - Mude a propriedade Text do Button3 para Visualizar Impressão.
7 - Organize os 3 botões e o TextBox como a figura:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 261
Curso Programando com C# e o Visual Studio .NET 2005
8 - Na janela Solution Explorer clique no botão View Code.
9 - No topo do código do formulário digite o seguinte código:
using System.Drawing.Printing;
Isso permite que usemos a classe PrintDocument, ela fica localizada dentro do
namespace System.Drawing.Printing. A linha acima permite que usemos o
namespace em questão dentro código do Form1.
Namespaces organizam as classes com o objetivo de facilitar sua implementação.
10 - Dentro da classe digite:
PageSettings configuracaoDepagina = new PageSettings();
string stringParaImprimir;
Font fontParaImprimir = new Font("Arial", 10);
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 262
Curso Programando com C# e o Visual Studio .NET 2005
Como pode perceber no código acima criamos 3 variáveis que vão armazenar
informações importantes que ficarão disponiveis para todos os procedimentos da
classe Form1.
O código digitado até aqui deve estar assim no painel de código:
11 - De um clique duplo sobre o Button1 (Imprimir) no modo design e digite o
seguinte código no procedimento do botão:
stringParaImprimir = textBox1.Text;
printDialog1.Document = printDocument1;
printDocument1.Print();
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 263
Curso Programando com C# e o Visual Studio .NET 2005
12 - Vá para o modo design novamente e de um clique duplo sobre o controle
PrintDocument1.
O Visual Studio cria para o PrintDocument1 um procedimento de evento que será
executado sempre que for solicitada a impressão de uma página.
13 - Digite o seguinte código para o procedimento printDocument1_PrintPage:
int numeroLinhas;
int numeroCaracteres = 0;
string stringParaPagina;
StringFormat formataString = new StringFormat();
RectangleF areaPagina = new
RectangleF(e.MarginBounds.Left, e.MarginBounds.Top,
e.MarginBounds.Width, e.MarginBounds.Height);
SizeF areaLinha = new SizeF(e.MarginBounds.Width,
e.MarginBounds.Height - fontParaImprimir.GetHeight(e.Graphics));
formataString.Trimming = StringTrimming.Word;
e.Graphics.MeasureString(stringParaImprimir,
fontParaImprimir, areaLinha, formataString, out numeroCaracteres, out
numeroLinhas);
stringParaPagina = stringParaImprimir.Substring(0,
numeroCaracteres);
e.Graphics.DrawString(stringParaPagina, fontParaImprimir,
Brushes.Black, areaPagina, formataString);
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 264
Curso Programando com C# e o Visual Studio .NET 2005
if (numeroCaracteres < stringParaImprimir.Length)
{
stringParaImprimir =
stringParaImprimir.Substring(numeroCaracteres);
e.HasMorePages = true;
}
else
{
e.HasMorePages = false;
stringParaImprimir = textBox1.Text;
}
Esse procedimento de eventos define a área da página que vai ser impressa, se for
preciso dividir o texto em linhas e páginas esse procedimento também se
responsabilizará por isso.
A área de impressão é definida usando a variável areaPagina, que é baseada na
classe RectangleF.
RectangleF areaPagina = new RectangleF(e.MarginBounds.Left,
e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height);
A variável formataString usa o método Trimming para determinar quanto texto
pode ajustar em uma página.
formataString.Trimming = StringTrimming.Word;
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 265
Curso Programando com C# e o Visual Studio .NET 2005
O código abaixo assegura que o texto não seja cortado na página:
e.Graphics.MeasureString(stringParaImprimir, fontParaImprimir,
areaLinha, formataString, out numeroCaracteres, out numeroLinhas);
Depois o texto é impresso na página através do método DrawString.
e.Graphics.DrawString(stringParaPagina, fontParaImprimir,
Brushes.Black, areaPagina, formataString);
O If é usado para verificar se é necessário mais de uma página para imprimir o
texto em questão, para tanto ele usa a propriedade HasMorePages.
if (numeroCaracteres < stringParaImprimir.Length)
{
stringParaImprimir = stringParaImprimir.Substring(numeroCaracteres);
e.HasMorePages = true;
}
else
{
e.HasMorePages = false;
stringParaImprimir = textBox1.Text;
}
Talvez o procedimento do evento PrintDocument1_PrintPage tenha sido um
pouco complicado comparado com os demais vistos neste curso, não se preocupe,
com pouco tempo de experiência você será capaz de compreende-lo com facilidade.
14 - Execute sua aplicação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 266
Curso Programando com C# e o Visual Studio .NET 2005
15 - Digite algum texto na caixa de texto, e clique no botão imprimir.
O texto deve ser impresso. A seguinte caixa de diálogo é exibida.
16 - Pare a execução do programa.
Vamos implementar agora o código que permite que o usuário escolha a impressora
e o número de páginas que deseja imprimir.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 267
Curso Programando com C# e o Visual Studio .NET 2005
17 - Volte novamente para o procedimento do evento do botão Imprimir e altere o
código para o seguinte:
stringParaImprimir = textBox1.Text;
printDialog1.Document = printDocument1;
DialogResult resultado = new DialogResult();
resultado = printDialog1.ShowDialog();
if (resultado == DialogResult.OK)
printDocument1.Print();
18 - Execute a aplicação.
19 - Digite algum texto na caixa de texto, e clique no botão imprimir.
Agora antes da impressão é exibida a janela Imprimir que permite que o usúario
escolha a impressora e o número de cópias.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 268
Curso Programando com C# e o Visual Studio .NET 2005
20 - Clique em OK para imprimir ou Cancelar para fechar a janela Imprimir e
voltar ao Form1 sem realizar a impressão.
21 - Pare a execução do programa.
Vamos implementar o código agora que permite a configuração da impressão.
22 - De um clique duplo sobre o Button2 (Configurar Impressão) e digite o
seguinte código pra o procedimento do evento:
pageSetupDialog1.PageSettings = configuracaoDepagina;
pageSetupDialog1.ShowDialog();
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 269
Curso Programando com C# e o Visual Studio .NET 2005
Esse é o código que exibe a janela de configuração da impressão e armazena os
valores selecionados na variável ConfiguracaoDePagina.
23 - Adicione a seguinte linha de código no procedimento do evento click do
Button1.
printDocument1.DefaultPageSettings = configuracaoDepagina;
O procedimento vai ficar assim:
printDocument1.DefaultPageSettings = configuracaoDepagina;
stringParaImprimir = textBox1.Text;
printDialog1.Document = printDocument1;
DialogResult resultado = new DialogResult();
resultado = printDialog1.ShowDialog();
if (resultado == DialogResult.OK)
printDocument1.Print();
24 - Execute a aplicação.
25 - Clique no botão Configurar Impressão.
A janela Configurar página é exibida com as opções de configuração.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 270
Curso Programando com C# e o Visual Studio .NET 2005
26 - Clique em OK.
27 - Pare a execução do programa.
Vamos agora implementar o código para Visualizar a Impressão.
28 - No modo design de um clique duplo sobre o Button3 e digite o seguinte
código:
pageSetupDialog1.PageSettings = configuracaoDepagina;
stringParaImprimir = textBox1.Text;
printPreviewDialog1.Document = printDocument1;
printPreviewDialog1.ShowDialog();
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 271
Curso Programando com C# e o Visual Studio .NET 2005
As duas primeiras linhas de código são as mesmas usadas no Button1, a terceira
indica que o documento a ser visualizado é o PrintDocument1, a última linha
exibe a visualização.
29 - Execute a aplicação.
30 - Digite algum texto e clique no botão Visualizar Impressão.
Se você quizer imprimir diretamente da janela Visualizar Impressão é só clicar na
Impressora. Você também tem opções de Zoom, seleção de páginas e possibilidade
de visualizar várias páginas de uma só vez na tela.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 272
Curso Programando com C# e o Visual Studio .NET 2005
31 - Clique em Close para fechar o Visualizar Impressão.
32 - Para a aplicação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 273
Curso Programando com C# e o Visual Studio .NET 2005
Módulo 12
Distribuindo sua aplicação
Depois de pronta sua aplicação precisa ser distribuida para todos que querem ou
precisam usá-la. Para usar a sua aplicação, o único requisito para o computador do
cliente é que tenha instalado o .NET Framework. Este pode ser instalado
diretamente do site da Microsoft, ou ser disponibilizado com sua aplicação no
pacote de instalação. Ele também é disponível através do Windows Update e
futuramente deve vir junto com todos os sistemas operacionais da Microsoft. Então,
tendo o .NET Framework instalado na máquina, para sua aplicação funcionar
basta você copiar o arquivo executável para a máquina em questão e executá-lo.
No entanto essa prática não é muito recomendada, é mais elegante criar um pacote
de instalação para instalar o programa, permitindo assim também sua possivel
desinstalação através do Painel de Controle, Adicionar/Remover programas.
O .NET Framework não funciona no Windows 95, então não será possivel rodar sua
aplicação neste sistema operacional.
As versões Windows 98, ME, NT 4.0, 2000 e XP permitem a instalação do .NET
Framework sem problemas.
Programas que usam o Access como banco de dados também precisam que o
arquivo do Access seja copiado junto com a instalação. Não é necessário ter
instalado na máquina que vai o rodar o programa o Microsoft Access, o .NET
Framework já contém as classes necessárias para usar o arquivo. Tenha atenção
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 274
Curso Programando com C# e o Visual Studio .NET 2005
com o caminho do banco de dados durante a execução em outros computadores, se
o caminho estiver errado a aplicação não vai funcionar corretamente.
Durante este capitulo você vai aprender a criar o pacote de instalação para os seus
programas.
Lição 42 – Criando um projeto de instalação
Neste capitulo usaremos o projeto criado na lição 33 – Trabalhando com múltiplos
formularios.
1 - Abra no Visual Studio o programa Formularios para Windows Form.
2 - No menu File clique aponte em New e clique em New Project.
3 - Na janela New Project, em Project Type, selecione Setup and Deployment
Projects.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 275
Curso Programando com C# e o Visual Studio .NET 2005
Repare em Templates nas seguites opções:
Setup Project - cria programa de instalação que usa o Windows Installer.
Web Setup Project - usa o Windows Installer e um
Servidor Web para
disponibilidar a aplicação.
Merge Module Project - cria um arquivo de instalação do tipo msm que pode ser
usado por outras aplicações.
Cab Project - usado quando você precisa de arquivos de instalação com tamanho
especifico. Se por exemplo sua aplicação tem 30MB e você quer disponibiliza-la na
internet, pode criar 3 arquivos de 10MB para facilitar o download.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 276
Curso Programando com C# e o Visual Studio .NET 2005
Smart Device CAB Project – usado para criação de projeto instalação para
dispositivos móveis.
Setup Wizard - é um assistente, através dele você pode criar os tipos citados
acima só que de maneira simplificada.
4 – Selecione Setup Wizard.
5 – Em Solution, selecione Add to Solution como a imagem:
Isso adiciona o projeto a solução que esta aberta no Visual Studio, se estiver
marcado Create new Solution, o projeto aberto é fechado e é criado um novo
projeto.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 277
Curso Programando com C# e o Visual Studio .NET 2005
6 - Em Name você pode dar uma nome para seu projeto de instalação, neste
exemplo deixarei o padrão.
7 - Clique em OK.
O Assistente é iniciado.
8 - Clique em Next.
9 - O segundo passo é informar o assistente para que tipo de aplicação estamos
criando a instalação. Deixe marcado a opção Create a setup for a Windows
Application e clique em Next.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 278
Curso Programando com C# e o Visual Studio .NET 2005
Isto informa que nossa aplicação é do tipo Windows Application e para tal
estamos criando o projeto de instalação.
Na próxima caixa de diálogo você escolhe os arquivos adicionais que podem ser
incluidos na instalação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 279
Curso Programando com C# e o Visual Studio .NET 2005
10 - Marque a opção Primary output from Formularios e clique em Next.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 280
Curso Programando com C# e o Visual Studio .NET 2005
Isso inclui na instalação arquivos EXE e DLL do projeto.
Se tiver arquivos adicionais para serem adicionados ao projeto como o arquivo do
banco de dados do Access ou algum TXT com informações sobre o projeto clique
em Add para adicionar o arquivo no passo 4 do assistente.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 281
Curso Programando com C# e o Visual Studio .NET 2005
11 - Clique em Next.
O passo 5 do assistente apenas exibe um resumo das opções escolhidas.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 282
Curso Programando com C# e o Visual Studio .NET 2005
12 - Clique em Finish.
O Visual Studio adiciona um novo projeto na solução chamado Setup1, como você
pode ver no Solution Explorer.
O File System Editor também apareçe como mostra a figura.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 283
Curso Programando com C# e o Visual Studio .NET 2005
Você usa o File System Editor para adicionar arquivos no seu projeto de
instalação e criar os atalhos do menu Iniciar e Desktop para sua aplicação.
13 - No File System Editor com a pasta Application Folder aberta, de um clique
com o botão direito do mouse em Primary Output from Formularios. No menu
que se abre clique em Create Shortcut to Primary output from Formularios.
Isso cria um atalho para a aplicação como mostra a figura:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 284
Curso Programando com C# e o Visual Studio .NET 2005
14 - Mude o nome do atalho para Formularios.
15 - Arraste o atalho para a pasta User’s Programs Menu.
Isso adiciona um atalho para a aplicação no menu Iniciar.
16 - Clique na pasta User’s Program Menu.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 285
Curso Programando com C# e o Visual Studio .NET 2005
Quando a aplicação for instalada, um atalho para a mesma será criado no menu
Iniciar > Programas. Você pode adicionar também o atalho no Desktop para
isso arraste uma cópia do mesmo para a pasta User’s Desktop.
17 - Clique em Setup1 na janela Solution Explorer e veja as propriedades
disponíveis na janela Properties.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 286
Curso Programando com C# e o Visual Studio .NET 2005
A propriedade Author e Manufacturer são geralmente preenchidas com o nome
da companhia que desenvolve o software, seus valores também são usados para
construir o caminho padrão onde será instalado o programa. Uma vez instalado o
programa a propriedade Author é exibida nas informações de suporte em
Adicionar/Remover Programas no Painel de Controle.
A propriedade Title é o nome do programa de instalação e a propriedade Version
permite especificar informações sobre a versão do seu programa de instalação. As
propriedades Product Code contém informações geradas pelo Visual Studio que
permitem identificar individualmente distribuições do seu programa.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 287
Curso Programando com C# e o Visual Studio .NET 2005
Atenção, estas propriedades dizem respeito ao programa de instalação e não a
aplicação Formularios.
18 - Na janela Solution Explorer, clique com o botão direito do mouse sobre
Setup1 e clique e em Properties.
É exibida a caixa de diálogo Setup1 Property Pages. Esta caixa de diálogo
permite que você altere algumas das opções escolhidas no assistênte (Setup
Wizard) caso necessário e customize algumas configurações adicionais que não
estavam disponíveis no assistente.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 288
Curso Programando com C# e o Visual Studio .NET 2005
A caixa Output File Name especifica o nome do arquivo da instalação. Geralmente
ele contém a extensão .msi por ser usado pelo Windows Installer.
A caixa de seleção Package Files contém 3 opções:
As Loose Uncompressed Files - cria arquivos descompactados dentro da pasta
de instalação.
In Setup File - é a que cria o arquivo msi.
Cabinet Files(s) - gera os arquivos cab na pasta de instalação.
A caixa de seleção Compression permite escolher a otimização da compactação
dos arquivos de intalação, a maior parte dos programadores escolhe Optimized
for Size, que prioriza diminuir o tamanho dos arquivos de instalação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 289
Curso Programando com C# e o Visual Studio .NET 2005
19 - Clique em OK.
20 - Um passo importante, simples e que não deve ser esquecido é mudar para
Release na barra de ferramentas a caixa de seleção Solution Configurations.
Quando estamos criando nossa aplicação é importante que esta caixa de seleção
esteja marcada com Debug para que possamos usar as ferramentas de depuração
de erros do Visual Studio. Com o Debug marcado o programa é compilado com
informações extras para permitir a depuração dos erros, essas informações não são
necessárias quando estamos disponibilizando nossa aplicação e também ocasionam
perda de performance na nossa aplicação.
21 - Na janela Solution Explorer, clique com o botão direito do mouse em
Setup1, selecione View, clique em Launch Condition.
É aberta a página Launch Condition como mostra a figura:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 290
Curso Programando com C# e o Visual Studio .NET 2005
22 - Na pasta Lauch Condition, clique em .NET Framework.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 291
Curso Programando com C# e o Visual Studio .NET 2005
Na janela Properties a propriedade InstallUrl é setada com uma página na
Internet que possibilita o download e instalação do .NET Framework, como sabe,
necessário para sua aplicação funcionar. Por padrão sempre que é inicializado a
instalação é verificado se o .NET Framework esta instalado na máquina em questão
ou não. Se não estiver ele usa essa propriedade, a InstallUrl para fazer o
download e instalação do arquivo Dotnetfx.exe, que instala o .NET Framework.
Antes de iniciar o download e instalação da Internet ele emite uma mensagem, o
contéudo desta mensagem está na propriedade Message.
Você pode disponibilizar o .NET Framework junto com sua instalação, para que não
seja necessário baixar o arquivo da internet. Para isso você muda a propriedade
InstallUrl para o caminho da sua instalação e se desejar muda a propriedade
Message para um mensagem mais apropriada. Será necessário copiar então o
arquivo Dotnetfx.exe para a pasta de instalação do seu programa ou para a pasta
que você indicar em InstallUrl.
Vamos deixar como está, para fazer o download se necessário.
23 -Na janela Solution Explorer, clique com o botão direito sobre Setup1, depois
clique em Build.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 292
Curso Programando com C# e o Visual Studio .NET 2005
Isto vai compilar e executar o projeto de instalação Setup1.
24 - No Windows Explorer localize a pasta do projeto Setup1, ela foi especificada
quando você criou o projeto.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 293
Curso Programando com C# e o Visual Studio .NET 2005
25 - Entre na pasta Release.
Eis os arquivos necessários para a instalação do seu projeto, você pode copiados
em um CD para disponibilizar a instalação do seu programa, como citado
anteriormente você pode copiar para esta pasta também o arquivo Dotnetfx.exe
para disponibilizar junto a instalação do .NET Framework.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 294
Curso Programando com C# e o Visual Studio .NET 2005
Lição 43 – Executando o programa de instalação
Vamos agora efetuar a instalação do programa Formularios à partir do projeto da
instalação que criamos na lição anterior comparando o processo com as
configurações que fizemos no projeto Setup1.
1 - Na pasta de instalação de um clique duplo em Setup.exe para iniciar a
instalação.
É iniciado o processo de instalação com a seguinte tela:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 295
Curso Programando com C# e o Visual Studio .NET 2005
2 - Clique em Next.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 296
Curso Programando com C# e o Visual Studio .NET 2005
Você vê e pode alterar a pasta de instalação do programa, note que o caminho é
C:\Arquivos de programas\HM\Setup1\, “HM” é o conteúdo da propriedade
Manufacturer, como comentamos na seção anterior. As opções Everyone e Just
me tem a ver com a segurança do Windows. Se você quer disponibilizar o
programa apenas para o seu usuário na máquina, marque a opção Just me, se
todos os usuários podem executar essa aplicação, marque a opção Everyone.
3 - Clique em Everyone.
4 - Clique em Next.
É exibida a tela de confirmação da instalação.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 297
Curso Programando com C# e o Visual Studio .NET 2005
5 - Clique em Next novamente.
É iniciada a instalação:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 298
Curso Programando com C# e o Visual Studio .NET 2005
Após concluida a instalação é exibida o tela Installation Complete.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 299
Curso Programando com C# e o Visual Studio .NET 2005
6 - Clique em Close para finalizar o instalador. Sua aplicação já foi instalada.
7 - Para executar sua aplicação no menu Iniciar > Programa, clique em
Formularios.
Uma vantagem de usar o Installer é que o programa é registrado no Windows
possibilitando sua possivel desinstalação através do Painel de Controle. Para
finalizar este capítulo vamos desinstalar nosso programa.
8 - Entre no Painel de Controle > Adicionar/Remover Programas.
9 - Localize o programa Setup1.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 300
Curso Programando com C# e o Visual Studio .NET 2005
Se você tivesse apenas copiado seu programa para a máquina de destino ele não
apareceria nesta lista.
10 - Clique em Clique aqui para obter informações de suporte.
Veja que ele mostra as propriedades conforme comentamos na seção anterior.
11 - Clique em Fechar.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 301
Curso Programando com C# e o Visual Studio .NET 2005
12 - Clique em Remover.
É exibida a seguinte caixa de mensagem:
13 - Clique em Sim.
O programa é desinstalado.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br e www.linhadecodigo.com.br
Confira também o curso: “Programando com VB.NET”
Página 302
Download