안녕하세요.
s: string;
이 있고 예를들어 s := 'abcdefg'인 경우에요, s[1]은 'a', s[2] 은 'b',...이런 식이 되잖아요. 그런데 이런 식으로 스트링에 접근을 하는 것은 속력이 많이 느린 것 같습니다. 스트링의 몇 번째 문자를 빠르게 알아내는 방법이 없을까요??? 메모리를 직접참조해서 어떻게 하면 될 것 같기도 한데.... 고수분들께서 도와주시면 정말 감사하겠습니다.
우선 이렇게 답변을 해 주시니 정말 감사합니다. ㅠㅠ
제 프로그램은 대략 이렇습니다.
TClass = class(TObject)
public
childrenList: TList;
value: string;
......
이런 식으로 클래스가 정의되어 있고 이 클래스의 parent, Child라는 인스턴스가 있고, Child는 parent의 childrenList에 들어가 있습니다.
제가 하려는 것은 Child가 Parent.ChildrenList의 첫번째 오브젝트이면 value[1]을 얻어내고, 두번째 오브젝트이면 value[2]를 얻어내고.... 하려고 합니다.
대충 Parent.value[Parent.ChildrenList.IndexOf(Child)+1]
이런식으로요... 근데 이런 작업을 굉장히 여러번 반복을 (이것은 프로그램의 기능상 어쩔 수가 없어요) 해야하는데, Parent.value[index+1] 요 함수만 들어가면 느려집니다. 임의의 값 '1' 같은걸 테스트용으로 넣어보면 느려지지 않는데 말이지요...
p.s 어셈블 루틴이라는 것은 처음 들어봤는데 어떻게 사용하는 건가요? 델파이 헬프에서 찾아봤는데 못 찼겠습니다
안녕하세요. s: string; 이 있고 예를들어 s := 'abcdefg'인 경우에요, s[1]은 'a', s[2] 은 'b',...이런 식이 되잖아요. 그런데 이런 식으로 스트링에 접근을 하는 것은 속력이 많이 느린 것 같습니다. 스트링의 몇 번째 문자를 빠르게 ...
민스맘
•
2005.08.18 00:36
pos 함수를 사용해보세요
델티즌
•
2005.08.18 00:26
배열 또는 스트링에서 님이 s[1] 이런식이 직관적입니다. 속도는 차이가 별로 업구요.
구체적으로 어떤 핸...
임형준
•
2005.08.18 04:20
우선 이렇게 답변을 해 주시니 정말 감사합니다. ㅠㅠ
제 프로그램은 대략 이렇습니다.
TClass = ...
pos 함수를 사용해보세요