2013-01-05 4 views
0

전체 데이터에서 검색을 수행하는 대신 원본 문자열 내에서 경계를 지정하는 데 사용되도록 Pos()를 사용하고 싶습니다. Fe : NewPos (SubStr, SourceString, Offset, EndingOffset)경계가있는 Pos()

최신 Delphi XE3의 ASM FastCode 구현을 수정하여 PurePascal 구현보다 빠르며 (분명히 간단한 Pos 또는 PosEx). 또한 유니 코드 문자열에서도 작동해야합니다.

+1

이것은 꽤 특별한 요구 사항입니다. 적어도 파스칼 구현이 있습니까? 아마도 당신은 http://codereview.stackexchange.com/ –

+0

Purepascal에서 요청할 수있는 방법은 너무 느립니다. 이상적으로는 현재의 XE3 ASM 코드를 약간 변경하거나 이전의 FastCode 루틴을 선택하여 유니 코드에서 작동하게 한 다음 변경해야합니다. – hikari

+0

링크를 제공해 주셔서 감사합니다. 기존 코드를 게시 해 드리겠습니다. – hikari

답변

-1

StrUtils 단위는 PosEx입니다. 그게 당신이 찾고있는 것 같아요 ...

+0

PosEx는 시작 오프셋 만 취합니다. Pos가 작동해야하는 범위 내에서 오프셋 오프셋을 지정해야합니다. – hikari

+1

메이슨, XE3에서'Posex()'부분은 System.pas의'Pos()'함수에 통합되었습니다. –