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
[727] [질문] [만해] AnsiString의 Pos메소드 오작동/프포
만해 [ ] 5368 읽음    1998-11-19 13:50
안녕하세요 만해랍니다

제가 계속 만들고 있는 WebRobot에 쓰기위해

코딩을 하던중

아주 황당한 일이
AnsiString변수를 이용

AnsiString a,b;
라고 정의하고

a = "my name is kjh";
b = a.Substring(a.Pos("kjh"),a.length()-a.Pos("kjh")-1);
위의 결과가 어찌 되는지 잘 아시지요

b에는 "kjh"이란 문자열이 복사 됩니다
그런데

제가 만든 소스에서

Pos()메소드가 갑자기 오작동을

분명히 눈으로 봐서는 제대로 작동을 해야 하는데

디버깅 모드로 차례 차례 따라가면
이게 작동이 안 됩니다.

대략 적인 소스는 다음과 같습니다.
for ( a = 1 ; a < Buffer.Length()+1 ; a++ )
                                  {
                                  if (Buffer[a-b] == '/')
                                    {
                                      if ( BaseUrl.Pos(TEMP_SUB) )
                                        {
                                          TEMP_SUB += Buffer[a-b];
                                          TEMP_SUB = TEMP_SUB.TrimLeft();
                                          if ( BaseUrl.Pos(TEMP_SUB) )
                                            Buffer.Delete(Buffer.Pos(TEMP_SUB),TEMP_SUB.Length());
                                          else
                                              {
                                                TEMP_SUB[TEMP_SUB.Length()] = NULL;
                                                TEMP_SUB = AnsiString('/') + TEMP_SUB;
                                                TEMP_SUB = TEMP_SUB.TrimLeft();
                                                if ( BaseUrl.Pos(TEMP_SUB) )
                                                  Buffer.Delete(Buffer.Pos(TEMP_SUB),TEMP_SUB.Length());
                                              }

                                        }
                                      b += TEMP_SUB.Length();
                                      TEMP_SUB = "";
                                    }앗 이런일이 ~

위에서 보면 if( baseUrl.Pos(TEMP_SUB) ) 이 구문이 있지요

이 if 문이 잘 작동 되다가 작동이 안됩니다.

그때 TEMP_SUM는  "Univ/"이고요
BaseUrl = "htttp://www.kyungnam.ac.kr/Korpage/Univ/"인 상태 입니다.

어㎖서 이런 일이 생기는지 고수님들의 조언 부탁 드립니다.

그럼 전 이만~


+ -

관련 글 리스트
727 [질문] [만해] AnsiString의 Pos메소드 오작동/프포 만해 5368 1998/11/19
728     [답변] 만해/ [만해] AnsiString의 Pos메소드 오작동/프포 박지훈.임프 5239 1998/11/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.