quarta-feira, 31 de dezembro de 2008

Enfim férias... ...férias?

Pois é, fim de ano batendo na porta, último dia do ano de 2008. Não vou estar de férias, na verdade nem tenho férias vencidas, mesmo assim, devido a baixa demanda de fim de ano, recesso das empresas e tal, acabei com uma folga considerável de 5 dias. Vou me organizar nesse período para ir mais além no estudo de Silverlight / WPF. A demanda por tais tecnologias já estão crescendo e na medida em que a Microsoft vai fazendo parcerias para difundir o Silverlight mais e mais pessoas estão entrando na era de criação rica de aplicativos Web. Tenho muitos planos para este novo ano que chega e espero poder realizar todos. Tempo sempre é um problema, trabalho, faculdade, família, tudo consome bastante energia mas estou me programando para disponibilizar uma séria de novos exemplos em Silverlight. Acho que inevitavelmente vou ter que procurar uma hospedagem melhor para poder publicar alguns WebServices (já em WCF) e aprimorar a experiência com Silverlight. Feliz ano novo.

quinta-feira, 27 de novembro de 2008

DataGrid com Silverlight 2

Acabo de publicar meu mais novo exemplo em Silverlight. O caminho é http://www.vitorcanova.net/Silverlight/DataGrid. Nele foram utilizados alguns recuros de Binding, Style e Template. O treinamento de WPF rouba um pouco de atenção quanto a isto mas em breve estarei publicando mais exemplos. Estou preparando um com reflexo de vídeo com VideoBrush, uma novidade no Silverlight que, ao que me consta não tem no WPF (mas tem o VisualBrush, que é bastante superior). Em breve pretendo publicar alguma coisa que utilize alguns recursos de Silverlight como o acesso ao DOM da página, Javascript e FullScreen. Quem quiser dar uma conferida em todos os exemplos, basta acessar a página de exemplos. Falow

quinta-feira, 20 de novembro de 2008

Programa de Capacitação em WPF

Recebi hoje a grande notícia de que fui selecionado para participar do Programa de Capacitação em WPF que será realizado no Centro de Inovação na PUCRS entre os dias de 25/11 a 28/11. Acredito que isto possa me alavancar de vez na cultura de programação rica de aplicativos aumentando meu conhecimento, que ainda é pequeno, em WPF e Silverlight. Aproveitando a oportunidade, publiquei um novo exemplo que fiz em Silverlight 2. Todos os anteriores, junto a este, podem ser conferidos em www.vitorcanova.net/Silverlight.

segunda-feira, 17 de novembro de 2008

Voltando em grande estilo

Sei que passei um bom tempo sem postar. Fiquei um pouco atarefado após o casamento e a troca de emprego. Trabalhando direto com desenvolvimento em várias outras coisas surgindo ao mesmo tempo quase não parei para me dedidar ao meu blog. Mas isso não quer diser que fiquei parado no tempo. Nesse período tenho estudado sobre as novas e não tão novas tecnologias da Microsoft. Tenho usado Linq to Object com frequencia, Linq to XML também já passou pelas minhas mãos mas no momento o que mais está me fascinado é o Silverlight 2. Tenho estudado a algum tempo um pouco sobre ele e WPF, mais precisamente desde o lançamento do Release do Beta 2. Agora com o lançamento do RTW vi que era necessário entrar de vez nessa onda antes que ela passe eu eu tenha que correr atrás. Já tenho alguns exemplos de Silverlight 2 publicados no meu site e em breve pretendo disponibilizar mais junto com alguns tutoriais que pretendo colocar aqui mesmo. Até a próxima.

terça-feira, 20 de maio de 2008

Code Snippets pra todos os gostos

Bom pessoal, ando meio sumido ultimamente. Dando uma olhada num Silverlight aqui, um WPF ali e com o intuito de não publicar algo errado fico postergando o dia em que vou escrever algo de útil para a comunidade. Pois bem, numa das minhas várias leituras do dia me deparei com um site bem interessante, onde podemos encontrar vários code snippets para baixar e inclusive fazer upload de algum que tenhamos feito. É o GotCodeSnippets.com. Têm vários que só devem estar sendo usados por quem criou mesmo, mas tem muita coisa útil também. Enjoy

terça-feira, 26 de fevereiro de 2008

Extension Methods

Imagine a seguinte situação: Você tem uma aplicação que faz um cálculo qualquer. Para isso pega o valor de duas TextBox e apresenta o resultado em um Label. O que devemos ter cuidado é que C# é uma linguagem de programação de tipagem forte (strongly typed). Ao receber os dados dos TextBox você tem que primeiro converte-los para inteiros (neste caso). Aproveitando o código, validei a entrada de caracteres inválidos com o método TryParse da Classe Int32, que, em caso de falha na conversão nos retorna o valor padrão do Int32, ou seja, o “0”.

using System;

public partial class _Default : System.Web.UI.Page

{

protected void Button1_Click(object sender, EventArgs e)

{

int numero1;

int numero2;

Int32.TryParse(TextBox1.Text, out numero1);

Int32.TryParse(TextBox2.Text, out numero2);

Label1.Text = (numero1 + numero2).ToString();

}

}

No entanto, com os Extensions Methods podemos tornar nossa tarefa mais fácil. Cria uma nova classe e coloque o código como abaixo:

using System;

namespace Vitor.Canova.NET

{

public static class Extensoes

{

public static int ToInteger(this string field)

{

int valor;

Int32.TryParse(field, out valor);

return valor;

}

}

}

Pronto, nosso método vai extender a toda e qualquer string que for utilizada graças a palavra this no início da declaração dos parâmetros. Ela avisa ao compilador que aquele método pode ser usado por qualquer objeto do tipo defifido após essa palavra, no caso uma string. Agora vejamos como fica o código da página:

using System;

using Vitor.Canova.NET;

public partial class _Default : System.Web.UI.Page

{

protected void Button1_Click(object sender, EventArgs e)

{

Label1.Text = (

TextBox1.Text.ToInteger() +

TextBox2.Text.ToInteger()

).ToString();

}

}

Como podemos ver, o método pode ser invocado como se já pertencesse ao tipo string nos facilitando a conversão, sem falor no fato do Intellisense mostrar ele na lista de opções. Alguns fatos que devemos prestar atenção é o fato da classe é método de extensão serem do tipo static, o que faz com que não precisemos instanciar a classe para utiliza-la. Vale lembrar que foi adicionado o namespace da classe a página que vai utiliza-la também.

segunda-feira, 28 de janeiro de 2008

Planilha ASP.NET

Férias não tão longas quanto gostaria mas consegui relaxar um pouco. O problema é que acabei deixando o Blog um pouco de lado. Mas pra recompensar aí vai uma dica bem legal. Hoje vou ensinar um truque que aprendi lendo um post do Mauricio Junior no site www.juliobattisti.com.br. Ele ensina como modificar uma página aspx para que o Browser interprete-a como um arquivo Excel. Quando fui fazer o mesmo pela primeira vez, vi que a lógica estava principalmente no ContentType da página, que foi alterada para application/vnd.ms-excel. Bom, vamos lá é bem fácil. Crie uma página aspx normal e coloque uma tabela html com os dados que você quer no Excel, eu a chamei de Planilha. Rode o projeto. O Código e a página devem parecer como estas abaixo: Logo após crie uma página com um link para Planilha.aspx. Na diretiva Page de Planilha.aspx coloque ContentType="application/vnd.ms-excel" e certifique-se que a ViewState está desabilitada. Rode novamente o projeto e clique no link. O Browser, ao acessar a Planilha.aspx vai interpretá-la como um arquivo Excel e vai fazer o seu Download.