IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

recuperer une page html


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 237
    Par défaut recuperer une page html
    Bonjour, je cherche à récupérer une page html à partir d'une url. Mon idée est de faire une TEdit où l'utilisateur doit etre une adresse url et ensuite je click sur un bouton pour récupérer la page html correspondant à l'url!!!

    Est ce quelqu'un est deja confronté a ce genre de problème , ça fait 3 jours que je galère et j'arrive pas a trouver la solution!!

    I need help please.

    Merci d'avance.

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par défaut
    Tu as quelle version de C++Builder ?

    FAQ C++Builder : http://cpp.developpez.com/faq/bcb/?p...tcppwebbrowser
    ou FAQ Delphi : http://delphi.developpez.com/faq/?page=indy_idhttp

  3. #3
    Membre très actif Avatar de Argol_Medusa
    Homme Profil pro
    Ingénieur Radiofréquences
    Inscrit en
    Août 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Radiofréquences
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 208
    Par défaut
    si tu as la version 6 ou plus de builder tu peux utiliser un TCppWebBrowser qui te permettra de récupérer le contenu en texte ou en page html

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 237
    Par défaut
    Citation Envoyé par gandf Voir le message
    Tu as quelle version de C++Builder ?
    J'utilise C++Builder 2010 !!! dont je connais pas encore toutes les composants.

    Si vous avez encore des propositions je suis preneur, et merci pour ce premier coup de main, je vais continuer mes recherches.

  5. #5
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Avec C++Builder 2010 il y a TWebBrowser.

    C'est facile a utiliser tu fais seulement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
        WebBrowser1->Navigate("www.google.com");
    }

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 237
    Par défaut
    Re-bonjour, je reprends mon besoin : je dois recuperer une page html à partir d'une url entrer par un utilisateur dans un formulaire.
    Alors mon idée est d'entrer l'url dans un TEdit et de recuperer le contenu de la page correspondante dans un TFileStream.
    Mon idée me semble bonne mais j'ai un souci à la compilation, voici mon code et l'erreur que j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    bool __fastcall TForm1::downloadFile (AnsiString source,AnsiString destination)
    {
    	    TFileStream *F = new TFileStream(destination, fmCreate);
            bool download = false;
     
                    try
                    {
                            HTTPClient->Get(AnsiString(AnsiString(source)).c_str(),F);
                            download=true;
                    }
                    catch (...)
                    {
                            download=false;
                    }
     
     
     
    		return download;
    }
    //------------------------------------------------------------------------

    //Methode qui permet de lancer le chargement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void __fastcall TForm1::ButtonClick(TObject *Sender)
    {
     
      URL = TEdit->Text ;
      downloadFile (URL,"c:\\test.txt") ;
    }
    Voici l'erreur que j'ai à la compilation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [ILINK32 Erreur] Fatal: Impossible d'ouvrir le fichier 'SHDOCVW_OCX.OBJ'
    Mon but est de recuperer la page html correspondant à l'url pour pouvoir y faire des traitement.
    j'ai besoin de votre aide svp et merci d'avance.

  7. #7
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Ok, je reprend mon exemple précédent dans lequel j'ai ajouté le code de la FAQ Comment récupérer le source HTML d'une page affichée dans un TCppWebBrowser ?. Lien qui avait été donné plus haut par gandf.

    Voici donc le code complet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
        WebBrowser1->Navigate(TEdit->Text.w_str()); // URL dans un TEdit
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::WebBrowser1DocumentComplete(TObject *ASender, const IDispatch *pDisp,
              OleVariant &URL)
    {
        IHTMLDocument3 *html = NULL;
        IHTMLElement *element = NULL;
        BSTR string = L"";
        TWebBrowser *browser = (TWebBrowser*)ASender;
     
        try
        {
            if (browser->Document != NULL)
            {
                OleCheck(browser->Document->QueryInterface(IID_IHTMLDocument3,(LPVOID*)&html));
                OleCheck(html->get_documentElement(&element));
                OleCheck(element->get_outerHTML(&string));
            }
        }
        catch (EOleSysError &eOSE)
        {
            if (element != NULL)
            {
                element->Release();
            }
            if (html != NULL)
            {
                html->Release();
            }
            throw eOSE;
        }
     
        // On sauvegarde le contenu
        TFileStream *FStream;
        try
        {
            FStream = new TFileStream("c:\\test.html", fmCreate | fmOpenWrite);
            FStream->Write(string, SysStringByteLen(string));
        }
        __finally
        {
            delete FStream;
        }
    }
    //---------------------------------------------------------------------------
    N'oublie pas d'inclure ceci:

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 4] Recuperer des données au sein d'une page HTML
    Par gilles974 dans le forum Langage
    Réponses: 1
    Dernier message: 10/03/2009, 09h36
  2. Comment recuperer le code source d une page HTML distante en javascript
    Par herbert dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 26/07/2006, 22h26
  3. [MySQL] recuperation des données d'un BD et les affichées ds une page html
    Par moonia dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 21/04/2006, 12h51
  4. Réponses: 3
    Dernier message: 28/12/2005, 15h29
  5. [CR] Tranfert de formulaire a travers une page HTMl
    Par LIEU dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 12/09/2002, 08h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo