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 :

TcppWebBrowser, TWebBrowser et suivi de l'hyperlink dans une page


Sujet :

C++Builder

  1. #1
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut TcppWebBrowser, TWebBrowser et suivi de l'hyperlink dans une page
    Bonsoir,

    J'ai un souci auquel je ne m'attendais pas:
    -> j'ai un "WebBrowser" sur une form (j'ai essayé les 2 classes TcppWebBrowser et TWebBrowser)
    -> dès le OnActivate, il se "connecte" a un fichier PHP qui execute une requête, crée un PDF et balance le tout dans le "WebBrowser".
    Donc jusqu'ici, rien de dur, tout marche bien.

    En revanche, puisque la merveilleuse lib ("phptoPDF", trouvée sur developpez.com évidement) le permets, je mets des 'hyperlinks' dans ce fichiers PDF.
    Testé "en direct", dans le navigateur, tout fonctionne bien, le PDF et les liens sont OK; en revanche, utilisé au travers soit du TcppWebBrowser soit TWebBrowser, les liens sont inactifs.

    Y a t il un moyen de sortir de cette impasse ?
    Merci d'avance,
    @+

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Par défaut
    salut

    essaye d abord de tester l activex mozilla , on sait jamais

  3. #3
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Citation Envoyé par cedni Voir le message
    salut

    essaye d abord de tester l activex mozilla , on sait jamais

    Bonjour,
    Excuses moi, je ne suis pas très réveillé ... qu'est ce que permets cet ActiveX ?

    Merci
    ++

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Par défaut
    pareil que le composant ccpwebbrowser

    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
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
     
    AnsiString page1 =ExtractFilePath(Application->ExeName).c_str();
    //page1+="1.htm";
    //WideString WEB1 = page1;
    WideString WEB1="http://www.google.fr";
     MozillaBrowser1->Navigate(WEB1);
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      WideString WEB1="http://www.google.fr";
     MozillaBrowser1->Navigate(WEB1);
    }
    comme tu pourras le voir ( en tous cas , chez moi ) , le navigate ne fonctionne pas sur le create de la form mais s execute impeccablement sur un evenement onclick d un bouton

  5. #5
    Membre expérimenté Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Par défaut
    je voudrais afficher toutes les images d'un dossier précis de mon ftp sur ma form via TcppWebBrowser ( ici pas de problème )

    Mais comment exécuter une méthode de mon projet après un clique sur l'image
    se trouvant dans le TcppWebBrowser

    en résume :
    comment detecter l'evenement "Onclick" sur un TcppWebBrowser ou autres
    et appelé une méthode de ma form

    Est il possible d'exécuter un exécutable externe en javascript !?

    j'avais fait cela en cgi en réseau mais c'est vieux tout ca et je devais installé le programme samba !!


    Merci pour votre aide

  6. #6
    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
    Citation Envoyé par cedni Voir le message
    salut

    essaye d abord de tester l activex mozilla , on sait jamais
    Salut Cedni, je me demandais si ce fameux contrôle est celui que l'on retrouve sur cette page:
    http://www.iol.ie/~locka/mozilla/control.htm#download

    Car, j'ai l'impression que le projet a été abandonné. La dernière nouvelle sur la page d'accueil date de 2005. Par contre, il est vrai que si quelqu'un veut un browser de base qu'il n'a pas besoin de rien de plus moderne.

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Par défaut
    question : toutes les images demandent la meme action?
    sinon tu crees un processus secondaire qui surveille le presse papier , le javascript envoye une variable formatee , le second processus analyse la variable et fait un shell execute avec un parametre , il sleep , reintialise le presse papier et se reveille

    sinon en php , il existe la commande run ou runas

    bon courage

    parcontre , meme si tu as brievement decrit tes besoins , il est toujours considerqble de preciser l environnement de travail

    bonne soiree

  8. #8
    Membre expérimenté Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Par défaut
    merci cedni,

    builder 6 sous windows

    l'évènement est identique pour tout, pour cela pas de probleme

    MAIS
    comment détecter l'évènement "Onclick" sur un TcppWebBrowser ou autres
    et appelé une méthode de ma form1.

    en resumé : communique en la form et el composant TcppWebBrowser

    ou alors est il possible d'afficher une image qui se trouve sur mon site
    dans un composant Timage oui autre

    ex :
    path = "www..../image/vegeta.jpg"

    Image->picture->bitmap->Loadfrom...(path);


    si tu as un exemple de code , g hâte de voir

    Merci pour ton aide

  9. #9
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonsoir,

    @cedni: merci pour l'idée, j'avoue que je vais surement mettre en pause mon idée première pour le moment. En effet, il s'agissait d'une "batterie" de tests, d'essais, histoire de faire le point sur ce qui était possible ou non.
    J'étais parti sur l'objet Tcpp WebBrowser, puisqu'il est installé de "base" dans C++Builder, que je le connais un peu (tout petit peu), etc ... (donc juste pour info, je pars finalement sur qqhose de complètement différent: dhtml avec les composants de 'DHX', ca a l'air plutôt bien)
    @Bily.sdi: de même que cedni, je pense que la page renvoyée et affichée par le TcppWebBrowser qui doit permettre le comportement recherché (si tu es sur un format html simple, ca devrais pas poser de problème); PHP devrais te convenir effectivement (voir du côté de "WScript.Shell").

    @+

  10. #10
    Membre expérimenté Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Par défaut
    voila , j'ai trouver une autre solution pour résoudre mon problème !

    j'affiche sur mon TccpWebBrowser une page html qui contient des images
    qui lorsque l'on clique dessus cela ouvre une : autre page ou image ou vidéo.

    le problème est qu'on ne sais pas savoir sur quoi l'on clique dans un
    tccpWebrowser alors j'ai une autre solution.


    faire une classe d'objet Image.

    Nom_Image - Url_image - href_image

    je liste les images de la page web et les affiche dynamiquement
    sur ma forme.

    Pour chaque image je rempli les propriété de la classe !!

    grâce a ces codes

    code1
    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
     
    Comment lister les images d'une page, ainsi que leurs propriétés ?
    
    Variant vDocument = Browser->ControlInterface->Document;
    if (((IDispatch *)vDocument) != NULL)
    {
       Variant vImages = vDocument.OlePropertyGet("Images");
       Variant vImagesCount = vImages.OlePropertyGet("Length");
       for (int i = 0 ; i < vImagesCount ; i++)
       {
          Variant vImage = vImages.OleFunction("Item",i);
          Variant vImageURL = vImage.OlePropertyGet("Src");
          Variant vImageWidth = vImage.OlePropertyGet("Width");
          Variant vImageHeight = vImage.OlePropertyGet("Height");
          Variant vImageWeight = vImage.OlePropertyGet("FileSize");
          Variant vImageAlt = vImage.OlePropertyGet("Alt");
    
       AnsiString aInfoImage = Format("%s : %d x %d Pixels; %d octets; %s",
                  ARRAYOFCONST((vImageURL,(int)vImageWidth,(int)vImageHeight,(int)vImageWeight,vImageAlt)));
          ListBox1->Items->Add(aInfoImage);
       }
    }
    
    code 2
    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
     Comment lister les liens d'une page ?
    
    Variant vDocument = Browser->ControlInterface->Document;
    if (((IDispatch *)vDocument) != NULL)
    {
       Variant vLinks = vDocument.OlePropertyGet("Links");
       Variant vLinksCount = vLinks.OlePropertyGet("Length");
       for (int i = 0 ; i < vLinksCount ; i++)
       {
          ListBox1->Items->Add(vLinks.OleFunction("Item",i));
       }
    }
    
    
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <a href="http://www.google.be">      <img src="cam1.jpg">  </a>
     
    <a href="http://www.dailymotion.be"> <img src="cam2.jpg"> </a>
     
    <a href="http://www.youtube.be">     <img src="cam3.jpg"> </a>
     
    <a href="http://www.msn.be">         <img src="cam4.jpg"> </a>
     
    <a href="http://www.developpez.net"> <img src="cam5.jpg"> </a>
    en utilisant les base de données mysql + builder, pas de problème car j'encode tt les info dans une table et via les requêtes je peux tt savoir

    mais l'autre manière m'intéresse aussi !!

    mon unique problème est :
    comment savoir que tel lien correspond a tel image !?

    ca marche mais je dois lancer le code1 puis le code2 !!
    j'utilise 2 liste pour vérifier,
    heureusement que le résultat est
    dans l'ordre de lecture. list_Image_index =
    list_Url_index

    y a t'il moyen de réunir le code1 et le code2, chque image traité on prend son lien etc...


    Merci d'avance

Discussions similaires

  1. [Débutant] le suivi d'un point dans une séquence video
    Par nedsup dans le forum Langages
    Réponses: 0
    Dernier message: 19/06/2015, 18h36
  2. Réponses: 1
    Dernier message: 21/10/2009, 15h21
  3. [Sharepoint Designer 2007]Hyperlink dans une dataview
    Par t-die dans le forum SharePoint
    Réponses: 2
    Dernier message: 17/02/2009, 14h18
  4. Réponses: 3
    Dernier message: 19/07/2006, 14h28
  5. [TWebBrowser] Comment trouver tous les liens dans une page ?
    Par xenos dans le forum Composants VCL
    Réponses: 1
    Dernier message: 15/01/2006, 23h36

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