C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[13278] [만해] 델파이 소스 -> 빌더로~ 좀 봐주세요
만해 [greenuri] 785 읽음    2001-11-30 20:53
안녕하세요 만해 입니다.

요즘 델 소스 가져 와서 빌더에서 사용하는 거 하고 있는데요

이게 잘 안되네요


var
    s:string;
    j,i:integer;
    obj:TObject;
    HTMLTag:THTMLTag;
    HTMLParam:THTMLParam;
begin
  Memo1.Clear;
  HTMLParser:=THTMLParser.Create;
  HTMLParser.Execute;

  for i:= 1 to HTMLParser.parsed.count do
  begin
   obj:=HTMLParser.parsed[i-1]; 
// <- 여기 바로 위부분을
//if ( TObject* obj = dynamic_cast<TList*>(TList*)HTMLParser->Parsed[i-1]; //new TList;
// 이렇게 했는데 에러가 나고요
// obj = (TList*)HTMLParser->Parsed[i-1]; <- 이렇게도 해봤는데 안되네요


   if obj.classtype=THTMLTag then
    begin
     HTMLTag:=THTMLTag(obj); // <- 그리고 이부분은 어떻게 해야 하는지 잘 모르겠어요

     s:='TAG: <'+HTMLTag.Name;
     if HTMLTag.Params.count=0 then memo1.Lines.add(s+'>')
     else
     begin
      memo1.Lines.add(s);
      for j:= 1 to HTMLTag.Params.count do
       begin
        HTMLParam:=HTMLTag.Params[j-1];
        s:='  P:   '+HTMLParam.key;
        if HTMLParam.value<>'' then s:=s+'=>'+HTMLParam.value;
        if j=HTMLTag.Params.count then s:=s+'>';
        memo1.Lines.add(s);
       end;
     end;
    end;

   if obj.classtype=THTMLText then memo1.Lines.add('TXT: '+THTMLText(obj).Line);
  end;

  Button2.Enabled:=true;
end;

그리고 제가 사용한 객체의 형태 입니다.

type THTMLParam = class
     private
      fRaw:string;
      fKey:string;
      fValue:string;
      procedure SetKey(Key:string);
     public
      constructor Create;
      destructor Destroy; override;
     published
      property Key:string read fKey write SetKey;
      property Value:string read fValue;
      property Raw:string read fRaw;
     end;

type THTMLTag = class
     private
      fName:string;
      fRaw:string;
      procedure SetName(Name:string);
     public
      Params:TList;
      constructor Create;
      destructor Destroy; override;
     published
      property Name:string read fName write SetName;
      property Raw:string read fRaw;
     end;

type THTMLText = class
     private
      fLine:String;
      fRawLine:string;
      procedure SetLine(Line:string);
     public
      constructor Create;
      destructor Destroy; override;
     published
      property Line:string read fLine write SetLine;  
      property Raw:string read fRawLine;
end;

type THTMLParser = class(TObject)
     private
       Text:string;
       Tag:string;
       isTag:boolean;
       procedure AddText;
       procedure AddTag;
     public
       Parsed:TList;
       Lines:TStringlist;
       constructor Create;
       destructor Destroy; override;
       procedure Execute;
     published
end;

원래는 MS HTML 객체를 이용해서 할려고 했는데

COM을 몰라서 그냥 이걸로 하고 있어요 고수님들의 도움 바랍니다.

+ -

관련 글 리스트
13278 [만해] 델파이 소스 -> 빌더로~ 좀 봐주세요 만해 785 2001/11/30
13279     Re:[만해] 델파이 소스 -> 빌더로~ 좀 봐주세요 박정모 794 2001/11/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.