다시 'ㅎ메모' 문자찾아 바꾸기 기능을 사용할 일이 있어 조금 손봤습니다. 도움말의 'ㅎ메모' '문자찾아' 함수가 느린 원인은,
위치:= 메모0.문자찾아(문, 위치, 문자길이(메모0.내용.전체문자), 거짓, 거짓);
찾을때마다 전체 문자의 수를 다시 세느라 느려졌던 것이더군요..
이것을, 아래처럼 바꾸니 빨라지더군요^^
/////////////////////////////////////////////
문자: 문,문1; 실수: 위치,찾을길이; 문:= 에디트0.문자; 문1:= 에디트1.문자; 위치:= 0; 찾을길이:= 문자길이( 메모0.내용.전체문자); 되풀이( 위치 > ( -1)) { 위치:= 메모0.문자찾아(문, 위치, 찾을길이, 거짓, 거짓); 만일( 위치 > ( -1)) { 메모0.선택문자위치:= 위치; 메모0.선택문자길이:= 문자길이( 문); 메모0. 선택문자:= ( 문1); // 원래 문자열보다 남은 문자열이 짧은 경우 생략해도 무방. 찾을길이:= 찾을길이 + ( 문자길이( 문1) - 문자길이( 문)); 위치:= 위치 + 문자길이( 문1); }; }; //////////////////////////////////////////////
만일( 위치 > ( -1)) << 이것을 한번 쓴 이유는.. 반복문 중복시.. '그쳐;' 오류 를 피하기 위함 입니다.^^
'문자찾아' 함수 사용하시는 분들은 첨부한 예제 참조하시기 바랍니다.^^
|