안녕하세요 만해랍니다
제가 계속 만들고 있는 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/"인 상태 입니다.
어㎖서 이런 일이 생기는지 고수님들의 조언 부탁 드립니다.
그럼 전 이만~
|