Q&A

  • VB의 InStr() 과 같은 메소드가 있나요?
검색폼을 만들다 보니 pos라는 함수는 찾는문자열과,대상 문자열만
인수로 받더군요.. 검색 시작위치지정은 안되던데 위치지정까지 되는
다른 메소드가 있는 것인지.. 아니면 pos와 cpoy같은 그런 메소드를 혼합
해서 스트링을 잘라가며 찾아야 하는것인지 궁금합니다..
비베의 InStr (  ex> InStr(시작위치,대상문자열,찾는문자열)    ) 과 같은
메소드가 있나요?

ps. 제가 하려는 것은 다음찾기까지 하려고 하거든요 ^^;;
3  COMMENTS
  • Profile
    최용일 2003.09.17 00:35
    안녕하세요. 최용일입니다.

    델파이의 포인터를 써보세요... 막강하답니다.

    function InStr(Index: Integer; const Source, Substr: string): Integer;
    begin
        Result := Pos(SubStr, PChar(LongWord(@Source[1]) + Index));
    end;


    InStr(2, 'abcdefg', 'fg') ==> 4


    ^^ 항상 즐코하세요...

  • Profile
    조영근 2003.09.17 01:04
    function InStr(Index: Integer; const Source, Substr: string): Integer;

    아구.. 저는 이게 먼소린가 했더니 메소드를 아예 만들어 주셨네요 ㅠ.ㅠ
    이렇게 메소드를 직접 만드신걸 보믄 제가 여쭤봤던 메소드는 없다는
    말씀이신거 같네요... 위에 함수가 어떻게 동작하는건지는 포인터를
    공부해야 알 듯 하네요... 인자를 받아서 포인터가 어떻게 동작해서 문자열을
    검색하는지 알려면 아무래도 좀 걸릴듯 ^^;;

    도움을 주신님께 감사드리며 즐프하세요...

  • Profile
    최용일 2003.09.17 01:39
    안녕하세요. 최용일입니다.

    델파이 7(6도 아마)에는 관련된 함수가 StrUtils유닛에 있습니다.

    PosEx라는 이름으로...

    function PosEx(const SubStr, S: string; Offset: Cardinal = 1): Integer;

    SearchBuf라는 좀 더 강력한 함수도 있구요...

    ^^ 항상 즐코하세요...