cc4설치폴더->Handler->에 Main.zip , autoComplete.zip 를 압축을 풀어 넣으시면 됩니다.
=====================================================================================================
자동 완성 기능
다듬고 몇 가지 좀 더 추가했습니다.
*추가 방법 cc4설치폴더->Handler->AutoComplete.psc 을 메모장으로 열어 본문 코드를 넣으시던지
아니면 첨부 파일을 저 경로에 압축 풀어 넣으시면 됩니다.
<Font Face="굴림"> tag, <Font Color="blue"> tag,
"굴림" FACE, "blue" COLOR
이렇게 해서 더 넣을까 했지만 이렇게까지 쓸 분을 없을 거 같아서 넣었다 빼고,
저렇게 할 분이면 이미 스마트 태그나 컬러 태그 생성기를 쓰시겠지요.
=====================================================================================================
<BR> tag
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. 대사, 아래가 공백이면 <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;
// 대사, 아래 라인에 공백일 때 <br> 안 들어가게 하는 if문 If (CurrentLine = '') or (CurrentLine = ' ') Then Begin ClearTagFlag := True; Continue; End; If (NextLine = '') or (NextLine = ' ') 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 <> ' ') Then ClearTagFlag := False; If (NextLine <> '') or (NextLine <> ' ') 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.
|
=====================================================================================================