TI e Café - Uma ótima combinação


24/05/2006


Preencher uma DropDownList com uma Enum e descrições personalizadas

Olá!
Segue abaixo uma dica para preencher uma
DropDownListcom uma enum, customizando o valor que irá aparecer no Text do ListItem:

protected void FillComboWithEnum(ref DropDownList combo, Type myEnum)
{
    ListItem item;
    string [] names;
    
    combo.Items.Clear();

    names = Enum.GetNames(myEnum);
    for (int i = 0; i <= names.GetUpperBound(0); i++)
    {
        item = new ListItem();
        item.Text = GetDescription((Enum)Enum.Parse(myEnum, names[i]));
        item.Value = Convert.ToInt32(Enum.Parse(myEnum, names[i])).ToString();

        combo.Items.Add(item);
    }
}

public static string GetDescription(Enum value)
{
    FieldInfo fi = value.GetType().GetField(value.ToString());
    DescriptionAttribute[] attributes =
          (DescriptionAttribute[])fi.GetCustomAttributes(
          typeof(DescriptionAttribute), false);

    return (attributes.Length > 0) ? attributes[0].Description : value.ToString();
}
 
para que isso funcione é necessário utilizar os namespaces:
using System.Reflection;
using System.ComponentModel;
 
Ex.:
Definição da enum:
**************
using System.ComponentModel;
namespace Smart.ERP.Business.Cadastros { public enum TIPO_DEPOSITO : byte { [Description("Matéria Prima")] MateriaPrima = 1, [Description("Produto Acabado")] ProdutoAcabado = 2, [Description("Produto Semi-Acabado")] ProdutoSemiAcabado = 3, [Description("Não Produtivo")] NaoProdutivo = 4 } }
**************

em alguma página: FillComboWithEnum(ref combo, typeof(TIPO_DEPOSITO));

 

onde TIPO_DEPOSITO é o nome da enum, neste caso TIPO_DEPOSITO.

 

[]'s

Marco.

Categoria: ASP.NET
Escrito por Marco Alves às 20h38
[ ] [ envie esta mensagem ]

17/10/2005


Fontes de Alimentação - Power Good Signal

Além das tensões e correntes que um computador precisa para operar, a fonte também fornece um sinal chamado “Power Good Signal”. O seu propósito é dizer ao computador que tudo está ok com a fonte de alimentação e que o computador pode continuar a operar normalmente. Se o sinal Power Good não estiver presente, o computador desliga. O sinal Power Good previne que o computador opere em tensões impróprias, o que faria com que ele estragasse.

 

O sinal Power Good é um sinal de +5 volts gerado na fonte de alimentação quando ela realiza com sucesso seus testes internos e a saída de tensão e corrente se estabilizaram. Ele leva de 100ms a 500ms para ser gerado a partir do momento em que a fonte for ligada. O sinal é então enviado para a placa mãe, onde é recebido pelo timer chip (processor timer chip) que controla o reset do processador.

 

Na ausência do sinal Power Good, o timer chip reseta o computador continuadamente,  previnindo que o computador rode sob condições ruins ou instáveis de alimentação. Quando o timer chip recebe o sinal Power Good, ele para de resetar o computador, e então o processador executa o que quer que esteja no endereço FFFF:0000 (usualmente a ROM da BIOS). Até que este sinal seja enviado, a placa mãe irá recusar para inicializar o computador.

 

Se a fonte de alimentação não conseguir manter as saídas de tensão e corrente apropriadas, como em uma queda de energia, o sinal Power Good é “retirado”, e o processador reseta automaticamente. Quando a saída apropriada é novamente restabelecida, o sinal Power Good é regerado e o computador reinicia sua operação novamente. Retirando o sinal Power Good, o computador nunca recebe uma alimentação inadequada porque ele é parado rapidamente (reset) ao invés de permitir que seja operado em condições de alimentação instáveis, o que poderia causar erros de paridade e outros problemas.

 

Nota: Algumas fontes simulam um sinal Power Good, entretanto o sinal é falso. Estas fontes devem ser evitadas.

Categoria: Assembly&Arquit. de Computadores
Escrito por Marco Alves às 15h08
[ ] [ envie esta mensagem ]

05/10/2005


Como debugar ASP 3.0 na IDE do Visual Studio.NET

Nosso primeiro post técnico. Sem delongas, vamos lá.

Sem dúvida, a plataforma de desenvolvimento .NET, alavancou o nosso desenvolvimento de maneira ímpar. Falando de desenvolvimento para a web, pode-se dizer sem medo de errar que a mudança para os desenvolvedores do ASP 3.0 (ou ASP clássico, como preferir) foi ainda maior. Argumentos a esta afirmação são fáceis de serem encontrados: O código agora é compilado, temos acesso a linguagens de alto padrão (C#, VB.NET, etc), orientação a objetos, e certamente a lista se extende facilmente.

Muitos sistemas já foram migrados, outros estão sendo migrados, outros ainda serão, e outros não . Eu mesmo estou trabalhando na migração de um aplicativo em ASP clássico (a partir de agora simplesmente ASP) para ASP.NET com C#.

Já estamos muitíssimo acostumados com a ferramenta de debug da IDE do Visual Studio.NET. Mas oras bolas, quando precisamos trabalhar com o ASP, vamos lá, apertamos F5 e pum! Não, definitivamente, não. O maravilhoso e mágico debug não funciona. Desespero? Não, pegue uma xícara de café e continue com a leitura.

Para que o "mágico" debug funcione para o ASP é necessário seguir uns poucos passos, os quais seguem:

 

Configuração do Visual Studio.NET:

1. Com o Visual Studio.NET aberto, crie um projeto do tipo "Empty Web Project" e adicione todos os arquivos referentes a sua aplicação ASP ao projeto;

2. Adicione um arquivo de configuração WEB (Web.Config);

3. Abra o Web.Config e, no parâmetro compilation, defina a propriedade debug para true;

4. No menu "Project - Properties", na aba "Debugging", defina a propriedade Enable ASP Debugging para True. Nota: dependendo da linguagem de desenvolvimento escolhida  (C# ou VB.NET) esta propriedade pode estar em locais diferentes da janela de propriedades do projeto. Neste caso, a guia foi feita através da linguagem C#;

 

Configuração do IIS (Internet Information Services):

1. Abra o IIS (Iniciar -> Configurações -> Painel de Controle -> Ferramentas Administrativas -> Internet Information Services);

2. Aponte para a aplicação que você deseja habilitar o debug, clique com o botão direito e depois clique em "Propriedades". Neste momento a janela com as propriedades da aplicação será aberta;

3. Na guia diretório, clique em "Configuração". Você verá o seguinte:

 IIS_Depuracao

4. Nesta guia, marque as duas opções "Ativar depuração de script de servidor ASP" e "Ativar depuração de script de cliente", conforme a figura.

 

Configuração da conta do Windows

É necessário que o usuário esteja nos grupos: "VS Developers" e "Debugger Users". Caso o usuário seja administrador local, não será necessário adicioná-lo nesses grupos. Para tal, vá até o ícone "Meu Computador" situado na área de trabalho ou no menu iniciar, dependendo da configuração, clique com o botão direito e vá em "Gerenciar". Expanda o nó "Usuários e grupos locais", clique em "Grupos", abra os referidos grupos, clique em "Adicionar", digite o nome do usuário, clique em "OK".

Se tudo foi feito corretamente e não exista nenhuma outra questão, ir até o Visual Studio.NET, setar um break point qualquer, iniciar a aplicação ASP em modo debug e pum! Agora a mágica funcionou!

Até o próximo post!

 

Categoria: Scripting em geral
Escrito por Marco Alves às 19h51
[ ] [ envie esta mensagem ]

04/10/2005


Cena 1 - A primeira xícara

Como primeiro post, de maneira natural, vou descrever brevemente o objetivo deste blog. Mas antes vou falar um pouco de mim. Meu nome é Marco Alves, 24 (25 em 11/2005), casado, com um filho lindérrimo de 1 ano e 1 mês. Natural de Curitiba - Paraná - Brasil, residindo atualmente em São Paulo - SP - Brasil. Atuo na área de TI como Analista de Sistemas, com 3 anos de experiência, com ponto forte em desenvolvimento web utilizando a plataforma .NET, cursando o primeiro ano da faculdade FIAP. Trabalho em uma empresa de grande porte em Alphaville, região metropolitana de SP (estou certo?). Tenho contato com computador deste criança (TK 85, TK 83, TK 3000, XT, 386, 486, P3, Athlon). Possuo duas certificações microsoft (portanto sou MCP) nas provas 70-305 e 70-320) - (http://www.microsoft.com/learning/mcp/mcsd/requirementsdotnet.asp). Atualmente estudando para a certificação na prova 70-229 (http://www.microsoft.com/learning/mcp/mcdba/requirements.asp) , a qual me dará a credencial de MCAD. Também estudando Arquitetura de Computadores e Assembly. Bom, agora que vcs já sabem com quem estão lidando  vamos ao que interessa.

 

O objetivo deste blog é fornecer aos falantes da lingua portuguesa (leia-se brasileiros) materiais de boa qualidade tecnica e pedagógica na área da ciência da computação, tecnologia da informação. Os leitores podem esperar artigos em várias tecnologias, tais como, Ambiente Web, .NET, Assembly, Arquitetura de Computadores, Álgebra de Boole e é claro, um papo descontraído. Não quero reinventar a roda. Mas, como é do conhecimento da maioria dos leitores, é difícil encontrar material de boa qualidade na nossa língua. É claro que existem excessões, e seria um mentiroso caso viesse a dizer o contrário. Entretanto, acredito que com este trabalho estarei de alguma forma colaborando com aqueles que estão iniciando e que já estão neste caminho.

 

É isso aí. Boa caminhada para todos nós.

 

Até o próximo post!

 

Escrito por Marco Alves às 20h58
[ ] [ envie esta mensagem ]
Busca na Web: