AcroEdit 에선 아래 코드처럼 구현합니다...
function TAssEditor.DoSpacesToTab(const Str: string): string;
var
nIndex, nLen, nTmpLen, nNeedSpaceCount : integer;
TmpStr : string;
begin
Result := '';
nLen := Length(Str);
nIndex := 1;
while nIndex <= nLen do
begin
if Str[nIndex] = CHAR_SPACE then
begin
nNeedSpaceCount := FTabSize - (Length(ExpandStr(Result)) mod FTabSize);
TmpStr := GetStringWhile(Str, [CHAR_SPACE], nIndex);
nTmpLen := Length(TmpStr);
if nTmpLen = 0 then
Result := Result + Str[nIndex]
else if nTmpLen = nNeedSpaceCount then
Result := Result + CHAR_TAB
else if nTmpLen > nNeedSpaceCount then
begin
Result := Result + CHAR_TAB;
Delete(TmpStr, 1, nNeedSpaceCount);
Dec(nIndex, Length(TmpStr));
end
else
Result := Result + TmpStr;
end
else
begin
Result := Result + Str[nIndex];
Inc(nIndex);
end;
end;
end;
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
158 | [응답] RichEdit에서의 WordWrap기능... | 관리자 | 2000.10.11 | 6019 |
157 | [응답] 한자 키 처리하는 방법... | 관리자 | 2000.12.08 | 5995 |
156 | [질문] TMemo 깜박임. | 김영균 | 2000.06.15 | 5987 |
155 | [응답] 탭 컨트롤이여~ | 관리자 | 2001.01.09 | 5982 |
» | [응답] [질문] 공백문자를 탭 문자로 변환에 대해서.. | 관리자 | 2001.03.30 | 5966 |
153 | [응답] 프로그램안에서 Ocx 나 DLL 설치 | 관리자 | 2000.08.04 | 5964 |
152 | [질문]퀵리포트에서 Access Violation에러가 ... | 곽승주 | 1999.08.04 | 5960 |
151 | [답변] Udbg.dcu Not Found! | 운영자 | 1999.12.27 | 5957 |
150 | [답변] 델파이를 배우고 싶은데요.... | 운영자 | 1999.10.09 | 5952 |
149 | [답변] 일정관리 프로그램을 만들려고하는데.. | 운영자 | 1999.10.26 | 5950 |