01.Blogs :
ThiagoCF  
Este Blog foi criado para servir como um repositório de informações, principalmente códigos interessantes que são possíveis de se criar no .NET.
Debug ASP 3.0
Wednesday, September 19, 2007 10:58 PM

Video onde demonstro como fazer debug de código ASP 3.

Download

0 Comments | Post a Comment |

posted  by  ThiagoCF  with 

Proteção de tela como papel de parede no Windows Vista
Wednesday, January 10, 2007 5:48 PM

Você pode colocar qualquer proteção de tela como papel de parede do Windows Vista, com pouco impacto na performance do sistema. Se você deseja tentar pode seguir um dos passos abaixo ou usar um programa que automatiza todo o processo. A ferramenta que permite você habilitar tudo isso sem nenhum esforço pode ser encontrada neste link, mas se você deseja fazer isso usando um método manual, pode fazê-lo como é mostrado neste vídeo.

  • Abra a ferramenta WinSpectorSpy
  • Arraste o alvo “Click and Drag to select a window” para a área de trabalho
  • Automaticamente o programa deve localizar a arvore de processos:
    00100E6: Progman “Program Mananger”
    00100E8: SHELLDLL_DefView
    00100EA: SysListView32 “FolderView”
  • Anote o numero que aparecer ao lado do “Progman Program Manager”.
    Ex.: 00100E6
  • Converta o numero do processo anotado para decimal usando este site selecionando a opção hex to decimal e anote o numero convertido.
    Ex.: 00100E6 -> 65766
  • Abra o prompt do window vista e digite:
    CD \
    CD Windows\System32
    Dir *.scr
  • Escolha um dos arquivos da lista e finalmente digite:
    Nomedoarquivo.scr /P NumeroConvertido
    Ex.: Aurora.scr /p 65766

OBS1.: Os ícones da área de trabalho ficam indisponíveis durante a execução da proteção de tela no papel de parede.
OBS2.: Quem usou o processo manual só consegue fechar a proteção de tela finalizando o processo com o gerenciador de tarefas.

Ate +

0 Comments | Post a Comment |

posted  by  ThiagoCF  with 

Colocando um contador no The Spoke.
Monday, January 08, 2007 3:39 PM

Apesar de o The Spoke possuir um contador para cada post ele apenas é acionado quando um usuário entra diretamente pelo link do post, não contando usuários que entram pela página inicial do seu blog, para resolver esse problema e colocar um contador global para acesso por qualquer post de seu blog você deve seguir os passos abaixo:

  1. Cadastre-se no site http://www.sitemeter.com/default.asp?action=newaccount
  2. Aguarde o e-mail com seu login e senha e faça login no site.
  3. No menu no menu superior do site clique em Manager.
  4. No menu lateral clique em Meter style e selecione um estilo de contador.
  5. No menu lateral clique em HTML Code.
  6. Clique em “Using a text editor (like NotePad)”
  7. Copie o script "Site Meter Regular HTML" para a área de transferência. (Ctrl+A / Ctrl+C)
  8. Faça login no The Spoke e vá até a página inicial do seu blog. (My / Blogs)
  9. Nos “links rápidos” de sua página inicial clique em “Minhas Configurações”
  10. Cole o script ao lado da descrição do seu blog.

Ate +

0 Comments | Post a Comment |

posted  by  ThiagoCF  with 

Componente para busca em seu site com MSN Search
Thursday, January 04, 2007 10:58 PM

Serviços de buscas geralmente usam a tecnologia chamada Web Crawler para indexar automaticamente sites, porem para indicar corretamente o conteúdo a ser indexado é preciso tomar um conjunto de medidas, felizmente isto se torna mais fácil com o ASP .NET 2.0.

Mantenha uma estrutura de navegação hierárquica

Uma boa estrutura de navegação é essencial para permitir a descoberta de qualquer página em nosso site não apenas por serviços de busca, mas também seus usuários. Para implementar uma estrutura de navegação no ASP.NET 2.0 você deve cadastrar cada página no arquivo Web.Sitemap e usar o conjunto de controles Menu, SiteMapPath, TreeView para exibi-los em sua MasterPage.

Descreva o conteúdo de suas páginas com as tags TITLE e META.

As tags TITLE, META “description” e META “keywords” são usadas pelos indexadores para obter informações sobre seu site, devemos portanto configurá-las corretamente ou a indexação não será bem sucedida.

  • TITLE - Titulo do site que será exibido na barra de titulo do navegador. Definir esta tag ajuda ao serviço de busca entender qual é o assunto principal do site ou da página.
  • META “description” – Uma breve descrição do conteúdo da sua página que será exibida pelo serviço de buscas. Use no máximo 250 caracteres.
  • META “keywords” – Palavras chave e seus sinônimos que definem o conteúdo do seu site. Procure formar um conjunto diversificado que identifique unicamente a página em questão.

No ASP.NET 2.0 podemos cadastrar todas estas informações no arquivo Web.Sitemap onde já estão cadastradas  todas as páginas do nosso site.

<?xml version="1.0" encoding="utf-8" ?>                                      
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
    <siteMapNode url="~/Default.aspx" title="Home" description="...” keywords="...”>
        <siteMapNode url="~/BasicReporting/Default.aspx"
        title="Basic Reporting" 
        description="Basic Reporting Samples" 
        keywords="Basic, Reporting, Samples" />
    </siteMapNode>
</siteMap>

Criaremos então estas tags em nossa MasterPage com a diretiva runat=”server” para permitir o preenchimento de todas estas informações a partir do conteúdo cadastrado no arquivo Web.SiteMap.

<html>
<head>
    <title></title>
    <meta name="description" runat="server" content="" />
    <meta name="keyword" runat="server" content="" />
</head>
<body>
...
</body>
</html>

Feito isto, colocaremos o seguinte código no evento Load de nossa MasterPage:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
     If Not SiteMap.CurrentNode Is Nothing Then
         Me.Page.Title = IIf(SiteMap.CurrentNode.Title = Nothing, "", _
         SiteMap.CurrentNode.Title)
         Me.description.Content = IIf(SiteMap.CurrentNode.Description = Nothing, "", _
         SiteMap.CurrentNode.Description)
         Me.keywords.Content = IIf(SiteMap.CurrentNode("keywords") = Nothing, "", _
         SiteMap.CurrentNode("keywords"))
     End If
End Sub

Registre-se no MSN Search Live

No site http://search.msn.com.br/docs/submit.aspx você poderá então registrar seu site no serviço, aguarde pelo menos 24 horas para o web crawler do MSN Search Live começar a indexar seu site. Você pode verificar se seu site já foi indexado digitando site:seguido de seu endereço da web na caixa de pesquisa Live Search. Exemplo: site:www.microsoft.com

Para obter os resultados da pesquisa em seu site você poderia usar um script fornecido pela própria Microsoft que ira mostrar o resultado da busca na pagina do MSN Live Search ou utilizar o Web Service do serviço para obter os resultados da pesquisa.

Neste artigo vou optar por usar o Web Service que permite uma apresentação customizada do resultado, para isso você precisa então se registrar no site http://search.msn.com/developer e obter uma Application ID.

O componente MSNSearch

O componente MSN Search que criei, atua como um adaptador para os resultados do Web Service e portanto é dependente deste. Para usa-lo você precisa configurar no arquivo web.config conforme o quadro abaixo:

<configuration>
    <appSettings>
        <add key="MSNApplicationID"
        value="55A15FA5CDF8A852355476C2D111ED11A1C1B11Z"/>
        <add key="MSNSearchSite" 
       value="http://thespoke.net/blogs/thiagocf"/>
    </appSettings>
...
</configuration>
  • MSNApplicationID – Application ID obtida no site do MSN, enquanto este valor não for substituído a aplicação não retornará nenhum resultado.
  • MSNSearchSite (Opcional) – URL do site ao qual a busca estará restrita. Se você desejar que a busca não fique restrita a nenhum site (buscar na web) esta chave pode ser omitida.

O componente expõe na properties window o mesmo conjunto de propriedades do web service, para maiores informações sobre o conjunto de propriedades consulte a documentação do serviço. Para maiores informações sobre como usar o componente, veja os exemplos disponíveis no download, se ainda assim existirem dúvidas me envie um e-mail.

DOWNLOAD - MSN Search Component 1.0 + Exemplos
Aguarde alguns segundos até o link aparecer no 4Shared.

Ate +

1 Comments | Post a Comment |

posted  by  ThiagoCF  with 

Aprenda OO com Exemplos em VB.NET
Sunday, December 24, 2006 2:55 AM

A um ano atrás fiz alguns posts sobre orientação a objetos com exemplos de códigos inspirados no livro “Aprenda OO em 21 Dias” que converti de Java para VB.NET (2005). Hoje vejo que a quantidade de pessoas que tem duvida sobre programação OO aumentou muito por isto estou colocando o código convertido dos 07 primeiros capítulos do livro para download.

Todos os códigos estão amplamente comentados, e vocês podem ler linha a linha textos introdutórios sobre:

  • POO X Programação procedural X Programação modular
  • Encapsulamento, Herança, Polimofismo
  • Tipo abstrato de dados

DOWNLOAD

0 Comments | Post a Comment |

posted  by  ThiagoCF  with 

Gerando documentação para suas classes com VS2005 (Ndoc / Sandcastle)
Thursday, September 07, 2006 7:24 PM

Para quem estava sentindo falta de uma versão do NDoc para Visual Studio 2005 a Microsoft acaba de lançar o CTP de seu próprio gerador de documentação chamado Sandcastle. Com ele você poderá gerar documentação semelhante ao MSDN.

Documentando seu código com VB .NET

A documentação em VB.NET deve ser escrita no código na forma de comentários iniciados com três apóstrofos isso quase sempre fará com que o VS gere blocos XML com os seguintes tipos de comentário:

''' <summary>
'''
Descrição do método.
'''
</summary>
''' <param name="paramName">Descrição do parâmetro
</param>
''' <value>Descreve uma propriedade
</value>
''' <returns>Retorno da função
</returns>
''' <remarks>Informações complementares
</remarks>

OBS.: Para uma lista detalhada de todas as opções em português consulte o MSDN Wiki Beta ou a ajuda do VS2005.

Devemos então verificar se a opção “Generate XML documentation file” esta marcada no Visual Studio 2005.

Menu - Project / Properties / Compile / |X| Generate XML documentation file

Fazendo isso ao compilarmos o projeto o Visual Studio não só ira gerar o assembly (exe / dll) do, mas também ira gerar um arquivo XML com os comentários.

Gerando a documentação com o Sandcastle

Devemos neste momento instalar o Sandcastle, porem como este é um CTP que ainda não possui integração total com o Visual Studio, vamos instalar tambem outros dois programas. Um programa chamado “HTML Help Workshop” que será responsável por criar os arquivos CHM e o outro chamado “Sandcastle Help File Builder” uma GUI para nos ajudar com as configurações.

Configurando o Sandcastle com o “Sandcastle Help File Builder”

Ao abrir o programa este nos apresenta uma serie de opções as mais importantes estão na sessão Help File e Paths e devem ser configuradas da seguinte maneira:

Help File
SdkLinkType: None.      – A opção MSDN faz uma consulta online a este que pode demorar muito

Paths
HtmlHelp1xCompilerPath: C:\Arquivos de programas\HTML Help Workshop\
OutPutPath:             <Configure a pasta onde o arquivo será gerado>
SandcastlePath:         C:\Arquivos de programas\Sandcastle\

Gerando a documentação

Clique no botão Add e escolha a opção arquivos do tipo “XML Comment Files” localize o arquivo XML com comentários (normalmente na mesma pasta em que o executável foi gerado)

Salve seu projeto de documentação na mesma pasta onde a documentação será gerada.

Clique no botão namespace e desmarque o que você não tem interesse em documentar.

Clique no botão "Build Help File" e aguarde a documentação ser gerada.

Downloads

Sandcastle August 2006 CTP

Html Help Workshop 1.3

Sandcastle Help File Builder

Ate +

0 Comments |