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
[17035] Re:제발......갈켜 주세요....ㅠㅠ
^^ [] 843 읽음    2002-03-29 16:57
간단한 문제를 너무 어렵게 생각하고 계신 것은 아닌지 모르겠습니다.

제 생각에는 변수하나를 두어 처리하면 될 것 같습니다. 변수 하나를 두고 !를 만나면 true로 만들고, *를 만나면 false를 만들고, 그 사이는 모두 skp하는 형태이면 되지 않을까요. 아래는 제가 가상으로 만들어 보았습니다. 전체 로직이 없어 대충 만들었습니다.


String S = "";
// TStringList 배열에 버퍼를 비움
SectionList->Clear();
// Vector 배열의 버퍼를 비움
paragraphList.clear();
// Memo로 부터 읽어온 Text에 앞뒤 공백을 지움
Text = Text.Trim();
bool     ignoreBlock = false;
for ( int i = 0; i < Text.Length (); i++ )
{
    char c = Text[i+1];
    if(c== '\t' || c== '\r') continue;
    if(c == '\n')
    {
        int n = SectionList->Count - 1;
        paragraphList.push_back(n);
        continue;
    }
   
    if( c == '!' && ignoreBlock == false )
    {
        ignoreBlock = true;
         continue;
    }
    if( ignoreBlock && c == '*' )
    {
        iqureBlock = false;
         continue;
    }
    if ( ignoreBlock )
        continue;
   
   
    S += String(c);
    // .(마침표)를 기준으로 TStringLis 배열에 삽입
    if(c == '.')
    {
        S = S.Trim();
        SectionList->Add(S);
        S = "";
    }
}


쥬니짱 님이 쓰신 글 :
:            String S = "";
:        // TStringList 배열에 버퍼를 비움
:         SectionList->Clear();
:        // Vector 배열의 버퍼를 비움
:         paragraphList.clear();
:        // Memo로 부터 읽어온 Text에 앞뒤 공백을 지움
:         Text = Text.Trim();
:         for(int i=0; i<Text.Length(); i++)
:         {
:              char c = Text[i+1];
:                 if(c== '\t' || c== '\r') continue;
:                   if(c == '\n')
:                 {
:                         int n = SectionList->Count - 1;
:                         paragraphList.push_back(n);
:                         continue;
:                 }
:               
:              S += String(c);
:                   // .(마침표)를 기준으로 TStringLis 배열에 삽입
:                 if(c == '.')
:                 {
:                         S = S.Trim();
:                         SectionList->Add(S);
:                         S = "";
:                 }
:           }
:
:  위에 저런 로직이 있는데요...제가 기능을 추가 할려구 하는데....그게 참 어렵네요...
:  전에도 질문을 했는데...대답이 없으셔서....ㅜㅜ
:  지금은 .(마침표)를 기준으로 문장을 끈는데....문장중에 !(느낌표)로 시작해서 *(별표)로
:  끝나는 문장은 .(마침표)로  문장을 분리 안하도록 하고 싶거든요...
:  예를 들어...
:  abcdefg.
:  hijklmn.
:  opqrstu.
:  vwxyz.
:  이런 문장이 있음 지금은 .(마침표)를 기준으로 한 문장씩만(abcdefg.) 메모에 나오거든요...
:  그런데...
:  !abcdefg.
:  hijklmn.*
:  opqrstu.
:  vwxyz.
:  이렇게 되어있으면 위 두문장(! ~~ *)은 .(마침표)를 무시하고 같이 나오구요...
:  다음 두 문장은 (~~.) 이렇게 나오게 해야 하는데..넘 어렵네요....
:  고수님들 제발 어떻게 해야할지 갈켜 주세용.....감사합니다....

+ -

관련 글 리스트
17027 정말 감사합니다.... 님들에 도움으로 해결되었습니다.....^^ 쥬니짱 846 2002/03/29
17035     Re:제발......갈켜 주세요....ㅠㅠ ^^ 843 2002/03/29
17032     Re:제발......갈켜 주세요....ㅠㅠ 이채호 793 2002/03/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.