• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Sir Pereira

[VB.Net] RTF Automático

24 mensagens neste tópico

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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")

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

Experimenta

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 é?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois nem eu.... mas o que queria mesmo era o ficheiro.... se o tentares abrir pelo browser abres na boa...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois isso é por ser .rtf. Nao sei se ha alguma maneira de por o texto normal ou se o temos de fazer 'manualmente'...vou ver se me informo. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

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