Comment afficher dans une textbox le contenu d'un document txt en ligne... [Résolu]

julien2424 76 Messages postés mardi 8 août 2006Date d'inscription 24 avril 2012 Dernière intervention - 20 juin 2009 à 20:38 - Dernière réponse : julien2424 76 Messages postés mardi 8 août 2006Date d'inscription 24 avril 2012 Dernière intervention
- 21 juin 2009 à 10:56
Bonjour à toute l'équipe de vbfrance.

Je suis totalement débutant  et j'ai une question.
 J'aimerai savoir si il est possible d'afficher dans une TextBox, dès l'ouverture d'un programme, le contenu d'un document qui se trouve stocker sur un serveur en ligne?
Je pourrai publier un texte et ainsi le diffuser sur mon programme comme une pub.

J'ai déjà mis en place ce code, mais ça ne marche pas... 

   Private Sub TextBox1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        FileOpen(1, "http://pagesperso-orange.fr/jmcreations/SM_pub.txt", OpenMode.Input)

    End Sub
End Class

Je sais que c'est pas bon du tout, mais j'aimerai qu'on m'aide à concevoir un code correct.
D'autre part y'a t'il moyen de faire défiler ce texte, comme une bannière?

Cordialement à tous
Excellent Week-end
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Mayzz 2859 Messages postés mardi 15 avril 2003Date d'inscription 26 novembre 2013 Dernière intervention - 20 juin 2009 à 22:58
3
Merci
Bonjour,

lol, ouais effectivement Inet est un composant COM obsolète en .Net

Pour lire le contenu d'un document, il faut utiliser l'espace de nom "System.Net" du framework, t'as de la chance j'ai une fonction toute prête (issue d'une de mes sources) qui permet de lire le contenu d'un fichier sur le web via le protocole HTTP.

Private Const USER_AGENT = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
Private Const ACCEPT = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-silverlight, */*"

Function GetHTMLPage(ByVal RequestUrl As String) As String
    Dim ReadStream As IO.StreamReader
    Try
        Dim URI As New System.Uri(RequestUrl)
        Dim HTTP As System.Net.HttpWebRequest = _
            System.Net.WebRequest.CreateDefault(URI)
        HTTP.Accept = ACCEPT
        HTTP.UserAgent = USER_AGENT
        HTTP.KeepAlive = True

        Dim HtmlCode AsString = ""
        Dim hwebresponse As System.Net.WebResponse = _
            HTTP.GetResponse
        ReadStream = New IO.StreamReader(hwebresponse.GetResponseStream)
        Dim line As String 
        Do
            line = ReadStream.ReadLine()
            HtmlCode += vbCr & line
            Application.DoEvents() 
        Loop Until line Is Nothing 
        Return HtmlCode 
    Catch
            Return "" 
    End Try
    ReadStream.Dispose()
End Function

PS: tu n'est pas obligé de mettre un format text, tu peu aussi bien par exemple, utiliser un richtext avec un fichier au format rtf, ou aussi passer par un navigateur (composant browser) et afficher une page web dans ton application dirrectement. 

@+ Mayzz.

                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <

Merci Mayzz 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de Mayzz
Meilleure réponse
Mayzz 2859 Messages postés mardi 15 avril 2003Date d'inscription 26 novembre 2013 Dernière intervention - 20 juin 2009 à 23:34
3
Merci
Non en fait, ce code est à placer au sein de ton formulaire et à ne pas modifier, il faut juste l'appeler comme ceci :

TextBox1.Text = GetHTMLPage (http://www.monurl.com)

Bien entendue il ya un temps de téléchargement... et la fonction est synchrone (même si elle ne freez pas le programme)

                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <

Merci Mayzz 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de Mayzz
julien2424 76 Messages postés mardi 8 août 2006Date d'inscription 24 avril 2012 Dernière intervention - 20 juin 2009 à 22:16
0
Merci
Finalement j'ai trouvé un code

        Dim Url As String

        Url = "http://pagesperso-orange.fr/jmcreations/SM_pub.txt"
        TextBox1.Text = Inet.OpenURL(Url)

    End Sub

Sauf que je travail sous Visual Studio 2008, et ce controle n'existe plus sous cette version, et même si on tente de le rajouté à côté, ça ne marche pas.
Comment faire?
Commenter la réponse de julien2424
julien2424 76 Messages postés mardi 8 août 2006Date d'inscription 24 avril 2012 Dernière intervention - 20 juin 2009 à 23:17
0
Merci
Merci à toi, ton code m'est très précieux ^^

Mais comme je suis débutant, inutile de te dire, que je ne sais pas vraiment le remplir.
Je ne sais pas comment introduire ma textbox1 dans ce code, ainsi que mon adresse web...

Voila, au hasard ce que j'ai crée sur la base de ton produit:

   Private Const USER_AGENT = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
    Private Const ACCEPT = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-silverlight, */*"
    Function fenetre1_Load(ByVal RequestUrl As String) As String

        Dim ReadStream As IO.StreamReader
        Try
            Dim URI As New System.Uri(RequestUrl)
            Dim HTTP As System.Net.HttpWebRequest = _
                System.Net.WebRequest.CreateDefault(URI)
            HTTP.Accept = ACCEPT
            HTTP.UserAgent = USER_AGENT
            HTTP.KeepAlive = True

            Dim HtmlCode As String = "http://pagesperso-orange.fr/jmcreations/SM_pub.txt"
            Dim hwebresponse As System.Net.WebResponse = _
                HTTP.GetResponse
            ReadStream = New IO.StreamReader(hwebresponse.GetResponseStream)
            Dim line As String
            Do
                line = ReadStream.ReadLine()
                HtmlCode += vbCr & line
                Application.DoEvents()
            Loop Until line Is Nothing
            Return HtmlCode
        Catch
            Return "http://pagesperso-orange.fr/jmcreations/SM_pub.txt"
        End Try
        ReadStream.Dispose()
    End Function

End Class
Commenter la réponse de julien2424
julien2424 76 Messages postés mardi 8 août 2006Date d'inscription 24 avril 2012 Dernière intervention - 21 juin 2009 à 10:56
0
Merci
Un grand merci Mayzz ^^ pour ce travail et ton aide!
Ca marche à merveille!

Jules
Commenter la réponse de julien2424

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.