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 :

webbrowser et Find


Sujet :

Delphi

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Juin 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1
    Par défaut webbrowser et Find
    J'ai utilisé ce code pour chercher un mot dans le WebBrowser :
    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
     
    procedure TForm1.SearchAndHighlightText(aText: string);
    var
      tr: IHTMLTxtRange; //TextRange Object
    begin
      if not WebBrowser1.Busy then
      begin
        tr := ((WebBrowser1.Document as IHTMLDocument2).body as IHTMLBodyElement).createTextRange;
        //Get a body with IHTMLDocument2 Interface and then a TextRang obj. with IHTMLBodyElement Intf.
     
        while tr.findText(aText, 1, 0) do //while we have result
        begin
          tr.pasteHTML('<span style="background-color: Lime; font-weight: bolder;">' +
            tr.htmlText + '</span>');
          //Set the highlight, now background color will be Lime
          tr.scrollIntoView(True);
          //When IE find a match, we ask to scroll the window... you dont need this...
        end;
      end;
    end;
    Mais :
    j'ai un ListBox contenant les pages à naviguer :
    Exemple :
    c:\pages\page1.htm
    c:\pages\page2.htm
    c:\pages\page3.html
    ...

    Donc ce que je veux que le WebBrowser puisse naviguer toutes ces pages ( trouvant dans le ListBox ) une par une et faire la recherche ( Find ) du Mot , s'il le trouve il affiche le nom de page contenant le mot .

    Ce que j'ai fait :
    procedure TForm1.timer1Timer(Sender: TObject);
    var
    i:integer;
    begin
    For i:=0 to listbox1.items.cout-1 do
    begin
    WebBrowser1.Navigate(ListBox1.Items.Strings[i]);
    SearchAndHighlightText(Edit1.text);
    end;
    end;
    mais à l'execution le Webbrowser1 navigue seulement la 1ere et dernière page , et il ignore les autres pages.

    Merçi

  2. #2
    Membre éclairé Avatar de Ludo_360
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 295
    Par défaut
    Je suis pas sur d'avoir saisi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ListBox1.Items.Strings[i]
    ceci te sert à definir le pointeur sur le ième caractère de ton item, non?
    Donc tu ne parcour pas ton listbox mais un item de celui ci ... mais peut être que je suis trop fatigué lol...

    ludo

Discussions similaires

  1. module Find
    Par martijan dans le forum Modules
    Réponses: 8
    Dernier message: 09/07/2003, 11h07
  2. Attendre la fin du chargement de la page dans un WebBrowser
    Par core1 dans le forum Web & réseau
    Réponses: 5
    Dernier message: 15/06/2003, 04h12
  3. Empécher la sélection du texte des pages dans un WebBrowser
    Par DevelOpeR13 dans le forum Web & réseau
    Réponses: 2
    Dernier message: 05/06/2003, 18h36
  4. Webbrowser : Comment ne pas prendre la page en cache
    Par cedm78 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 30/08/2002, 11h17
  5. Détections avec WebBrowser
    Par Wazo_Sportive dans le forum Composants VCL
    Réponses: 4
    Dernier message: 11/08/2002, 19h32

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