OSDN Git Service

証明書切れ問題用強制ログインモード作成
[gikonavigoeson/gikonavi.git] / Search.pas
index f1152aa..772f061 100644 (file)
@@ -40,7 +40,7 @@ type
                { Private \90é\8c¾ }
                FChkItem: TObject;
                FRegItem: TThreadItem;
-        FCancel: Boolean;
+                               FCancel: Boolean;
                procedure SetCategoryList;
                procedure SetBoardList(Item: TListItem);
                procedure CheckItem(Item: TObject);
@@ -69,7 +69,7 @@ constructor TSearchDialog.Create(AOwner: TComponent; ChkItem: TObject);
 begin
        inherited Create(AOwner);
        FChkItem := ChkItem;
-    FCancel := false;
+               FCancel := false;
 end;
 
 procedure TSearchDialog.FormCreate(Sender: TObject);
@@ -87,36 +87,44 @@ end;
 
 procedure TSearchDialog.SetCategoryList;
 var
-       i, j: integer;
+       i, j, k: integer;
        Item: TListItem;
+       bbs : TBBS;
 begin
        Item := CategoryListView.Items.Add;
        Item.Caption := '\81i\82·\82×\82Ä\81j';
        Item.Data := nil;
-       for i := 0 to BBS2ch.Count - 1 do begin
-               Item := CategoryListView.Items.Add;
-               Item.Caption := BBS2ch.Items[i].Title;
-               Item.Data := BBS2ch.Items[i];
-               for j := 0 to BBS2ch.Items[i].Count - 1 do
-                       BBS2ch.Items[i].Items[j].BoolData := False;
+       for k := 0 to Length( BBSs ) - 1 do begin
+               bbs := BBSs[ k ];
+               for i := 0 to bbs.Count - 1 do begin
+                       Item := CategoryListView.Items.Add;
+                       Item.Caption := bbs.Items[i].Title;
+                       Item.Data := bbs.Items[i];
+                       for j := 0 to bbs.Items[i].Count - 1 do
+                               bbs.Items[i].Items[j].BoolData := False;
+               end;
        end;
 end;
 
 procedure TSearchDialog.SetBoardList(Item: TListItem);
 var
-       i, j: Integer;
+       i, j, k: Integer;
        NewItem: TListItem;
        Category: TCategory;
+       bbs : TBBS;
 begin
        BoardListView.Clear;
        if Item.Data = nil then begin
-               for i := 0 to BBS2ch.Count - 1 do begin
-                       Category := BBS2ch.Items[i];
-                       for j := 0 to Category.Count - 1 do begin
-                               NewItem := BoardListView.Items.Add;
-                               NewItem.Caption := Category.Items[j].Title;
-                               NewItem.Checked := Category.Items[j].BoolData;
-                               NewItem.Data := Category.Items[j];
+               for k := 0 to Length( BBSs ) - 1 do begin
+                       bbs := BBSs[ k ];
+                       for i := 0 to bbs.Count - 1 do begin
+                               Category := bbs.Items[i];
+                               for j := 0 to Category.Count - 1 do begin
+                                       NewItem := BoardListView.Items.Add;
+                                       NewItem.Caption := Category.Items[j].Title;
+                                       NewItem.Checked := Category.Items[j].BoolData;
+                                       NewItem.Data := Category.Items[j];
+                               end;
                        end;
                end;
        end else if TObject(Item.Data) is TCategory then begin
@@ -215,7 +223,7 @@ end;
 
 procedure TSearchDialog.OkBottonClick(Sender: TObject);
 var
-       i, j, k: Integer;
+       i, j, k, l: Integer;
        Category: TCategory;
        Board: TBoard;
        ThreadItem: TThreadItem;
@@ -225,12 +233,13 @@ var
        Reg: TGrep;
        Filter: string;
        oldText: string;
+       bbs : TBBS;
 begin
        // grep \93à\82Å\83C\83x\83\93\83g\82ª\8fE\82¦\82Ä\82µ\82Ü\82¤\82Ì\82Å\81A\91\80\8dì\82Å\82«\82È\82¢\82æ\82¤\82É\82·\82é
        AllSelectButton.Enabled := False;
        AllReleaseButton.Enabled := False;
        OkBotton.Enabled := False;
-    CancelBotton.Enabled := true;
+               CancelBotton.Enabled := true;
        FCancel := false;
        CategoryListView.Enabled := False;
 
@@ -296,31 +305,35 @@ begin
 
                        // \83T\83C\83g\82Ì\92\86\82Ì (\91±\82­)
                        try
-                               for i := 0 to BBS2ch.Count - 1 do begin
-                                       // \83J\83e\83S\83\8a\82Ì\92\86\82Ì (\91±\82­)
-                                       Category := BBS2ch.Items[i];
-                                       for j := 0 to Category.Count - 1 do begin
-                                               // \94Â\82Ì\92\86\82Ì (\91±\82­)
-                                               Board := Category.Items[j];
-                                               if not Board.IsThreadDatRead then
-                                                       GikoSys.ReadSubjectFile(Board);
-                                               if Board.BoolData then begin
-                                                       for k := 0 to Board.Count - 1 do begin
-                                                               // \8cÂ\81X\82Ì\83X\83\8c\83b\83h\82Ì (\91±\82­)
-                                                               ThreadItem := Board.Items[k];
-                                                               if FileExists( ThreadItem.GetThreadFileName ) then begin
-                                                               // \83\8d\83O\82ª\91\8dÝ\82·\82é
-                                                                       try
-                                                                               // \8c\9f\8dõ
-                                                                               // \81¦\8c©\82Â\82©\82Á\82½\82ç OnMatch \82É\94ò\82Ô
-                                                                               FRegItem := ThreadItem;
-                                                                               Reg.GrepByRegExp( ThreadItem.GetThreadFileName )
-                                                                       except
+                               // \8cf\8e¦\94Â\82Ì\92\86\82Ì (\91±\82­)
+                               for l := 0 to Length( BBSs ) - 1 do begin
+                                       bbs := BBSs[ l ];
+                                       for i := 0 to bbs.Count - 1 do begin
+                                               // \83J\83e\83S\83\8a\82Ì\92\86\82Ì (\91±\82­)
+                                               Category := bbs.Items[i];
+                                               for j := 0 to Category.Count - 1 do begin
+                                                       // \94Â\82Ì\92\86\82Ì (\91±\82­)
+                                                       Board := Category.Items[j];
+                                                       if not Board.IsThreadDatRead then
+                                                               GikoSys.ReadSubjectFile(Board);
+                                                       if Board.BoolData then begin
+                                                               for k := 0 to Board.Count - 1 do begin
+                                                                       // \8cÂ\81X\82Ì\83X\83\8c\83b\83h\82Ì (\91±\82­)
+                                                                       ThreadItem := Board.Items[k];
+                                                                       if FileExists( ThreadItem.GetThreadFileName ) then begin
+                                                                       // \83\8d\83O\82ª\91\8dÝ\82·\82é
+                                                                               try
+                                                                                       // \8c\9f\8dõ
+                                                                                       // \81¦\8c©\82Â\82©\82Á\82½\82ç OnMatch \82É\94ò\82Ô
+                                                                                       FRegItem := ThreadItem;
+                                                                                       Reg.GrepByRegExp( ThreadItem.GetThreadFileName )
+                                                                               except
+                                                                               end;
                                                                        end;
                                                                end;
+                                                               Application.ProcessMessages;
+                                                               if FCancel then raise   Exception.Create('\83\8d\83O\8c\9f\8dõ\82ð\92\86\8e~\82µ\82Ü\82·');
                                                        end;
-                                                       Application.ProcessMessages;
-                                                       if FCancel then raise  Exception.Create('\83\8d\83O\8c\9f\8dõ\82ð\92\86\8e~\82µ\82Ü\82·');
                                                end;
                                        end;
                                end;
@@ -339,8 +352,8 @@ begin
                AllReleaseButton.Enabled := True;
                OkBotton.Enabled := True;
                CategoryListView.Enabled := True;
-        CancelBotton.Enabled := false;
-    end;
+               CancelBotton.Enabled := false;
+       end;
 end;
 
 procedure TSearchDialog.BoardListViewDblClick(Sender: TObject);
@@ -355,7 +368,7 @@ procedure TSearchDialog.CancelBottonClick(Sender: TObject);
 begin
 
        //Self.Close;
-    FCancel := true;
+       FCancel := true;
 
 end;