142 lines
4.6 KiB
C++
142 lines
4.6 KiB
C++
// Borland C++ Builder
|
|
// Copyright (c) 1995, 2005 by Borland Software Corporation
|
|
// All rights reserved
|
|
|
|
// (DO NOT EDIT: machine generated header) 'Jvhtmlparser.pas' rev: 10.00
|
|
|
|
#ifndef JvhtmlparserHPP
|
|
#define JvhtmlparserHPP
|
|
|
|
#pragma delphiheader begin
|
|
#pragma option push
|
|
#pragma option -w- // All warnings off
|
|
#pragma option -Vx // Zero-length empty class member functions
|
|
#pragma pack(push,8)
|
|
#include <System.hpp> // Pascal unit
|
|
#include <Sysinit.hpp> // Pascal unit
|
|
#include <Sysutils.hpp> // Pascal unit
|
|
#include <Classes.hpp> // Pascal unit
|
|
#include <Jclstrings.hpp> // Pascal unit
|
|
#include <Jvtypes.hpp> // Pascal unit
|
|
#include <Jvcomponentbase.hpp> // Pascal unit
|
|
|
|
//-- user supplied -----------------------------------------------------------
|
|
|
|
namespace Jvhtmlparser
|
|
{
|
|
//-- type declarations -------------------------------------------------------
|
|
struct TTagInfo;
|
|
typedef TTagInfo *PTagInfo;
|
|
|
|
struct TTagInfo
|
|
{
|
|
|
|
public:
|
|
int BeginPos;
|
|
int EndPos;
|
|
int BeginContext;
|
|
int EndContext;
|
|
int Key;
|
|
} ;
|
|
|
|
class DELPHICLASS TJvParserInfo;
|
|
class PASCALIMPLEMENTATION TJvParserInfo : public System::TObject
|
|
{
|
|
typedef System::TObject inherited;
|
|
|
|
public:
|
|
AnsiString StartTag;
|
|
AnsiString EndTag;
|
|
int MustBe;
|
|
int TakeText;
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TObject.Create */ inline __fastcall TJvParserInfo(void) : System::TObject() { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* TObject.Destroy */ inline __fastcall virtual ~TJvParserInfo(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TTagInfoList;
|
|
class PASCALIMPLEMENTATION TTagInfoList : public Classes::TList
|
|
{
|
|
typedef Classes::TList inherited;
|
|
|
|
public:
|
|
void __fastcall AddValue(const TTagInfo &Value);
|
|
virtual void __fastcall Clear(void);
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TList.Destroy */ inline __fastcall virtual ~TTagInfoList(void) { }
|
|
#pragma option pop
|
|
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TObject.Create */ inline __fastcall TTagInfoList(void) : Classes::TList() { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
typedef void __fastcall (__closure *TJvKeyFoundEvent)(System::TObject* Sender, AnsiString Key, AnsiString Results, AnsiString OriginalLine);
|
|
|
|
typedef void __fastcall (__closure *TJvKeyFoundExEvent)(System::TObject* Sender, AnsiString Key, AnsiString Results, AnsiString OriginalLine, const TTagInfo &TagInfo, Classes::TStrings* Attributes);
|
|
|
|
class DELPHICLASS TJvHTMLParser;
|
|
class PASCALIMPLEMENTATION TJvHTMLParser : public Jvcomponentbase::TJvComponent
|
|
{
|
|
typedef Jvcomponentbase::TJvComponent inherited;
|
|
|
|
private:
|
|
Classes::TStringList* FParser;
|
|
Classes::TStringList* FKeys;
|
|
AnsiString FFileName;
|
|
TTagInfoList* FTagList;
|
|
AnsiString FContent;
|
|
TJvKeyFoundEvent FOnKeyFound;
|
|
TJvKeyFoundExEvent FOnKeyFoundEx;
|
|
Classes::TStrings* __fastcall GetParser(void);
|
|
void __fastcall SetParser(Classes::TStrings* Value);
|
|
void __fastcall SetFileName(AnsiString Value);
|
|
void __fastcall SetTagList(const TTagInfoList* Value);
|
|
int __fastcall GetConditionsCount(void);
|
|
|
|
protected:
|
|
virtual void __fastcall Loaded(void);
|
|
__property TTagInfoList* TagList = {read=FTagList, write=SetTagList};
|
|
|
|
public:
|
|
void __fastcall AnalyseString(const AnsiString Str);
|
|
void __fastcall AnalyseFile(void);
|
|
void __fastcall AddCondition(const AnsiString Keyword, const AnsiString StartTag = "<", const AnsiString EndTag = ">", int TextSelection = 0x0);
|
|
void __fastcall RemoveCondition(int Index);
|
|
__fastcall virtual TJvHTMLParser(Classes::TComponent* AOwner);
|
|
__fastcall virtual ~TJvHTMLParser(void);
|
|
__property int ConditionsCount = {read=GetConditionsCount, nodefault};
|
|
void __fastcall ClearConditions(void);
|
|
void __fastcall GetCondition(int Index, AnsiString &Keyword, AnsiString &StartTag, AnsiString &EndTag)/* overload */;
|
|
void __fastcall GetCondition(int Index, AnsiString &Keyword, AnsiString &StartTag, AnsiString &EndTag, int &TextSelection)/* overload */;
|
|
__property AnsiString Content = {read=FContent};
|
|
|
|
__published:
|
|
__property AnsiString FileName = {read=FFileName, write=SetFileName};
|
|
__property Classes::TStrings* Parser = {read=GetParser, write=SetParser};
|
|
__property TJvKeyFoundEvent OnKeyFound = {read=FOnKeyFound, write=FOnKeyFound};
|
|
__property TJvKeyFoundExEvent OnKeyFoundEx = {read=FOnKeyFoundEx, write=FOnKeyFoundEx};
|
|
};
|
|
|
|
|
|
//-- var, const, procedure ---------------------------------------------------
|
|
|
|
} /* namespace Jvhtmlparser */
|
|
using namespace Jvhtmlparser;
|
|
#pragma pack(pop)
|
|
#pragma option pop
|
|
|
|
#pragma delphiheader end.
|
|
//-- end unit ----------------------------------------------------------------
|
|
#endif // Jvhtmlparser
|