YUI Compressor for .Net

by Stiven 12. outubro 2011 10:31

Há um tempo atrás eu escrevi um post sobre o YUI Compressor. Até então, eu não conhecia, mas existe um projeto no codeplex http://yuicompressor.codeplex.com/, que é uma conversão do projeto (Java) Yahoo para o .Net.

Segue a dica. Não perca tempo e entre no site do projeto no codeplex. Vale a pena mesmo!

Abraços,

Stiven

Tags:

C# | CSS | Dicas | Javascript | Open Source

Boleto.Net: Adicionando informações do Sacado

by Stiven 17. fevereiro 2011 10:58

Para adicionarmos informações do sacado no boleto bancário no projeto do Boleto.Net, devemos criar uma instância da classe Sacado e atribuir a propriedade da classe Boleto.

Vejamos:

	Boleto boleto = new Boleto(new DateTime(2011, 2, 17), 0.01, "16""0000000000", cedente); 
	boleto.Sacado = new Sacado("000.000.000-00""Nome do seu Cliente ");  	
	boleto.Sacado.Endereco.End = "Endereço do seu Cliente ";        	
	boleto.Sacado.Endereco.Bairro = "Bairro";        	
	boleto.Sacado.Endereco.Cidade = "Cidade";        	
	boleto.Sacado.Endereco.CEP = "00000000";        	
	boleto.Sacado.Endereco.UF = "UF";   	
	

Resultado:

;)

 

Tags: ,

Boleto.Net | Dicas

Imprimindo relatórios com o Crystal Reports

by Stiven 7. julho 2010 05:28

Ao desenvolver relatórios no Crystal Reports é necessário de uma rotina para executá-lo e mostrar o resultado (arquivo PDF) em uma página ASPX. Mas para que isso aconteça é necessário escrever uma rotina que não é tão simples de implementá-la.

Na página ASPX:

    DataTable data = new DataTable();
    ReportDocument report = new ReportDocument();
    report.Load(Server.MapPath("") + @"\meurelatorio.rpt");
    report.SetDataSource(data);
    BinaryReader stream = new BinaryReader(report.ExportToStream(ExportFormatType.PortableDocFormat));
    Response.ClearContent();
    Response.ClearHeaders();
    Response.ContentType = "application/pdf";
    Response.BinaryWrite(stream.ReadBytes(Convert.ToInt32(stream.BaseStream.Length)));
    Response.Flush();
    Response.Close();

Lembre-se que é necessário fazer referências as bibliotecas:

    using CrystalDecisions.CrystalReports.Engine;    
    using CrystalDecisions.Shared;

 ;) 

Tags: ,

Crystal Reports | Dicas

TFS: Erro ao tentar mapear workspace

by Stiven 31. maio 2010 12:19

Pessoal,
hoje eu perdi uns minutos tentando mapear um workspace. Apesar de ser tão simples, por algum motivo não conseguia mapear por já estar mapeado para outro usuário.

 O problema é que já tinha excluído todos os mapeados e referências do workspace, mas mesmo assim acusava o erro. Mas e agora? O que fazer?

 É bem simples. Simplesmente vá até a pasta onde fica o arquivo de configuração do TF, abra o arquivo VersionControl.config e exclua a referencia do mapeamento do workspace. Ou se preferir exclua o arquivo, que o TF se encarregara de criar um novo arquivo.

C:\Users\[USERNAME]\AppData\Local\Microsoft\Team Foundation\3.0\Cache\VersionControl.config

;)

Tags: ,

Dicas | TF

AjaxControltoolkit: HTMLEditor com contador de texto

by Stiven 11. março 2010 11:08

Estou trabalhando em um projeto onde tem uma analista de testes fantástica, não deixa passar nada. E um dos items do checklist era colocar um contador de caracteres e um limitador para o tamanho do texto no HTMLEditor do AjaxControltoolkit. Deu um pouquinho de trabalho. Umas das dificuldades é que o HTMLEditor usa iFrames, mas nada que o jQuery não resolva.

Uma vez com o código fonte do AjaxControltoolkit, criei uma uma versão mais lite do HTMLEditor, chamando de LiteHTMLEditor.

Adicionei a propriedade MaxLength:

        [DefaultValue(0)]
        [Themeable(false)]
        public virtual int MaxLength { get; set; } 

 

Sobrescrevi o método RenderEndTag:

             base.RenderEndTag(writer);

            if (MaxLength > 0)
            {

                string clientID = string.Format("{0}_ctl02_ctl01", ClientID);
                writer.Write("<i>(Caracteres restantes: <span id=\"" + ClientID + "_info\">" + MaxLength + "</span>)</i>");

                Page.ClientScript.RegisterStartupScript(GetType(), string.Format("LiteHTMLEditor_{0}", ClientID), ScriptLiteHTMLEditor(), true);

            }

  Bom, é isso aí!

  

LiteHTMLEditor.rar (490.56 kb)

;) 

Tags: ,

Ajax | ASP.Net | Controls | Dicas

Motrando mensagem de campos obrigatórios

by Stiven 9. março 2010 11:14

Esta semana precisei desenvolver um componente que implementasse a funcionalidade que ao usuário clicar no botão para submeter o formulário, se o mesmo tivesse campos obrigatórios (usando por exemplo o RequiredFieldValidator), teria que mostrar uma mensagem informando que ainda existiam campos a serem preenchidos.

Bom, é algo bem simples. Mas se tratando interação com o usuário é bastante útil.

Usei o jQuery para mostrar a div. E a grande sacada ta no método Page.ClientScript.RegisterOnSubmitStatement, que é nele que vamos conseguir executar a chamada da mensagem quando o usuário tentar submeter página.

 Código fonte do projeto. 

 AlertRequiredFields.rar (26.91 kb)

;) 

 

Tags:

ASP.Net | Controls | Dicas

Desabilitando o plugin do Skipe de uma página HTML

by Stiven 24. janeiro 2010 04:40

Pessoal,

hoje ao desenvolver uma página de entrada de dados (onde tem alguns campos de informações de telefones) percebi que, devido ao fato de ter o Skipe instalado na máquina, o plugin (do Skipe) quebrava o layout da página onde tinha os labels de formatação do número de telefone. E agora? Como desabilitar o plugin do Skipe?

 

Depois de alguns cliques na web, percebi que era algo tão simples.

No HTML onde tem a informação do número do telefone Celular ( (61) 0000-0000 ), basta incluirmos uma tag <span> entre os números, com um style (CSS) para que fique invisível. Assim conseguimos que o plugin o Skipe não identifique o HTML como um número válido de telefone.

Exemplo:

(61) 0000-<span style="display:none;">_</span>0000

 



;)

Tags:

Dicas

Especificando uma determinada porta para o ASP.NET Development Server

by Stiven 19. janeiro 2010 09:56

Olá pessoal! Hoje foi o dia em que eu perdi a paciência e resolvi descobrir como setar uma determinada porta para o servidor web de desenvolvimento. Algo tão simples e que as vezes  pequenos detalhes fazem a diferença. Então vamos lá!

Para especificar uma porta para o ASP.NET Development Server

  1. No Solution Explorer, clique no nome do aplicativo.

  2. No painel de propriedades, clique na seta ao lado de usar portas dinâmicas e False selecione da lista suspensa.  Isso permitirá a edição da propriedade Número da porta.

  3. No painel de propriedades, clique na caixa de texto ao lado da porta e digite um número de porta.

  4. Clique fora do painel Propriedades. Isso salva as configurações de propriedade.

    Cada vez que você executar um arquivo de sistema Web site no Visual Web Developer, o ASP.NET Development Server irá escutar na porta especificada.

 Fonte: http://msdn.microsoft.com/en-us/library/ms178109(VS.80).aspx

;)

Tags: , ,

ASP.Net | Dicas | Visual Studio

Minimizando o MSN Messenger no Windows 7

by Stiven 14. dezembro 2009 03:48

Já instalou o MSN Messenger no Windows 7? Ele não minimiza na barra de ícones de sistemas.....:(

E agora? Como eu faço? ....aí vai a dica:

http://windows7center.com/tutorials/how-to-minimize-msn-messenger-to-the-system-tray-in-windows-7/

;)

Tags: ,

Dicas | Windows 7

Erro ao tentar consumir serviço do Dynamics AX

by Stiven 6. novembro 2009 09:16

No meu primeiro contato com o Dynamic AX, depois de criar o site no IIS 7, ao tentar consumir um serviço ocorreu aquela famosa tela amarela:

Could not load file or assembly 'Microsoft.Dynamics.BusinessConnectorNet' or one of its dependencies. An attempt was made to load a program with an incorrect format.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.BadImageFormatException: Could not load file or assembly 'Microsoft.Dynamics.BusinessConnectorNet' or one of its dependencies. An attempt was made to load a program with an incorrect format.

E agora?

Para corrigir o problema basta configurar o application pool referente ao site no IIS 7, a compatibilidade com aplicativos 32bits.

No IIS 7 -> Application Pools -> [MeuApplicationPool] -> Advance Settings -> Enable 32-Bit Applications

;)

Tags: ,

Dicas | Dynamics AX

Sobre o autor



Meu nome é Stiven Fabiano da Câmara e sou desenvolvedor de software especializado na plataforma .NET da Microsoft, utilizando a linguagem Visual C#.