Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Asp.Net - Apostila Básica, Notas de estudo de Antropologia

para quem deseja iniciar no Asp.Net!

Tipologia: Notas de estudo

Antes de 2010
Em oferta
30 Pontos
Discount

Oferta por tempo limitado


Compartilhado em 03/11/2008

eduardo-oliveira-14
eduardo-oliveira-14 🇧🇷

4.5

(2)

2 documentos

Pré-visualização parcial do texto

Baixe Asp.Net - Apostila Básica e outras Notas de estudo em PDF para Antropologia, somente na Docsity! Aprenda de uma forma simples , objetiva e direta os principais conceitos da Plataforma .Net FrameWork SDK. O curso apresenta o ASP.Net a primeira ferramenta RAD produzida para o desenvolvimento de aplicações baseadas na Web. Além de apresentar as linguagens C# e Visual Basic.Net. Curso de Introdução a Plataforma .Net FrameWork SDK Instrutores: Breno Gontijo – brenogt@tremdoido.com.br Cláudio Júnior – claudiojunior@globo.com Índice Analítico Capítulo 1 – Introdução a Plataforma .Net FrameWork SDK ....................... 1 Introdução ......................................................................................................1 Suítes .............................................................................................................1 Termos da Plataforma ..................................................................................2 Capítulo 2 – ASP.Net .......................................................................................4 Introdução .....................................................................................................4 Do HTML ao ASP.Net ..................................................................................4 Como o ASP.Net Funciona ..........................................................................6 Criando Páginas ASP.Net ............................................................................7 Mantendo o Estado de uma Página ASP.Net ............................................11 ViewState ...................................................................................................11 Importando Espaços de Nomes .................................................................13 Objeto SESSION ........................................................................................14 Vantagens Adicionais .................................................................................15 Capítulo 3 – Variáveis .....................................................................................16 Variáveis na Linguagem C# .......................................................................18 Inteiros ..................................................................................................18 Lógicos ..................................................................................................19 Caracteres .............................................................................................19 Ponto Flutuante .....................................................................................20 Decimal .................................................................................................20 String .....................................................................................................21 Object ....................................................................................................22 Conversão de Valores ..........................................................................22 Checked e Unchecked ..........................................................................24 Operadores ............................................................................................25 Enum .....................................................................................................25 Struct .....................................................................................................26 New .......................................................................................................27 Arrays ....................................................................................................29 Exemplos e Exercícios ..........................................................................30 Variáveis na Linguagem Visual Basic.Net ..................................................33 Inteiros ..................................................................................................33 Lógicos ..................................................................................................34 Caracteres .............................................................................................34 Ponto Flutuante .....................................................................................35 Date .......................................................................................................35 String .....................................................................................................36 Object ....................................................................................................37 Conversão de Valores ..........................................................................37 Curso de Introdução a Plataforma .Net FrameWork SDK 1 Capítulo 1 - Introdução a Plataforma .Net FrameWork INTRODUÇÃO A Plataforma Microsoft.NET oferece uma alternativa de ambiente para produzir e executar aplicações web, rodando-as em PCs, micros de mão e outros dispositivos, como telefones celulares. O plano da Microsoft é tornar a infra-estrutura dessa plataforma amplamente disponível. Tanto que ela já pode ser baixada em seu site e deverá fazer parte das próximas versões do Windows. A Plataforma .NET é também a principal arma com a qual a Microsoft tenta marcar posição no concorridíssimo mercado dos Serviços Web (Web Services) - nome dado a programas ou componentes que devem ser utilizados na Internet. Estes serviços on-line são a pedra de toque da Internet, tal como os estrategistas das grandes empresas a imaginam num futuro próximo. Por meio de serviços web, empresas trocarão informações e farão negócios. Aplicações que rodam num local poderão usar módulos localizados num servidor remoto, consolidando um modelo de computação distribuída. Residentes em servidores web, esses serviços podem fornecer produtos finais - por exemplo, documentos e informações - ou desempenhar tarefas específicas, como realizar cálculos e autenticar transações. Espera-se, assim, que os sites operem de forma integrada, gerando benefícios para empresas e indivíduos. Na essência, essa visão dos serviços web é hoje compartilhada por grandes nomes como IBM, Sun e Oracle, e todos têm iniciativas nessa área. Uma característica central da Plataforma .NET é aderir aos padrões da Internet sem abrir mão de procedimentos já consagrados no Windows. Para isso conta com o Visual Studio.NET, suíte de programação definida pela Microsoft como "especialmente voltada para a rápida construção e integração de Web Services". O produto incorpora as linguagens Visual Basic, Visual C++ e Visual C# ("CSharp), todas com sobrenome .NET. Linguagens tradicionais, as duas primeiras sofreram ajustes para a nova plataforma, enquanto o C# começa do zero. SUÍTES A suíte, que já está no mercado brasileiro, é oferecida em três pacotes diferentes: Enterprise Architect, Enterprise Developer e Professional. O primeiro é o mais completo e inclui, além das três linguagens, ferramentas para depuração e modelagem, desenvolvimento em grupos e todos os servidores do Windows. O Enterprise Developer, mais simples, não tem, por exemplo, os recursos de modelagem. Mais voltada para o programador individual, a edição Professional não traz servidores nem itens de trabalho em grupo. Curso de Introdução a Plataforma .Net FrameWork SDK 2 TERMOS DA PLATAFORMA CLR - Sigla de Common Language Runtime. Base comum a todas as linguagens .NET, o CLR é o ambiente que gerencia a execução de código escrito em qualquer linguagem. Faz parte do Framework. FRAMEWORK - É o modelo da plataforma .NET para construir, instalar e rodar qualquer aplicação, no desktop ou na Internet. Para executar um programa .NET, é preciso ter o Framework instalado. IDE COMPARTILHADO - Ambiente integrado de programação (Integrated Development Environment) do Visual Studio.NET. Diferentes linguagens usam o mesmo editor de código e depurador e compilam executáveis na linguagem MSIL. Além das linguagens da Microsoft, já há mais de 20 outras (Perl, Cobol, Pascal, etc) que podem usar esse ambiente. MSIL - Microsoft Intermediate Language. Quando se compila uma aplicação .NET, ela é convertida para uma linguagem intermediária, a MSIL, um conjunto de instruções independentes de CPU. Na hora de executar o programa, um novo compilador, chamado Just-in-time (JIT) Compiler, o converte para o código nativo, ou seja, específico para o processador da máquina. MANAGED CODE - Código administrado, ou seja, código escrito para rodar com o runtime do VS.NET. No VS.NET, somente o C++ produz programas que não dependem do runtime, o chamado Unmanaged code. SOAP - Sigla de Simple Objetc Access Protocol, ou protocolo simples de acesso a objetos. O SOAP é um padrão aberto, baseado em XML, criado pela Microsoft, Ariba e IBM para padronizar a transferência de dados entre aplicações. Pode ser usado em combinação com vários outros protocolos comuns da Internet, como HTTP e SMTP. UDDI - Iniciais de Universal Description, Discovery and Integration, é uma espécie de páginas amarelas para web services. Na UDDI, empresas expõem seus serviços para que outras possam utilizá-los. WEB SERVICES - programa completo ou componente de software residente num servidor web. XML - Sigla de Extensible Markup Language, o XML é uma linguagem baseada em tags semelhante ao HTML. Sua principal característica é a extensibilidade. Quem emite um documento XML pode criar tags personalizadas, que são explicadas num documento anexo, que tem extensão XSD. XSD - Sigla de XML Schema Definition. Arquivo associado a um documento XML que descreve e valida aos dados no documento. Assim como as linguagens de programação, os XSDs aceitam dados de diferentes tipos, como números, data e moeda. Curso de Introdução a Plataforma .Net FrameWork SDK 3 XML WEB SERVICES - Blocos fundamentais para a criação de sistemas de computação distribuída na Internet. Um serviço web é uma porção de código localizada num servidor web e que pode ser utilizada por uma aplicação qualquer. O web service pode produzir documentos ou procedimentos. Uma das características centrais dos web services é serem baseados em padrões abertos. WSDL - Web Service Description Language. Submetida à W3C - o órgão padronizador da Internet - . A linguagem WSDL define regras baseadas em XML para descrever serviços web. Curso de Introdução a Plataforma .Net FrameWork SDK 6 Como o ASP.Net Funciona Assim como o VB e o Delphi, o desenvolvimento é feito sobre formulários (páginas .aspx + fonte em linguagem de alto nível). Um formulário esta associado a um arquivo com a extensão .aspx e também a um fonte de linguagem de alto-nível, como – VB.Net, C#, J#, entre outras. Sobre os formulários são adicionados componentes que têm propriedades, métodos e eventos. Por isso podemos afirmar que esta tecnologia é orientada a objetos. Este modelo é de fácil entendimento e muito mais produtivo. O ASP.Net é também mais rápido que os scripts como o JavaScript, e tecnologias como o antigo ASP. Isso ocorre porque seus programas são compilados, o que dá mais velocidade e segurança de código-fonte. Entretanto devemos observar que, em vez de compilar em algo que o computador entenda, o desenvolvedor o compila em uma linguagem intermediaria, chamada Microsoft Intermediate Language ( MSIL ). As páginas ASP.Net são compiladas em MSIL. Ao compilar em MSIL, suas aplicações criam algo chamado metadados. Que são as informações descritas sobre o seu aplicativo. Então, quando você quiser executar seu programa, a CLR (Common Language Runtime) assume e compila o código mais uma vez na linguagem nativa do computador. Dessa maneira, a MSIL pode se comunicar com qualquer tipo de computador. A CLR pode falar muitas linguagens de computador diferentes, como – C#, VB.Net, J#, Cobol.Net, Pascal.Net, entre outras, além de fazer toda a compilação. Acompanhe na figura 2.1 o esboço da estrutura tradicional de um aplicativo versus a .Net FrameWork. Figura 2.1 – Modelo Tradicional versus Modelo .Net FrameWork. Modelo Tradicional CÓDIGO APLICATIVO Compila em código de máquina Curso de Introdução a Plataforma .Net FrameWork SDK 7 Modelo .Net FrameWork A CLR utiliza os metadados para descobrir como executar o aplicativo. Com metadados não há nenhuma necessidade de requerer informações sobre os aplicativos a serem armazenados em um registro, como era realizado no modelo tradicional, porque todas as informações necessárias são armazenadas com os arquivos do aplicativo; assim, qualquer alteração que você fizer será colocada em efeito automaticamente. Imagine instalar um novo aplicativo somente copiando alguns arquivos! O código que trabalha com CLR é chamado código gerenciado. Esse nome é dado ao CLR pelo fato dele gerenciar sua execução e fornecer benefícios (como gerenciamento de recursos, tratamento de erros, recursos de segurança, controle de versão, etc) sem o programador ter que construí-lo manualmente. O código que é executado fora da CLR é conhecido como código não-gerenciado. Criando Páginas ASP.Net As páginas ASP.Net são simplesmente texto puro, como arquivos em HTML. Para que as páginas possam ser executadas e mostradas, você precisa ter instalado o .Net FrameWork e um servidor Web(IIS). As páginas ASP.Net têm extensão .aspx, então quaisquer arquivos que você quer que o servidor interprete como um aplicativo ASP.Net deve terminar em .aspx, como – index.aspx. Mas antes de apresentar um aplicativo na maneira ASP.Net, vamos mostrar a criação e execução de um programa em C# na maneira convencional. CÓDIGO MSIL com metadados CLS Compila em código de máquina Aplicativo Curso de Introdução a Plataforma .Net FrameWork SDK 8 Maneira Convencional Vamos apresentar um exemplo de um programa não interativo, que apenas escreve as palavras – MEU PRIMEIRO EXEMPLO!, na tela do monitor. Existem no mercado muitas ferramentas de desenvolvimento para os aplicativos .Net, como – Microsoft Visual Studio.Net e Macromedia Dreamweaver MX. Neste curso utilizaremos o famoso Bloco de Notas para desenvolver nossos aplicativos. Teremos com certeza mais trabalho em desenvolver nossos aplicativos com o bloco de notas, mas teremos a vantagem de não ficaremos presos a uma ferramenta. Siga os seguintes passos para a criação e execução deste exemplo: 1. Abra o bloco de notas e digite as linhas abaixo: 2. Crie um diretório (digamos com o nome: CursoNet) e nela grave o arquivo digitado acima com o nome: Primeiro.cs. 3. Abra a janela de comando (janela do DOS) e através o comando cd dirige-se para o diretório criado anteriormente onde você salvou o arquivo. 4. Para compilar o programa, digite: csc Primeiro.cs Será criado um arquivo: Primeiro.exe 5. Para disparar o programa basta digitar: Primeiro 6. O programa começa a ser executado, o momento é chamado de init. 7. É feito o render (desenho na tela do monitor) do que o programa previa que deveria ser renderizado. A figura 2.2 apresenta os passos seguidos. using System; class Primeiro { public static void Main( ) { // Parte renderizável Console.WriteLine(VarMensagem); } // Parte programática static String VarMensagem = “Meu Primeiro Exemplo!”; } Curso de Introdução a Plataforma .Net FrameWork SDK 11 5. É realizado o render (desenho na tela do monitor do cliente) do que o programa previa que deveria ser renderizado. Este passo acontece no servidor e no cliente! Mantendo o Estado de uma Página ASP.Net A manutenção de estado dos componentes quando existe um PostBack (um post para a própria página) é automática. Isso é possível porque quando uma determinada página .aspx é chamada pela primeira vez é criado na memória do servidor um pool de algumas instancias da classe que tem o nome da página e que é herdeira de uma classe Page. Novas solicitações daquela mesma página, seja ela pelo mesmo cliente ou por outro, não criarão, ao menos que o arquivo sofra alguma mudança, novas instancias desse objeto. O que é criado junto com a primeira solicitação daquela página é um objeto da classe ViewState, que por sua vez cria uma referencia àquele dado objeto herdeiro de Page. Quando uma página é reenviada para o servidor começa um novo ciclo chamado de ROUNDTRIP que consegue localizar aquela sua instancia de ViewState e remonta um objeto tipo Page idêntico ao anterior. Este esquema desenvolvido faz parecer como se cliente tivesse um objeto tipo Page permanentemente dele, o tempo todo conectado, o que não é verdade. Isso faz com que os componentes utilizados na aplicação consigam manter automaticamente os seus valores. A informação de estado em si pode ser armazenada em diversos locais. O mais comum é na memória do servidor, como o Asp tradicional faz hoje, mas podemos também armazenar informações de estado em um servidor de estado, no SQL Server ou até mesmo escrevendo código para exercer tal funcionalidade. ViewState O ViewState descreve o aspecto de um objeto em um dado momento. Dizemos que um aplicativo que monitora essas informações mantém (ou monitora) o estado. Os formulários Web em HTML não têm esse poder, isso porque a Web é uma mídia sem informações de estado. O ASP.Net monitora automaticamente o ViewState para você. Isso pode ser feito porque o ASP.Net gera saída de campos de formulários ocultos em HTML sempre que você instruir um formulário a executar no servidor. Para que isto ocorra é preciso que o desenvolvedor instrua o formulário e seus componentes a executar no servidor, portanto devemos incluir a clausula runat em cada um destes componentes: Curso de Introdução a Plataforma .Net FrameWork SDK 12 Acompanhe a sintaxe: Por exemplo, veja a linha a seguir escrita no servidor: Isso envia o código a seguir em HTML para o navegador: O campo oculto do formulário com o nome - _VIEWSTATE, possui um valor em uma string de caracteres, que é a forma que o ASP.Net utiliza para reconhecer cada controle. Quando o formulário é enviado, o ASP.Net recupera esse valor automaticamente e utiliza para preencher as informações do formulário novamente. Este esquema o ASP.Net utiliza para escrever lembretes para si próprio nas páginas que são enviadas para o cliente. Na figura 2.3 podemos acompanhar o fluxograma do ASP.Net, desde o instante da solicitação ao servidor até à exibição do código para o cliente. Figura 2.3 - Fluxograma do ASP.Net, da solicitação à exibição. <form runat=”server”> runat=”server” <form name=”ctr2” method=”post” action=”primeiro.aspx” id=”ctr2”> <input type=”hidden” name=”_VIEWSTATE” value=”YJ5373JdyAdfh7JDhs” /> CLIENTE SERVIDOR SOLICITAÇÃO PRIMEIRA VEZ? COMPILA TRATA DE EVENTOS EXECUTA O CÓDIGO TRADUZ PARA HTML Sim Não RETORNA HTML PARA EXIBIÇÃO Curso de Introdução a Plataforma .Net FrameWork SDK 13 Quase todo o HTML da página é gerado em tempo de execução pelos componentes. Por isso o componente gera HTML conforme o seu estado e o navegador usado naqueles instantes. Se necessário o componente gera JavaScript. É uma maneira de os componentes funcionarem independentes do navegador. Em termos de desenvolvimento de ASP.Net, a CLR dá ao programador muito menos com que se preocupar. Ele gerencia a memória e oferece aos aplicativos ASP.Net muito mais desempenho e estabilidade. Com o melhor isolamento de falhas não é mais necessário a pratica de reinicializar o servidor de Web IIS ou qualquer outro servidor Web, se a aplicação cair. Por isso podemos dizer que o ASP.Net é muito mais estável e eficiente que os métodos anteriores de desenvolvimento para a Web. Importando Espaços de Nome Cada espaço de nome na .Net FrameWork é essencialmente uma coleção de bibliotecas. O ASP.Net possui suas próprias bibliotecas, mas, às vezes, esse conjunto não é suficiente. Portanto você pode desenvolver suas próprias bibliotecas, o que já é de costume na programação. Você pode acessar suas bibliotecas adicionais utilizando a palavra-chave Import. Acompanhe um exemplo: Estas linhas importam todas as classes dos namespaces descritos acima. O espaço de nome System.Data.SqlClient importa por exemplo, os objetos SqlConnection, SqlCommand, SqlDataReader e SqlDataAdapter. Este recurso facilita bastante para o desenvolvedor chamar seus objetos e métodos no aplicativo. É apenas uma maneira mais fácil e rápida de fazer isso. Existe ainda uma outra maneira de se fazer isso, utilizando a seguinte sintaxe: <%@ Import Namespace = “System.Globalization” %> <%@ Import Namespace = “System.Data.SqlClient” %> <%@ Import Namespace = “Minha_Biblioteca” %> Dim Conn As System.Data.SqlClient.SqlConenction Dim Cultura As System.Globalization.CultureInfo DICA: Importar um espaço de nome, porém, não importa os espaços de nome abaixo dele. Somente as classes que pertencem a essa interface são importadas. Curso de Introdução a Plataforma .Net FrameWork SDK 16 Capítulo 3 – Variáveis Podemos dizer que uma variável é um espaço alocado na memória RAM para ser utilizada por um ou mais processos que necessitam de armazenar ou manipular alguma informação. Ou ainda, variáveis representam locais de armazenamento. Essas variáveis são reconhecidas por um nome que lhe é atribuído. As variáveis devem ser declaradas, assim terá um tipo associado a ela que determinará que valores podem ser armazenados e manipulados. O conteúdo de uma variável pode mudar no decorrer do programa. Você pode dar o nome que quiser a uma variável, mas existem algumas restrições como: → O nome deve conter letras, números, ou caracteres de sublinhado( _ ); → Este nome deve conter no máximo 255 caracteres. Como definido não podemos atribuir qualquer valor a uma variável, sem antes defini-la. Veja abaixo a sintaxe para declaração de variáveis em C# e VB.NET: Se estas variáveis forem declaradas dentro de um procedimento ou bloco, poderão ser acessíveis apenas dentro deste procedimento ou bloco. Na figura 3.1, o programa feito em C# tem um procedimento chamado de TestaVariavel( ), onde é declarado uma variável com o nome de VarEscreve. Esta variável estará acessível somente no procedimento em que foi declarada, neste exemplo, no procedimento TesteVariavel( ). Portanto se tentar solicitar esta variável fora do procedimento acontecerá um erro. É importante ressaltar que você adote um padrão para a declaração destas variáveis, para facilitar possíveis reparos no sistema desenvolvido. Para C#: TIPO NomeDaVariavel Exemplo: string Recebe_Indice; Para VB.Net: Dim NomeDaVariavel AS TIPO Exemplo: Dim Recebe_Índice AS Integer; Curso de Introdução a Plataforma .Net FrameWork SDK 17 Figura 3.1 – programa em C#. Na figura 3.2, um programa em Visual Basic.Net , tem um exemplo de uma variável declarada com o nome VarEscreve em um bloco de execução. Esta variável será acessível apenas neste bloco de execução, qualquer chamada a esta variável fora, vai ocorrer um erro. Figura 3.2 - programa em Visual Basic.net Dica: utilize nomes que sejam adequadamente descritivos. Não utilize nomes de variáveis temporárias, nem reutilize nomes – isso vai tomar o código confuso! using System; public class BlocoTeste { public void TestaVariavel( ) { string VarEscreve; // será acessível apenas neste procedimento VarEscreve = "Teste de variável"; Console.WriteLine(VarEscreve); } public static void Main( ) { BlocoTeste objBloco = new BlocoTeste( ); objBloco.TestaVariavel( ); } } Imports System Public Class BlocoTeste Public Shared Sub Main() Dim K AS Integer For K = 1 To 10 Dim VarEscreve E AS Integer ‘ será acessível apenas neste bloco If (k Mod 2) = 0 Then VarEscreve = k Console.WriteLine(VarEscreve) End If Next K End Sub End Class Curso de Introdução a Plataforma .Net FrameWork SDK 18 3.1 Variáveis na linguagem C#. Na linguagem C# as variáveis estão agrupadas em algumas categorias como: → Static: Existe apenas uma única cópia desta variável para todas as instancias de uma classe. Uma variável static começa a existir quando um programa começa a executar, e deixa de existir quando o programa terminar. → Instance: existe uma cópia para cada instancia de uma classe. Uma variável Instance começa a existir quando uma instancia daquele tipo é criado, e deixa de existir quando não houver nenhuma referência àquela instancia ou quando e método Finalize é executado. → Array: é uma matriz que é criada em tempo de execução. Tipos Podemos armazenar muitos tipos de informações diferentes dentro de uma variável, como números, datas, e strings. Nesta linguagem, seus tipos podem ter dois tipos: → Por Valor: os valores são gerenciados diretamente na memória. → Por Referencia: os valores são passados por meio de um ponteiro. Inteiros (por valor) Este tipo é um numero inteiro sem fração ou parte decimal. Por exemplo, o número 1058 é um numero inteiro. O tipo inteiro é subdividido em alguns subtipos. Veja a figura 3.1.1 que mostra estes tipos de inteiro. Figura 3.1.1 – tipos de inteiro. Tipo Descrição byte Inteiro de 1 bit sem sinal (0 a 255) sbyte Inteiro com sinal de 8 bits (-127 a 128) int Inteiro de 32 bits com sinal (-2.147.483.648 a 2.147.483.147) uint Inteiro de 32 bits sem sinal (0 a 4.294.967.295) long Inteiro com sinal de 64 bits (-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807) ulong Inteiro sem sinal de 64 bits (0 a 18.446.744.073.709.551.615) short Inteiro com sinal de 16 bits (-32.768 a 32.767) ushort Inteiro sem sinal de 16 bits (0 a 65.535) Exemplos: byte VarIdade = 25; int VarValor = 1.542; long VarValor = 5.684.548.520; short VarInd = 25.620; Curso de Introdução a Plataforma .Net FrameWork SDK 21 String (por referência) Este tipo pode conter até 1 gigabyte de caractere e é alocado dinamicamente, por isso dizemos que este tipo é por referência. Tipo Descrição string Unicode com até 1 gigabyte de caractere. Exemplos: str ing VarNome = “Claudio Junior”; string VarEmail = “claudiojunior@estadao.com.br”; string VarConcatenar = VarNome + VarEMail; As strings são compostas por caracteres e podem conter literais caracteres. Veja a representação dos literais strings: Tipo Descrição \’ Apóstrofo \” Aspas \\ Barra invertida \0 Zero binário ou nulo \a Alerta \b Retrocesso \f Avanço de página \n Salto de linha \r Retorno de carro \t Tabulação horizontal \v Tabulação vertical \uNNNN NNNN é o código em hexadecimal Uma representação importante das string é a arroba ( @ ), utilizada para especificar nomes de arquivos e pastas. Exemplos: str ing VarLinha = “Pula Linha \n”; string VarCaminho = @”c:\temp\oledb.txt”; Neste caso com o uso da arroba ( @ ) a representação dos caracteres de barra invertida ( \ ) não é feita dentro da string. Curso de Introdução a Plataforma .Net FrameWork SDK 22 Object (por referência) Este tipo é muito utilizado por programadores, é um termo geral para uma variável que não é especificado como outro tipo de dados, por isso torna-se um tipo universal. Em certas situações torna-se indispensável atribuir e instanciar um objeto. Tipo Descrição object Atribuir a um objeto. Exemplos: Object VarNome = “Rubens Barrichello”; Este objeto recebe o valor de uma string. Object VarIdade = 29; Este objeto recebe o valor de um numero; Object VarAtivar = true; Este objeto recebe um valor lógico. Conversão de Valores Converter um tipo de dado em número ou em literal é comum em situações de programação. Quando esta aplicação for destinada a Web com intervenções de internautas, esse recurso é utilizado com mais freqüência ainda. É comum o internauta testar a aplicação para ter certeza que o desenvolvedor se preocupou com as devidas conversões de valores. Devemos considerar alguns aspectos para a conversão de números: Como existem diversos tipos de números, inteiros, ponto flutuante ou decimal, os valores são convertidos sempre para o tipo de maior faixa de valores. Por exemplo, o tipo long é convertido para o ponto flutuante, mais é importante ressaltar que o contrario causa um erro. Os tipos de menor faixa são convertidos para os de maior faixa. Por exemplo, o tipo int pode ser convertido para: long, float, double ou decimal. A conversão dos tipos de ponto flutuante(float, double) para decimal causa erro. A conversão entre os tipos com sinal e sem sinal de valores inteiros com o mesmo tamanho causa erro. Por exemplo, entre o tipo int e unit. Curso de Introdução a Plataforma .Net FrameWork SDK 23 Caso precise forçar uma conversão mesmo que haja perda de informações, a linguagem disponibiliza um operador com este recurso. Exemplos: int VarValor = (int)8544555L; Neste caso a variável inteira vai receber o quanto poder suportar do t ipo long. long VarValor = (long)29.145; Neste caso a variável inteira do tipo long suportará o quanto for possível do número não inteiro. Em alguns casos os tipos de conversão não precisam ser especificados pelo desenvolvedor, essa conversão é feita automaticamente. Figura 3.1.3 - os tipos de conversão automática: Tipo Converte em sbyte short, int, long, float, double, decimal byte short, ushort, int, uint, long, ulong, float, double, decimal short int, long, float, double, decimal ushort int, uint, long, ulong, float, double, decimal int long, float, double, decimal uint long, ulong, float, double, decimal long float, double, decimal ulong long, double, decimal char ushort, int, uint, long, ulong, float, double, decimal float double Exemplos: int VarInteiro = 32450; long VarLong = VarInteiro; f loat VarFloat = VarLong; double VarDouble = VarFloat; decimal VarDecimal = VarLong; byte VarByte = (byte)VarInteiro; int VarInteiro = (int)31.245F; Curso de Introdução a Plataforma .Net FrameWork SDK 26 Veja a saída do programa da figura 3.1.5. Struct (por valor) Permite declarar tipos que contem diversos valores identificados pelo nome. Um tipo de struct é um tipo de valor que pode conter construtores, constantes, campos, métodos, propriedades, dentre outros. A declaração de um struct leva a forma seguinte: Figura 3.1.6 – exemplo de um tipo struct. Atributo struct IdentificadorDoTipo using System; public struct Point { public int x, y; public Point(int x, int y) { this.x = x; this.y = y; } } class MainClass { public static void Main() { // Declare an object: Point myPoint; // Initialize: myPoint.x = 10; myPoint.y = 20; // Display results: Console.WriteLine("My Point:"); Console.WriteLine("x = {0}, y = {1}", myPoint.x, myPoint.y); } } Curso de Introdução a Plataforma .Net FrameWork SDK 27 Veja a saída do programa da figura 3.1.6. New Independente do tipo todas as variáveis podem ser inicializadas com o operador new. Caso sejam do tipo class, struct ou array, este operador é obrigatório. Exemplos do operador new: Para tipos primitivos: Para classes: Para structs: No exemplo a seguir temos a criação de um tipo definido pelo desenvolvedor, o tipo struct, e a criação de um objeto de classe. Tipo NomeVariavel = new Tipo( ); Int Valor = new int( ); NomeClasse NomeInstancia = new NomeClasse( ); ClasseAluno ObjAluno = new ClasseAluno( ); NomeStruct InstanciaTipo = new NomeStruct( ); RegistroAluno RegAluno = new RegistroAluno( ); Curso de Introdução a Plataforma .Net FrameWork SDK 28 using System; class NewTest { struct MyStruct { public int x; public int y; public MyStruct (int x, int y) { this.x = x; this.y = y; } } class MyClass { public string name; public int id; public MyClass () { } public MyClass (int id, string name) { this.id = id; this.name = name; } } public static void Main() { // Criação de objetos usando o construtor sem valores. MyStruct Location1 = new MyStruct(); MyClass Employee1 = new MyClass(); // Valores de saída: Console.WriteLine("Valores Default:"); Console.WriteLine(" Membros do Struct: {0}, {1}", Location1.x, Location1.y); Console.WriteLine(" Membros da Classe: {0}, {1}", Employee1.name, Employee1.id); // Criando objetos usando construtores parametrizados: MyStruct Location2 = new MyStruct(10, 20); MyClass Employee2 = new MyClass(1234, "John Martin Smith"); // Valores de saída: Console.WriteLine("Valores Inicializados pelo construtor:"); Console.WriteLine(" Struct members: {0}, {1}", Location2.x, Location2.y); Console.WriteLine(" Class members: {0}, {1}", Employee2.name, Employee2.id); } } Curso de Introdução a Plataforma .Net FrameWork SDK 31 Exemplo 2 – Operações matemáticas. Veja a saída do programa acima: using System; public class OperacoesMat { public static void Main( ) { int Valor1; // forma normal int Valor2 = new int ( ); // forma alternativa Valor1=Valor2=10; Console.WriteLine(" Valor1 = Valor2 = 10: "); Console.WriteLine(" Valor1: "+Valor1); Console.WriteLine(" ++Valor1: "+ ++Valor1); Console.WriteLine(" Valor2- - : "+Valor2--); Console.WriteLine(" Valor1 + 15 : "+(Valor1 + 15)); Console.WriteLine(" Valor2 - 5 : "+(Valor2 - 5)); } } Curso de Introdução a Plataforma .Net FrameWork SDK 32 Exemplo 3 – operadores lógicos: Veja a saída do programa acima: using System; public class Logicos { public static void Main( ) { bool VarA = true; bool VarB = !true; Console.Write(" VarA ? 'verdade' : 'falso' : "); Console.WriteLine(VarA ? "verdade" : "falso"); Console.Write(" VarB ? 'verdade' : 'falso' : "); Console.WriteLine(VarB ? "verdade" : "falso"); } } Curso de Introdução a Plataforma .Net FrameWork SDK 33 3.2 Variáveis na linguagem Visual Basic.Net A linguagem Visual Basic.net também faz uso de variáveis como toda linguagem de programação. O uso de variáveis nos aplicativos desenvolvidos é muito comum, principalmente para armazenamentos temporários de informações. Para a Web a utilização de variáveis é inevitável. Tipos Toda variável deve ter um tipo que define qual o tipo de informações ou dados lhe convém. Para isso, toda variável tem um conjunto de regras que determina o seu uso. Nesta linguagem os tipos são divididos em cinco categorias diferentes: inteiros, números de ponto flutuante, booleanas, datas e strings. Inteiros ( por valor ) Um número inteiro sem fração ou parte decimal é dito como inteiro. Existem alguns subtipos de inteiros, de modo que você possa assegurar um tamanho de memória adequado para um determinado dado. A figura 3.2.1 mostra os tipos de inteiros que a linguagem suporta. Figura 3.2.1 – Subtipos de inteiros. Tipo Descrição Byte Inteiro de 1 byte sem sinal (0 a 255) (também conhecido como System.Int) Short Inteiro de 2 bytes com sinal ( -32.678 a 32.677) (também conhecido como System.Int16) Integer Inteiro de 4 bytes com sinal ( -2.147.483.648 a 2.147.483.647) (também conhecido como System.Int32) Long Inteiro de 8 bytes com sinal ( - 9.223.372.036.854.775.808 a 9.223.372.036.854.775.807) (também conhecido como System.Int64) Exemplos: Dim VarIdade As Byte = 25 Dim VarValor As Int = 1542145120 Dim VarValor As Long = 5684548520 Dim VarInd As Short = 25620 Curso de Introdução a Plataforma .Net FrameWork SDK 36 Figura 3.2.5 – Tipo Date Tipo Descrição Date São armazenados em números inteiros longos com 8 bytes que representam uma data na faixa de 1/1/1 até 31/12/9999. Com relação às horas valem de 0:00:00 até 23:59:59. Exemplos: Dim VarHoje As Date = Now Dim VarData As Date = Today Dim VarHoras As Date = TimeOfDay Dim VarSegundos As Date = Time Strings (por referência) Este tipo pode conter até 1 gigabyte de caractere e é alocado dinamicamente, por isso dizemos que este tipo é por referência. As strings são grupos de caracteres como – “Cláudio Junior”, “dizer-lhe”, “#2!455^%” ou ainda “1234”. As Strings em Visual Basic.Net são incluídas entre aspas duplas ( “ Visual Basic.Net ” ). Veja na figura 3.2.6 o tipo string. Figura 3.2.6 – Tipo String Tipo Descrição string Aproximadamente 2 bilhões de caracteres. Exemplos: Dim VarNome As String = “Claudio” Dim VarEmail As String = “claudiojunior@estadao.com.br” Dim VarSobrenome As String = “Junior” Dim VarConcatenar As String = VarNome & VarSobrenome Dim VarConcatenar As String = VarNome + ( VarSobrenome ) Curso de Introdução a Plataforma .Net FrameWork SDK 37 Object (por referência) Este tipo é muito utilizado por programadores, é um termo geral para uma variável que não é especificado como outro tipo de dados, por isso torna-se um tipo universal. Em certas situações torna-se indispensável atribuir e instanciar um objeto. Figura 3.2.7 – Tipo Object. Tipo Descrição object Atribuir a um objeto. Exemplos: Dim VarObjeto As Object = “Rubens Barrichello” Dim VarObjeto As Object = 234.214D Dim VarObjeto As Object = Not false Dim VarObjeto As Object = TimeOfDay Conversão de Valores Converter um tipo de dado em número ou em literal é comum em situações de programação. Quando esta aplicação for destinada a Web com intervenções de internautas, esse recurso é utilizado com mais freqüência ainda. A conversão pode ser implícita(conversões implícitas) ou explicita(conversões especificadas – explicitas) de uma variável. Devemos observar que uma variável é convertida num outro tipo de maior faixa. Em alguns casos os tipos de conversão não precisam ser especificados pelo desenvolvedor, essa conversão é feita automaticamente. Figura 3.2.8 - os tipos de conversão automática: Tipo Converte em Byte Byte, Short, Integer, Long, Decimal, Single, Double. Short Short, Integer, Long, Decimal, Single, Double. Integer Integer, Long, Decimal, Single, Double. Long Long, Decimal, Single, Double. Decimal Decimal, Single, Double. Single Single, Double. Double Double Char String Qualquer Tipo Object Curso de Introdução a Plataforma .Net FrameWork SDK 38 Figura 3.2.9 - veja as funções para os tipos de conversões explícitas. Função Converte em Asc Retorna o numero correspondente a tabela ASCII Cbool Boolean Cbyte Byte CChar Char Cdate Date CDbl Double Cdec Decimal Chr Char Cint Integer CLng Long Cobj Object Cshort Short CSng Single CStr String Ctype Converte para o tipo especificado Str String Val Converte para o tipo numérico especificado. Exemplos: Dim MyInt As Integer MyInt = Asc("A") ' MyInt recebe 65. MyInt = Asc("a") ' MyInt recebe 97. MyInt = Asc("Apple") ' MyInt recebe 65. Dim A, B, C As Integer Dim Check As Boolean A = 5 B = 5 Check = CBool(A = B) ' Check recebe True. C = 0 Check = CBool(C) ' Check recebe False. Curso de Introdução a Plataforma .Net FrameWork SDK 41 Operadores Os operadores são símbolos utilizados para executar alguma ação. Você já deve conhecer alguns dos operadores, pois toda linguagem faz-se uso de operadores. Acompanhe na figura abaixo os tipos de operadores e suas respectivas funções. Figura 3.2.10 – Operadores da linguagem Visual Basic.net Operador Função ^ Exponencial + , - Adição e subtração * , / Multiplicação e Divisão \ Divisão ( 10 \ 3 = 3.333333 ) Mod Módulo ( 6 mod 4 = 2 ) & , + (string) Concatenação =, < >, <, > Igual a, não-igual a, maior que, menor que <=, >= Menor ou igual a, Maior ou igual a =, ^=, *=, /=, \=, +=, -=, &= Atribuição NOT, AND, OR, XOR Lógico: Negação, E, Ou, Ou exclusivo BitNot, BitAnd, BitOr, BitVor Lógico Binário: Negação, E, Ou, Ou exclusivo TypeOf ... Is, Is, Like Relacional Exemplos Sub ControlProcessor(ByVal MyControl As Control) If TypeOf MyControl Is ComboBox Then Console.WriteLine ("ë do tipo " & TypeName(MyControl)) ElseIf TypeOf MyControl Is CheckBox Then Console.WriteLine ("É do tipo " & TypeName(MyControl)) ElseIf TypeOf MyControl Is TextBox Then Console.WriteLine ("É do tipo " & TypeName(MyControl)) End If End Sub Dim A As Integer = 10 Dim B As Integer = 8 Dim C As Integer = 6 Dim myCheck As Integer myCheck = (A And B) ' Retorna 8. myCheck = (A And C) ' Retorna 2. myCheck = (B And C) ' Retorna 0. Dim myTest As Boolean myTest = A > B And B > C ' Retorna True. myTest = B > A And B > C ' Retorna False. Curso de Introdução a Plataforma .Net FrameWork SDK 42 Array Um tipo array é uma matriz de valores do mesmo tipo, ou seja, ou conjunto de elementos do mesmo tipo dentro de uma única variável, que é criada em tempo de execução, podendo ser acessada por meio de um índice. A declaração do array sempre faz o uso de um parêntese( ( ) ) depois do nome da variável. O tipo array pode ter diversas dimensões, o tamanho desta é definido pelo desenvolvedor, mas devemos saber que o primeiro índice é sempre zero. Portanto um array declarado com 10 posições, na realidade será de 11 posições – de 0 a 10. Veja abaixo a forma de sintaxe para a declaração de arrays. Atribuindo Valores aos Arrays Para atribuir um valor aos elementos de um array, você deve montar um looping ou atribuir um valor especifico a cada elemento do array. Vejamos abaixo a atribuição nos dois casos comentados. Dim NomeDoArray ( tamanho do vetor ) As Tipo Dim VarValores ( 10 ) As Integer Dim VarValores ( ) As Integer = { valores } Dim Nomematriz ( tamanho do vetor, tamanho do vetor ) As Tipo Dim VarMatriz ( 5, 5 ) As String Imports System Module Atribuir Sub Main ( ) Dim i As Integer Dim VarValores(5) As Integer For i=0 to 5 VarValores(i) = i * 2 Next i End Sub End Module Imports System Module Atribuir Sub Main ( ) Dim VarCores ( ) As String = {“azul”, “preto”, “branco”, “verde”} Dim VarNomes ( 3 ) As String VarNomes (0) = “Adriana” VarNomes (1) = “Beatriz” VarNomes (2) = “Juliana” VarNomes (3) = “Maria” End Sub End Module Curso de Introdução a Plataforma .Net FrameWork SDK 43 Arrays Multidimensionais O array também pode ser declarado com várias dimensões. Muito utilizado quando precisamos de uma matriz. Vejamos abaixo a sintaxe deste array. Vejamos abaixo um exemplo de atribuição de valores para um array multidimensional. As Funções REDIM e ERASE Depois de declarado um array com um número especifico de elementos você fica limitado a este tamanho. Entretanto o Visual Basic.Net traz uma função chamada REDIM para redimensionar o tamanho do array. Devemos observar algumas minuciosidades deste processo: Quando o vetor é redimensionado para outro tamanho, seus valores são destruídos. Porem se for utilizada a palavra-chave preserve os valores são salvos e atribuídos ao novo array. Se o novo valor especificado para o redimensionamento for maior, os índices extras são inicializados com o valor padrão. Se o novo valor especificado para o redimensionamento for menor, os índices que não fazem parte da nova faixa do vetor são destruídos. Uma outra função bastante útil é a ERASE. Esta função configura cada elemento do array para Nothing, ou seja, atribui um valor NULO as variáveis do vetor. Dim NomeDaMatriz ( tamanho do vetor, tamanho do vetor ) As Tipo Dim VarMatriz ( 15 , 15 ) As Integer Imports System Module Atribuir Sub Main ( ) Dim VarMatriz ( , ) As Integer = {{1, 2, 3}, {4, 5, 6}} Dim I As Integer Dim J As Integer For I=0 to 2 For J=0 to 2 Console.WriteLine("VarMatriz("& I &", "& J &"): "& VarMatriz(I, J)) Next J Next I End Sub End Module Curso de Introdução a Plataforma .Net FrameWork SDK 46 Capítulo 4 – Estruturas de Controle Para o aplicativo executar a lógica desejada dependendo das informações que lhe são atribuídas, existem as estruturas de controle. Assim o aplicativo executara as instruções de acordo com uma certa decisão, tendo ou não a participação do internauta. Estas estruturas de controle existem em qualquer linguagem de programação. 4.1 Estruturas de decisão As estruturas de decisão ou também chamada de lógica condicional, permite especificar qual código deve ser executado dependendo das condições satisfeitas. Este recurso torna-se necessário para qualquer lógica implementada. 4.1.1 Instrução if .. then ... else ... elseif É a forma mais simples de se aplicar à lógica condicional. A instrução if é simples. Se a condição for satisfeita então o código é executado. Vamos ver a forma de sintaxe para esta instrução ( if ). A instrução else é opcional e indica a instrução que o aplicativo deve executar se a condição imposta pelo if não for satisfatória. Temos também a instrução elseif que permite testar outras condições. Vamos ver a forma de sintaxe para estas instruções ( else, elseif ). Para C# If ( condição ) { Instruções; } exemplo C#: if ( VarIdade >= 18 ) { Console.WriteLine(“Usuário de maior idade”); } Para VB if ( condição ) Then Instruções end if exemplo VB: if VarIdade >= 18 Then Console.WriteLine(“Usuário de maior idade”) end if Curso de Introdução a Plataforma .Net FrameWork SDK 47 Para C# If ( condição ) { Instruções; } else if ( condição ) { Instruções; } else { Instruções; } exemplo C#: If ( Numero < 10 ) { Console.WriteLine(“O Número possui 1 dígito”); } else if ( Numero < 100 ) { Console.WriteLine(“O Número possui 2 dígitos”); } else { Console.WriteLine(“O Nº possui mais de 2 dígitos”); } outra forma para c#: if ( condição ? InstrucaoVerdade : InstrucaoFalsa ); exemplo c#: Console.Write ( idade >= 18 ? “Maior idade” : “Menor idade” ); Para VB If ( condição ) then Instruções elseif ( condição ) then Instruções else Instruções end if exemplo VB: If ( Number < 10 ) then Console.WriteLine(“O Número possui 1 digito”) elseif ( Number < 100 ) then Console.WriteLine(“O Número possui 2 dígitos”) else Console.WriteLine(“O Nº possui mais de 2 dígitos”) end if outra forma para vb: iif ( condição , InstrucaoVerdade , InstrucaoFalsa ) exemplo vb: Console.Write( iif ( idade >= 18 , “Maior idade” , “Menor idade” ) ) Curso de Introdução a Plataforma .Net FrameWork SDK 48 4.1.2 Instrução switch(c#) e case(vb) A instrução switch(c#) e case(vb) são utilizadas em situações em que houver a necessidade de diversos testes condicionais. São basicamente uma combinação de instrução if com orações de elseif. Estas instruções examinam uma condição e especifica qual bloco de código deve ser executado. Vamos examinar a sintaxe da instrução switch(c#). Vamos examinar a sintaxe para a instrução Select case(vb). switch ( condição ) { case condição 1 : Instruções; break; case condição 2 : Instruções; break; case condição N : Instruções; break; default: instruções default; } Exemplo: switch ( Estado ) { case “PR” : Console.WriteLine(“Viagem para Curitiba”); break; case “MG” : Console.WriteLine(“Viagem para Belo Horizonte”); break; case “RJ” : Console.WriteLine(“Viagem para o Rio de Janeiro”); break; default: Console.WriteLine(“Viagem para São Paulo”); break; } select case condição case condição 1 : Instruções case condição 2 : Instruções case condição N : Instruções case else: instruções default end select Exemplo: Select case Estado case “PR” : Console.WriteLine(“Viagem para Curitiba”) case “MG” : Console.WriteLine(“Viagem para Belo Horizonte”) case “RJ” : Console.WriteLine(“Viagem para o Rio de Janeiro”) case select: Console.WriteLine(“Viagem para São Paulo”) end select Curso de Introdução a Plataforma .Net FrameWork SDK 51 4.2.4 Instrução Do Loop ( apenas Visual Basic.Net ) O objetivo desta instrução é fazer o papel do looping While e Do While, mas com a diferença de executar pelo menos uma vez a repetição. Acompanhe a sintaxe abaixo: Para vb: Do Instruções Loop Until condição Exemplo vb: Do Console.WriteLine( Numero ) Loop Until numero < 10 Curso de Introdução a Plataforma .Net FrameWork SDK 52 Exemplos e Exercícios: Exemplo 1 – Estruturas de controle na linguagem C# . using System; public class ExemploIf { public static void Main() { int VarNumero = 0; Console.WriteLine(" ---------------- Instrução IF ------------------- "); Console.Write("Forneça um número: "); string Leia = Console.ReadLine( ); VarNumero = int.Parse( Leia ); if (VarNumero < 10) { Console.WriteLine(" O Numero possui 1 digito "); } else if (VarNumero < 100) { Console.WriteLine(" O Numero possui 2 dígitos "); } else { Console.WriteLine(" o Numero possui 3 ou mais números "); } Console.WriteLine( ); Console.WriteLine(" ---------------- Instrução SWITCH ------------------- "); Console.Write("forneça a sigla de um Estado da região Sudeste: "); Leia = Console.ReadLine(); Leia = Leia.ToUpper(); // Transforma o string com letras maiúsculas. switch ( Leia ) { case "MG": Console.WriteLine("A capital se chama: Belo Horizonte"); break; case "SP": Console.WriteLine("A capital se chama: São Paulo"); break; case "RJ": Console.WriteLine("A capital se chama: Rio de Janeiro"); break; case "ES": Console.WriteLine("A capital se chama: Vitória"); break; default: Console.WriteLine("Você não digitou uma sigla correta"); break; } Console.WriteLine( ); Console.WriteLine(" ---------------- Instrução WHILE ------------------- "); int Condicao = 1; Console.Write("Forneça um valor para repetição de 3 - 7 :"); Leia = Console.ReadLine( ); VarNumero = int.Parse( Leia ); int Final =1; if (VarNumero > 2) { if (VarNumero < 8) { Final = VarNumero; } else { Final = 2; } } Console.WriteLine( Final==2 ? "Valor Incorreto" : "Valor Correto" ); while ( Condicao < = Final ) { Console.WriteLine("Valor da variavel Condicao: {0}", Condicao); Condicao++; } } } Curso de Introdução a Plataforma .Net FrameWork SDK 53 Acompanhe a saída do programa acima: Curso de Introdução a Plataforma .Net FrameWork SDK 56 Exercício Implemente nas linguagens Visual Basic.Net e C# o esboço de um looping mostrado abaixo na figura 4.3. Figura 4.3 – Gráfico de um looping. Para Contador iniciando de 1 Contador é < 10 ? Contador é um numero PAR? Escreve Contador Fecha NÃO Sim Sim NÃO Incrementa o Contador REPETE Curso de Introdução a Plataforma .Net FrameWork SDK 57 Capítulo 5 - Formatação A formatação é muito utilizada pelos desenvolvedores em suas aplicações. Este processo busca uma forma de apresentação mais inteligível e funcional, em função das configurações de cada país, principalmente na formatação de valores monetários e datas. Para isso a plataforma .Net traz muitas funções para as linguagens C# e VB.net. Formatação de Números Para a formatação de números você pode utilizar funções prontas das linguagens da plataforma .Net, ou criar seu próprio formato personalizado. Assim os desenvolvedores conseguirão trabalhar com valores monetários específicos de cada região. 5.1 Formatação de Números na Linguagem C# É essencial a formatação de números nas aplicações desenvolvidas. A linguagem C# trabalha bem com estas formatações. Para isso destacaremos a função ToString: → ToString( ): retorna a formatação padrão dos tipos numéricos. Este método é disponível para os tipos numéricos. Aceita uma string de formatação para os tipos como – valores monetários, decimal, ponto fixo, dentre outros, e uma referência para uma cultura. Acompanhe abaixo a sintaxe do método ToString( ): VariavelNumerica.ToString(“StringFormatação”, ReferenciaCultural); VarValor.ToString(“c”, null); Curso de Introdução a Plataforma .Net FrameWork SDK 58 Figura 5.1.1 – Formatação de Números. using System; using System.Globalization; public class FormatC { public static void Main() { double VarValor = 15680.1248D; string VarMostra; CultureInfo us = new CultureInfo("en-US"); //Formatacao USA VarMostra = VarValor.ToString("n",us); Console.WriteLine("ToString('n',us) = "+VarMostra); VarMostra = VarValor.ToString("n6",us); Console.WriteLine("ToString('n6',us) = "+VarMostra); VarMostra = VarValor.ToString("c",us); Console.WriteLine("ToString('c',us) = "+VarMostra); Console.WriteLine(); CultureInfo br = new CultureInfo("pt-BR"); //Formatacao Brasil VarMostra = VarValor.ToString("n",br); Console.WriteLine("ToString('n',br) = "+VarMostra); VarMostra = VarValor.ToString("e",br); Console.WriteLine("ToString('e',br) = "+VarMostra); VarMostra = VarValor.ToString("c",br); Console.WriteLine("ToString('c',br) = "+VarMostra); Console.WriteLine(); CultureInfo fr = new CultureInfo("fr-FR"); //Formatacao França VarMostra = VarValor.ToString("n",fr); Console.WriteLine("ToString('n',fr) = "+VarMostra); VarMostra = VarValor.ToString("f3",fr); Console.WriteLine("ToString('f3',fr) = "+VarMostra); VarMostra = VarValor.ToString("c4",fr); Console.WriteLine("ToString('c4',fr) = "+VarMostra); Console.WriteLine(); CultureInfo es = new CultureInfo("es-ES"); //Formatacao Espanha VarMostra = VarValor.ToString("n3",es); Console.WriteLine("ToString('n3',es) = "+VarMostra); VarMostra = VarValor.ToString("g4",es); Console.WriteLine("ToString('g4',es) = "+VarMostra); VarMostra = VarValor.ToString("c2",es); Console.WriteLine("ToString('c2',es) = "+VarMostra); } } Curso de Introdução a Plataforma .Net FrameWork SDK 61 Configurações para a constante TriState: Constante Valor Descrição TriState.True -1 Condição verdadeira ( True ) TriState.False 0 Condição Falsa ( False ) TriState.UseDefault -2 Configurações padrão do computador. Vejamos um exemplo para estas funções de formatação: Imports System Imports System.Globalization Imports Microsoft.VisualBasic.Strings Module FormatVB Sub Main() Dim VarValor As Double = 15252.8573 Dim VarMostra As String Dim br As New CultureInfo("pt-BR") Console.WriteLine("---- Método ToString() ----") VarMostra = VarValor.ToString("n",br) Console.WriteLine("ToString('n',br) = "& VarMostra) VarMostra = VarValor.ToString("e",br) Console.WriteLine("ToString('e',br) = "& VarMostra) VarMostra = VarValor.ToString("c2",br) Console.WriteLine("ToString('c2',br) = "& VarMostra) Console.WriteLine() Console.WriteLine("---- FormatNumber ----") VarMostra = FormatNumber(VarValor, 2, -1, -1, -2) Console.WriteLine("VarMostra = " & VarMostra) VarMostra = FormatNumber(VarValor, 7, -1, -1, -2) Console.WriteLine("VarMostra = " & VarMostra) VarMostra = FormatNumber(VarValor - 5000, 2, -1, -1, -2) Console.WriteLine("VarMostra = " & VarMostra) Console.WriteLine() Console.WriteLine("---- FormatCurrency ----") VarMostra = FormatCurrency(VarValor, 2, -1, -1, -2) Console.WriteLine("VarMostra = " & VarMostra) VarMostra = FormatCurrency(VarValor, 7, -1, -1, -2) Console.WriteLine("VarMostra = " & VarMostra) VarMostra = FormatCurrency(VarValor - 5000, 2, -1, -1, -2) Console.WriteLine("VarMostra = " & VarMostra) Console.WriteLine() VarValor = 0.25 Console.WriteLine("---- FormatPercent ----") VarMostra = FormatPercent(VarValor, 2, -1, -1, -2) Console.WriteLine("VarMostra = " & VarMostra) VarMostra = FormatPercent(VarValor, 7, -1, -1, -2) Console.WriteLine("VarMostra = " & VarMostra) VarMostra = FormatPercent(VarValor + 0.10, 2, -1, -1, -2) Console.WriteLine("VarMostra = " & VarMostra) End Sub End Module Curso de Introdução a Plataforma .Net FrameWork SDK 62 Veja a saída do programa acima: Alem das funções discutidas acima, vamos apresentar formatos genéricos e personalizados de formatação que a linguagem Visual Basic.Net suporta. A seguir vamos conferir a sintaxe do método Format( ): Veja na figura 5.2.2 os caracteres de formatação permitidos e na figura 5.2.3 os caracteres utilizados na formatação personalizada dos números. Format (Expressão, caracter de formatação ou caracteres especiais de formatação) Format (VariavelValor, “C4”) Format (VariavelEspecial, “##000000.00#-000#”) Curso de Introdução a Plataforma .Net FrameWork SDK 63 Figura 5.2.2 – Caracteres de Formatação. Figura 5.2.3 – Caracteres especiais para Formatação Personalizada. Caractere Descrição C ou c Representam valores monetários D ou d Formatação Decimal. Apenas para números Inteiros. E ou e Formato de Notação Cientifica F ou f Representam o formato de Ponto Fixo G ou g Formato Geral dos números N ou n Representação Numérica P ou p Formato de porcentagem R ou r Assegura que um número convertido para string, terá o mesmo formato se convertido de volta para número. X ou x Formatação para Hexadecimal Yes / No Se o número for zero retorna No, senão retorna Yes. True / False Se o número for zero retorna False, senão retorna True. On - Off Se o número for zero retorna Off, senão retorna On. Caractere Descrição None Exibe o numero sem formatação. ( 0 ) Exibe o digito ou zero. Se na expressão contiver o dígito onde tiver 0, então é exibido o digito, ao contrario será exibe o numero zero. ( # ) Exibe o digito ou nada. Se na expressão contiver o dígito onde tiver #, então é exibido o digito, ao contrario não exibe nada. ( . ) Usado como separador de decimal. ( % ) Usado para exibir um valor percentual, sempre lembrando que este valor será multiplicado por 100. ( , ) Usado para separar centenas e milhares. ( E- E+ e- e+ ) Usado para exibir formato cientifico. Curso de Introdução a Plataforma .Net FrameWork SDK 66 Como visto acima, o método ToString( ) possui como parâmetros: uma string de formatação e uma expressão para a referencia Cultural. Acompanhe na figura 5.3.1 os caracteres de formatação correspondente para a manipulação de datas e horas. Figura 5.3.1 – Caracteres de Formatação. Caractere Descrição Exemplo d Exibe o dia do mês sem o zero 1, 2, 6, 12, 31 dd Exibe o dia do mês com o zero 01, 02, 06, 12, 31 ddd Exibe o nome abreviado do dia Seg, Ter, Qua dddd Exibe o nome completo do dia Segunda-feira M Exibe o mês sem o zero 1, 2, 6, 12 MM Exibe o mês com o zero 01, 02, 06, 12 MMM Exibe o nome abreviado do mês Jan, Mar, Dez MMMM Exibe o nome completo do mês Janeiro, Dezembro y Exibe os dois últimos dígitos do ano sem o zero 1, 2, 6, 99 yy Exibe os dois últimos dígitos do ano com o zero 01, 02, 06, 99 yyyy Exibe os quatro dígitos do ano 2001, 2002, 1999 h Exibe as horas sem o zero para horas de 1 a 9. Apresenta formato de 12 horas. 1, 2, 6, 12 hh Exibe as horas com o zero para horas de 1 a 9. Apresenta formato de 12 horas. 01, 02, 06, 12 H Exibe as horas sem o zero para horas de 1 a 9. Apresenta formato de 24 horas. 1, 2, 9, 13, 15 HH Exibe as horas com o zero para horas de 1 a 9. Apresenta formato de 24 horas. 01, 02, 09, 13, 15 m Exibe os minutos sem o zero para minutos de 1 a 9. 1, 2, 6, 12, 58 mm Exibe os minutos com o zero para minutos de 1 a 9. 01, 02, 06, 12, 58 s Exibe os segundos sem o zero para seg. de 1 a 9. 1, 2, 3, 16, 59 ss Exibe os segundos com o zero para seg. de 1 a 9. 01, 02, 03, 16, 59 : Separador de tempo 13: 49: 52 / Separador de data 13/ 01/ 2002 Curso de Introdução a Plataforma .Net FrameWork SDK 67 Veja o exemplo a seguir: using System; using System.Globalization; public class FormDataC { public static void Main(string[] args) { string VarMostra; CultureInfo us = new CultureInfo("en-US"); CultureInfo br = new CultureInfo("pt-BR"); CultureInfo fr = new CultureInfo("fr-FR"); DateTime VarData = new DateTime(2001,02,19,13,25,20); Console.WriteLine("---- Formatos de Datas USA ---"); VarMostra = VarData.ToString("dd",us); Console.WriteLine("ToString('dd') = "+ VarMostra); VarMostra = VarData.ToString("dddd",us); Console.WriteLine("ToString('dddd') = "+ VarMostra); VarMostra = VarData.ToString("MMM",us); Console.WriteLine("ToString('MMM') = "+ VarMostra); VarMostra = VarData.ToString("yyyy",us); Console.WriteLine("ToString('yyyy') = "+ VarMostra); Console.WriteLine(); Console.WriteLine("---- Formatos de Datas Brasil ----"); VarMostra = VarData.ToString("M",br); Console.WriteLine("ToString('M') = "+ VarMostra); VarMostra = VarData.ToString("dddd",br); Console.WriteLine("ToString('dddd') = "+ VarMostra); VarMostra = VarData.ToString("MM",br); Console.WriteLine("ToString('MM') = "+ VarMostra); VarMostra = VarData.ToString("yy",br); Console.WriteLine("ToString('yy') = "+ VarMostra); Console.WriteLine(); Console.WriteLine("---- Formatos de Datas Francês ----"); VarMostra = VarData.ToString("M",fr); Console.WriteLine("ToString('M') = "+ VarMostra); VarMostra = VarData.ToString("dddd",fr); Console.WriteLine("ToString('dddd') = "+ VarMostra); VarMostra = VarData.ToString("MMMM",fr); Console.WriteLine("ToString('MMMM') = "+ VarMostra); VarMostra = VarData.ToString("y",fr); Console.WriteLine("ToString('y') = "+ VarMostra); Console.WriteLine(); } } Curso de Introdução a Plataforma .Net FrameWork SDK 68 A classe DateTime possui métodos e propriedades para auxiliar na manipulação de datas e horas. Na figura 5.3.2 são descritos os principais métodos. Figura 5.3.2 – Métodos da classe DateTime. Método Descrição Add Adiciona um valor a um TimeSpan. AddDays Soma um numero de dias a uma data. AddHours Soma um numero de horas a uma hora. AddMonths Soma um numero de meses a uma data. AddYears Soma um numero de anos a uma data. Subtract Subtrai um valor de uma data e hora. ToString Converte uma data e hora em uma string. Compare Compara as datas. Se as datas forem iguais o método retorna 0. Se a primeira data for maior retorna 1, senão retorna -1. DaysInMonth Exibe o numero de dias que o mês possui. Para isso o método exige de parâmetro o ano e o mês. Parse Cria uma string com a data e a hora na formatação especificada. Na figura 5.3.3 são apresentadas as propriedades da Classe DateTime. Figura 5.3.3 – Propriedades da classe DateTime. Propriedade Descrição Now Exibe a data e a hora atual do servidor. Today Exibe a data atual do Servidor. Date Exibe a data com o valor setado para meia-noite. Day Exibe o dia de uma data. DayOfWeek Exibe o dia da semana, sendo: 0-Domingo, 1-Segunda, ... DayOfYear Exibe o dia do ano, sendo de 1 até 366. Hour Exibe a hora. Minute Exibe os minutos. Month Exibe o mês de uma data. Second Exibe os segundos. Year Exibe o ano de uma data. Curso de Introdução a Plataforma .Net FrameWork SDK 71 Acompanhe na figura 5.4.1 os caracteres de formatação correspondente para a manipulação de datas e horas. Figura 5.4.1 – Caracteres de Formatação. Caractere Descrição Exemplo d Exibe o dia do mês sem o zero 1, 2, 6, 12, 31 dd Exibe o dia do mês com o zero 01, 02, 06, 12, 31 ddd Exibe o nome abreviado do dia Seg, Ter Qua dddd Exibe o nome completo do dia Segunda-feira M Exibe o mês sem o zero 1, 2, 6, 12 MM Exibe o mês com o zero 01, 02, 06, 12 MMM Exibe o nome abreviado do mês Jan, Mar, Dez MMMM Exibe o nome completo do mês Janeiro, Dezembro y Exibe os dois últimos dígitos do ano sem o zero 1, 2, 6, 99 yy Exibe os dois últimos dígitos do ano com o zero 01, 02, 06, 99 yyyy Exibe os quatro dígitos do ano 2001, 2002, 1999 h Exibe as horas sem o zero para horas de 1 a 9. Apresenta formato de 12 horas. 1, 2, 6, 12 hh Exibe as horas com o zero para horas de 1 a 9. Apresenta formato de 12 horas. 01, 02, 06, 12 H Exibe as horas sem o zero para horas de 1 a 9. Apresenta formato de 24 horas. 1, 2, 9, 13, 15 HH Exibe as horas com o zero para horas de 1 a 9. Apresenta formato de 24 horas. 01, 02, 09, 13, 15 m Exibe os minutos sem o zero para minutos de 1 a 9. 1, 2, 6, 12, 58 mm Exibe os minutos com o zero para minutos de 1 a 9. 01, 02, 06, 12, 58 s Exibe os segundos sem o zero para seg. de 1 a 9. 1, 2, 3, 16, 59 ss Exibe os segundos com o zero para seg. de 1 a 9. 01, 02, 03, 16, 59 : Separador de tempo 13: 49: 52 / Separador de data 13/ 01/ 2002 Curso de Introdução a Plataforma .Net FrameWork SDK 72 Veja o exemplo a seguir: Imports System Imports System.Globalization Module FormDataC Sub Main( ) Dim VarMostra As String Dim br As New CultureInfo("pt-BR") Dim fr As New CultureInfo("fr-FR") Dim us As New CultureInfo("en-US") Dim VarData As new DateTime(2001,02,19,13,25,20) Console.WriteLine("---- Formatos de Datas USA ---") VarMostra = VarData.ToString("dd",us) Console.WriteLine("ToString('dd') = "& VarMostra) VarMostra = VarData.ToString("dddd",us) Console.WriteLine("ToString('dddd') = "& VarMostra) VarMostra = VarData.ToString("MMM",us) Console.WriteLine("ToString('MMM') = "& VarMostra) VarMostra = VarData.ToString("yyyy",us) Console.WriteLine("ToString('yyyy') = "& VarMostra) Console.WriteLine() Console.WriteLine("---- Formatos de Datas Brasil ----") VarMostra = VarData.ToString("M",br) Console.WriteLine("ToString('M') = "& VarMostra) VarMostra = VarData.ToString("dddd",br) Console.WriteLine("ToString('dddd') = "& VarMostra) VarMostra = VarData.ToString("MM",br) Console.WriteLine("ToString('MM') = "& VarMostra) VarMostra = VarData.ToString("yy",br) Console.WriteLine("ToString('yy') = "& VarMostra) Console.WriteLine() Console.WriteLine("---- Formatos de Datas Francês ----") VarMostra = VarData.ToString("M",fr) Console.WriteLine("ToString('M') = "& VarMostra) VarMostra = VarData.ToString("dddd",fr) Console.WriteLine("ToString('dddd') = "& VarMostra) VarMostra = VarData.ToString("MMMM",fr) Console.WriteLine("ToString('MMMM') = "& VarMostra) VarMostra = VarData.ToString("y",fr) Console.WriteLine("ToString('y') = "& VarMostra) Console.WriteLine() End Sub End Module Curso de Introdução a Plataforma .Net FrameWork SDK 73 Acompanhe a saída do programa acima: O Visual Basic.Net possui outra função para a manipulação de datas. Veja a sintaxe da função FormatDateTime que pode retornar uma data, uma hora ou ambas. Esta função requer dois parâmetros – a expressão, e o formato. Veja no quadro abaixo os tipos de formatos para a função FormatDateTime(). Formato Descrição DateFormat.GeneralDate Exibe a data e a hora. Este é o padrão. DateFormat.LongDate Exibe a data completa. DateFormat.ShortDate Exibe a data no formato curto. DateFormat.LongTime Exibe a hora completa. DateFormat.ShortTime Exibe a hora no formato 24 horas. Exemplo: hh:mm. Alem da função FormatDateTime o Visual Basic.Net possui a função Format( ) que tem o objetivo de manipular datas para um formato personalizado. FormatDateTime( expressão, formato) FormatDateTime( VarData, DateFormat.GeneralDate ) FormatDateTime( VarData, DateFormat.ShortDate ) Curso de Introdução a Plataforma .Net FrameWork SDK 76 Exemplos e Exercícios Exemplo 01 – Função Format( ). Imports System Imports Microsoft.VisualBasic Imports Microsoft.VisualBasic.Strings Module FormNewDataVB Sub Main( ) Dim VarDataNow As DateTime = DateTime.Now Dim VarMostra As String Console.WriteLine(" ---- Função FormatDateTime ---- ") VarMostra = FormatDateTime(VarDataNow, DateFormat.GeneralDate) Console.WriteLine("DateFormat.GeneralDate = "& VarMostra) VarMostra = FormatDateTime(VarDataNow, DateFormat.ShortDate) Console.WriteLine("DateFormat.ShortDate = "& VarMostra) VarMostra = FormatDateTime(VarDataNow, DateFormat.LongDate) Console.WriteLine("DateFormat.LongDate = "& VarMostra) VarMostra = FormatDateTime(VarDataNow, DateFormat.ShortTime) Console.WriteLine("DateFormat.ShortTime = "& VarMostra) VarMostra = FormatDateTime(VarDataNow, DateFormat.LongTime) Console.WriteLine("DateFormat.LongTime = "& VarMostra) Console.WriteLine( ) Console.WriteLine(" ---- Função Format ---- ") VarMostra = Format(VarDataNow, "dd") Console.WriteLine("Format(VarDataNow, 'dd') : "& VarMostra) VarMostra = Format(VarDataNow, "ddd") Console.WriteLine("Format(VarDataNow, 'ddd') : "& VarMostra) VarMostra = Format(VarDataNow, "dddd") Console.WriteLine("Format(VarDataNow, 'dddd') : "& VarMostra) VarMostra = Format(VarDataNow, "M") Console.WriteLine("Format(VarDataNow, 'M') : "& VarMostra) VarMostra = Format(VarDataNow, "MMMM") Console.WriteLine("Format(VarDataNow, 'MMMM') : "& VarMostra) VarMostra = Format(VarDataNow, "y") Console.WriteLine("Format(VarDataNow, 'y') : "& VarMostra) VarMostra = Format(VarDataNow, "yyyy") Console.WriteLine("Format(VarDataNow, 'yyyy') : "& VarMostra) VarMostra = Format(VarDataNow, "hh") Console.WriteLine("Format(VarDataNow, 'hh') : "& VarMostra) VarMostra = Format(VarDataNow, "HH") Console.WriteLine("Format(VarDataNow, 'HH') : "& VarMostra) VarMostra = Format(VarDataNow, "mm") Console.WriteLine("Format(VarDataNow, 'mm') : "& VarMostra) VarMostra = Format(VarDataNow, "ss") Console.WriteLine("Format(VarDataNow, 'ss') : "& VarMostra) Console.WriteLine( ) Console.WriteLine(" ---- Formatos Personalizados ---- ") VarMostra = Format(VarDataNow, "dd/MM/yyyy") Console.WriteLine("Format(VarDataNow, 'dd/MM/yyyy') : "& VarMostra) VarMostra = Format(VarDataNow, "dddd dd/MMMM/yyyy") Console.WriteLine("Format(VarDataNow, 'dddd dd/MMMM/yyyy') : "& VarMostra) VarMostra = Format(VarDataNow, "ddd/MMM/yy HH:mm:ss") Console.WriteLine("Format(VarDataNow, 'ddd/MMM/yy HH:mm:ss') : "& VarMostra) End Sub End Module Curso de Introdução a Plataforma .Net FrameWork SDK 77 Veja a saída do programa - exemplo 01. Curso de Introdução a Plataforma .Net FrameWork SDK 78 Capítulo 6 – WEB FORMS Um formulário WEB é a maneira que a tecnologia .Net dispõe para o usuário interagir com o aplicativo, exercendo alguma função ou obtendo informações para satisfazer suas necessidades. Web Forms pode ser definido como uma característica do ASP.NET que você usa para criar a interface do usuário para suas aplicações de Web. Com a utilização desta tecnologia podemos associar os eventos ao código, o que antes era permitido usando apenas JavaScript. Você deve estar se perguntando – Será que vou conseguir construir um aplicativo para Web como um aplicativo DeskTop desenvolvido como no Delphi por exemplo? A resposta é sim, você poderá construir seus aplicativos de uma maneira mais rápida e eficaz, utilizando o paradigma que as ferramentas de desenvolvimento como o Delphi utiliza. Um outro ponto a ressaltar era para a construção de uma aplicação Web utilizando ASP (Active Server Pages), onde o programador utilizava uma gama de linguagens, como: JavaScript, HTML, VBScript, Flash, Perl, dentre outras, em uma única página, tendo cada uma destas linguagens uma função especifica neste conjunto para obter o resultado esperado. Com isso o desenvolvedor era obrigado a entender de tudo um pouco. Então a Microsoft pensando em facilitar para o desenvolvedor, criou em um único ambiente tudo que é necessário para criar uma aplicação DeskTop ou Web. Enfim, podemos programar para a Web com linguagens de alta performance como o C#, Visual Basic.Net, J#, C++, Cobol.Net, dentre outras. A Microsoft também desenvolveu uma ferramenta RAD (Rapid Application Design) que permite ao desenvolvedor atribuir com facilidade eventos e propriedades as paginas, aos controles e aos componentes. A figura 6.1 traz um quadro mostrando os recursos disponíveis no Web Forms. Figura 6.1 - Recursos no Web Forms. Característica Web Forms Plataforma Requer apenas o browser. No servidor deve estar rodando o .Net. Modelo de programação Modelo desconectado e assíncrono em que os componentes são adicionados na aplicação front end. Uso de recursos (CPU, memória, disco) Usa os recursos do servidor. Gráficos GD+ pode ser usado no servidor, pois a capacidade do browser não satisfaz. Interatividade Roda desconectado, por isso toda solicitação é preciso ir até ao servidor. Controle do fluxo de texto e formulários São baseados em HTML, permitindo ricos recursos de formatação. Curso de Introdução a Plataforma .Net FrameWork SDK 81 Evento - OnSelectedIndexChanged Depois dos atributos especificados de um componente como o DropDownList e o CheckBoxList, conseguimos captar o que foi clicado, usando a propriedade Selected. Vamos acompanhar a sintaxe deste evento. O evento OnSelectedIndexChanged ocorre quando um atributo de um componente do tipo DropDownList é selecionado. Veja um exemplo deste evento. <html> <form runat="server"> <asp:Label id="saida" Text = "Selecione itens abaixo" runat="server"/> <p align="center"> <asp:DropDownList id="Dd1" AutoPostback="true" OnSelectedIndexChanged="MetodoDd1" runat="server"> <asp:ListItem Value="VB"> Visual Basic.Net </asp:ListItem> <asp:ListItem Value="CS"> C # </asp:ListItem> <asp:ListItem Value="JS"> J# </asp:ListItem> <asp:ListItem Value="delphi"> Delphi </asp:ListItem> <asp:ListItem Value="Java"> Java </asp:ListItem> </asp:DropDownList> </p> <p align="center"> <asp:TextBox id="saida_dd1" BackColor="yellow" runat="server"/> </p> </form> <script language="C#" runat="server"> public void MetodoDd1(Object sender, EventArgs ea) { saida_dd1.Text = Dd1.SelectedItem.Text; } </script> </html> ... <asp: DropDownList id = ”Identidade” AutoPostback = “True” OnSelectedIndexChanged = “NomeDoMetodo” Runat=”server”/> .... Curso de Introdução a Plataforma .Net FrameWork SDK 82 Vejamos o mesmo exemplo anterior na linguagem VB.Net. Como visto anteriormente, apresentamos apenas três eventos, dos quais julgamos os essenciais há qualquer aplicação na plataforma .Net FrameWork. Esta tecnologia possui muitos outros eventos, dos quais você poderá acompanhá-los na documentação da plataforma .Net FrameWork. No próximo tópico apresentaremos os principais componentes que compõem o asp.net. <html> <form runat="server"> <asp:Label id="saida" Text = "Selecione itens abaixo" runat="server"/> <p align="center"> <asp:DropDownList id="Dd1" AutoPostback="true" OnSelectedIndexChanged="MetodoDd1" runat="server"> <asp:ListItem Value="VB"> Visual Basic.Net </asp:ListItem> <asp:ListItem Value="CS"> C # </asp:ListItem> <asp:ListItem Value="JS"> J# </asp:ListItem> <asp:ListItem Value="delphi"> Delphi </asp:ListItem> <asp:ListItem Value="Java"> Java </asp:ListItem> </asp:DropDownList> </p> <p align="center"> <asp:TextBox id="saida_dd1" BackColor="yellow" runat="server"/> </p> </form> <script language="VB" runat="server"> Sub MetodoDd1(Obj As Object, ea As EventArgs) saida_dd1.Text = Dd1.SelectedItem.Text End Sub </script> </html> Curso de Introdução a Plataforma .Net FrameWork SDK 83 6.2 Principais Componentes do Asp.Net A tecnologia .Net sabendo da dificuldade em agregar componentes numa aplicação para Web, revolucionou com o asp.net a maneira de se trabalhar com a camada de interface. A plataforma dispõe de componentes prontos com os quais o desenvolvedor consegue manipular suas propriedades como: cor, tamanho, posição no formulário, dentre outros, e atribuir eventos para exercer uma funcionalidade a aplicação. Veja abaixo a sintaxe para inserir um componente na aplicação asp.net. Existe um conjunto de propriedades comuns para os componentes e que podem ser definidas quando está criando o projeto (tempo desenvolvimento) ou durante a execução do projeto (tempo execução). Vejamos na figura 6.2.1 as propriedades genéricas aos componentes. Figura 6.2.1 - Propriedades Genéricas. Propriedade Descrição Conteúdo BackColor Cor de fundo Cor(Custom, Web ou System) BorderColor Cor da borda Cor(Custom, Web ou System) Columns Largura do controle em caracteres Número CssClass Classe do css. Nome do css Font Fonte da letra Bold Negrito True / false Italic Itálico True / false Name Nome de fonte da letra Nome da fonte Names Seqüência dos nomes de fonte da letras Nomes das fontes Size Tamanho Smaller, Larger, Small, ou números. UnderLine Sublinhado True / false ForeColor Cor de fundo Cor(Custom, Web ou System) Text Texto a ser escrito Texto <asp:NomeComponente Id=”IdentidadeComponente” runat=”server”/> <asp:Button Id=”MeuComponente” runat=”server”/> Curso de Introdução a Plataforma .Net FrameWork SDK 86 Label Use o Label para exibir texto em um local fixo da página. Este controle exibe um Texto estático, onde o desenvolvedor poderá personalizar o texto exibido pela propriedade Text. Acompanhe a sintaxe deste componente. Button Use o controle Button para criar um botão de clique na sua página de Web. Você pode criar um botão Submit ou um botão de comando. Um botão Submit não tem um nome de comando (especificado pela propriedade CommandName) associado com o botão, este controle simplesmente posta a página Web de volta para o servidor. O default deste controle é Submit. Você pode prover para este controle o evento de Clique programado para que um controle as ações possa ser executado quando o botão Submit for clicado. Um botão de comando tem uma identificação associada com o botão, fixado pela propriedade CommandName. Isto lhe permite criar múltiplos botões de controle em uma página Web , porque é possível determinar qual botão o usuário clicou. Você também pode usar a propriedade CommandArgument com um botão de comando para prover uma informação adicional sobre o comando a ser executado. Na página seguinte podemos acompanhar um exemplo deste componente. <asp:Label id=”Identidade” Text=”Texto” runat=”server”/> <asp:Button id=”Identidade” Text=”Título” OnClick=”Metodo-Controle” Runat=”server”/> Curso de Introdução a Plataforma .Net FrameWork SDK 87 DropDownList Use o componente DropDownList para controlar uma única seleção para um controle de lista. Você pode controlar o aparecimento do controle de DropDownList fixando o BorderColor, BorderStyle, e propriedades de BorderWidth. Para especificar os itens que você deseja que apareça no controle de DropDownList, coloque um objeto de ListItem, para cada entrada, entre a tag de abertura e a tag final do controle de DropDownList. O controle de DropDownList também suporta a ligação de dados. Então, use o método Control.DataBind para ligar a fonte de dados ao controle de DropDownList. Use a propriedade SelectedIndex para determinar o índice do item selecionado pelo usuário do controle de DropDownList. Acompanhe a sintaxe deste controle. Veja o exemplo a seguir deste controle. <html> <form runat="server"> <asp:Label id="saida" runat="server"/> <p align="center"> <asp:Button id="bot01" Text=" - Contador - " OnClick="bot01_Clique" runat="server"/> </p> </form> <script language="VB" runat="server"> shared Contador As Integer = 1 Sub bot01_Clique(Obj As Object, ea As EventArgs) saida.Text = "Você Atualizou a página "& Contador &" Vezes." Contador = Contador +1 End Sub </script> </html> <asp:DropDownList id=”Identidade” AutoPostBack=”true/false” OnSelectedIndexChanged=”Metodo-a-disparar” runat=”server”/> <asp:ListItem Value=”Valor” Selected=”true/false”> Texto </asp:LIstItem> </asp:DropDownList> Curso de Introdução a Plataforma .Net FrameWork SDK 88 <html> <form runat="server"> <p align="center"> <asp:DropDownList id="Dd1" BackColor="yellow" AutoPostBack="true" OnSelectedIndexChanged="MetodoEscreve" runat="server"> <asp:ListItem Value="CSharp"> Curso Microsoft C# </asp:ListItem> <asp:ListItem Value="VB"> Curso Microsoft Visual Basic.Net </asp:ListItem> <asp:ListItem Value="JSharp"> Curso Microsoft J# </asp:ListItem> <asp:ListItem Value="Asp"> Curso Microsoft Asp.Net </asp:ListItem> <asp:ListItem Value="Plataforma"> Curso Microsoft Plataforma .Net </asp:ListItem> <asp:ListItem Value="Delphi"> Curso Borland Delphi </asp:ListItem> </asp:DropDownList> <br><br> <asp:TextBox id="saida" Width="400" Rows="6" HorizontalAlign="center" TextMode="MultiLine" BackColor="#EEEEEE" runat="server"/> <br><br> <asp:Button id="bot01" Text="Limpar Campo" OnClick="MetodoLimpar" runat="server"/> </p> </form> <script language="C#" runat="server"> static string temp = null; public void MetodoEscreve(Object sender, EventArgs ea) { for( int i = 0; i < Dd1.Items.Count; i++) { if (Dd1.Items[i].Selected) { temp = temp + Dd1.Items[i].Text; temp = temp + "\n"; } } saida.Text = temp; } public void MetodoLimpar(Object sender, EventArgs ea) { temp=null; saida.Text=null; } </script> </html> Curso de Introdução a Plataforma .Net FrameWork SDK 91 RadioButton O controle RadioButton cria um botão de rádio na página Web. Especifique a propriedade Text do controle para que o texto seja exibido. O texto pode aparecer na esquerda ou na direito do botão de rádio. A propriedade TextAlign é utilizada para controlar o lado onde o texto deve aparecer. Você pode também agrupar vários botões de rádio num mesmo conjunto, para isso devemos especificar um único nome na propriedade GroupName de cada RadioButton. Se agruparmos os controles em um conjunto, será permitida apenas uma única seleção exclusiva do grupo. Determinamos se um elemento foi selecionado testando a propriedade Checked. Vejamos abaixo a sintaxe deste controle. RadioButtonList O controle RadioButtonList promove uma única seleção do grupo de botões radio, que pode ser gerado dinamicamente por uma ligação de dados. Contem uma coleção de itens que correspondem aos itens individuais na lista. Para determinar se um item foi selecionado, teste a propriedade Checked. Veja a sintaxe para este controle. <asp:RadioButton id="RadioButton1" AutoPostBack="True|False" Checked="True|False" GroupName="GroupName" Text="label" TextAlign="Right|Left" OnCheckedChanged="Metodo-disparar" runat="server"/> <asp:RadioButtonList id="RadioButtonList1" AutoPostBack="True|False" CellPadding="Pixels" DataSource="<% databindingexpression %>" DataTextField="DataSourceField" DataValueField="DataSourceField" RepeatColumns="ColumnCount" RepeatDirection="Vertical|Horizontal" RepeatLayout="Flow|Table" TextAlign="Right|Left" OnSelectedIndexChanged="Metodo-disparar" runat="server"> <asp:ListItem Text="label" Value="value" Selected="True|False" /> </asp:RadioButtonList> Curso de Introdução a Plataforma .Net FrameWork SDK 92 Hyperlink O controle HyperLink cria ligações(links) em uma página de Web que permite ao usuário chamar em sua aplicação uma outra página. A vantagem primária de usar controle de HyperLink é que você pode fixar propriedades de ligação em código de servidor. Por exemplo, você pode mudar o texto de ligação ou página de destino dinamicamente baseado em condições em sua página. Outra vantagem de usar o controle de HyperLink é que você pode usar dados que ligam para especificar a URL designada para a ligação. Um exemplo típico é criar controles de HyperLink baseado em uma lista de produtos; os pontos de URL designados para uma página onde o usuário pode ler para mais detalhe sobre o produto. Ao contrário da maioria dos controles de um servidor de Web, o controle de HyperLink não gera quaisquer eventos em código de servidor quando os usuários clicarem. Ao invés disto, o controle simplesmente redireciona os usuários. Propriedades do controle HyperLink. Propriedades Descrição ImageUrl O URL de uma imagem a exibir para o link. NavigateUrl O URL a que esse link direciona os usuários. Target A janela de alvo para exibir o conteúdo vinculado. Text O texto a exibir para o link. Acompanhe a sintaxe abaixo: Observe as configurações para a propriedade Target: Target Descrição _blank Carrega numa outra página. _self Carrega sobre si mesma. _parent Carrega página referenciada na página “pai” desta. _top Carrega uma página numa nova janela sem frames. <asp:HyperLink id="HyperLink1" NavigateUrl="url" Text="HyperLinkText" ImageUrl="url" Target="window" runat="server"/> OU <asp:HyperLink id="HyperLink1" NavigateUrl="url" ImageUrl="url" Target="window" runat="server"> Text </asp:HyperLink> Curso de Introdução a Plataforma .Net FrameWork SDK 93 Panel O controle Panel provê um controle de recipiente dentro de um Web Forms que você pode usar como um pai para texto estático e para outros controles. O controle de Panel é satisfatório para: Agrupar comportamento: Você pode administrar um grupo de controles como – TextBox, CheckBox, DataGrid, em uma única unidade, adicionando os controles em um painel, e manipulando a partir daí o componente Panel. Geração de Controle dinâmico: O controle de Panel provê um recipiente conveniente para controles que você cria em tempo de corrida. Aparecimento: o controle Panel apóia o aparecimento em propriedades como BackColor e BorderWidth. NOTA O controle de Painel não é exigido para agrupar controles como RadioButton e CheckBox. <asp:Panel id="Panel1" BackImageUrl="url" HorizontalAlign="Center|Justify|Left|NotSet|Right" Wrap="True|False" runat="server"> (Other controls declared here) </asp:Panel>
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved