Visual Basic .Net Fácil
Encontre aqui artigos e códigos sobre Visual Basic .Net e eventualmente outras linguagens
sexta-feira, 14 de março de 2014
segunda-feira, 17 de setembro de 2012
Criando um navegador web no vb.net
Esse é um assunto um pouco complicado, na minha opinião, principalmente se o objetivo for criar um navegador para tentar competir com os gigantes que dominam essa área. Não estou dizendo que é algo impossível, mas para conseguir fazer alguma coisa "decente" é necessário ter bastante conhecimento e de várias áreas. Se quiser fazer um navegador moderninho, com visual descolado, é melhor partir para Windows Presentation Fundation (WPF) com o auxilio do Expression Blend.
Mas temos também uma segunda opção, estou falando do projeto Awesomium, um motor baseado no projeto Chromium (Google Chrome). O Awesomium tem um potencial muito grande, e oferece algo realmente decente para WPF, mas também é compatível com o Windows Forms, claro.
Se você está querendo criar um navegador baseado na Trident veja este ótimo artigo: Working with the Web Browser Control in Visual Studio 2005 - IE7Clone
Mas se irá se aventurar no Awesomium, basta somente conferir o vasto material encontrado no site do projeto.
O armazenamento pode ser feito através de um banco de dados xml com o uso de um DataSet. As imagens podem ser armazenadas também, apenas convertendo-as para texto string básico, ou seja, Base64 String.
A engine
Pois bem, a parte mais importante de um navegador é a engine (motor). O .Net traz nativamente o controle Webbrowser que é, somente, uma implementação gerenciada da Trident Engine, motor do Internet Explorer.Mas temos também uma segunda opção, estou falando do projeto Awesomium, um motor baseado no projeto Chromium (Google Chrome). O Awesomium tem um potencial muito grande, e oferece algo realmente decente para WPF, mas também é compatível com o Windows Forms, claro.
Se você está querendo criar um navegador baseado na Trident veja este ótimo artigo: Working with the Web Browser Control in Visual Studio 2005 - IE7Clone
Mas se irá se aventurar no Awesomium, basta somente conferir o vasto material encontrado no site do projeto.
Os favoritos
Uma forma simples de implementar os favoritos em seu navegador é através de uma barra de favoritos usando um componente ToolStrip para Win Forms, ToolBar ou StackPanel para WPF. Cada favorito será representado por um botão com imagem.
O armazenamento pode ser feito através de um banco de dados xml com o uso de um DataSet. As imagens podem ser armazenadas também, apenas convertendo-as para texto string básico, ou seja, Base64 String.
O histórico
Existem diversas formas de apresentar o histórico ao usuário, através de um controle TreeView por exemplo. A forma de armazenamento pode ser a mesma citada anteriormente, ou um banco de dados mais robusto como o SQL por exemplo.
As abas (Guias)
Bom, isso é complicado se tratando de Win Forms, mas se for WPF é algo muito simples! Na minha opinião, o melhor controle de guias disponível na net para o Win Forms e adequado para um navegador é o desse projeto: Painting Your Own Tabs - Second Edition.
Gerenciador de downloads
Um navegador que se preze deve possuir um bom gerenciador de downloads. Encontrei o projeto A Multi-thread C# Segmented Download Manager escrito em C#. Infelizmente não consegui encontrar nada de qualidade semelhante para o vb.net, mas você poderá usar um conversor c# para vb.net para lhe auxiliar nesta empreitada.
Conclusão
Como evidenciado, criar um navegador web não é algo simples, mas também não é impossível. Com estudo e dedicação com certeza é possível, pode levar algum tempo, mas é possível. O meu objetivo,basicamente, era, através deste artigo, reunir as informações necessárias para conseguir fazer um bom navegador. Se esqueci de algo importante por favor comentem.
domingo, 16 de setembro de 2012
Baixar vídeos do Youtube no Vb.Net
Tempo atras eu achei este vídeo sobre a criação de um programa para baixar vídeos do youtube:
Para baixar o código fonte siga: http://www.fileden.com/files/2012/3/30/3285449/YoutubeDownload.zip
Até o presente momento funciona perfeitamente...
Até o presente momento funciona perfeitamente...
Algorítimo de comparação de Strings
ATUALIZAÇÃOEste artigo e seu código está desatualizado. Contudo, eu reescrevi ele e postei em meu novo blog:Algoritmo para comparação de strings – C# | Herbert.Lausmann
Olá,
Este é o meu primeiro post no blog. Sejam todos bem vindos.
Pois bem, este algorítimo compara duas strings e retorna um valor Double entre 0 e 100, onde 0 significa que as strings não tem nada em comum, e 100 onde as strings são totalmente iguais.
Public Function Compare(wordA As String, wordB As String) As Double
Dim n As Integer = wordA.Length, m As Integer = wordB.Length
Dim distance(n + 1, m + 1) As Integer
Dim cost As Integer = 0
If n = 0 Then Return n
If m = 0 Then Return m
For i As Integer = 0 To n
distance(i, 0) = i
Next
For j As Integer = 0 To m
distance(0, j) = j
Next
For i As Integer = 1 To n
For j = 1 To m
cost = (wordB.Substring(j - 1, 1) = wordA.Substring(i - 1, 1))
distance(i, j) = Math.Min(Math.Min(distance(i - 1, j) + 1, distance(i, j - 1) + 1), distance(i - 1, j - 1) + cost)
Next
Next
Dim maxLen As Integer = wordA.Length
If wordB.Length > wordA.Length Then
maxLen = wordB.Length
End If
Dim res As Double = distance(n, m)
res = ((1 - (res / maxLen)) / 2) * 100
Return res
End Function
Esse algorítimo é baseado no Algorítimo de Levenshtein. Originalmente ele foi desenvolvido para comparar palavras, mas pode ser usado tranquilamente na comparação de frases tendo somente uma perda de desempenho dependendo do tamanho da frase. Ele é muito usado por corretores ortográficos.
Este código é uma adaptação do artigo An improvement on capturing similarity between strings.
Assinar:
Postagens (Atom)