Arquivos Mensais:fevereiro 2012
Treinamento de VB.NET 10 Grátis!
Olá pessoal, esta é uma dica que vi no blog do 50 Minutos, do mestre em programação Agnaldo.
O Channel9, site especializado em tutoriais, eventos, notícias, videocasts, podcasts e outros conteúdos relacionados a tecnologia Microsoft, preparou um treinamento completo de VB.NET 10 (última versão, vinda no VS 2010) para iniciantes.
Os pré-requisitos são: ter conhecimentos básicos em Lógica de Programação e ter um nível básico para intermediário de Inglês, já que as videoaulas estão nesta língua.
Aos interessados basta clicar neste link para ir ao site do Agnaldo conferir o post com todas as videoaulas.
É só entrar nos links do post e baixar os respectivos vídeos.
Bons estudos!
Immediate Window, Watch e Quick Watch: Janelas do Visual Studio
Olá pessoal, neste artigo veremos o funcionamento das janelas Immediate, Watch e Quick Watch, do Visual Studio.
O Visual Studio é uma ferramenta poderosíssima, muito a frente de ser apenas um “editor de códigos” como algumas pessoas acham. Ele conta com muitas (muitas mesmo!) ferramentas essenciais a todo desenvolvedor de sistemas. Pretendo abordar as mais importantes, aos poucos.
Temos diversas janelas no Visual Studio, que nos auxiliam na execução de nossos sistemas. Neste artigo citarei três delas.
Immediate Window – Esta é, dentre todas as janelas do VS, a mais útil, com certeza. Ela nos permite realizar codificações e alterações no código em tempo de execução (enquanto estamos debugando a aplicação).
A documentação da MSDN sobre esta janela diz o seguinte: “O Immediate Window é usado em tempo de design para debugar e avaliar expressões, executar statements, imprimir valores de variáveis, etc. Permite a você digitar expressões para serem avaliadas ou executadas pela linguagem de desenvolvimento durante o debugging.” (tradução livre).
Assim, podemos avaliar o código da aplicação, como avaliarmos qualquer outro código, como podemos ver na Figura 01, que ilustra a operação básica de soma das variáveis criadas em tempo de execução.
Dica Rápida: Chamando funções Javascript via código
Olá pessoal, nesta dica rápida veremos como chamar funções do Javascript via code-behind.
Às vezes, nas aplicações Web que desenvolvemos, de acordo com a lógica desenvolvida em nossos métodos, precisamos exibir uma mensagem ao usuário informando determinada situação.
Para exibirmos essa mensagem podemos utilizar o famoso alert, do Javascript. Confira na Listagem 01 a função JS e na Listagem 02 como chama-la de forma simples e rápida, em apenas uma linha de código.
Listagem 01 – Função JS
function Mensagem() {
alert('Registro gravado com sucesso!');
}
Listagem 02 – Chamando a função JS via código
ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "mensagem", "Mensagem()", true);
Exemplos Práticos com Javascript em Aplicações ASP.NET
Olá pessoal, neste artigo mostro alguns exemplos práticos em que podemos utilizar o Javascript em conjunto com uma aplicação ASP.NET. Acompanhem.
Inicialmente veremos como limitar um campo texto para receber apenas caracteres numéricos.
Para isso, em sua ASPX, dentro da tag head crie uma função que irá fazer essa limitação, como ilustra a Listagem 01.
Listagem 01 – Função para permitir somente números
<script type="text/javascript">
function PermiteSomenteNumeros(event) {
var charCode = (event.which) ? event.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
</script>
No TextBox chame a função pelo evento onkeypress, como ilustra a Listagem 02.
Listagem 02 – Chamada a função no TextBox
<asp:TextBox ID="txtProduto" runat="server" onkeypress="return PermiteSomenteNumeros(event);" />
O evento onkeypress é “chamado” a cada novo caracter inserido pelo usuário no TextBox. Faça os testes e tente incluir letras.
Caso você tenha problemas com este evento no aspx, experimente incluí-lo no evento Page_Load de sua página, adicionando o seguinte código: txtProduto.Attributes.Add("onkeypress", "return PermiteSomenteNumeros(event);");
A próxima função é muito útil, com ela conseguimos recuperar o valor de um TextBox e atribuirmos outro valor qualquer a ele.
Mais Exemplos Práticos: Métodos e Propriedades da Struct DateTime – Parte 3
Olá pessoal, neste artigo finalizaremos a série de artigos criando mais alguns exemplos práticos com a struct DateTime. Acompanhem:
Se você não viu as outras partes desta série de artigos, clique aqui.
Parecido com o método que retorna quantos dias tem em cada mês do ano, criado no artigo anterior, vamos criar um método que retorna o nome do mês atual, e que espera o número do mês como parâmetro.
A Listagem 01 exibe este método.
Listagem 01 – Método RetornaMes
Propriedades e Exemplos: Métodos e Propriedades da Struct DateTime – Parte 2
Olá pessoal, neste artigo veremos as propriedades da struct (estrutura) DateTime e criaremos alguns exemplos práticos. Acompanhem:
Se você não viu a parte 1 desta série de artigos, clique aqui.
A struct DateTime conta com 16 propriedades, 3 estáticas. Abaixo é listado 12 delas.
- Now, Today e Date – As 2 primeiras propriedades são estáticas (não necessitam de instanciação) e retornam, respectivamente, a data e hora exata, no momento em que a mesma for chamada, e o dia de hoje. A 3ª faz o mesmo que a propriedade Today, a diferença é que ela precisa ser instanciada pra ser utilizada.
- Day, DayOfWeek e DayOfYear – Como os nomes sugerem, estas propriedades retornam, respectivamente, o dia atual, o dia da semana (em inglês, é claro) e o dia do ano. Fazendo um teste com o dia em que este artigo foi feito, foram retornados, dia 08, dia da semana Wednesday e dia do ano 39.
- Hour, Minute, Second e Millisecond – Retornam, respectivamente, a hora, o minuto, o segundo e os milisegundos no momento em que as propriedades são executadas.
- Month e Year – Retornam o mês e ano atual.
Agora crie um projeto Console Application e adicione a ele uma classe, que conterá os métodos que faremos abaixo.
Na classe crie um método para retornar o número de dias do mês, de acordo com o mês passado no parâmetro, como ilustrado pela Listagem 01.
Conceitos e Métodos: Métodos e Propriedades da Struct DateTime – Parte 1
Olá pessoal, nesta série de artigos veremos uma abordagem detalhada com os métodos e propriedades da struct (estrutura) DateTime, e aplicaremos o que for aprendido em exemplos práticos. Acompanhem:
Introdução – A struct DateTime, do namespace System, do .NET Framework é constantemente utilizada por desenvolvedores (lembrando que, como ela é uma struct, também é usada como um tipo de dado).
Se você não conhece o que é uma struct recomendo fortemente a leitura dos dois artigos postados sobre o assunto, no link acima.
Esta struct conta com dezenas de objetos para manipular valores relacionados a datas e horas, como é bem explicado pela documentação oficial da MSDN. Veremos neste artigo os principais e de uso comum pelos desenvolvedores no dia-a-dia.
Começando pelos construtores, quando instanciamos a struct temos nada menos que 12 sobrecargas nela (a 1ª vazia, por padrão), as quais podem ser vistas em detalhes neste link.
Conceitos Finais e Exemplo Prático – Structs: Estrutura da Linguagem – Parte 2
Olá pessoal, neste artigo veremos mais alguns conceitos e criaremos um exemplo prático com Structs. Acompanhem:
Diferenças entre Classes e Structs – Apesar de serem muito parecidas sintaticamente, as classes e structs apresentam algumas diferenças, como descrito a seguir:
- Uma struct não pode ser herdada de uma classe base, ao contrário de uma classe;
- Em uma classe o compilador cria o construtor padrão no caso de não termos criado um construtor próprio. Já a struct não aceita a declaração de um construtor padrão, ou seja, um construtor que não tenha parâmetros. Isso porque o compilador sempre cria um construtor;
- Usando struct não podemos inicializar campos de instância em seu ponto de declaração, o que é possível nas classes. Qualquer struct tem como regra inicializar todos os seus campos em todos os seus construtores;
- A struct apresenta um construtor padrão (já mencionado anteriormente) criada pelo compilador, que sempre aplica os valores false, 0 ou null (dependendo do seu tipo) para os campos, como ocorre nas classes, mais os quais devemos tomar muito cuidado para que façam sentido e se comportem logicamente em relação ao valor da struct criado pelo construtor.
Falando especificamente da última diferença apresentada acima, podemos optar por não usar os valores padrões que o compilador atribui inicialmente. Neste caso, podemos criar um construtor que não é padrão se inicializarmos os campos com valores diferentes, considerando sempre que todos os campos em todos os construtores da struct devem ser inicializados de forma explícita, já que o compilador por si só não inicializará um campo no construtor.
Chega de conceitos e vamos à prática. Veja na Listagem 01 um exemplo do uso da Struct com datas, representando os campos dia, mês e ano:
Conceitos e Sintaxe – Structs: Estrutura da Linguagem – Parte 1
Olá pessoal, neste artigo veremos os principais conceitos das Structs. Acompanhem:
A carga para gerenciar o heap (pilha, local especial da memória) pode tornar-se desproporcional em situações nas quais uma classe possui uma quantidade muito pequena de dados. Se assim for, é aconselhável definir o tipo como estrutura ao invés de classe. Desta forma, a carga de gerenciamento de memória é reduzida frequentemente, já que as estruturas são armazenadas na pilha.
Dito isto, podemos afirmar que Structs é uma estrutura de um determinado tipo. No C#, os tipos numéricos primitivos float, long e int são apelidos de estruturas. O long, por exemplo, é um apelido para System.Int64.
Segundo a documentação do Visual Studio 2010, “é um tipo por valor que é normalmente usado para encapsular pequenos grupos de variáveis relacionadas, como características de uma pessoa, por exemplo.” (tradução livre). Ainda segundo a documentação, Structs podem conter construtores, constantes, campos, métodos, propriedades, indexadores, operadores, eventos e tipos aninhados.
É importante dizer que o uso de diversos operadores comuns em nossos próprios tipos de estrutura, por padrão, não é possível.
Dica Rápida: Passando Parâmetros Nullables para um Método
Olá pessoal, nesta dica rápida veremos como utilizar os Nullables Types no C#, passando-os como parâmetro para um método.
Há momentos em que precisamos passar valores nulos para nosso banco de dados, ou mesmo utilizar opcionalmente parâmetros de um método.
Para resolver este problema a Microsoft criou os Nullable Types. Assim, se não passarmos valor algum a eles seus valores padrões serão null. A Listagem 01 ilustra a declaração de variáveis nullables e a Listagem 02 ilustra um método com essas variáveis.
Listagem 01 – Declaração de Variáveis Nullables
int? numero; decimal? outroNumero; DateTime? dataNascimento;
Obs: Somente tipos por valor que podem ser Nullable Types.
Listagem 02 – Método com variáveis nullables


