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

Delphi Discussion :

[D2005.P] Webbroswer ?


Sujet :

Delphi

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2005
    Messages : 87
    Points : 49
    Points
    49
    Par défaut [D2005.P] Webbroswer ?
    Bonjour,

    Je ne n'avais plus mis les pieds dans delphi depuis la version 5.
    Ici j'essaye de développer un programme qui necessite un composant comme le webbroswer. Càd: Afficher des pages, avoir le suivit des sessions et la mémoire des cookies.

    J'ai téléchargé la version 2005 Personelle. Et bah c'est du light comparé à ma vielle version pro.
    Existe t'il un moyen d'avoir les packages vcl contenant ce composant ? Existe t'il un composant alternatif ?

    Merci d'avance
    Hk

  2. #2
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2005
    Messages : 87
    Points : 49
    Points
    49
    Par défaut
    up^^

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Merci d'éviter les UP toutes les 4 heures
    Samedi c'est jour de repos pour de nombreux membres, les compétences disponibles se font donc plus rare.

    Un peu de patience donc.

    ps
    Désolé je n'ai pas de compétence pour le moment sur les applis WEB.

  4. #4
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    Bonjour Haknaton,

    Je pense que la station sur laquelle tu travailles dispose de Microsoft Internet Explorer. Si c'est le cas, alors tu vas certainement trouver une dll qui se nomme shdocvw.dll (Microsoft Internet Control 1.0).
    Tu risques de la trouver dans c:\windows\system32, voire effectuer une recherche en local sur ta station ou encore télécharge la. Elle est facilement trouvable grâce à Google.

    Seconde étape, il faud créer un nouveau projet puis recencer la bibliothèque de type.
    Dans le menu "composant", choisir "Importer un composant..." et choisir au final "Importer une bibiothèque de types"

    Cliquer sur [suivant]

    Recherche dans la liste la description Microsoft Internet Control 1.0.
    Si tu ne la trouves pas alors
    - clique sur [Ajouter] et indiquer l'emplacement de shdocvw.dll puis valide
    - Cliquer à nouveau sur [suivant]
    A ce moment, tu peux éventuellement changer le nom du répertoire unité, chemin vers le répertoire dans lequel la bibliothèque de référence sera créée.
    - Cliquer à nouveau sur [suivant]
    Deux choix s'offent maintenant à toi
    (i) Créer l'unité, celle-ci sera créée dans le répertoire unité définit à l'étape précédente
    (ii) Ajouter l'unité à ton projet
    Dans tous les cas, l'unité sera créée.

    Pour notre test, je te propose d'ajouter l'unité au projet soit le second cas.
    Tu cliques [terminer] et ainsi notre bibliothèque de type est maintenant disponible dans le projet. Elle se nomme SHDocVw_TBL.pas.

    Revenons maintenant, dans l'unité Unit1 de ce nouveau projet.

    Il faut maintenant ajouter notre bibliothèque de référence dans la clause uses soit SHDocVw_TBL ainsi que l'unité OleCtrls.

    Tu as maintenant accès à la classe TWebBrowser qui va te permettre de réaliser ce que tu désires.

    Voici le petit programme test qui utilise un tWebBrowser:

    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
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, OleCtrls, SHDocVw_TLB, StdCtrls, ExtCtrls;
     
    type
      TForm1 = class(TForm)
        Button1: TButton;
       Panel1: TPanel;
       Edit1: TEdit;
        procedure FormCreate(Sender: TObject);
       procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
        ie: TWebBrowser;
      end;
     
    var
      Form1: TForm1;
     
    implementation
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ie.Navigate(edit1.text);
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      ie := TWebBrowser.Create(panel1);
     TOLEControl(ie).Parent := panel1;
     ie.Align := alClient;
     TOLEControl(ie).Name := 'WBName';
    end;
     
    end.


    En espérant répondre à ta question.
    Cordialement
    Pensez à utiliser les tags dans le titre.
    Avant de poser une question reportez-vous à la FAQ Delphi
    Respectez les règles du forum.

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2005
    Messages : 87
    Points : 49
    Points
    49
    Par défaut
    B.R.A.V.O pour la qualité de ta réponse ! ça fait très plaisir à voir.

    Juste pour pousser un peu plus loin.
    Il y à t'il moyen de ne pas avoir les popups ? Car je sais qu'il y à une astuce dans la F.A.Q delphi en metant la proprité cancel à true dans le cas d'une nouvelle fenetre pour le composant Tbrowser.
    Il y à t'il une astuce avec ta méthode (qui permet d'outrepasser ce composant) ?

    Il y a t'il moyen d'éviter le troll ?
    J'ai trouvé un projet très interessant sur mozilla in delphi mais pas moyen d'installer le composant ... Je mélange les pinceaux car je ne sais pas si l'activex mozilla est necessaire.

    Merci encore pour ta réponse et aux autres qui pourront complèter

    Haknaton

  6. #6
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    Citation Envoyé par Haknaton
    Juste pour pousser un peu plus loin.
    Il y à t'il moyen de ne pas avoir les popups ? Car je sais qu'il y à une astuce dans la F.A.Q delphi en metant la proprité cancel à true dans le cas d'une nouvelle fenetre pour le composant Tbrowser.
    Il y à t'il une astuce avec ta méthode (qui permet d'outrepasser ce composant) ?
    Bonsoir,
    Cette méthode permet comme tu as pu le constater de créer l'unité SHDocVw_TBL.pas. Cette unité n'est rien d'autre que l'unité disponible avec D2005 à partir des versions professionnelles et qui se nomme SHDocVw.pas et qui s'intruit automatiquement dans la clause uses dès que tu places un composant TWebBrowser sur une TForm.
    Par conséquent tout ce qui est stipulé dans la FAQ ou les Sources s'applique bien évidemment dans ce cas précis.

    Pour t'en convaincre regarde les propriétés et méthodes de la classe TWebBrowser dans l'unité SHDocVw_TBL.pas ou directement dans l'éditeur via la fenêtre de complétion automatique de code et tu constateras que "tout y est".

    Il ne faut pas oublier que la notion d'interface objet ainsi que la technologie COM permet de réaliser de nombreuses choses et pas seulement avec Delphi.

    En ce qui concerne l'activeX de Mozzila, pense peut-être à installer FireFox au préalable sur ta station. En effet, lors de l'installation les composants sont recencés dans le registre. La bibliothèque de type MOZILLACONTROLLib_TLB fait certainement le lien avec des interfaces objet accessibles via leur GUID. Je ne connais pas en détail MOZILLACONTROLLib_TLB car je ne l'ai jamais utilisée mais je suis sur que le code que tu as trouvé fonctionnera beaucoup mieux si tu installes FireFox.

    Pour terminer un petit lien qui à mon avis n'est pas dénué d'intérêts.
    http://www.euromind.com/iedelphi/

    Cordialement
    Pensez à utiliser les tags dans le titre.
    Avant de poser une question reportez-vous à la FAQ Delphi
    Respectez les règles du forum.

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2005
    Messages : 87
    Points : 49
    Points
    49
    Par défaut
    Je viens de tester l'application que tu m'a donné. (J'ai téléchargé le zip).
    Voici l'erreur que j'obtiens à la compilation:
    [Erreur fatale] E2202 Package 'vcldb' requis non trouvé

  8. #8
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    En effet, il se peut que tu rencontres ce problème. J'ai réalisé cette partie de code avec une version architect.
    L'application est construite avec des packages d'exécution que ta version ne connais pas.
    Dans ce cas c'est un package relatif aux bases de données. Si je ne me trompe, la version personnelle ne permet pas de gérer de la base de données. Tu devras retirer pas mal de package dans cette liste car j'utilise les composants dev-Express (ceux qui commencent par cx ou dx) et quelques autres dans le cadre professionnel.

    Donc, tu te rends dans "Projet" puis "Options" et "Package" et ensuite tu coches "Construire avec les packages d'exécution". Tu retires de la liste tous les packages qui posent problème à la compilation.

    Dès que tout est OK tu décoches la case.

    Cordialement
    Pensez à utiliser les tags dans le titre.
    Avant de poser une question reportez-vous à la FAQ Delphi
    Respectez les règles du forum.

  9. #9
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2005
    Messages : 87
    Points : 49
    Points
    49
    Par défaut
    Encore merci Pascal pour la qualité de tes réponses.
    Ma dernière question avant de passer le post en résolut.

    Il y a t'il moyen d'envoyer une requete avec des champs de type POST ?

    Merci d'avance

    Haknaton

  10. #10
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    Je ne vois pas pourquoi cela serait impossible.

    Tu peux même remplir des formulaires ou simuler un click de souris sur un bouton.

    Pour remplir des formulaires va voir les deux exemples à cet endroit

    http://www.developpez.net/forums/sho...d.php?t=146124

    Cordialement
    Pensez à utiliser les tags dans le titre.
    Avant de poser une question reportez-vous à la FAQ Delphi
    Respectez les règles du forum.

  11. #11
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2005
    Messages : 87
    Points : 49
    Points
    49
    Par défaut
    Merci pour toutes ces informations > Résolu

  12. #12
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2005
    Messages : 67
    Points : 102
    Points
    102
    Par défaut
    juste pour envoyer et récupérer des requêtes http en post,get :

    http://www.badfan.com/delphi/tie_http_https.html

    cordialement
    "Ce n'est pas parce que les choses sont difficiles qu'elles nous font peur, c'est parce qu'elles nous font peur qu'elle sont difficiles"

  13. #13
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2005
    Messages : 87
    Points : 49
    Points
    49
    Par défaut
    Merci pour ce composant ! Mais je préfaire avoir un TBrowser afin d'avoir un "retour" direct du résultat pour la vérification.

    L'intérêt de la requête post est simplement une authentification au site web avant de faire une série de requête HTTP avec le moin de retours possible. Donc j'ai mon TBrower dont je coupe les popups et j'ai mes requetes ainsi qu'un outil de contrôle.

    Mais je me pose une question. Si j'ai un message d'alert javascript sur le TBrowser, va t'il rester l'hors du chargement d'une autre page ? va t'il autorisé la requête suivante HTTP ? Sachant que j'ai besoin du javascript activé l'hors de mes requêtes

    Encore merci pour toutes ces infos
    Haknaton

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

Discussions similaires

  1. [D2005][DBEXPRESS][MYSQL] Violation d'accès
    Par Rayek dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/03/2005, 08h09
  2. [WIN32][D2005/D7][LANGAGE] CITRIX Metaframe MFCOM
    Par chavers dans le forum Langage
    Réponses: 6
    Dernier message: 09/03/2005, 19h17
  3. [CR9] [D2005] [ASP.NET WEB App] Création dynamique d'un état
    Par Crystalou dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 09/03/2005, 09h21
  4. [D2005]Erreur avec BdpConnection ?
    Par nelly dans le forum Bases de données
    Réponses: 3
    Dernier message: 14/02/2005, 08h56
  5. [D2005][FK 2.0] Compatibilité Delphi et ce Framework
    Par Mjm dans le forum Delphi .NET
    Réponses: 3
    Dernier message: 30/11/2004, 14h05

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