From c14f19b839654257f397c93fe3c44e7fc5821abd Mon Sep 17 00:00:00 2001 From: h677 Date: Wed, 19 Nov 2003 18:29:45 +0000 Subject: [PATCH] =?utf8?q?NG=E3=83=AF=E3=83=BC=E3=83=89=E3=81=A7=E3=81=AE?= =?utf8?q?=E9=80=8F=E6=98=8E=E3=81=82=E3=81=BC=E3=80=9C=E3=82=93=E3=81=AE?= =?utf8?q?=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- AbonUnit.pas | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 64 insertions(+), 2 deletions(-) diff --git a/AbonUnit.pas b/AbonUnit.pas index aedbf52..6ddd5f0 100644 --- a/AbonUnit.pas +++ b/AbonUnit.pas @@ -63,6 +63,7 @@ type function CheckAbonPopupRes(line : String) :Boolean; function FindNGwords(line : String) : Boolean; overload;//1ƒ‰ƒCƒ“‚¸‚—pB function FindNGwords(line : String; var NGwordsLineNum : Integer) : Boolean; overload;//1ƒ‰ƒCƒ“‚¸‚—pB + function FindNGwords(line : String; var NGwordsLineNum : Integer; var Invisible : Boolean) : Boolean; overload;//1ƒ‰ƒCƒ“‚¸‚—pB function Cutoff(line : String) : Boolean; //CutOff’lˆÈãŒÂ‚Ì“¯‚¶‰p”‚ª•À‚ñ‚Å‚¢‚½‚çtrue //‚ ‚ځ`‚ñˆ—(NGƒ[ƒh‚ł̃tƒBƒ‹ƒ^ƒŠƒ“ƒO) procedure Execute(var ThreadStrings : TStringList); overload; @@ -247,6 +248,8 @@ begin Delete(argline,1,pos); if Length(buftoken) > 0 then begin bufstl.Append(buftoken); + end else if ( bufstl.Count = 0 ) then begin + bufstl.Append(''); end; pos := AnsiPos(#9,argline); end; @@ -340,6 +343,46 @@ begin end; Result := hit; end; +//NGƒ[ƒh‚ªŠÜ‚Ü‚ê‚Ä‚¢‚½‚çtrue‚ð•Ô‚µA‚»‚ÌNGƒ[ƒh‚̍s”‚ðNGwordsLineNum‚É“ü‚ê‚Ä•Ô‚·B +//‚à‚µ‚à“§–¾‚ ‚ځ`‚ñ‚É‚·‚é‚È‚çInbisible‚ðtrue‚É‚µ‚Ä•Ô‚· +function TAbon.FindNGwords(line : String; var NGwordsLineNum : Integer; var Invisible : Boolean) : Boolean; //1ƒ‰ƒCƒ“‚¸‚—pB +var + lines : Integer; + cells : Integer; + hit : Boolean; + bufline : String; + start : Integer; +begin + hit := false; + if AnsiPos(FAbonString,line) <> 1 then begin + for lines := 0 to High(Ftokens) do begin + hit := true; + bufline := line; + if Ftokens[lines][0] <> '' then begin + Invisible := false; + start := 0; + end else begin + Invisible := true; + start := 1; + end; + + for cells := start to High(Ftokens[lines]) do begin + if AnsiPos(Ftokens[lines][cells],bufline) = 0 then begin + hit := false; + break; + end else begin + Delete(bufline,AnsiPos(Ftokens[lines][cells],bufline),Length(Ftokens[lines][cells])); + end; + end; + if hit = true then begin + NGwordsLineNum := lines + 1; + break; + end; + end; + end; + Result := hit; +end; + //CutOff’lˆÈãŒÂ‚Ì“¯‚¶‰p”‚ª•À‚ñ‚Å‚¢‚½‚çtrue function TAbon.Cutoff(line : String) : Boolean; var @@ -367,8 +410,10 @@ var i : Integer; NGwordsLine : Integer; bufline : String; + invisi : Boolean; begin //FRetStrings.Clear; +{ if not ReturnNGwordLineNum then begin //if ReturnNGwordLineNum then begin for i:=0 to ThreadStrings.Count - 1 do begin @@ -391,13 +436,30 @@ begin end; end; end else begin +} for i:=0 to ThreadStrings.Count - 1 do begin NGwordsLine := 0; - if FindNGwords(ThreadStrings.Strings[i], NGwordsLine) <> Reverse then begin + if FindNGwords(ThreadStrings.Strings[i], NGwordsLine ,invisi) <> Reverse then begin + if invisi = true then begin + ThreadStrings.Strings[i] := ''; + end else begin + if not ReturnNGwordLineNum and not SetNGResAnchor then begin + ThreadStrings.Strings[i] := FAbonString; + end else if not ReturnNGwordLineNum then begin + ThreadStrings.Strings[i] := Format(' <> <> <>>%d<><>',[(i+1)]); + end else if not SetNGResAnchor then begin + ThreadStrings.Strings[i] := Format(' <> <> <> %d s–Ú‚ÌNGƒ[ƒh‚ªŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B<><>',[NGwordsLine]); + end else begin + ThreadStrings.Strings[i] := Format(' <> <> <> %d s–Ú‚ÌNGƒ[ƒh‚ªŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B>%d <><>',[NGwordsLine,(i+1)]); + end; + end; + + { if not SetNGResAnchor then ThreadStrings.Strings[i] := Format(' <> <> <> %d s–Ú‚ÌNGƒ[ƒh‚ªŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B<><>',[NGwordsLine]) else ThreadStrings.Strings[i] := Format(' <> <> <> %d s–Ú‚ÌNGƒ[ƒh‚ªŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B>%d <><>',[NGwordsLine,(i+1)]); + } end else begin bufline := ThreadStrings.Strings[i]; if Deleterlo = true then begin @@ -412,7 +474,7 @@ begin end; end; - end; +// end; end; procedure TAbon.Execute(var ThreadStrings : TStringList; NGwords : TStringList); -- 2.11.0