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
[7325] 소스 분석좀 해주세요...그다지 어려운건 아닌데 자꾸 에러가 나서...
강지연 [] 1922 읽음    2001-05-10 12:08
아래 소스는 Visual C++에서 작성한 소스인데 이것을 C-builder로 다시 작성을 하고 있거든요.
그런데 자꾸 에러가 많이 뜨네요.
아그리고 먼저 소스의 간략한 내용을 말씀을 드리면...
텍스트를 추출하는 소스입니다.
Html 코드에서 Title 부분의 글을 추출을 해서 저장을 하고
그리고 Html 코드에서 body부분만을 일단 먼저 추출을 합니다. 다음으로 주
태그를 제외한 모든 태그를 삭제를 합니다. 그러면 body 부분의 문자만 출력이 되게 하는 소스 입니다.

그럼 제가 잘 안되는 부분들을 적어 둘테니 답좀 달아주세요. 
참고로 CString 은 AnsiString으로 Mid는 SubString으로 등등을 바꿨구요
그리고 사용법을 잘 모르는건 ===>>> 해 두고서 적어 둘께요...(물어볼것은 다 앞부분에 있습니다.)
부디 ...


CString Parse::StripTags(CString csHtml)
{
    CString temp("");

    CString csTitle("");  ===>>>CString은 옆에와 같이 초기화를 해 주면 되는데 AnsiString은
                                     초기화를 어떻게 해주어야 하는지요.

         temp = csHtml;        ===>>>정말 이해가 안가지만 cb에서 해 보면 자꾸만 에러가 뜹니다.
                                     c-builder 에서도 이와 같이 했거든요.
                                     그런데 자꾸 이런 에러( 'operator'not implemented in
                                     type 'AnsiStrin' for arguments of the smae type)가 뜨네요.

    temp.MakeLower();     ===>>>문자열중에 대문자인 문자를 모두 소문자로 전환하는것.
                                     이거는 어떻게 바꾸는지 모르겠습니다.
                                     LowerCase를 어떻게 쓰는지 모르겠거든요. 

         csHtml.TrimLeft();    ===>>>그리고 이부분은 그냥 잘 안되는거 같아서 적어 둡니다.
                                     코드의 앞부분에 공백이 있으면 왼쪽으로 시프트 시켜서 공백을
                                     없애 주는건데 메세지박스에다 확인을 해보니
                                     에러는 안나고 넘어가는데 확인을 해보면 적용이 안되더라고요.

   
    int StartPoint=0, EndPoint=0, len = temp.GetLength(),i;

    StartPoint = temp.Find(""");

    if((StartPoint >= 0) && ( EndPoint >0 ))
    {
        if((csHtml.Mid(StartPoint, EndPoint-StartPoint-7)!="")&&(temp.Find("untitled")<0))
            csTitle = "Title : "+csHtml.Mid(StartPoint+7, EndPoint-StartPoint-7)+"\r\n\r\n";
    }

// body 추출
    StartPoint =0;
    EndPoint =0;
    StartPoint = temp.Find(""");
    if((StartPoint>=0) && (EndPoint>=0))
    {
        temp = csHtml.Mid( StartPoint, EndPoint-StartPoint+7);
    }
    csHtml = temp;
    temp.MakeLower();   

// br  변경
    StartPoint =0;
    EndPoint =0;
    while( temp.Find("
") >= 0 )
    {
        StartPoint=temp.Find("
");
        temp.Delete( StartPoint,4);
        csHtml.Delete( StartPoint,4);
        temp.Insert(StartPoint, "\r\n");
        csHtml.Insert(StartPoint, "\r\n");
    }

// 태그 제거   
    StartPoint =-1;
    EndPoint =0;
    len = temp.GetLength();
    for(i=0; i<len; i++)
    {
        if(temp.GetAt(i)=='<')
            StartPoint=i;
       
        if( (StartPoint>=0) && (temp.GetAt(i)=='>') )
        {
            temp.Delete( StartPoint, i-StartPoint+1);
            csHtml.Delete( StartPoint, i-StartPoint+1);
            len -= (i-StartPoint+1);
            i=StartPoint;
        }
    }

    csHtml.TrimLeft();
    csHtml = csTitle + csHtml;


    csHtml=SpecialCharacter(csHtml);
    return csHtml;
}

+ -

관련 글 리스트
7325 소스 분석좀 해주세요...그다지 어려운건 아닌데 자꾸 에러가 나서... 강지연 1922 2001/05/10
7328     Re:소스 분석좀 해주세요...그다지 어려운건 아닌데 자꾸 에러가 나서... 김성호 2172 2001/05/10
7330         Re:Re:소스 분석좀 해주세요...(또 다른것도 있거든요) 강지연 2149 2001/05/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.