OSDN Git Service

・NGワードをファイルからだけではなく直接メモリから読み込めるよう、LoadFromStringList を追加。
authoryoffy <yoffy>
Wed, 13 Aug 2003 19:37:48 +0000 (19:37 +0000)
committeryoffy <yoffy>
Wed, 13 Aug 2003 19:37:48 +0000 (19:37 +0000)
AbonUnit.pas

index de9018a..62eeac3 100644 (file)
@@ -39,6 +39,7 @@ type
     function GetCutoffNum() : Integer;
     function LoadFromNGwordFile(path :String) : Boolean;
     function ReLoadFromNGwordFile() : Boolean;
+    procedure LoadFromStringList( bufstl : TStringList );
     function CheckAbonPopupRes(line : String) :Boolean;
     function FindNGwords(line : String) : Boolean; //1\83\89\83C\83\93\82¸\82Â\97p\81B
     function Cutoff(line : String) : Boolean; //CutOff\92l\88È\8fã\8cÂ\82Ì\93¯\82\89p\90\94\82ª\95À\82ñ\82Å\82¢\82½\82çtrue
@@ -118,6 +119,25 @@ begin
     bufstl := TStringList.Create;
     try
         bufstl.LoadFromFile(path);
+        LoadFromStringList( bufstl );
+
+    except
+        if CreateNGwordFile = true then begin
+            bufstl.SaveToFile(path);
+        end;
+        bufstl.Free;
+        Result := false;
+        Exit;
+    end;
+    bufstl.Free;
+    Result := true;
+end;
+//NGword\83\8a\83X\83g\93Ç\82Ý\8d\9e\82Ý
+procedure TAbon.LoadFromStringList( bufstl : TStringList );
+var
+    i : integer;
+begin
+    try
         for i := bufstl.Count -1  downto 0 do begin
             if bufstl.Strings[i] = '' then begin
                 bufstl.Delete(i);
@@ -129,15 +149,8 @@ begin
         end;
 
     except
-        if CreateNGwordFile = true then begin
-            bufstl.SaveToFile(path);
-        end;
-        bufstl.Free;
-        Result := false;
         Exit;
     end;
-    bufstl.Free;
-    Result := true;
 end;
 //NGwordpath\82ª\8aù\82É\90Ý\92è\82³\82ê\82Ä\82¢\82é\82Æ\82«\82Ì\83\8a\83\8d\81[\83h\97p\8aÖ\90\94
 function TAbon.ReLoadFromNGwordFile() : boolean;
@@ -252,9 +265,9 @@ var
 begin
     FRetStrings.Clear;
 
-    if Reverse = false then begin
+    //if Reverse = false then begin
         for i:=0 to DestStrings.Count - 1 do begin
-            if FindNGwords(DestStrings.Strings[i]) = true  then begin
+            if FindNGwords(DestStrings.Strings[i]) <> Reverse  then begin
                 FRetStrings.Append(FAbonString);
             end else if FCutoffNum > 0  then begin
                 bufline := DestStrings.Strings[i];
@@ -287,7 +300,7 @@ begin
                 FRetStrings.Append(bufline);
             end;
         end;
-    end else begin
+    {end else begin
         for i:=0 to DestStrings.Count - 1 do begin
             if FindNGwords(DestStrings.Strings[i]) = false then begin
                 bufline := DestStrings.Strings[i];
@@ -325,7 +338,7 @@ begin
             end;
         end;
 
-    end;
+    end;}
     Result := FRetStrings;
 
 end;