Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

Sir Pereira

[VB.Net] RTF Automático

Mensagens Recomendadas

Sir Pereira    3
Sir Pereira

Boas pessoal.... é assim:

1º Tenho um form

2º Tenho um RichTextBox dentro do form

Objectivo: Quando o form iniciar, gostaria que o RichTextBox ficasse como seu conteúdo, um ficheiro RTF que eu tenho num site. Por exemplo, se eu fosse actualizando as notícias de qualquer coisa no RTF hospedado no site, assim iria sempre ficar actualizado no programa.

Código já trabalhado mas não produziu qualquer resultado:

Public Class Form1
    Dim newsfwpdt As String
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        txtNews.Text = newsfwpdt
        newsfwpdt = wb.DocumentText.ToString
    End Sub
End Class

Atenção: no código anterior o wb é o WebBrowser que eu havia posto no form, para tentar 'sacar' a informação, mas invés disso, quando abro o form, apenas me aparece a seguinte imagem:

image0.jpg

Com os melhores cumprimentos,

DJ_BloodHunter

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Revolt    1
Revolt

tenta usar:

'False -> ShowDownloadUI
'100000 -> Timeout em ms
'True-> Overwrite
My.Computer.Network.DownloadFile("URL", "Path", "Username", "Pass", False, 100000, True)
newsfwpdt = My.Computer.FileSystem.ReadAllText("Path")

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sir Pereira    3
Sir Pereira

hmm... so um pouco ja uso... tou a fazer o tpc, depois ja digo qualquer coisa ;)

-------------------<--------------->--------------------

ja acabei o tpc.... so uma pergunta, em que parte ponho o url do ficheiro a sacar? e que meto em username e pass?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Ziwdon    0
Ziwdon

My.Computer.Network.DownloadFile("URL", "Path", "Username", "Pass", False, 100000, True)

URL = URL do ficheiro a sacar

Path = Pasta onde queres guardar o ficheiro no disco

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sir Pereira    3
Sir Pereira

bom, deixa ver se percebi, o ficheiro que quero que apareça na richtextbox é: http://darkhellblaster.summerhost.info/fwpdtnews.rtf, logo é suposto ficar:

'False -> ShowDownloadUI
'100000 -> Timeout em ms
'True-> Overwrite
My.Computer.Network.DownloadFile("http://darkhellblaster.summerhost.info/fwpdtnews.rtf", "http://darkhellblaster.summerhost.info/fwpdtnews.rtf", "Username", "Pass", False, 100000, True)
newsfwpdt = My.Computer.FileSystem.ReadAllText("Path")

??

se nao for peço o favor de corrigirem o que está e por certo.... obrigado ;)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
karva    0
karva

Hmm,, porque é que ele tá a ir buscar aos ficheiros temporários?

Experimenta

newsfwpdt = My.Computer.FileSystem.ReadAllText("C:\fwpdtnews.rtf")

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Ziwdon    0
Ziwdon

entao...resultou.

Tens ai o codigo fonte da pagina...agora se quiseres remover as cenas a dizer '</body>', '<head>' e por ai fora tens de faze-lo a parte.

Tens de editar o texto...podes usar replaces, removes...por ai. É isso que queres nao é?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Ziwdon    0
Ziwdon

hmm...nao tou a ver.

tentei da seguinte forma:

        Dim Path As String = "C:\fwpdtnews.rtf"

        Try
            Dim _net As New Net.WebClient
            _net.DownloadFile("http://darkhellblaster.summerhost.info/fwpdtnews.rtf", Path)
            TextBox1.Text = IO.File.ReadAllText(Path)
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Erro")
        End Try

Contudo da-me erro 404...nao tou a perceber.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Ziwdon    0
Ziwdon

OK. Tenta o seguinte código...

Dim Path As String = "C:\fwpdtnews.rtf"

Try
   Dim _net As New Net.WebClient
   'Provide the IE7 User agent
   _net.Headers(Net.HttpRequestHeader.UserAgent) = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"
   _net.DownloadFile("http://darkhellblaster.summerhost.info/fwpdtnews.rtf", Path)
   RichTextBox1.Text = IO.File.ReadAllText(Path)
Catch ex As Exception
   MessageBox.Show(ex.Message, "Erro")
End Try

'codigo escrito por Negative0

Como o ficheiro é .rtf é natural que te apareça tudo um pouco confuso.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sir Pereira    3
Sir Pereira

fixe... por o menos já conseguiu ler :P thanks

mas infelizmente lê assim:

{\rtf1\ansi\ansicpg1252\deff0\deflang2070{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}{\f1\fswiss\fcharset0 Arial;}}
{\colortbl ;\red0\green128\blue0;\red255\green0\blue0;\red0\green128\blue128;\red0\green0\blue255;}
{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\qc\cf0\f0\fs28 Welcome\cf0  \cf1 to\cf0  \cf2 ForumW\cf0  \cf3 Program\cf0  \cf4 Development \cf1 Team\cf0  \cf0 News\cf2 !\par
\par
16/09/07\par
\cf0\b\fs24 News Updater v1.0 released!\cf0\b0\f1\fs20\par
}

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Ziwdon    0
Ziwdon

Sim...eu estava a usar a property .Text em vez de .Rtf  :P

Assim já fica bem :D

Dim Path As String = "C:\fwpdtnews.rtf"

Try
    Dim _net As New Net.WebClient
    'Provide the IE7 User agent
    _net.Headers(Net.HttpRequestHeader.UserAgent) = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"
    _net.DownloadFile("http://darkhellblaster.summerhost.info/fwpdtnews.rtf", Path)
    RichTextBox1.Rtf = IO.File.ReadAllText(Path)
Catch ex As Exception
    MessageBox.Show(ex.Message, "Erro")
End Try

Ou para simplificar, se não precisares de gravar o ficheiro no disco, basta fazeres...

Try
    Dim _net As New Net.WebClient
    'Provide the IE7 User agent
    _net.Headers(Net.HttpRequestHeader.UserAgent) = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"
    RichTextBox1.Rtf = _net.DownloadString("http://darkhellblaster.summerhost.info/fwpdtnews.rtf")
Catch ex As Exception
    MessageBox.Show(ex.Message, "Erro")
End Try

  :D

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade