원인은 한글이기 때문이져
예를 들면 "가나x다"는 7바이트구여
여기서 4바이트를 자르면 가나x?이러케 한글이 잘려서
이상하게 나옴니다..
간편한 해결방법은 widestring을 쓰는것입니다.
widestring은 한글을 1루 계산합니다.
다음처럼 해보세여..
var ss:widestring;
begin
ss := '가나x다라마바";
ShowMessage(copy(ss,1,4));
end;
결과는 "가나x다"가 나옴니다.
주소데이타라면 한글로 되어있을 가망성이 많겠네여??
한글데이타는 2바이트라 중간에 잘리게 되면 글자가 깨져나옵니다.
간격두 일정하지 않다구 했는데...
혹시 구분자가 있다면 그걸루 구분하시는게 어떨까 싶습니다.
예를 들어 번지수의 100-20 이라든가...
pos함수를 사용하시면 될겁니다..^^
a := '가나x다라';
이걸 한글이 깨지지 않고 8 byte 이내에서 자를려면..
if ByteType(s, 8) = mbLeadByte Then s := Copy(a, 1, 7)
else s := Copy(a, 1, 8);
이렇게 해 보세요..