Upload
whittaker-jovani
View
103
Download
3
Embed Size (px)
DESCRIPTION
Visual C# Express Edition. Sumário. Introdução Aplicações Console e Windows. Ferramentas. Compiladores Debuggers Linguagens de programação Motor (“Engine”) de execução. Microsoft Visual Studio. - PowerPoint PPT Presentation
Citation preview
4
Microsoft Visual Studio
• O Microsoft Visual Studio não é explicitamente necessário para o desenvolvimento de aplicações .NET porém ele fornece várias vantagens
• É possível desenvolver aplicações usando Notepad + o compilador via linha de comando
5
Versões do Visual Studio
• Visual Studio 2008 Standard Edition
• Visual Studio 2008 Professional Edition
• Visual Studio 2008 Enterprise Edition
• Visual C# 2008 Express Edition
6
Microsoft Visual C# 2008 Express Edition
• É uma ferramenta de desenvolvimento voltada a produtividade
• É uma ferramenta RAD (Rapid Application Development)
• Permite desenvolver aplicações Windows
• É voltada para programadores iniciantes
7
C#
• C# é uma das linguagens de programação disponível para o .NET Framework (outros exemplos de linguagens são: VB, C++, JScript, J#)
• C# é uma linguagem Orientada a Objetos (ela permite que sejam desenvolvidas aplicações procedurais, aplicações puramente OO ou uma mistura das duas)
8
Tipos de Aplicações
• Windows Applications (com GUI)
• Console Applications (usa modo texto)
• Componentes Reutilizáveis (Reusable Components) ou Biblioteca de Classes ( Class Libraries)
9
Diferença entre Console Applications e Windows Applications
• Aplicações de Console não possuem interface gráfica e simplesmente usa o modo texto para comunicar com o usuário
• Aplicações Windows são aplicações que possuem interface gráfica com o usuário (GUI), com menus, botões, janelas, barra de ferramentas, etc
10
IDE (Integrated Development Environment)
• Ambiente de Desenvolvimento Integrado
• É a aplicação que prove todas as ferramentas necessárias para projetar, planejar, desenvolver e distribuir suas aplicações
11
Iniciando o Visual C# Express Edition
• Clique em Iniciar Programas Microsoft Visual C# 2008 Express Edition
13
Página de Início (Start Page)
• Projetos Recentes (Recent projects)– Exibe a lista de projetos ou soluções que foram
recentemente abertos
• Iniciando (Getting Started)– Essa seção permite a busca de ajuda quando
necessário
• Visual C# Express Headlines– Onde encontramos notícias específicas sobre o
Visual C#
• MSDN Visual C# RSS Feed
14
Componentes do IDE
• Barra de Menus (Menu bar)– É onde podemos selecionar e executar quase todas as ações
relacionadas ao projeto, arquivos e Help (ajuda)
• Barra de Ferramentas Principal (Main Toolbar)– Contem icons que são atalhos para opções também presentes
na barra de menu
• Caixa de Ferramentas (Toolbox)– Contem os controles que podem ser usados pela aplicação
• Solution Explorer (Explorador da Solução)– Lista os arquivos e componentes no projeto
• Barra de Status (Status Bar)– Exibe informações correspondentes ao estado de certas
operações ativas
15
Criando uma aplicação console
• Selecione File / New Project na Barra de Menu
• Selecione Console Application na caixa de diálogos New Project e digite PrimeiraAplicacaoConsole e clique no botão OK
18
Construindo e Executando a Aplicação
• Para fazer o build da aplicação, selecione Build / Build Solution a partir da barra de menu ou pressione F6
• Para executar a aplicação, pressione Ctrl+F5 (quando usamos o Start Without Debug, as aplicações console exibem uma mensagem para pressionar uma tecla)
19
Aplicação Console gerada pelo Visual C# Express Edition
using System;using System.Collections.Generic;using System.Linq;using System.Text;
namespace ConsoleApplication1{ class Program { static void Main(string[] args) { } }}
21
Criação de um Programa
• Problema Algoritmo implementação em uma linguagem de programação (C#, C, etc)
22
Classe System.Math
• Provê constantes e métodos estáticos para trigonometria, logaritmos e outras funções matemáticas comuns
23
Math.Sqrt()
O método Math.Sqrt() recebe como argumento um número formato double e retorna um número também no formato double:
double Math.Sqrt(double valor);Observe que não podemos atribuir uma
variável double em uma variável floatExemplo:double raiz = Math.Sqrt(25);
24
Math.Pow()
O método Math.Pow() recebe como argumento uma base e um expoente no formato double e retorna a potência também no formato double:
double Math.Pow(double b, double e);
Exemplo:
double valor = Math.Pow(5,2);
25
Exemplo: Calculo da Área de um Retângulo
• Entre o valor da base
• Entre o valor da altura
• Calcule a area = base * altura
• Exiba a base, altura e a area
26
Código para Cálculo da Área de um Retâgulo
// obtém a altura do retânguloint altura;// obtém a largura do retânguloint largura;
string strAltura;string strLargura;
System.Console.Write("Entre com a altura: ");strAltura=System.Console.ReadLine();altura = int.Parse(strAltura);
System.Console.Write("Entre com a largura: ");strLargura = System.Console.ReadLine();largura = int.Parse(strLargura);
//área do retânguloint area;area = altura * largura;System.Console.WriteLine("Area = " + area.ToString());
27
Cálculo de Média
• Entre com a primeira nota (n1)
• Entre com a segunda nota (n2)
• Calcule a média (m), onde m = (n1+n2)/2
• Exibe as notas e a média final
28
Cálculo de Médiausing System;
class Program{ static void Main(string[] args) {
String notaDigitada;
Console.WriteLine("Entre com a primeira nota (N1): ");
// Le a primeira nota digitada notaDigitada = Console.ReadLine();
float n1 = float.Parse(notaDigitada);
Console.WriteLine("Entre com a segunda nota (N2): "); // Le a segunda nota digitada notaDigitada = Console.ReadLine(); float n2 = float.Parse(notaDigitada);
// Calcula a média entre n1 e n2 float media = (n1 + n2) / 2;
// Exibe a média calculada Console.WriteLine("A média entre {0} e {1} eh {2}", n1, n2, media);
}}
30
Saudaçãousing System;using System.Collections.Generic;using System.Linq;using System.Text;
namespace Hello{ class Saudacao { static void Main(string[] args) {String nome;String idade;System.Console.Write("Qual e seu nome: ");nome = System.Console.ReadLine();System.Console.Write("Qual e sua idade: ");idade = System.Console.ReadLine();System.Console.WriteLine("Ola " + nome + ". Voce tem " + idade + " anos.");
} }}
namespace
31
Construindo uma Aplicação Windows
• Selecione File / New Project na Barra de Menu
• Selecione Windows Form Application na caixa de diálogos New Project e digite PrimeiraAplicacaoWindows e clique no botão OK
32
Projeto
• Um projeto é um container para todos os itens da aplicação, tais como: formulários, código fonte e recursos
• Ele também guarda informações sobre as configurações
33
Namespace (Espaço de Nomes)
• Os namespaces permitem que identificadores sejam nomeados de forma que não haja colisão entre seus nomes, isto é, dois identificadores iguais no mesmo código
• Uma instrução using adiciona um namespace a um escopo
34
Name collision (Colisão de Nomes)
• Ocorre quando dois identificadores possuem o mesmo nome dentro de um namespace
• A colisão de nomes deve ser evitada
35
Fully Qualified Name
• O nome totalmente qualificado (fully qualified name) é formado pelo <namespace> mais o <nome da classe>– <namespace>.<nome da classe>
Exemplo:
System.Console, onde System representa o Namespace e Console é a classe
36
Design Layout
• Form designer (projeto do formulário)
• Basic layout (layout básico)
• Advanced layout (layout avançado)
39
Properties Window (janela de propriedades)
• As propriedades influenciam como o controle se comporta ou qual a sua aparência quando executamos a aplicação
• Exemplo de propriedades de um formulário:– Text: texto exibido na
janela– Size:Width: largura da
janela– Size:Height: altura da
janela
41
Controles Comuns de Aplicação no Windows
• Button• TextBox• Label• RadioButton• CheckBox• ComboBox• ListBox• ToolTip• NumericUpDown
42
Controles Comuns• Pointer• Button• CheckBox• CheckedListBox• ComboBox• DateTimePicker• Label• LinkLabel• ListBox• ListView• MarkedTextBox• MonthCalendar• Notification• NumericUpDown• PictureBox• ProgressBar• RadioButton• RichTextEditor• TextBox• ToolTip• TreeView• WebBrowser
43
Controles mais comuns
• Button• CheckBox• CheckedListBox• ComboBox• Label• ListBox• RadioButton• TextBox
44
Algumas propriedades
• Text - texto associado com o controle• Name - indica o nome usado no código para identificar o
objeto• BackColor - a cor de fundo do componente• Enabled - indica se o controle está habilitado ou não• ForeColor - a cor de frente do componente, que é usado
para exibir o texto• ReadyOnly - controla se o texto no controle poderá ser
editado ou não• Visible - determina se o controle é visível ou escondido
45
Exemplo de Formulário
textBox1
button1 button
textBox1
button1.Text = “Preenche’
button2.Text = “Limpa”
form1.Text = “Formulário de Teste”
46
Exemplousing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;
namespace WindowsFormsApplication1{ public partial class Form1 : Form { public Form1() {InitializeComponent();
button2.Enabled = false; }
private void button1_Click(object sender, EventArgs e) {textBox1.Text = "nome";button2.Enabled = true; }
private void button2_Click(object sender, EventArgs e) {textBox1.Text = "";button2.Enabled = false;
} }}
47
Namespaces
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;
48
public partial class Form1 : Form
{ public partial class Form1 : Form { public Form1() {InitializeComponent();
button2.Enabled = false; }
private void button1_Click(object sender, EventArgs e) {textBox1.Text = "nome";button2.Enabled = true; }
private void button2_Click(object sender, EventArgs e) {textBox1.Text = "";button2.Enabled = false;
} }}
49
Button
• Indica que o usuário fez uma decisão e quer comunicar sua ação. Em sua aplicação, o botão clicado pelo usuário dispara um evento que o código precisa lidar
50
TextBox
• A caixa de texto é usada para obter uma entrada do usuário
• É boa para entrada de nomes, endereços, telefones, URLs, etc
52
RadioButton
• O RadioButton é usado quando várias escolhas são oferecidas porém o usuário pode escolher apenas uma (elas são excludentes)
53
CheckBox
• Checkbox são uma boa opção quando queremos fazer escolhas booleanas (verdadeiro/falso, ligado/desligado, sim/não, etc)
54
ComboBox
• Um ComboBox é uma combinação de uma caixa de textos (TextBox) e uma lista suspensa de opções (drop-down list).
É uma boa opção quando queremos uma caixa de textos editável porém com uma lista de valores permitidos
55
ListBox
• Uma ListBox é uma lista reduzida de valores válidos que esse componente representa.
• Ela não permite que os usuários editem textos, mas permitem a escolha de mais de um item mantendo a tecla CTRL pressionada
56
ToolTip
• É útil para exibir uma mensagem ao usuário quando ele mantém o mouse posicionado sob o controle
57
NumericUpDown
• Útil quando queremos trabalhar com valores numéricos de um conjunto predefinido de números
58
O que acontece quando um evento é disparado ?
• Todas aplicações Windows são event-driven, ou melhor, orientadas a eventos.
• Isso significa que toda vez que clicamos em um botão ou mesmo movemos entre caixas de textos estamos gerando eventos.
• Blocos de códigos conectados a cada uma de suas ações executam à medida que você trabalha na aplicação
59
Eventos
• Eventos são gerados não somente pelas ações internas a aplicação mas também pelo ambiente em sua volta, pelo Windows ou por outras fontes externas
60
Método
• Um método é uma seqüência de instruções• Um método possui um nome e um corpo• Nome do método deve ser um identificador
significativo que indique sua finalidade geral• Corpo do método contém as instruções
gerais a serem executadas quando o método é chamado
• Métodos podem receber alguns dados para serem processados e retornar informações
61
Sintaxe de um método em C#
tipoDeRetorno nomeDoMétodo ( listaDeParâmetros )
{
// instruções do corpo do método
}
62
Sintaxe de um método em C#
• tipoDeRetornotipoDeRetorno: é o nome de um tipo e especifica o tipo de informação que o método retorna como resultado de seu processamento– Caso o método não retorne nenhum valor, devemos usar o tipo
void (sem valor)• nomeDoMétodonomeDoMétodo: é o nome utilizado para chamar o
método• listaDeParâmetroslistaDeParâmetros: é opcional e descreve os tipos das
informações que você pode passar para o método processar
• As instruções do corpo do método são as linhas de código que são executadas quando o método é chamado
65
Sintaxe de chamada de método
Resultado = nomeDoMétodo ( listaDeArgumentos );
Onde:• Resultado: é uma variável compatível com o tipo de
retorno do método (se houver)
Observação:• listaDeArgumentos: a lista de argumentos é separada
por vírgulas caso haja mais de um argumento• Os parênteses devem ser incluídos na chamada de
cada método, mesmo quando estivermos chamando o método sem argumentos
66
Exemplo de Chamada de Método
// chamada do método adicionaValores passando como parâmetros os literais 1 e 2
int soma = adicionaValores(1,2);
Ou
int a=1;int b=2;Int soma = adicionaValores(a,b);exibeResultado(adicionaValores(1,3));
67
Extensão dos Arquivos
• .sln arquivo de solução
• .csproj arquivo de projeto
• .cs arquivo fonte C#
• .xaml Extensible Application Markup Text
68
Métodos
• Todos os métodos devem ser definidos dentro da classe
• O método Main é especial: ele define o ponto de entrada do programa e deve ser definido como estático
70
TextBox
• Multiline controla se o texto de um controle de edição pode se espalhar por mais de uma linha
• ScrollBars• AcceptTab indica se o caracter TAB é
aceito• AcceptReturn indica se o caracter
Return (CR) é aceito• Size indica o tamanho do controle
71
ListBox
• ListBox lb;• lb.Items.Add(); // adiciona• lb.Items.Clear(); // remove todos os itens da
coleção• lb.Items.Remove();// exclui o objeto especificado
da coleção• lb.Items.Count; // obtém o número de items da
coleção• lb.Items.RemoveAt(); // remove o elemento na
posição especificada
73
ComboBox
• ComboBox lb;• lb.Items.Add(); // adiciona• lb.Items.Clear(); // remove todos os itens da
coleção• lb.Items.Remove();// exclui o objeto especificado
da coleção• lb.Items.Count; // obtém o número de items da
coleção• lb.Items.RemoveAt(); // remove o elemento na
posição especificada
77
MessageBox
String msg = “Os cálculos estão completos“;
String titulo = “Minha Aplicação“;
MessageBox.Show(
msg, titulo,
MessageBoxButtons,
MessageBoxIcon);
78
MessageBoxButtons
OK botão OK
OKCancel Botão OK e Cancel (Cancelar)
AbortRetryIgnore Botões Abort, Retry e Ignore
YesNoCancel Botões Yes, No, Cancel
YesNo Botões Yes e No
RetryCancel Botões Retry e Cancel
79
MessageBoxIcon
• None nenhum símbolo• Hand mão• Question sinal de interrogação• Exclamation sinal de exclamação• Asterisk asterisco• Stop Pare• Error Erro• Warning Aviso• Information Informação
80
MessageBox - Exemplo
public void ExitApplication()
{
// Exibe uma mensagem perguntando se o
//usuário deseja sair da aplicação
if (MessageBox.Show (
“Deseja sair da Aplicação?",
“Minha Aplicação",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
Application.Exit(); }
}
82
Debug (Depurar)
• O processo de Debug (depuração) consiste em acompanhar a execução de um programa em busca de entender seu comportamento e buscar possíveis bugs
• É muito útil na solução de problemas (bugs) em tempo de execução, isto é, quando o software já está em execução
83
Debug
• O processo de debug consiste em executar o programa “passo a passo”, inspecionando variáveis e analisando seus valores em busca de comportamentos diferentes do esperado
84
Debug
Para marcar/desmarcar breakpoint (ponto de parada) F9
Step Into (F11) = entrar no método
Step Over (F10)
Step Out (Shift+F11) = sair do método
Continuar (F5)
85
Debug
• O menu Debug aparece quando estamos executando um código em modo debug
• Barra de Ferramentas de Debug (View Toolbars Debug)
86
Refatorando Código
• Menu Refactor– Rename permite que façamos alterações
no nome de identificadores– Extract Method ... permite que um código
seja transformado em um método
89
Teclas de Atalho do Menu View
Class View
(Vizualização das Classes)CTRL+W,C
Error List
(lista de erros)CTRL+W,E
Output
(Saída)CTRL+W,O
Proprerties Window
(Janela de Propriedades)CTRL+W,P
Solution Explorer (Explorador d solução)
CTRL+W,S
Task List
(lista de tarefas)CTRL+W,T
Toolbox
(Caixa de Ferramentas)CTRL+W,X