o guia prÁtico do visual c# 2005 express
TRANSCRIPT
VÍTOR PEREIRA
O GUIA PRÁTICO
DO
VISUAL C# 2005 EXPRESS
Portugal/2006
’Microsoft’ is a registered trademark of Microsoft Corporation in the United States and/or other countries and is used by Centro Atlântico under license from owner. ‘O Guia Prático do Visual C# 2005 Express’ is an independent publication not affiliated with Microsoft Corporation.
Reservados todos os direitos por Centro Atlântico, Lda. Qualquer reprodução, incluindo fotocópia, só pode ser feita com autorização expressa dos editores da obra.
O GUIA PRÁTICO DO VISUAL C# 2005 EXPRESS
Colecção: Tecnologias
Autor: Vítor Emanuel Pereira
Direcção gráfica: Centro Atlântico Revisão técnica: Centro Atlântico Capa: Paulo Buchinho
© Centro Atlântico, Lda., 2006
Av. Dr. Carlos Bacelar, 968 – Escr. 1 – A 4764-901 V. N. Famalicão
© Rua da Misericórdia, 76 – 1200-273 Lisboa
Portugal Tel. 808 20 22 21
[email protected] www.centroatlantico.pt
Impressão e acabamento: Inova 1ª edição: Setembro de 2006 ISBN: 989-615-030-3 ISBN-13: 978-989-615-030-3 Depósito legal: /06
Marcas registadas: Todos os termos mencionados neste livro conhecidos como sendo marcas registadas de produtos e serviços foram apropriadamente capitalizados. A utilização de um termo neste livro não deve ser encarada como afectando a validade de alguma marca registada de produto ou serviço. O Editor e os Autores não se responsabilizam por possíveis danos morais ou físicos causados pelas instruções contidas no livro nem por endereços Internet que não correspondam às Home--Pages pretendidas.
Índice
PREFÁCIO 13
Introdução ............................................................................................................13
Público-alvo e pré-requisitos...................................................................................14
Características principais ........................................................................................14
Convenções usadas................................................................................................15
Visão geral e Organização......................................................................................16
Código dos Projectos em Visual C#........................................................................20
SOBRE O AUTOR 23
Agradecimentos e Dedicatória ................................................................................23
PARTE I: INTRODUÇÃO E VISÃO GERAL
1 INTRODUÇÃO AO MICROSOFT VISUAL C# 2005 EXPRESS 27
1.1 Visual C# 2005 Express Edition .........................................................27
1.1.1 Características Principais............................................................................. 29
1.1.2 Instalação e Configuração ........................................................................... 36
1.1.3 Plataforma .NET........................................................................................... 44
1.2 O Ambiente de Desenvolvimento Integrado ......................................46
1.2.1 Barra de Menus............................................................................................ 49
1.2.2 Barras de Ferramentas ................................................................................ 50
1.2.3 As Janelas do IDE........................................................................................ 52
1.3 Resumo ..............................................................................................58
1.4 Exercícios ...........................................................................................60
2 INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES 61
2.1 Programação de Computadores ........................................................61
2.2 Uma Máquina Programável: o Computador.......................................63
2.3 Visão do Utilizador .............................................................................64
2.4 Visão do Programador .......................................................................66
2.5 Resumo ..............................................................................................67
2.6 Exercícios ...........................................................................................69
6 CENTRO ATLÂNTICO – COLECÇÃO TECNOLOGIAS – O GUIA PRÁTICO DO VISUAL C# 2005 EXPRESS
3 INTRODUÇÃO À PROGRAMAÇÃO EM VISUAL C# 71
3.1 Iniciar, Guardar e Fechar Projectos....................................................71
3.2 Primeira Aplicação de Consola ..........................................................76
3.3 Primeira Aplicação Windows ..............................................................84
3.4 Interacção com o Utilizador ................................................................99
3.5 Palavras Reservadas .......................................................................100
3.6 Introdução ao "Debugging"...............................................................102
3.7 Introdução ao Help ...........................................................................104
3.8 Resumo ............................................................................................108
3.9 Exercícios .........................................................................................110
PARTE II: CONCEITOS DA PROGRAMAÇÃO EM VISUAL C#
4 TIPOS DE DADOS, VARIÁVEIS E EXPRESSÕES 113
4.1 Tipos de Dados e Operações Primitivas ..........................................113
4.1.1 Tipos de Dados Numéricos ........................................................................115
4.1.2 Tipos de Dados de Texto............................................................................116
4.1.3 Tipos de Dados Lógicos .............................................................................117
4.1.4 Outros Tipos de Dados...............................................................................117
4.1.5 Resumo de Tipos de Dados .......................................................................118
4.2 Variáveis ...........................................................................................120
4.3 Operador Atribuição e Expressões...................................................126
4.4 Conversão entre Tipos de Dados.....................................................133
4.5 Precedência de Operadores e Avaliação de Expressões ................137
4.6 Resumo ............................................................................................140
4.7 Exercícios .........................................................................................141
5 OPERADORES DA PROGRAMAÇÃO 143
5.1 Operadores Aritméticos....................................................................143
5.2 Operadores Relacionais e Introdução às Condições .......................148
5.3 Operadores Lógicos e Condições Compostas.................................152
5.4 Operadores de Atribuição.................................................................158
5.5 Introdução às Funções pré-definidas ...............................................160
5.6 Precedência e Associatividade dos Operadores..............................166
5.7 Resumo ............................................................................................170
5.8 Exercícios .........................................................................................171
ÍNDICE 7
6 MANIPULAÇÃO DE TEXTO: STRINGS 173
6.1 Informação sobre Caracteres...........................................................173
6.2 Operações com Strings....................................................................176
6.3 Comparação de Strings....................................................................179
6.4 Funções Pré-Definidas.....................................................................180
6.4.1 Funções Básicas........................................................................................ 182
6.4.2 Outras Funções.......................................................................................... 188
6.5 A Classe StringBuilder .....................................................................193
6.6 Resumo ............................................................................................199
6.7 Exercícios .........................................................................................200
7 ESTRUTURAS BÁSICAS DA PROGRAMAÇÃO 201
7.1 Estruturas de Decisão ......................................................................202
7.1.1 Introdução às Estruturas de Decisão......................................................... 202
7.1.2 A Declaração if...else ..................................................................... 202
7.1.3 Alternativas Múltiplas: else if............................................................. 205
7.1.4 Declarações if...else Encadeadas ................................................. 210
7.1.5 A Declaração switch............................................................................. 213
7.2 Estruturas de Repetição...................................................................221
7.2.1 Introdução às Estruturas de Repetição (ou Ciclos) ................................... 221
7.2.2 Ciclo for .................................................................................................. 222
7.2.3 Ciclos foreach ...................................................................................... 231
7.2.4 Ciclos while e do...while............................................................. 233
7.2.5 Conceito de Iteração, Contador e Acumulador.......................................... 236
7.2.6 Ciclos Encadeados .................................................................................... 243
7.2.7 Ciclos Infinitos ............................................................................................ 245
7.3 Resumo ............................................................................................246
7.4 Exercícios .........................................................................................247
8 ESTRUTURAS DE DADOS COMPOSTAS 249
8.1 Vectores ...........................................................................................250
8.1.1 Declaração e Manipulação de Vectores .................................................... 251
8.1.2 Vectores e Ciclos ....................................................................................... 255
8.1.3 Métodos Pré-Definidos............................................................................... 259
8.2 Matrizes ............................................................................................265
8.3 Enumerações ...................................................................................270
8.4 Resumo ............................................................................................276
8.5 Exercícios .........................................................................................277
8 CENTRO ATLÂNTICO – COLECÇÃO TECNOLOGIAS – O GUIA PRÁTICO DO VISUAL C# 2005 EXPRESS
9 SUBPROGRAMAS OU PROCEDIMENTOS 279
9.1 Dividir, Reutilizar e Abstrair ..............................................................280
9.2 Procedimentos definidos pelo Programador ....................................285
9.3 Funções definidas pelo Programador...............................................287
9.4 Escolha de Nomes de Métodos........................................................289
9.5 Correspondência Argumentos-Parâmetros......................................289
9.6 Mecanismo de Passagem de Parâmetros........................................290
9.7 Resumo ............................................................................................294
9.8 Exercícios .........................................................................................296
10 TRATAMENTO DE ERROS E DEBUGGING 297
10.1 Tipos de Erros ..................................................................................297
10.1.1 Erros de Sintaxe .........................................................................................298
10.1.2 Erros de Lógica...........................................................................................301
10.1.3 Erros de Execução .....................................................................................301
10.2 Projecto em Visual C# ......................................................................303
10.3 Listagem de Erros de Sintaxe Comuns............................................317
10.4 Resumo ............................................................................................334
10.5 Exercícios .........................................................................................335
11 PROGRAMAÇÃO ORIENTADA AOS OBJECTOS 337
11.1 Introdução.........................................................................................338
11.2 Conceitos Básicos ............................................................................343
11.2.1 Classes e Objectos.....................................................................................344
11.2.2 Níveis de Acesso ........................................................................................346
11.2.3 Propriedades...............................................................................................347
11.2.4 Métodos ......................................................................................................350
11.2.5 Membros Estáticos .....................................................................................352
11.2.6 Construtores ...............................................................................................354
11.2.7 Overloading de Métodos.............................................................................357
11.2.8 Overloading de Operadores .......................................................................359
11.2.9 Classes Parciais .........................................................................................361
11.2.10 Classes Seladas .........................................................................................363
11.3 Resumo ............................................................................................364
11.4 Exercícios .........................................................................................365
12 TÉCNICAS AVANÇADAS DE OOP 367
12.1 Encapsulamento...............................................................................368
12.2 Herança ............................................................................................370
12.3 Polimorfismo.....................................................................................376
12.3.1 Membros Virtuais e Redefinição de Métodos.............................................377
12.4 Comentários XML.............................................................................379
12.5 Ferramentas OOP do Visual Studio .................................................382
ÍNDICE 9
12.5.1 A Janela Class View .................................................................................. 382
12.5.2 O Object Browser....................................................................................... 384
12.6 Resumo ............................................................................................386
12.7 Exercícios .........................................................................................388
PARTE III: CRIAÇÃO DE APLICAÇÕES EM VISUAL C#
13 CONSTRUÇÃO DA INTERFACE GRÁFICA 391
13.1 A Caixa de Ferramentas (Toolbox) ..................................................392
13.2 Visão Geral dos Controlos mais Comuns ........................................394
13.2.1 Aba Common Controls............................................................................... 394
13.2.2 Aba Containers .......................................................................................... 397
13.2.3 Aba Menus & Toolbars............................................................................... 398
13.3 Desenho da GUI: Apresentação de Boas Práticas ..........................399
13.4 Propriedades ....................................................................................400
13.5 Projecto em Visual C#: Gestão de Filmes .......................................405
13.5.1 Desenho da Interface Gráfica .................................................................... 406
13.6 Especificar a Ordem dos Tabs .........................................................414
13.7 Posicionamento dos Controlos no Form ..........................................416
13.8 Resumo ............................................................................................417
13.9 Exercícios .........................................................................................418
14 CONSTRUÇÃO DE UM JOGO: ADIVINHA O NÚMERO 421
14.1 Antevisão do Projecto ......................................................................422
14.2 Controlos Utilizados .........................................................................424
14.3 Controlos RadioButton, CheckBox e GroupBox ..............................425
14.4 Controlos ListBox e ComboBox .......................................................428
14.5 Controlos NumericUpDown e ToolTip..............................................430
14.6 Projecto em Visual C#: Jogo ‘Adivinha o número’ ...........................431
14.6.1 Desenho da Interface Gráfica .................................................................... 431
14.6.2 Adicionar Código aos Eventos................................................................... 435
14.7 Resumo ............................................................................................440
14.8 Exercícios .........................................................................................441
15 CRIAÇÃO DE UM EDITOR DE TEXTO 443
15.1 Antevisão do Projecto ......................................................................444
15.2 Caixas de Diálogo Pré-Definidas .....................................................445
15.3 Caixa de Diálogo MessageBox ........................................................447
15.3.1 Botões disponíveis ..................................................................................... 448
15.3.2 Ícones disponíveis...................................................................................... 449
10 CENTRO ATLÂNTICO – COLECÇÃO TECNOLOGIAS – O GUIA PRÁTICO DO VISUAL C# 2005 EXPRESS
15.3.3 Botão por omissão......................................................................................450
15.3.4 Valor retornado ...........................................................................................450
15.3.5 Exemplos de Utilização ..............................................................................451
15.4 Caixa de Diálogo ColorDialog ..........................................................452
15.5 Caixa de Diálogo FontDialog ............................................................453
15.6 Caixas de Diálogo OpenFileDialog e SaveFileDialog ......................454
15.7 Projecto em Visual C#: Bloco de Notas............................................456
15.7.1 Desenho da Interface Gráfica.....................................................................456
15.7.2 Adicionar Código aos Eventos....................................................................457
15.7.3 Explicação do Código .................................................................................461
15.8 Resumo ............................................................................................464
15.9 Exercícios .........................................................................................466
16 CONSTRUÇÃO DE UM WEB BROWSER 469
16.1 Antevisão do Projecto.......................................................................469
16.2 Controlos Utilizados..........................................................................470
16.3 Projecto em Visual C#: Web Browser ..............................................471
16.3.1 Adicionar uma Barra de Menus ..................................................................472
16.3.2 Adicionar e Chamar uma Janela Ajuda > Sobre ........................................473
16.3.3 Adicionar outros Controlos .........................................................................475
16.3.4 Configurar o Controlo ToolStrip ..................................................................477
16.3.5 Configurar o Controlo StatusStrip...............................................................479
16.3.6 Inserir o Código para Navegar em Múltiplas Abas .....................................479
16.3.7 Navegar pela primeira vez..........................................................................482
16.3.8 Adicionar mais Opções de Menu................................................................483
16.3.9 Adicionar um Menu de Contexto ................................................................488
16.4 Resumo ............................................................................................491
16.5 Exercícios .........................................................................................492
17 ACESSO A BASES DE DADOS 493
17.1 Antevisão do Projecto.......................................................................494
17.2 Conceitos, Regras e Terminologia básica........................................495
17.3 Componentes de Acesso a Bases de Dados...................................498
17.4 Projecto em Visual C#: Gestão de Contactos ..................................499
17.4.1 Criar uma Base de Dados ..........................................................................500
17.4.2 Ligar uma Aplicação a uma Base de Dados...............................................505
17.4.3 Visualizar Dados.........................................................................................507
17.4.4 Actualizar Dados.........................................................................................509
17.5 Resumo ............................................................................................511
17.6 Exercícios .........................................................................................512
ÍNDICE 11
18 GESTÃO DE BASES DE DADOS COM O SQL SERVER MANAGEMENT STUDIO EXPRESS 513
18.1 Instalação do SSMSE CTP ..............................................................514
18.2 Criar uma Base de Dados ................................................................516
18.3 Criar Consultas e Vistas...................................................................523
18.4 Acesso à Base de Dados .................................................................530
18.5 Resumo ............................................................................................534
18.6 Exercícios .........................................................................................535
ANEXO I: PROGRAMAÇÃO EM C# 536
ANEXO II: RESUMO DOS CONTROLOS DO WINDOWS 551
Prefácio
Introdução
Nunca houve melhor período para aprender a programar um computa-dor, tanto a nível de simplicidade como de funcionalidade. Por outro lado, nunca a necessidade de programação de computadores foi tão necessária e apreciada: desde as mais pequenas rotinas diárias que facilitam a nossa vida quotidiana, aos aspectos profissionais em todas as áreas da sociedade, até aos momentos de descanso e lazer.
O recente lançamento, por parte da Microsoft®, do Visual Studio® 2005
Express Edition, um conjunto de produtos que inclui o Visual C#® 2005 Express Edition, é, sem qualquer sombra de dúvida, uma evolução inte-ligente na disponibilização de ferramentas poderosas e de classe indis-cutível para que cada vez mais programadores conheçam o fascinante mundo da programação.
Acresce ainda um importante aspecto: o Visual C# 2005 Express é grá-tis (confira as condições de utilização em http://msdn.microsoft.com/ vstudio/express/), aliás, como o pacote completo Visual Studio 2005 Express. Contudo, o Visual C# não é uma ferramenta de demonstração ou uma versão para desenvolver aplicações de qualidade ou funcionali-dade limitada. É uma poderosa ferramenta que permite a criação de
aplicações para o Windows® e de bibliotecas de código reutilizável. É a linguagem de programação preferida de uma grande parte de progra-madores profissionais, mas também daquelas pessoas que desejam aprender a programar, criando software com utilidade prática, de forma simples e rápida.
14 CENTRO ATLÂNTICO – COLECÇÃO TECNOLOGIAS – O GUIA PRÁTICO DO VISUAL C# 2005 EXPRESS
Público-alvo e Pré-requisitos
Este livro é para todos: estudantes, programadores de outras lingua-gens, aprendizes de programadores e também para aquelas pessoas que sempre pensaram que a programação era algo demasiado difícil e exclusivo dos profissionais.
Para a leitura deste livro não são necessários quaisquer requisitos pré-vios ao nível de linguagens de programação de computadores. O único conhecimento necessário é o da utilização de aplicações de computado-res, mais concretamente de programas em ambiente Windows, como, por exemplo, as aplicações do Microsoft Office.
No entanto, caso o leitor pertença ao grupo de pessoas que já possui alguns conhecimentos sobre linguagens de programação, por exemplo, tendo já programado em Windows (Visual Basic ou outra) ou mesmo em modo não gráfico (Pascal, C, entre outras), então a transição para o Visual C# 2005 Express deverá ser consideravelmente mais simples, podendo, desde logo, utilizar funcionalidades mais avançadas.
Características Principais
Este livro inclui diversas características pensadas para que a programa-ção de computadores seja simultaneamente divertida e prática. Algu-mas das características incluem:
� No início de cada capítulo existe uma listagem de objectivos que identifica de forma clara as metas a atingir;
� Com excepção dos primeiros dois capítulos, de cariz mais teó-rico, todos os capítulos apresentam projectos práticos em Visual C#, do tipo "exercício guiado", em que o leitor pode reproduzir, passo-a-passo, a demonstração ou projecto a desenvolver;
� A Parte II apresenta um enquadramento sobre os conceitos bási-cos da programação de computadores – fundamental para a compreensão desta área de conhecimento. Por outro lado, os projectos desta parte estão divididos em secções, com exemplos práticos à medida que cada secção é apresentada e não no final do capítulo;
PREFÁCIO 15
� Todos os capítulos encontram-se profusamente ilustrados. Este aspecto é considerado fundamental por forma a melhor guiar o leitor na reprodução dos passos a dar em cada projecto;
� Os capítulos da Parte III, de aplicação prática de conhecimentos, e necessariamente mais elaborados, apresentam como primeira secção uma "Antevisão do Projecto", que descreve o funciona-mento básico pretendido;
� Os ficheiros dos exemplos práticos encontram-se disponíveis para os leitores. Veja na página 12 como pode ter acesso a es-ses ficheiros.
� Em todos os capítulos são usadas caixas com Dicas e Defini-ções que identificam, respectivamente, informação útil e o signifi-cado de termos:
DICA: Pressione Ctrl+Espaço para forçar a visualização do
IntelliSense ou escolha uma das opções existentes em EDIT >
INTELLISENSE.
DEFINIÇÃO: Uma classe é uma colecção de código que representa um objecto da programação, como, por exemplo, uma janela, um botão, um menu e uma caixa de texto.
� Todos os capítulos terminam com um Resumo e um conjunto de Exercícios que o leitor pode (e deve) tentar responder/realizar de forma a testar os seus conhecimentos.
Convenções Usadas
Este livro utiliza diversas convenções com vista a facilitar a assimilação da informação:
� Termos em inglês ou nomes específicos ao Visual C# são apre-sentados, de uma forma geral, em itálico (com excepção de con-ceitos que deverão ser familiares):
16 CENTRO ATLÂNTICO – COLECÇÃO TECNOLOGIAS – O GUIA PRÁTICO DO VISUAL C# 2005 EXPRESS
"De forma idêntica ao Splash Screen, seleccione..."
"...controlos ToolStrip, StatusStrip, TabControl."
� Palavras-chave, importantes para a compreensão do assunto a tratar, ou então valores a introduzir pelo leitor, são identificados a negrito:
"Esta prática designa-se por abstracção."
"Atribua o texto Operadores Atribuição e o nome btnAtribuir."
� O acesso a opções de menus é formatado em letras maiúsculas pequenas. O carácter ">" é utilizado para separar o menu da opção:
"...seleccione PROJECT > ADD WINDOWS FORM…"
� O código em Visual C# encontra-se formatado em Courier New com um ligeiro sombreado:
string msg = "Olá. Bons programas!"; MessageBox.Show("A mensagem é: " + msg);
� Combinações de teclas são identificadas através do carácter "+". Por exemplo, Ctrl+Espaço significa pressionar a tecla "Con-
trol" e de seguida premir a barra de espaços, soltando de segui-da as duas teclas.
Visão Geral e Organização
Este livro está dividido em dezoito capítulos, organizados em três par-tes.
A Parte I: Introdução e Visão Geral consiste nos primeiros três capí-tulos.
� Capítulo 1 – Introdução ao Microsoft Visual C# 2005 Express. Este capítulo apresenta o Visual C# 2005 Express Edition – uma poderosa ferramenta de desenvolvimento de apli-cações –, bem como uma visão geral sobre a plataforma .NET – um conjunto de ferramentas para apoiar o processo de desen-
PREFÁCIO 17
volvimento, distribuição e execução de aplicações. Mais con-cretamente, são apresentadas as características principais, o processo de instalação, e uma descrição do ambiente de desen-volvimento, nomeadamente as barras de menus e de ferramen-tas e as janelas mais importantes do Visual C# (a partir de agora, sempre que nos referirmos ao ‘Visual C#’ estaremos a falar do ‘Visual C# 2005 Express’).
� Capítulo 2 – Introdução à Programação de Computadores. Apresenta o conceito de programação de computadores. Neste capítulo são abordadas tanto a linguagem natural do computador como a linguagem usada para os programar. A distinção entre dois dos principais intervenientes do computador – o utilizador e o programador – são discutidas.
� Capítulo 3 – Introdução à Programação em Visual C#. Neste capítulo apresentam-se os passos para iniciar, guardar e fechar projectos e é criada a primeira aplicação de consola e Windows: um programa que lê um nome e apresenta uma mensagem de boas-vindas. São ainda abordados os conceitos de interacção com o utilizador (mostrar resultados), e de debugging. O capítulo termina com uma introdução ao sistema de ajuda (Help).
A Parte II: Conceitos da Programação em Visual C# apresenta os conceitos básicos da programação em nove capítulos.
� Capítulo 4 – Tipos de Dados, Variáveis e Expressões. Aborda os tipos de dados principais do Visual C# – numéricos (inteiros e reais), texto e valores verdadeiro/falso –, e o conceito e a atribui-ção de expressões simples a variáveis.
� Capítulo 5 – Operadores da Programação. O Visual C#, como todas as outras linguagens de programação, possui um conjunto de operadores de forma a realizarem cálculo sobre valores. A apresentação dos diferentes tipos de operadores – matemáticos, relacionais, lógicos e de atribuição –, para além dos conceitos de funções pré-definidas e de precedência de operadores é reali-zada neste capítulo.
18 CENTRO ATLÂNTICO – COLECÇÃO TECNOLOGIAS – O GUIA PRÁTICO DO VISUAL C# 2005 EXPRESS
� Capítulo 6 – Manipulação de Texto: Strings. Aborda a manipulação de caracteres/texto tanto a nível das suas opera-ções básicas como descrevendo diversas funções da plataforma .NET relacionadas com o seu tratamento.
� Capítulo 7 – Estruturas Básicas da Programação. Descreve, com algum pormenor, as estruturas de controlo básicas da pro-gramação. Este capítulo deve ser compreendido em detalhe suficiente para que o leitor/programador possua bases sólidas na criação de aplicações.
� Capítulo 8 – Estruturas de Dados Compostas. As estruturas de dados compostas, nomeadamente vectores, matrizes e enu-merações são o tema deste capítulo.
� Capítulo 9 – Subprogramas ou Procedimentos. Por forma a realçar a importância e as vantagens da programação modular, este capítulo aborda o conceito de subprograma ou procedi-mento, tanto pré-definidos como codificados pelo programador.
� Capítulo 10 – Tratamento de Erros e Debugging. Apresenta os três tipos de erros da programação de computadores: sintaxe, lógica e execução. Aborda o debugging que permite encontrar erros de lógica e afinar o programa. Descreve o funcionamento do bloco try...catch associado aos erros de execução.
� Capítulo 11 – Programação Orientada aos Objectos. Des-creve o paradigma da programação orientada aos objectos, nomeadamente através de um exemplo e à luz de conceitos já apresentados.
� Capítulo 12 – Técnicas Avançadas de OOP. Consolida o para-digma orientado aos objectos através dos três pilares funda-mentais: encapsulamento, herança e polimorfismo. Realça a importância dos comentários XML na definição de classes e descreve duas ferramentas sobre classes do Visual Studio.
A Parte III: Criação de Aplicações em Visual C# aborda a criação de aplicações para o Windows. Esta parte é composta por seis capítulos.
PREFÁCIO 19
� Capítulo 13 – Construção da Interface Gráfica. Fornece uma visão geral do desenho da interface gráfica. Os conceitos mais importantes são descritos neste capítulo, nomeadamente os controlos mais comuns da Toolbox (caixa de ferramentas), boas práticas na criação de interfaces gráficas, descrição dos dife-rentes tipos de propriedades dos controlos, especificação da ordem dos Tabs e alinhamento de controlos. Depois de ler este capítulo, o leitor deverá ser capaz de criar interfaces gráficas simples mas com um aspecto profissional.
� Capítulo 14 – Construção de um Jogo: Adivinha o Número Ilustra a criação de um jogo para adivinhar um número “pen-sado” pelo computador. Os controlos do Windows que permitem ao utilizador seleccionar opções são descritos neste capítulo. Este capítulo aborda também a geração de números aleatórios pelo computador.
� Capítulo 15 – Criação de um Editor de Texto. Mostra a criação de um editor de texto simples permitindo abrir e guardar fichei-ros, bem como alterar a cor e o tipo de letra visualizados no editor. Estas funcionalidades demonstram a utilização de caixas de diálogo pré-definidas, um conjunto de componentes muito comum em praticamente todas as aplicações.
� Capítulo 16 – Construção de um Web browser. Ilustra a cria-ção de uma aplicação do tipo Web browser, que permite navegar na Internet. A aplicação possui como característica principal o facto de permitir abrir várias páginas em simultâneo (navegação em abas), para além de incluir um menu, barras de ferramentas e de estado, e um splash screen inicial.
� Capítulo 17 – Acesso a Bases de Dados. Apresenta os concei-tos e a terminologia básica, identifica os componentes de acesso a dados e cria uma base de dados, permitindo o seu acesso.
� Capítulo 18 – Gestão de Bases de Dados com o SQL Server Management Studio Express. Apresenta uma importante fer-ramenta de administração de bases de dados: o SQL Server Management Studio Express. Após a instalação desta aplicação é criada uma base de dados com duas tabelas e é apresentada a sintaxe da declaração SELECT do SQL – uma linguagem de
20 CENTRO ATLÂNTICO – COLECÇÃO TECNOLOGIAS – O GUIA PRÁTICO DO VISUAL C# 2005 EXPRESS
acesso a bases de dados. Este capítulo termina criando uma aplicação simples (utilizando várias janelas) que acede a uma tabela e a uma vista da base de dados.
Código dos Projectos em Visual C#
A tabela seguinte apresenta os diversos projectos criados ao longo dos capítulos que compõem o livro.
Capítulo Nome do Projecto e Descrição
1 e 2 Não há projectos
3 Bem Vindo Console Aplicação consola que pede um nome e mostra uma mensagem de boas vindas.
Bem Vindo Windows Aplicação Windows que mostra uma mensagem de boas vindas ao utilizador.
4 Variáveis Demonstra a utilização de variáveis, operações numéricas e com texto, e a precedência dos operadores.
5 Operadores Ilustra o funcionamento dos diversos tipos de operadores e a utilização de funções pré-definidas.
6 São usados fragmentos de código e não um projecto.
7 Estruturas de Decisão Exemplos de utilização da estrutura if...else.
switch A estrutura switch e os testes de decisão
múltipla. Construção de uma calculadora simples.
Estruturas de Repetição Os três tipos de ciclos em Visual C#: for,
foreach e while.
PREFÁCIO 21
Capítulo Nome do Projecto e Descrição
8 Estruturas de Dados Apresenta o funcionamento básico dos vectores e das enumerações.
9 Métodos Pré-definidos e definidos pelo programador, incluindo as duas formas de passagem de parâmetros.
10 media Ilustra os três tipos de erros possíveis: sintaxe, lógica e execução. Apresenta ainda a utilização de argumentos na linha de comando.
11 e 12 Classes Codifica as classes Rectangulo, Angulo, Ponto e Circulo, implementando propriedades, construtores, overloading de operadores e redefinição de métodos, entre outros aspectos da programação orientada aos objectos.
13 Controlos e GUI Apresenta os controlos mais importantes e o desenho da interface gráfica (GUI).
14 AdivinhaNumero Jogo que mostra o funcionamento dos controlos associados à escolha de opções: CheckBox, RadioButton e NumericUpDown, entre outros controlos.
15 Editor de Notas Apresenta o funcionamento das caixas de diálogo pré-definidas para abrir e guardar um ficheiro, e para alterar a cor e o tipo de letra.
22 CENTRO ATLÂNTICO – COLECÇÃO TECNOLOGIAS – O GUIA PRÁTICO DO VISUAL C# 2005 EXPRESS
Capítulo Nome do Projecto e Descrição
16 Web Browser Aplicação que permite navegar na Internet com a possibilidade de ter várias páginas abertas em simultâneo.
17 Contactos Projecto vazio utilizado na criação de uma base de dados.
Acesso a Dados Faz a gestão de uma simples base de dados com contactos.
18 Gestão de Colaboradores Aplicação de gestão simples de uma base de dados com duas tabelas e uma vista.
Sobre o Autor
Vítor Pereira
Vítor Emanuel Pereira é Professor Auxiliar na Universidade Lusíada, onde se tem dedicado a nível de docência e de investigação.
Possui uma licenciatura em Informática/Matemáticas Aplicadas e é mes-tre e doutor pela Universidade de Cranfield (Inglaterra).
Tem participado em diversos projectos de I&D nacionais e supervisionou vários projectos em colaboração com organizações nacionais e inter-nacionais. Lecciona, ao nível de cursos de licenciatura, as disciplinas Programação de Computadores, Microprocessadores e Bases de Dados.
É autor, nesta mesma colecção, do livro O Guia Prático do Visual Basic 2005 Express.
Os seus interesses incluem a Engenharia de Software e os Sistemas de Informação. O seu passatempo preferido é a Astronomia.
Agradecimentos
Uma palavra de gratidão muito especial ao Editor – Libório Manuel Silva, do Centro Atlântico – pelo convite endereçado para que escre-vesse esta obra e por me ter proporcionado as condições necessárias para levar a cabo este trabalho.
Um agradecimento muito sentido a todos os meus familiares e a todos os meus amigos, em especial aos meus pais, pelas lições frequentes de dedicação e amor.
Dedicatória
Este livro é dedicado à minha mulher, Rachel. Ela é a minha inspiração diária, o Sol da minha vida.
PARTE I
INTRODUÇÃO E V I S Ã O GERAL
1 Introdução ao Microsoft Visual C# 2005 Express.......................... 27
2 Introdução à Programação de Computadores .............................. 61
3 Introdução à Programação em Visual C# ......................................... 71
1 Introdução ao Microsoft Visual C# 2005 Express
Este capítulo apresenta o Visual C# 2005 Express Edition, uma aplica-ção que permite o desenvolvimento de programas numa linguagem de programação sofisticada e poderosa, e a plataforma .NET, uma tecno-logia da Microsoft sobre a qual os programas desenvolvidos para o Windows são executados.
Os objectivos para este capítulo são:
� Fazer uma introdução e apresentar as características principais do Visual C# 2005 Express Edition;
� Apresentar os passos associados à instalação desta ferramenta;
� Descrever sucintamente a plataforma .NET da Microsoft;
� Apresentar e descrever o Ambiente de Desenvolvimento Integra-do.
1.1 Visual C# 2005 Express Edition
O Visual C# 2005 Express Edition é uma ferramenta de desenvolvi-mento que permite a criação de aplicações para a plataforma .NET, nomeadamente para o sistema operativo Microsoft Windows.
O nome Visual descreve a forma como os programas são criados, adi-cionando controlos a uma janela, especificando as propriedades e ac-ções sobre esses controlos, e escrevendo linhas de código para imple-mentar as funcionalidades. Esta característica evidencia aquilo que se designa por filosofia de desenvolvimento rápido de aplicações (ou RAD, Rapid Application Development).
28 CENTRO ATLÂNTICO – COLECÇÃO TECNOLOGIAS – O GUIA PRÁTICO DO VISUAL C# 2005 EXPRESS
C# (pronuncia-se C-Sharp1) é o nome da linguagem de programação baseada principalmente no C++ mas que inclui aspectos de várias outras linguagens de programação, nomeadamente Delphi, Visual Basic e Java. O C# foi inventado pela Microsoft e apareceu em 2001, tendo a última revisão da linguagem sido em 2005.
O termo Express designa um conjunto de ferramentas de programação grátis e de fácil utilização e aprendizagem.
Para além da linguagem de programação Visual C#, o conjunto de pro-dutos denominados Express Edition inclui:
� Mais três ferramentas de programação: Visual Basic 2005 Express Edition, Visual C++ 2005 Express Edition e Visual J# 2005 Express Edition;
� O Visual Web Developer 2005 Express Edition que é uma fer-ramenta para a criação de sítios de internet dinâmicos;
� O SQL Server 2005 Express Edition, um sistema de gestão de bases de dados (SGBD) que permite a criação de aplicações com acesso a bases de dados.
Este conjunto de produtos designa-se por Visual Studio 2005 Express e é vocacionado para estudantes, principiantes em programação e autodidactas.
O Visual Studio Express é uma ferramenta grátis (confira as condições de utilização em http://msdn.microsoft.com/vstudio/express/).
A linguagem Visual C# é uma ferramenta de elevada produtividade permitindo um desenvolvimento de aplicações extremamente rápido.
Para além da edição Express, existem ainda as versões Standard, Pro-fessional e várias edições Team System, dirigidas a clientes diferentes, o que implica características distintas.
O Visual C# 2005 Express, à semelhança das restantes linguagens de programação Express, permite criar três tipos de aplicações:
1 sharp é a palavra inglesa para sustenido, uma alteração musical que sobe uma nota meio-tom em relação ao normal. O símbolo do sustenido (♯) é muito parecido com o símbolo cardinal mas não existe no teclado.
1 – INTRODUÇÃO AO MICROSOFT VISUAL C# 2005 EXPRESS 29
� Aplicações para o Windows Aplicações com uma interface grá-fica, incluindo botões, janelas, menus, barras de ferramentas, etc., como em qualquer aplicação típica do Windows;
� Aplicações de Consola Aplicações sem qualquer interface grá-fica, isto é, apenas em modo de texto, numa janela do sistema operativo em que os utilizadores usam texto para comunicar com o programa. No Windows a janela de consola designa-se por command prompt e permite a execução de comandos do MS-DOS;
� Componentes Reutilizáveis Aplicações com a extensão .DLL (Dynamic Link Libraries), uma colecção de pequenos programas que servem para a construção de outras aplicações.
Este livro aborda, maioritariamente, o desenvolvimento de aplicações para o Windows (nomeadamente nos capítulos da Parte III) mas exem-plos de aplicações de consola também são dados. O primeiro exemplo de cada um destes tipos de projectos é dado no Capítulo 3.
1.1.1 CARACTERÍSTICAS PRINCIPAIS
O Visual C# Express possui um conjunto de características que visam ajudar o programador principiante a desenvolver aplicações de forma rápida e divertida. A listagem seguinte apresenta dez das principais características que deve conhecer por forma a tirar o maior partido da programação para o Windows. A maior parte das características evi-dencia a filosofia de desenvolvimento rápido de aplicações (RAD).
Apesar de provavelmente não ser possível entender neste momento cada um dos pontos da listagem seguinte, pode sempre voltar a esta lista à medida que for progredindo no livro.
1. IntelliSenseTM
A tecnologia IntelliSense (Intelligent Sense) disponibiliza suges-tões de sintaxe e permite indentar e completar palavras de forma automática. Na Figura 1-1 pode ver a introdução de str e o IntelliSense a sugerir a palavra string.
Quando vir a opção que pretende seleccionada pelo IntelliSense pode pressionar uma das teclas seguintes: Tab, Enter e espaço,
30 CENTRO ATLÂNTICO – COLECÇÃO TECNOLOGIAS – O GUIA PRÁTICO DO VISUAL C# 2005 EXPRESS
(ou eventualmente o ponto final ou o operador igual, entre outras existentes), para que a palavra seja completada.
Figura 1-1
DICA: Pressione Ctrl+Espaço para forçar a visualização do Intelli-
Sense ou escolha uma das opções existentes em EDIT >
INTELLISENSE (disponível apenas quando estiver a editar código).
2. Editar e Continuar (Edit and Continue)
Enquanto estiver a experimentar (a fazer o debug) a sua aplica-ção, pode fazer alterações ao seu código e continuar a sua exe-cução, à luz das novas alterações efectuadas, sem que tenha de parar a execução do programa. A Figura 1-2 mostra a execução de um programa (identificado pela linha amarela e seta da mesma cor à esquerda) e a possibilidade de se alterar o código e de seguida continuar a executar o programa.
Figura 1-2
3. Fragmentos de Código (Code Snippets)
1 – INTRODUÇÃO AO MICROSOFT VISUAL C# 2005 EXPRESS 31
Os Code Snippets são fragmentos de código reutilizáveis que aumentam a produtividade e reduzem o número de erros do programa, uma vez que mostram a forma recomendada de reali-zar as tarefas. São dezenas de fragmentos de código que podem ser estendidos e adaptados às necessidades do progra-mador. Permitem, por exemplo, ouvir uma música, adicionar uma dica a um controlo, obter um texto ou imagem do Clipboard, visualizar uma imagem gif animada e desenhar várias funciona-lidades. Na janela de código, caso conheça o atalho correspon-dente ao fragmento, digite-o e assim que apareça seleccionado no IntelliSense pressione duas vezes a tecla TAB. (Pode ainda pressionar o botão do lado direito do rato e seleccionar Insert Snippet... ou ainda acedendo a EDIT > INTELLISENSE > INSERT
SNIPPET). Por exemplo, o atalho para ouvir uma música é sndPlay, como mostram as duas figuras seguintes:
Figura 1-3
Figura 1-4
32 CENTRO ATLÂNTICO – COLECÇÃO TECNOLOGIAS – O GUIA PRÁTICO DO VISUAL C# 2005 EXPRESS
DICA: Para aceder a uma janela de gestão dos Code Snippets aceda a TOOLS > CODE SNIPPETS MANAGER, por exemplo para conhecer os fragmentos existentes ou relem-brar a palavra de atalho para um determinado fragmento.
4. Listagem de Erros e Avisos
Uma importante característica do Visual C# é alertar o progra-mador para os erros de programação, à medida que este vai codificando. Na Figura 1-5 falta um ";" no final da linha e a janela de listagem de erros (VIEW > ERROR LIST) indica este facto.
Figura 1-5
5. Comentários XML
A documentação de um programa é uma parte importante no desenvolvimento de uma aplicação. O Visual C# 2005 permite a adição de comentários no código em formato XML que podem ser facilmente extraídos e convertidos em documentação. Os comentários são também usados pelo IntelliSense para mostrar a informação sempre que reutilizar o seu código.
Digite três barras (///) numa linha vazia anterior a um método para visualizar o conjunto de linhas começadas com três barras da Figura 1-6.
1 – INTRODUÇÃO AO MICROSOFT VISUAL C# 2005 EXPRESS 33
Figura 1-6
6. Renomear
Como o próprio nome indica, esta função permite alterar o nome dos identificadores usados no código, como, por exemplo, variá-veis, métodos e propriedades. Para além de renomear a decla-ração do elemento, altera também todas as referências com o novo nome. Seleccione REFACTOR > RENAME e verá aparecer a caixa de diálogo Rename. (O menu REFACTOR só é visível quando a janela de código estiver seleccionada).
Figura 1-7
7. Modelos de Itens Novos
Para que possa ser mais produtivo no desenvolvimento das apli-cações e se concentrar nas tarefas realmente importantes, o Visual C# disponibiliza um conjunto de modelos de itens aces-síveis em PROJECT > ADD NEW ITEM.
34 CENTRO ATLÂNTICO – COLECÇÃO TECNOLOGIAS – O GUIA PRÁTICO DO VISUAL C# 2005 EXPRESS
Figura 1-8
8. Controlos Novos
Tem à sua disposição uma impressionante lista de novos con-trolos: a maior selecção de controlos de todas as edições ante-riores do Visual C#. É através destes controlos que irá poder construir aplicações com uma interface gráfica rica e profissio-nal. Os controlos residem na Toolbox (caixa de ferramentas). Faça VIEW > TOOLBOX (ou utilize o atalho Ctrl+W, X).
Figura 1-9
9. Smart Tags
Uma grande parte dos controlos inclui uma pequena imagem (ícone) no canto superior direito, representada através de uma
1 – INTRODUÇÃO AO MICROSOFT VISUAL C# 2005 EXPRESS 35
seta a apontar para a direita, que permite o acesso rápido às acções mais comuns sobre esse controlo.
Figura 1-10
10. Integração com o SQL Server
Sem necessitar de sair do ambiente de desenvolvimento, crie bases de dados e tabelas, e insira dados e faça consultas sobre os seus dados (Figura 1-11).
Muitas outras características poderiam ser descritas, nomeadamente:
� Serviços XML na Web: ferramentas e assistentes que permitem a ligação a serviços de Internet com base em documentos XML;
� Acesso à comunidade de programadores: permite, por exemplo, colocar questões a programadores mais experientes e fazer pesquisas. Aceda à comunidade através do menu COMMUNITY (Figura 1-12);
� Página inicial (Start Page): acessível fazendo VIEW > OTHER
WINDOWS > START PAGE;
� Aplicações-exemplo para principiantes (Built-in Starter Kits): aceda à Start Page e na área Getting Started escolha a opção Use a Starter Kit.
� entre muitas, muitas outras...
36 CENTRO ATLÂNTICO – COLECÇÃO TECNOLOGIAS – O GUIA PRÁTICO DO VISUAL C# 2005 EXPRESS
Figura 1-11
Figura 1-12
1.1.2 INSTALAÇÃO E CONFIGURAÇÃO
Antes de instalar e começar a desenvolver programas para o Windows é necessário descarregar o Visual C# 2005 Express Edition.
1. Através do seu navegador de Internet (browser), aceda a http://msdn.microsoft.com/vstudio/express/visualcsharp/.