sábado, 26 de fevereiro de 2011

Instalando o Ajax Control Toolkit no Visual Studio

O AJAX (Asynchronous Javascript And XML) é um recurso que utiliza algumas tecnologias com o objetivo de prover interatividade e dinamismo para aplicações web. Para obter mais informações sobre o AJAX, acesse a página do Wikipédia. 

http://pt.wikipedia.org/wiki/AJAX_(programação)

O Ajax Control Toolkit é um acervo free que contém dezenas de controles e que são facilmente utilizados no ambiente .NET. Vamos ver como adquirir o kit do Ajax para o Visual Studio e também como instalar os controles na IDE. A página oficial do Ajax Control Toolkit está hospedada no Codeplex no endereço abaixo.

http://ajaxcontroltoolkit.codeplex.com/

Clique no menu Downloads e em seguida no link do pacote compactado conforme a imagem.



Após o download, extraia o arquivo .ZIP (usando um programa de descompactação de arquivos), copie a pasta que foi gerada pelo programa e cole em uma pasta específica (ex. Arquivos de programas).


Como já temos o kit no computador local, abra o Visual Studio (utilizou-se a versão 2010 Ultimate), acesse a Toolbox e adicione uma aba com o nome “Ajax Control Toolkit” conforme a imagem.



Clique com o botão direito sobre a aba que criamos, e em seguida clique na opção Choose Items.


Clique no botão Browse, selecione a pasta recentemente copiada para o diretório Arquivos de programas (ou para outra pasta específica) e clique no botão OK.


Feito isso, perceba que a aba que criamos ficou repleta de controles do AJAX.


Só resta começar a desenvolver usando os novos controles do Visual Studio.
Até a próxima!

quarta-feira, 23 de fevereiro de 2011

Carregar o TreeView dinamicamente em ASP.NET

Uma alternativa de visualização dos dados de forma hierárquica, ou no formato de árvore genealógica é através do controle TreeView, que inclusive está disponível nas IDEs de várias linguagens de programação do mercado.

Nosso objetivo é apresentar uma forma de se carregar este controle dinamicamente, fazendo com que o mesmo se comporte como um menu lateral. Para tanto, vamos utilizar duas classes de modelo (com um método de persistência em cada) para simular uma base de dados que contenha as informações de menu e submenu.

Crie um novo projeto do tipo Web Site no Visual Studio (estamos utilizando a versão 2010 Ultimate no escopo deste artigo) em linguagem C#.


Clique com o botão direito sobre o nome da solução (na aba Solution Explorer) e em seguida clique na opçãoAdd New Item.


Selecione a opção Class e nomeie o arquivo para Menu.cs. Adicione mais uma classe no projeto com o nome de SubMenu.cs.


Inicialmente, vamos implementar a classe Menu conforme a listagem abaixo.

public class Menu
{
       public Menu()
       {
             //
             // TODO: Add constructor logic here
             //
       }

    public int IDMenu { getset; }
    public string Descricao { getset; }
   
    public Menu(int id, string descricao)
    {
        this.IDMenu = id;
        this.Descricao = descricao;
    }

    public static List<Menu> GetMenu()
    {
        List<Menu> lista = new List<Menu>()
        {
            new Menu(1, "Cadastro"),
            new Menu(2, "Ferramentas"),
            new Menu(3, "Relatórios")
        };
        return lista;
    }
}

Em seguida, vamos codificar a classe SubMenu.

public class SubMenu
{
       public SubMenu()
       {
             //
             // TODO: Add constructor logic here
             //
       }

    public int IDMenu { getset; }
    public int IDSubMenu { getset; }
    public string Descricao { getset; }
    public string URL { getset; }

    public SubMenu(int idMenu, int idSub, string descricao, string url)
    {
        this.IDMenu = idMenu;
        this.IDSubMenu = idSub;
        this.Descricao = descricao;
        this.URL = url;
    }

    public static List<SubMenu> GetSubMenu()
    {
        List<SubMenu> lista = new List<SubMenu>()
        {
            new SubMenu(1, 1, "Clientes""Clientes.aspx"),
            new SubMenu(1, 2, "Funcionários""Funcionario.aspx"),
            new SubMenu(2, 1, "Backup""Backup.aspx"),
            new SubMenu(2, 2, "Restauração""Restauracao.aspx"),
            new SubMenu(3, 1, "Listagem de Clientes por UF""ListClienteUF.aspx"),
            new SubMenu(3, 2, "Relatório Sintético por Período""RelSintPeriodo.aspx")
        };
        return lista;
    }
}

Na Solution Explorer, dê um duplo clique sobre a página Default.aspx do projeto, e adicione um controleTreeView que está alocado na categoria Navigation da Toolbox.

Para concluir, só resta implementar a rotina que irá alimentar o controle dinamicamente. Pressione a tecla de atalho F7 para termos acesso ao Code Behind da página, e codifique de acordo com a listagem a seguir.

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
            this.BindMenuTreeView();
    }

    void BindMenuTreeView()
    {
        foreach (Menu m in Menu.GetMenu())
        {
            TreeNode menu = new TreeNode(m.Descricao);
            foreach (SubMenu s in SubMenu.GetSubMenu())
            {
                if (m.IDMenu == s.IDMenu)
                {
                    TreeNode sub = new TreeNode(s.Descricao, """", s.URL, "");
                    menu.ChildNodes.Add(sub);
                }
            }
            TreeView1.Nodes.Add(menu);
        }
    }
}

Salve o projeto e teste a aplicação pressionando a tecla de atalho F5. Se tudo correr bem, o resultado será o da imagem abaixo.

Concluindo, espero que tenham gostado, e que o exemplo sirva como uma alternativa para se carregar um TreeView de forma dinâmica.

sábado, 19 de fevereiro de 2011

Postar mensagem no Twitter com VB6

Em clima de rede social, que tal postar uma mensagem no Twitter usando o Visual Basic 6.0?
O exemplo é muito simples, pois a idéia central do exemplo é chamar a URL do Twitter e passar uma parâmetro por QueryString, tudo isso usando o VB6. 

Veja o resultado da aplicação em tempo de execução. 



Baixe o projeto no link abaixo.


PostarTwitterVB6.rar

É isso!
Até o próxima pessoal!

sexta-feira, 18 de fevereiro de 2011

Preenchendo um ComboBox com ArrayList em VB.NET

Olá, pessoal! 

O preenchimento de uma caixa de listagem é uma rotina que faz parte do contexto de quase todo desenvolvedor (desktop ou web).

Pensando neste afirmativa, vamos ilustrar como alimentar um ComboBox usando um ArrayList previamente alimentado com uma classe de modelo.

Abra o Visual Studio e crie um projeto do tipo Windows Form Application em linguagem VB.NET. Após a criação do projeto, adicione um controleComboBox no Form. O controle está alocado na aba Common Controls.


Adicione uma classe no projeto, clicando com o botão direito sobre o nome do projeto na aba Solution Explorer. Salve a classe com o nome EstadoCivil.vb.


Segue a implementação da nossa classe de modelo.


Volte para o Form da aplicação, e dê um duplo clique no mesmo para acessar o editor de código fonte.
Escreva as linhas de código abaixo.

Private Sub Form1_Load(ByVal sender As System.Object,
                       ByVal e As System.EventArgsHandles MyBase.Load
        Dim _lista As New ArrayList
        _lista.Add(New EstadoCivil(1, "CASADO"))
        _lista.Add(New EstadoCivil(2, "DIVORCIADO"))
        _lista.Add(New EstadoCivil(3, "SEPARADO"))
        _lista.Add(New EstadoCivil(4, "SOLTEIRO"))
        _lista.Add(New EstadoCivil(5, "VIÚVO"))
        With ComboBox1
            .DataSource = _lista
            .DisplayMember = "Descricao"
            .ValueMember = "ID"
        End With
    End Sub
End Class

Testando a aplicação, temos um resultado conforme a imagem abaixo.


Finalizando, para recuperar o ID da opção selecionada, é só obter o valor da propriedade SelectedValue.
Exemplo:


MessageBox.Show(ComboBox1.SelectedValue.ToString())

Por enquanto é só.
Até mais!

domingo, 13 de fevereiro de 2011

Usando o VB.NET para copiar e colar texto

Saudações, pessoal! 

A idéia deste artigo é permitir que se consiga transferir um texto para a área de transferência do Windows, e na sequência, recuperar esta informação e exibi-lá em um controle. Iremos utilizar a linguagem VB.NET do Visual Studio, mas nada impede de se utilizar a mesma classe (Clipboard) em C#. 

Abra o Visual Studio e crie um projeto do tipo Windows Forms Application em linguagem VB.NET. 




Adicione 2 controles do tipo TextBox e mais 2 do tipo Button da aba Common Controls do VS. 


Dê um duplo-clique no primeiro botão, e adicione as linhas de código no escopo do evento Click.

Clipboard.SetDataObject(TextBox1.Text, True)
MessageBox.Show("Texto copiado para a área de transferência.")

O método SetDataObject da classe Clipboard é o responsável por armazenar o texto do controle TextBox1 para a área de transferência.
Vamos adicionar as linhas do botão que irá executar a segunda ação deste artigo.
If (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text)) Then
   TextBox2.Text = Clipboard.GetDataObject().GetData(DataFormats.Text).ToString()
   Clipboard.Clear()
   MessageBox.Show("Texto colado com sucesso. A informação do Clipboard será removida.")
Else
   MessageBox.Show("Não há texto na área de transferência.")
End If

Na primeira linha do botão colar, estamos fazendo uma validação com o método GetDataPresent que irá identificar se há alguma informação do tipo texto, armazenada na área de transferência. Caso exista, iremos apresentar o texto no controle TextBox2 e em seguida limpar o Clipboard.





O exemplo é muito simples, mas é de grande utilidade, quando se deseja guardar alguma informação temporária na área de transferência do Windows.

Por hora é só!
Até a próxima pessoal.