Atribuir valor NULL em variáveis do tipo int, double, DateTime, etc…

Por padrão, não se pode atribuir um valor nulo em variáveis do tipo Int32, Double, DateTime entre outros tipos. Para que isto seja possível devemos usar a classe Nullable. A definição da variável fica da seguinte forma:

Nullable<tipo> nome_varival;

Para atribuir um valou null a um inteiro, devemos fazer;

Nullable<int> nome_varival = null;

No entanto, para pegar o valor da variável devemos usar a propriedade Value e para saber se a variável possui valor a propriedade HasValue.

if (nome_varival .HasValue)
   return nome_varival.Value;
Publicado em CSharp, Ling. de Programação | Com a tag , , | 2 comentários

Baixando vídeos do YouTube com o Google Chrome

Segue o link do tutorial
http://www.chromebrasil.com.br/donwload-de-videos-do-youtube-pelo-chrome/

Publicado em Google, Navegadores | Com a tag , , | Deixar um comentário

Removendo itens iguais de um ArrayList (csharp)

Este algoritmo só é válido para um ArrayList com itens do tipo Int32.
Primeiramente devemos ordenar o ArrayList para simplificar a busca de itens iguais. Para isso basta utilizar o método Sort. Depois, utilizando um simples laço ‘for’ percorremos o vetor em busca das repetições. Veja o código abaixo e você entenderá.

        ArrayList vet = new ArrayList();
        vet.Add(9);
        vet.Add(5);
        vet.Add(1);
        vet.Add(7);
        vet.Add(2);
        vet.Add(10);
        vet.Add(9);
        vet.Add(7);
        vet.Add(7);
        vet.Add(6);
        vet.Add(10);
        vet.Add(8);
        vet.Add(4);
        vet.Add(1);
        vet.Add(9);

        // ordenado o vetor
        vet.Sort();

        int anterior = Convert.ToInt32(vet[0]);
        for (int i = 1; i < vet.Count; i++)
        {
            int atual = Convert.ToInt32(vet[i]);
            if (atual == anterior)
            {
                vet.RemoveAt(i);
                i--;
            }
            else
            {
                anterior = atual;
            }

        }

        // escrevendo os itens do vetor na tela
        for (int i = 0; i < vet.Count; i++)
        {
            Response.Write(vet[i].ToString() + " - ");
        }
Publicado em CSharp | Com a tag , , | Deixar um comentário

Redirecionando a página utilizando HTML

Um recurso muito utilizado em páginas HTML é o de redirecionamento. Com apenas uma linha de código no cabeçalho da página podemos fazer o redirecionamento para outra página ou site. É possível também recarrega-la de tempo em tempo (refresh).
O código abaixo é de uma página HTML simples que após 3 segundos abre a página index.htm.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Redirecionando...</title>
    <meta http-equiv="Refresh" content="3; URL=index.htm">
</head>
<body>
A página será redirecionada em 3 segundos.
</body>
</html>
Publicado em HTML | Com a tag | Deixar um comentário

Calculando a idade em csharp

DateTime dtNascimento = Convert.ToDateTime("07/09/1984");
TimeSpan result = DateTime.Now.Subtract(dtNascimento);
int idade = result.Days / 365;
Publicado em CSharp, Ling. de Programação | Com a tag , | 4 comentários

Teste seu site em diferentes browsers

Quem desenvolve para a web sabe que a grande dificuldade hoje é fazer com que seu site/sistema funcione e/ou seja bem apresentável nos mais diversos browsers. Pior do que isto é ter que testa-lo em cada um deles. Muitas das vezes isto é praticamente impossível visto que seria necessário ter diferens máquinas com os mais variados sistemas operarionais e versões de browsers diferentes.  E é justamente isto o que o site Browsershot faz.

“Quando você envia o endereço de seu site, ele é adicionado à fila de trabalhos. Um número de computadores distribuídos abre o seu website em seus navegadores. Então ele tira screenshots e os envia para o servidor central”.

Você pode solicitar o screenshot de várias combinações de navegadores e sistemas operacionais direfenres e depois acompanhar o processo e a fila de espera, visualizando os que já foram processados. É possível também selecionar a resolução de tela, a qualidade da cor, a versão do javascript, Java e flash ou mesmo desabilitar cada um deles. Durante, ou ao final do processo, você poderá fazer o download de todos os screenshots já tirados.

Todo este serviço é feito de forma gratuita e livre e você poderá até mesmo baixar  o código fonte do projeto. Entre no site do http://browsershots.org e tire os screenshots de seus sites.

Publicado em Navegadores | Com a tag , , , | Deixar um comentário

Abrindo popups de thumbnails com o Highslide

O Highslide é um software open source escrito em JavaScript próprio para abrir popups de imagens. O legal é que ele possui efeitos super interessantes como fade, bordas arrendondadas, galeria, legenda entre outros. Possui vários exemplos prontos que facilitam ainda mais a utilização deste framework. Para conferir entre na página do Highslide e baixe o código fonte.

Publicado em Frameworks, JavaScript, Tecnologias, normas e padronizações | Com a tag , , , | Deixar um comentário

Limpando todos os componentes da página

Para limpar todos os componentes da página basta buscar por cada tipo individualmente utilizando o método Controls(). O método Controls() está presente em todas as classes que herdam de Control.

O código abaixo percorre todos os componentes do formulário da página verificando os que são TextBox. Em seguida é dado um cast no objeto para poder utilizar sua propriedade Text e assim limpar seu conteúdo.

foreach (Control componente in Page.Form.Controls)
{
    //Verificando se é um text box e limpando quando for
    if (componente.GetType() == typeof(TextBox))
        ((TextBox)componente).Text = "";
}

O mesmo pode ser feito quanto aos Dropdown List, Radios, etc…

É preciso lembrar que se um determinado componente está dentro de um container, deverá ser feito o loop dos Controls deste container. Por exemplo, se sua página está dentro de um MasterPage você deverá fazer.

foreach (Control componente in Page.Master.FindControl("ContentPlaceHolder1").Controls)
{
    //Verificando se é um text box e limpando quando for
    if (componente.GetType() == typeof(TextBox))
        ((TextBox)componente).Text = "";
}

Substitua ContentPlaceHolder1 pelo nome de seu ContentPlaceHolder

Publicado em .Net, CSharp, Ling. de Programação | Com a tag , , , , , | 2 comentários

Verificar o tipo do objeto em C#

Para verificar o tipo do objeto basta utilizar o método GetType() presente em todas as classes.

Por exemplo para verificar se um objeto é do tipo string basta fazer

if (variavel.GetType() == typeof(String))
{
    // a variável é do tipo string
}

Uma forma mais usual de usar o GetType é para outros tipos de dados que não sejam os primitivos. Por exemplo de objetos de classes que você criar ou até mesmo das classes do próprio frameork como o DBNull, etc…

if(variavel.GetType() == typeof(System.DBNull))
{
   // a variável é do tipo DBNull
}
Publicado em CSharp, Ling. de Programação | Com a tag , , , | 1 comentário

Alert no asp.net

Programadores que iniciam no mundo da Web sempre têm uma certa dificuldade com relação a eventos de objetos, formulários e até mesmo coisas que parecem tão simples como mostrar uma caixa de diálogo na tela. Pois bem, as caixas de diálogo, conhecidas em algumas linguagens como MsgBox, ShowMessage, ShowDialog entre outras, são na verdade, na web processadas no lado cliente, ou seja, o asp .net, o php, o jsp, ou qualquer outra linguagem web, de nada tem haver com isso pois estas são linguagens de servidor. Logo,  o que vai fazer aparecer a tal caixa de diálogo será uma linguagem processada no lado cliente, o JavaScript por exemplo.

O comando em JavaScript responsável por criar uma caixa de diálogo é o ‘alert’. Exemplo:

alert('Olá mundo');

Para executar este comando ao carregar a página, basta escrever este código no arquivo aspx entre as tags  <script> e </script>. No entanto, o asp.net já possui algumas funções em seu Framework que fazem isto pra você, e permite que, em tempo de execução, escreva este código na página. No evento Page_Load da sua página escreva o código a seguir.

Page.ClientScript.RegisterStartupScript(Page.GetType(),
      "alerta", "alert('Olá Mundo')", true);

Este código é responsável por criar o bloco de JavaScript. Ao abrir a página em um navegador, e mandar exibir o código fonte (HTML) verá que o bloco javascript está posicioanado ao final da página e portanto a mensagem só será exibida assim que toda a página for carregado e renderizada. Para fazer com que ele  fique no topo da página utilize o método RegisterClientScriptBlock ao invés de RegisterStartupScript.

Obs.: Se você estiver usando o componente UpdatePanel para criar páginas com recursos de ajax, deverá utilizar a classe ScriptManager ao invés da ClientScript. Veja aqui como fazer.

Publicado em CSharp, JavaScript | Com a tag , , , , | Deixar um comentário