cc4설치폴더->Handler->에 Main.zip , autoComplete.zip 를 압축을 풀어 넣으시면 됩니다.


 Main.zip

 AutoComplete.zip


=====================================================================================================

자동 완성 기능
다듬고 몇 가지 좀 더 추가했습니다.
*추가 방법 cc4설치폴더->Handler->AutoComplete.psc 을 메모장으로 열어 본문 코드를 넣으시던지
아니면 첨부 파일을 저 경로에 압축 풀어 넣으시면 됩니다.

<Font Face="굴림">    tag, <Font Color="blue">    tag,
"굴림"    FACE, "blue"    COLOR
이렇게 해서 더 넣을까 했지만 이렇게까지 쓸 분을 없을 거 같아서 넣었다 빼고,
저렇게 할 분이면 이미 스마트 태그나 컬러 태그 생성기를 쓰시겠지요.
=====================================================================================================


<BR>    tag

&nbsp;    entity


<Font Color="">    tag    13
<Font Face="">    tag    12
<Font Size="">    tag    12
<Font Color="" Face="" Size="">    tag    13
</Font>    tag
<FONT COLOR=""></FONT>    tag    13
<FONT FACE=""></FONT>    tag    12
<FONT SIZE=""></FONT>    tag    12

<Sync Start=>    tag    12
<P Class=>    tag    9
<SYNC START=><P CLASS=>    tag    12

<b>    tag
</b>    tag
<B></B>    tag    3
<i>    tag
</i>    tag
<I></I>    tag    3
<s>    tag
</s>    tag
<S></S>    tag    3
<u>    tag
</u>    tag
<U></U>    tag    3
<p>    tag
</p>    tag
<P></P>    tag    3

<ruby>    tag
<rt>    tag
</rt></ruby>    tag
</rt>    tag
</ruby>    tag
<RUBY><RT></RT></RUBY>    tag    6

<rp>    tag
</rp>    tag
<RP></RP>    tag    4
<rb>    tag
</rb>    tag
<RB></RB>    tag    4

<SAMI>    tag
</SAMI>    tag
<HEAD>    tag
</HEAD>    tag
<Title>    tag
</Title>    tag
<STYLE TYPE="text/css">    tag
</STYLE>    tag
<BODY>    tag
</BODY>    tag


=====================================================================================================

<br>핸들러 파일
지금까지 몇 가지 추가되었던 사항 모두 집어넣은 <br> 핸들러 파일입니다.
*추가 방법 cc4설치폴더->Handler->Main.psc 을 메모장으로 열어 본문 코드를 넣으시던지
아니면 첨부 파일을 저 경로에 압축 풀어 넣으시면 됩니다.

1. <!-- --> 범위 주석체크 해서 <br> 넣지 않기
2. 대사, &nbsp; 아래가 공백이면 <br> 넣지 않기
3. <br>을 몇 개 넣었는지 개수 세기
=====================================================================================================


unit MainHandler;

implementation

procedure SlideView_Handler(TagString: String);
begin
  showMessage(TagString);
end;

procedure AutoBRInsert;
var
  ClearTagFlag: Boolean;
  CommentTagFlag: Boolean; //주석 태그 체크
  PTAGTagFlag: Boolean; //클래스 태그 체크

  StartTagFlag: Boolean;
  LoopVar: Integer; //줄번호
  CurrentLine: WideString; //현재 줄
  NextLine: WideString; //다음 줄

  AddBRCount: Integer; //<br> 추가 개수
begin

  ClearTagFlag := False;
  StartTagFlag := False;
  For LoopVar := 0 To CC_CURRENTLINECOUNT-2 Do
  Begin

     CurrentLine := TrimW(CC_GETLINETEXT(LoopVar));
     NextLine := TrimW(CC_GETLINETEXT(LoopVar+1));

// 싱크 중간 긴 주석문에 <br> 안 들어가게 하는 체크문
     If (CommentTagFlag) and (Pos('-->', CurrentLine) > 0) Then CommentTagFlag := False;
     If (CommentTagFlag) and (Pos('-->', NextLine) > 0) Then CommentTagFlag := False;
// 싱크 중간 추가된 클래스 태그에 <br> 안 들어가게 하는 체크문
     If (PTAGTagFlag) and (Pos('CC>', CurrentLine) > 0) Then PTAGTagFlag := False;
     If (PTAGTagFlag) and (Pos('CC>', NextLine) > 0) Then PTAGTagFlag := False;
//
     If CC_ISSYNCLINE(LoopVar) Then
     Begin
        If Not StartTagFlag Then StartTagFlag := True;
        Continue;
     End;
     
     If Not StartTagFlag Then Continue;

     If CC_ISSYNCLINE(LoopVar+1) Then
        Continue;

// 대사, &nbsp; 아래 라인에 공백일 때 <br> 안 들어가게 하는 if문
     If (CurrentLine = '') or (CurrentLine = '&nbsp;') Then
     Begin
        ClearTagFlag := True;
        Continue;
     End;
     If (NextLine = '') or (NextLine = '&nbsp;') Then //추가
     Begin
        ClearTagFlag := True;
        Continue;
     End;

// 싱크 중간 긴 주석문에 <br> 안 들어가게 하는 체크문
     If (Pos('<!--', CurrentLine) > 0) Then CommentTagFlag := True;
     If (Pos('<!--', NextLine) > 0) Then CommentTagFlag := True;

     If (CommentTagFlag) and (Pos('-->', CurrentLine) > 0) Then CommentTagFlag := False;
     If (CommentTagFlag) and (Pos('-->', NextLine) > 0) Then CommentTagFlag := False;

     If (Pos('-->', CurrentLine) > 0) and (Pos('-->', CurrentLine) > Length(CurrentLine)-3) Then Continue;
     If (Pos('-->', NextLine) > 0) and (Pos('-->', NextLine) > Length(NextLine)-3) Then Continue;

// 싱크 중간 추가된 클래스 태그에 <br> 안 들어가게 하는 체크문
     If (Pos('<P', CurrentLine) > 0) Then PTAGTagFlag := True;
     If (Pos('<P', NextLine) > 0) Then PTAGTagFlag := True;

     If (PTAGTagFlag) and (Pos('CC>', CurrentLine) > 0) Then PTAGTagFlag := False;
     If (PTAGTagFlag) and (Pos('CC>', NextLine) > 0) Then PTAGTagFlag := False;

     If (Pos('CC>', CurrentLine) > 0) and (Pos('CC>', CurrentLine) > Length(CurrentLine)-3) Then Continue;
     If (Pos('CC>', NextLine) > 0) and (Pos('CC>', NextLine) > Length(NextLine)-3) Then Continue;
//

     If (CurrentLine <> '') or (CurrentLine <> '&nbsp;') Then ClearTagFlag := False;
     If (NextLine <> '') or (NextLine <> '&nbsp;') Then ClearTagFlag := False;

     If ClearTagFlag Then Continue;
     If CommentTagFlag Then Continue;
     If PTAGTagFlag Then Continue;

     If (Pos('</BODY', UpperCase(CurrentLine)) <> 0) Then Break;
     If (Pos('</BODY', UpperCase(NextLine)) <> 0) Then Break;

     If UpperCase( Copy(CurrentLine, Length(CurrentLine)-3, 4) ) <> '<BR>' Then
     Begin
        CC_MODIFYLINE(LoopVar, CurrentLine+'<BR>');
        AddBRCount := AddBRCount + 1;
     End;

  End;

//핸들러로 <br> 추가 개수가 1개 이상이면 메시지박스 출력,
//<br> 1개라도 추가한 게 없으면 메세지박스 안 뜨게 했습니다.
if AddBRCount > 0 then ShowMessage('총 '+IntToStr(AddBRCount) + ' 개의 <BR> 태그가 추가되었습니다.');

end;

procedure AutoSyncChangeForBugPMP;
var
  LoopVar: Integer;
  CurrentLine: WideString;    
begin
  For LoopVar := 0 To CC_CURRENTLINECOUNT-1 Do
  Begin
     CurrentLine := TrimW(CC_GETLINETEXT(LoopVar));

     If Pos('<SYNC', UpperCase(CurrentLine)) > 0 Then
     Begin        
        CurrentLine := CC_STRINGREPLACE(CurrentLine, '<SYNC', '<SYNC');
        CC_MODIFYLINE(LoopVar, CurrentLine);
     End;

  End;
end;

end.


=====================================================================================================



Posted by 투명인간취급
,