Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
869 connectés 

  FORUM HardWare.fr
  Programmation

  [DELPHI] Créer un composant

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[DELPHI] Créer un composant

n°72301
rufo
Pas me confondre avec Lycos!
Posté le 14-11-2001 à 21:31:38  profilanswer
 

voilà, je voudrais créer un composant non visuel capable d'analyser du code HTML dont la source est un TRichEdit. En sortie, je veux avoir 4 TStrings :
- un qui contient les balises html trouvées
- un qui contient les positions des balises dans le TRichEdit (exprimé en nb de caractères)
- un qui contient les paramètres des balises
- enfin, un qui contient les attributs des paramètres.
 
voilà le code déjà tapé pour créer mon composant et ses attributs. Le composant s'installe bien, mais quand je veux manipuler les propriétés du composant, je me prends pleins demessages d'erreurs :(... Alors si l'un d'entre-vous pouvait me dire où j'ai merdé. Merci :)
 
unit ParserHTML;
 
interface
 
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Comctrls;
 
type
  TParserHTML = class(TComponent)
  private
    { Déclarations privées }
    FBalises: TStrings ;
    FPositions: TStrings ;
    FParametres: TStrings ;
    FAttributs: TStrings ;
    FSource: TRichEdit ;
    function GetBalises: TStrings ;
    function GetPositions: TStrings ;
    function GetParametres: TStrings ;
    function GetAttributs: TStrings ;
    function GetSource: TRichEdit ;
    procedure SetBalises (Value: TStrings) ;
    procedure SetPositions (Value: TStrings) ;
    procedure SetParametres (Value: TStrings) ;
    procedure SetAttributs (Value: TStrings) ;
 
  public
    { Déclarations publiques }
    constructor Create(AOwner: TComponent) ; override ;
    destructor Destroy ; override ;
    procedure Analyse ;
  published
    { Déclarations publiées }
    property Balises: TStrings
             read GetBalises write SetBalises ;
    property Positions: TStrings
             read GetPositions write SetPositions ;
    property Parametres: TStrings
             read GetParametres write SetParametres ;
    property Attributs: TStrings
             read GetAttributs write SetAttributs ;
    property Source: TRichEdit
             read GetSource ;
  end;
 
procedure Register;
 
implementation
 
procedure Register;
begin
  RegisterComponents('Parser HTML', [TParserHTML]);
end;
 
constructor TParserHTML.Create(AOwner: TComponent) ;
begin
     // Constructeur du composant
     inherited Create(AOwner) ;
     FBalises := TStrings.Create ;
     FPositions := TStrings.Create ;
     FParametres := TStrings.Create ;
     FAttributs := TStrings.Create ;
     FSource := TRichEdit.Create(AOwner) ;
end ;
 
destructor TParserHTML.Destroy ;
begin
     // Destructeur du composant
     FBalises.Free ;
     FPositions.Free ;
     FParametres.Free ;
     FAttributs.Free ;
     FSource.Free ;
     inherited Destroy ;
end ;
 
function TParserHTML.GetBalises: TStrings ;
begin
     // Renvoie la liste des balises trouvées
     Result := FBalises ;
end ;
 
function TParserHTML.GetPositions: TStrings ;
begin
     // Renvoie la liste des positions (en caractères) des balises trouvées
     Result := FPositions ;
end ;
 
function TParserHTML.GetParametres: TStrings ;
begin
     // Renvoie la liste des paramètres des balises trouvées
     Result := FParametres ;
end ;
 
function TParserHTML.GetAttributs: TStrings ;
begin
     // Renvoie la liste des attributs des paramètres des balises trouvées
     Result := FAttributs ;
end ;
 
function TParserHTML.GetSource: TRichEdit ;
begin
     // Renvoie la source
     Result := FSource ;
end ;
 
procedure TParserHTML.SetBalises(Value: TStrings) ;
begin
     FBalises.Assign(Value) ;
end ;
 
procedure TParserHTML.SetPositions(Value: TStrings) ;
begin
     FPositions.Assign(Value) ;
end ;
 
procedure TParserHTML.SetParametres(Value: TStrings) ;
begin
     FParametres.Assign(Value) ;
end ;
 
procedure TParserHTML.SetAttributs(Value: TStrings) ;
begin
     FAttributs.Assign(Value) ;
end ;
 
procedure TParserHTML.Analyse() ;
begin
     // Lance la procédure d'analyse
     Showmessage('Analyse lancée à partir de ' + FSource.Name) ;
end ;
 
end.

mood
Publicité
Posté le 14-11-2001 à 21:31:38  profilanswer
 

n°72308
JWhy
je peux plier (héhé)
Posté le 14-11-2001 à 21:51:10  profilanswer
 

pas sur que ca soit ca mais dans ton create, cree des TStringList au lieu de creer des TStrings;
 
le TSTrings a plein de methodes virtuelle pures (virtual; abstract; dans delphi) et il ne faut pas le creer directement (cf. l'aide sur TStrings dans Delphi)
 
apres, je sais pas.. au lieu de le poser sur ta form, essaye de le creer dans le code pour tester avant. ca sera nettement plus facile pour debugger


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°72311
rufo
Pas me confondre avec Lycos!
Posté le 14-11-2001 à 21:57:47  profilanswer
 

JWhy a écrit a écrit :

pas sur que ca soit ca mais dans ton create, cree des TStringList au lieu de creer des TStrings;
 
le TSTrings a plein de methodes virtuelle pures (virtual; abstract; dans delphi) et il ne faut pas le creer directement (cf. l'aide sur TStrings dans Delphi)
 
apres, je sais pas.. au lieu de le poser sur ta form, essaye de le creer dans le code pour tester avant. ca sera nettement plus facile pour debugger  




 
effectivement, dans un exemple du bouquin, ils font un TSTringList :)
 
merci du conseil

n°73001
rufo
Pas me confondre avec Lycos!
Posté le 17-11-2001 à 09:20:52  profilanswer
 

up pour mon pb de RichEdit...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [DELPHI] Créer un composant

 

Sujets relatifs
Bon, ben finalement, je v me mettre au delphi 6[C++] Creer des raccouris dans le menu demarrer
[Delphi 6] TToolbar.CustomizablePossibilité de créer un power point exécutable?
VB et le composant 'MICROSOFT Calendar Control 8.0' = plantage???[Delphi] serveur dns
[DELPHI] Url cliquableErreur à l'utilisation d'un composant en ASP
[DELPHI] petit soft pour gérer vos vidéos[VB] ou Delphi : Comment faire bouger la souris et émuler un clic
Plus de sujets relatifs à : [DELPHI] Créer un composant


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR