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

Composants VCL Delphi Discussion :

Champ HTML


Sujet :

Composants VCL Delphi

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 133
    Points : 113
    Points
    113
    Par défaut Champ HTML
    salut, je vais vous expliquer ce que je recherche :

    en fait je voudrais que l'on puisse selectionner une partie d'une page html dans le navigateur, faire copier, et coller dans un champ de mon programme. Mais que le html reste valable, par exemple, pour un lien, avec un richedit, il me met le texte du lien seulement, et je voudrais savoir comment coller le code html en lui meme avec les balises <a> etc ...

    quel composant supporte cette fonctionnalité ? quelle propriété faut il modifier ? merci beaucoup !

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2003
    Messages : 113
    Points : 137
    Points
    137
    Par défaut
    Ce que tu recherches me semble compliqué, mais intéressant pour faire un éditeur WYSING par exemple.

    Je ne vois pas trop comment faire

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Points : 1 608
    Points
    1 608
    Par défaut
    Tu pourrais poster sur les forums anglophones de Microsoft, cette technique est utilisée dans leur logiciels. Peut être est-ce possible en utilisant l'interface COM d'Internet Explorer... Dans ce cas là c'est peut être moins infaisable que ca en à l'air, mais ca serait réservé qu'au navigateur de Microsoft. As tu testé avec Mozilla, voir si ca marche ?
    "It's more fun to compute !"

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 133
    Points : 113
    Points
    113
    Par défaut
    je n'ai pas testé avec mozilla, si je trouve pour IE ce serait deja pas mal. je recherche sur google mais je ne trouve rien ... y'a pas un seper fort qui pourrait m'aider ? NoNo ? PierreCastelain ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2003
    Messages : 113
    Points : 137
    Points
    137
    Par défaut
    Va faire un tour sur la MSDN, c'est bien pratique

  6. #6
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 133
    Points : 113
    Points
    113
    Par défaut
    bof, je voi pas trop ou il faut chercher dans ce site ...

  7. #7
    Membre chevronné
    Avatar de Pierre Castelain
    Inscrit en
    Avril 2002
    Messages
    523
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 523
    Points : 1 943
    Points
    1 943
    Par défaut
    Je ne pense pas que ce soit si compliqué que ça. A mon avis, quand tu sélectionne et copie du texte dans IE, le presse-papier contient certainement le code HTML correspondant. Le tout est d'en trouver le format.

  8. #8
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 25
    Points : 37
    Points
    37
    Par défaut
    salut,

    Voici un debut, il ne restera pas grand chose à faire :
    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls,Clipbrd ;
     
    type
      TForm1 = class&#40;TForm&#41;
        Button1&#58; TButton;
        Memo1&#58; TMemo;
        ListBox1&#58; TListBox;
        procedure Button1Click&#40;Sender&#58; TObject&#41;;
        procedure FormCreate&#40;Sender&#58; TObject&#41;;
        procedure SubClassWndProc&#40;var Message&#58; TMessage&#41;;
      private
        &#123; Déclarations privées &#125;
      public
        &#123; Déclarations publiques &#125;
      end;
     
    var
      Form1&#58; TForm1;
      OldWindowProc&#58;TWndMethod;
      Clipboard&#58;TClipboard;
     
    implementation
     
    &#123;$R *.DFM&#125;
    procedure TForm1.SubClassWndProc&#40;var Message&#58; TMessage&#41;;
    var MyHandle&#58; THandle;
        TextPtr&#58; PChar;
        MyString&#58; string;
     
    begin
         if &#40;message.Msg=WM_PASTE&#41; // analyse du clipboard avant le coller
            then
         begin
              if Clipboard.HasFormat&#40;49280&#41; // en provenance d'IE
                 then
              begin
                  ClipBoard.Open;
                  try
                      MyHandle &#58;= Clipboard.GetAsHandle&#40;49280&#41;;
                      TextPtr &#58;= GlobalLock&#40;MyHandle&#41;;
                      MyString &#58;= StrPas&#40;TextPtr&#41;;
                      memo1.text&#58;=Mystring;
                      GlobalUnlock&#40;MyHandle&#41;;
                  finally
                      Clipboard.Close;
                  end;
              end
                 else OldWindowProc&#40;Message&#41;; // methode par defaut
         end
            else OldWindowProc&#40;Message&#41;;
    end;
     
    procedure TForm1.FormCreate&#40;Sender&#58; TObject&#41;;
    begin
         OldWindowProc&#58;=memo1.WindowProc;
         memo1.WindowProc&#58;=SubClassWndProc;
         Clipboard&#58;=TClipboard.Create;
    end;
     
    procedure TForm1.Button1Click&#40;Sender&#58; TObject&#41;;
    var I&#58; Integer;
    begin
        listbox1.Items.Clear;
        for I &#58;= 0 to Clipboard.FormatCount-1 do
           ListBox1.Items.Add&#40;IntToStr&#40;Clipboard.Formats&#91;I&#93;&#41;&#41;;
    end;
     
    end.
    En gros, le principe :
    En fait, tu recupère le code entier de la page HTML, avec une entete qui précise le debut de la selection et la fin.
    Il faut donc en fait recupérer cette portion en utilisant les infos ( je pense que c'est par caractères )

    Exemple de debut d'entete ( qui apparaitra dans le memo ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Version&#58;1.0
    StartHTML&#58;000000207
    EndHTML&#58;000001758
    StartFragment&#58;000001495
    EndFragment&#58;000001645
    StartSelection&#58;000001495
    EndSelection&#58;000001619
    SourceURL&#58;http&#58;//<a href="http://www.developpez.net/forums/posting.php" target="_blank">www.developpez.net/forums/posting.php</a>
    Donc :
    * analyser l'entete
    * recupérer les infos pour recupérer la selection
    * prendre la selection uniquement
    * inserer cette selection dans le memo...

    Voilà, sorry j'ai un peu la flemme d'aller plus loin, fait trop chô ;-)

    Bon courage
    ;-) phenix

  9. #9
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Salut!
    Je n'ai pas lu les posts précédents...
    Je crois que j'utiliserais la propriété outerHTML.

    http://www.developpez.net/forums/vie...ight=outerhtml
    http://www.developpez.net/forums/vie...ight=outerhtml

    à+
    De retour parmis vous après 10 ans!!

  10. #10
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 133
    Points : 113
    Points
    113
    Par défaut
    AH


    Bon ca m'a l'air bien compliqué tout ca ... j'ai lu vite fait, j'ai rien compris mdr !

    Je reverrai ca demain quand je serai moins crevé, merci beaucoup pour vos réponses ! (je viendrai certainement vous embeter encore un peu demain parce que je crois pas que je vais tout comprendre )

    MERCI !

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

Discussions similaires

  1. [Windev 10] Utilisation du champs HTML
    Par Root_JDK dans le forum WinDev
    Réponses: 14
    Dernier message: 18/01/2007, 12h04
  2. Réponses: 2
    Dernier message: 13/01/2007, 09h09
  3. [Windev 9] Savoir si un champ html est rempli ou non
    Par Romanops dans le forum WinDev
    Réponses: 3
    Dernier message: 13/12/2006, 18h39
  4. JS: Connaître le type d'un champ HTML via son nom
    Par NikoBe dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 02/11/2006, 12h24
  5. [PHP-JS] champ texte peut il devenir un champ html ?
    Par djedje37et28 dans le forum Langage
    Réponses: 5
    Dernier message: 28/08/2006, 10h16

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