Develop and Download Open Source Software

Browse CVS Repository

Diff of /gikonavigoeson/gikonavi/Giko.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.511 by h677, Sat Apr 2 03:08:05 2005 UTC revision 1.511.2.2 by h677, Sat May 14 16:11:26 2005 UTC
# Line 601  type Line 601  type
601      SortNextColumnAction: TAction;      SortNextColumnAction: TAction;
602      SortPrevColumnAction: TAction;      SortPrevColumnAction: TAction;
603      BeLogInOutAction: TAction;      BeLogInOutAction: TAction;
604        N74: TMenuItem;
605        ChangeEUC: TMenuItem;
606        LogConvertToEUCAction: TAction;
607                                  procedure FormCreate(Sender: TObject);                                  procedure FormCreate(Sender: TObject);
608                  procedure FormDestroy(Sender: TObject);                  procedure FormDestroy(Sender: TObject);
609                  procedure CabinetPanelHide(Sender: TObject);                  procedure CabinetPanelHide(Sender: TObject);
# Line 959  type Line 962  type
962        Stage: TCustomDrawStage; var DefaultDraw: Boolean);        Stage: TCustomDrawStage; var DefaultDraw: Boolean);
963      procedure BeLogInOutActionExecute(Sender: TObject);      procedure BeLogInOutActionExecute(Sender: TObject);
964      procedure BeLogInOutActionUpdate(Sender: TObject);      procedure BeLogInOutActionUpdate(Sender: TObject);
965        procedure LogConvertToEUCActionExecute(Sender: TObject);
966          private          private
967                  { Private 宣言 }                  { Private 宣言 }
968          //RoundList : TRoundList;          //RoundList : TRoundList;
# Line 1255  implementation Line 1259  implementation
1259    
1260  uses  uses
1261          About, Option, Round, Splash, Sort, ListSelect, Imm,          About, Option, Round, Splash, Sort, ListSelect, Imm,
1262          NewBoard, MojuUtils, Clipbrd, GikoBayesian;          NewBoard, MojuUtils, Clipbrd, GikoBayesian,Y_TextConverter;
1263    
1264  const  const
1265          CAPTION_NAME: string = 'ギコナビ';          CAPTION_NAME: string = 'ギコナビ';
# Line 1535  begin Line 1539  begin
1539          if RoundList.OldFileRead or ( RoundList.Count[grtItem] > 0 ) then          if RoundList.OldFileRead or ( RoundList.Count[grtItem] > 0 ) then
1540                  GikoSys.ListBoardFile;                  GikoSys.ListBoardFile;
1541    
1542    
1543          // メニューに追加          // メニューに追加
1544          SetBBSMenu;          SetBBSMenu;
1545    
# Line 1756  begin Line 1761  begin
1761          // 起動時に保存されてしまう対策 3          // 起動時に保存されてしまう対策 3
1762          FIsIgnoreResize := rtResizing;          FIsIgnoreResize := rtResizing;
1763    
1764            // すべてのBBSを読み込んでおく
1765            for i := Length(BBSs) - 1 downto 0 do begin
1766                    if not BBSs[i].IsBoardFileRead then
1767                            GikoSys.ReadBoardFile(BBSs[i]);
1768            end;
1769    
1770          //引数があったらスレを開く(未取得ならダウンロード)          //引数があったらスレを開く(未取得ならダウンロード)
1771          for i := 1 to ParamCount do     begin          for i := 1 to ParamCount do     begin
# Line 2187  begin Line 2197  begin
2197          except          except
2198          end;          end;
2199    
2200        for i := Length(BoardGroups) - 1 downto 0 do begin
2201            BoardGroups[i].Clear;
2202        end;
2203    
2204          try          try
2205                  for i := Length( BoardPlugIns ) - 1 downto  0 do begin                  for i := Length( BoardPlugIns ) - 1 downto  0 do begin
2206                          if BoardPlugIns[ i ] <> nil then                          if BoardPlugIns[ i ] <> nil then
# Line 2294  begin Line 2308  begin
2308          ActiveList := nil;          ActiveList := nil;
2309    
2310          FTreeType := gttNone;          FTreeType := gttNone;
2311      GikoSys.FBoardURLList.Clear;      //GikoSys.FBoardURLList.Clear;
2312        for i := Length(BoardGroups) - 1 downto 0 do begin
2313            BoardGroups[i].Clear;
2314        end;
2315          GikoSys.ListBoardFile;          //ボードファイル読込          GikoSys.ListBoardFile;          //ボードファイル読込
2316    
2317          // BBS メニューの更新          // BBS メニューの更新
# Line 3545  begin Line 3562  begin
3562                                  //スレ                                  //スレ
3563                                  Item.SaveItemFile;                                  Item.SaveItemFile;
3564                                  Item.ThreadItem.NewArrival := True;                                  Item.ThreadItem.NewArrival := True;
3565                                  if (Item.ThreadItem.IsBoardPlugInAvailable) and (Item.ThreadItem.Title = '') then begin                                  //if (Item.ThreadItem.IsBoardPlugInAvailable) and (Item.ThreadItem.Title = '') then begin
3566                                          boardPlugIn             := Item.ThreadItem.BoardPlugIn;                  if (Item.ThreadItem.ParentBoard.IsBoardPlugInAvailable) and (Item.ThreadItem.Title = '') then begin
3567                                            //boardPlugIn           := Item.ThreadItem.BoardPlugIn;
3568                        boardPlugIn         := Item.ThreadItem.ParentBoard.BoardPlugIn;
3569                                          Item.ThreadItem.Title := GikoSys.DivideStrLine(boardPlugIn.GetDat( DWORD( Item.ThreadItem ), 1 )).FTitle;                                          Item.ThreadItem.Title := GikoSys.DivideStrLine(boardPlugIn.GetDat( DWORD( Item.ThreadItem ), 1 )).FTitle;
3570                                          ATitle := Item.ThreadItem.Title;                                          ATitle := Item.ThreadItem.Title;
3571                                  end else if ATitle = '(名称不明)' then begin                                  end else if ATitle = '(名称不明)' then begin
# Line 7603  begin Line 7622  begin
7622          //===== プラグイン          //===== プラグイン
7623          try          try
7624                  //作業中//                  //作業中//
7625                  bi := High( BoardPlugIns );                  //bi := High( BoardPlugIns );
7626                  for i := Low( BoardPlugIns ) to bi do begin                  bi := Length(BoardGroups) - 1;
7627                          if Assigned( Pointer( BoardPlugIns[ i ].Module ) ) then begin                  //for i := Low( BoardPlugIns ) to bi do begin
7628                                  case BoardPlugIns[ i ].AcceptURL( inURL ) of                  for i := 1 to bi do begin
7629                            //if Assigned( Pointer( BoardPlugIns[ i ].Module ) ) then begin
7630                            if (BoardGroups[i].BoardPlugIn <> nil) and (Assigned(Pointer(BoardGroups[i].BoardPlugIn.Module))) then begin
7631                                    case BoardGroups[i].BoardPlugIn.AcceptURL( inURL ) of
7632                                  atThread:                                  atThread:
7633                                          begin                                          begin
7634                                                  tmpThread               := TThreadItem.Create( BoardPlugIns[ i ], inURL );                                                  boardURL        := BoardGroups[i].BoardPlugIn.ExtractBoardURL( inURL );
7635                                                  boardURL                := tmpThread.BoardPlugIn.GetBoardURL( DWORD( tmpThread ) );                          Board           := BBSsFindBoardFromURL( boardURL );
7636                                                  Board                           := BBSsFindBoardFromURL( boardURL );                                                  tmpThread               := TThreadItem.Create( BoardGroups[i].BoardPlugIn, Board, inURL );
7637    
7638                                                  if Board = nil then begin                                                  if Board = nil then begin
7639                              //break;                              //break;
7640                                                          // ※作っても追加するところが無いので激しく保留                                                          // ※作っても追加するところが無いので激しく保留
# Line 7660  begin Line 7683  begin
7683    
7684                                  atBoard:                                  atBoard:
7685                                          begin                                          begin
7686                                                  tmpBoard := TBoard.Create(BoardPlugIns[ i ], inURL);                                                  tmpBoard := TBoard.Create(BoardGroups[i].BoardPlugIn, inURL);
7687                                                  Board := BBSsFindBoardFromURL( tmpBoard.URL );                                                  Board := BBSsFindBoardFromURL( tmpBoard.URL );
7688                                                  tmpBoard.Free;                                                  tmpBoard.Free;
7689                                                  if Board <> nil then begin                                                  if Board <> nil then begin
# Line 7724  begin Line 7747  begin
7747                                  GikoSys.OpenBrowser(URL1, gbtIE)                                  GikoSys.OpenBrowser(URL1, gbtIE)
7748                          else begin                          else begin
7749                          }                          }
7750                          ThreadItem := TThreadItem.Create( nil, URL );                          ThreadItem := TThreadItem.Create( nil, Board, URL );
7751                          ThreadItem.FileName := ChangeFileExt(BBSKey, '.dat');                          ThreadItem.FileName := ChangeFileExt(BBSKey, '.dat');
7752                          if AnsiPos(Host, Board.URL) = 0 then                          if AnsiPos(Host, Board.URL) = 0 then
7753                                  ThreadItem.DownloadHost := Host                                  ThreadItem.DownloadHost := Host
# Line 8135  begin Line 8158  begin
8158                                          FHint.Title := ThreadItem.Title;                                          FHint.Title := ThreadItem.Title;
8159    
8160          if ThreadItem <> nil then begin          if ThreadItem <> nil then begin
8161              if ThreadItem.IsBoardPlugInAvailable then begin              //if ThreadItem.IsBoardPlugInAvailable then begin
8162                if ThreadItem.ParentBoard.IsBoardPlugInAvailable then begin
8163                  //===== プラグインによる表示                  //===== プラグインによる表示
8164                  boardPlugIn             := ThreadItem.BoardPlugIn;                  //boardPlugIn           := ThreadItem.BoardPlugIn;
8165                    boardPlugIn             := ThreadItem.ParentBoard.BoardPlugIn;
8166    
8167                  // フォントやサイズの設定                  // フォントやサイズの設定
8168                  // 文字コードはプラグインに任せる                  // 文字コードはプラグインに任せる
# Line 10305  begin Line 10330  begin
10330          ThreadItem := GetActiveContent;          ThreadItem := GetActiveContent;
10331    
10332          if ThreadItem <> nil then begin          if ThreadItem <> nil then begin
10333                  if ThreadItem.IsBoardPlugInAvailable then begin                  //if ThreadItem.IsBoardPlugInAvailable then begin
10334            if ThreadItem.ParentBoard.IsBoardPlugInAvailable then begin
10335                          //===== プラグインによる表示                          //===== プラグインによる表示
10336                          boardPlugIn             := ThreadItem.BoardPlugIn;                          //boardPlugIn           := ThreadItem.BoardPlugIn;
10337                boardPlugIn         := ThreadItem.ParentBoard.BoardPlugIn;
10338    
10339                          // フォントやサイズの設定                          // フォントやサイズの設定
10340                          // 文字コードはプラグインに任せる                          // 文字コードはプラグインに任せる
# Line 10325  begin Line 10352  begin
10352                                  Header := CustomStringReplace(Header, '</b>', '',true);                                  Header := CustomStringReplace(Header, '</b>', '',true);
10353                                  Header := CustomStringReplace(Header, '<b>', '',true);                                  Header := CustomStringReplace(Header, '<b>', '',true);
10354                          end;                          end;
10355                          if ThreadItem.IsBoardPlugInAvailable then begin                          //if ThreadItem.IsBoardPlugInAvailable then begin
10356                if ThreadItem.ParentBoard.IsBoardPlugInAvailable then begin
10357                                  Body := CustomStringReplace(Res.FBody, '<br>', #13#10,true);                                  Body := CustomStringReplace(Res.FBody, '<br>', #13#10,true);
10358                                  Body := CustomStringReplace(Body, '<br>', #13#10,true);                                  Body := CustomStringReplace(Body, '<br>', #13#10,true);
10359                          end else begin                          end else begin
# Line 12230  end; Line 12258  end;
12258    
12259    
12260    
12261    procedure TGikoForm.LogConvertToEUCActionExecute(Sender: TObject);
12262    var
12263            ThreadItem: TThreadItem;
12264        LogFilename: String;
12265        fileStrings: TStringList;
12266    begin
12267            ThreadItem := GetActiveContent;
12268        if ThreadItem <> nil then begin
12269            LogFilename := ThreadItem.FilePath;
12270            Writeln(LogFilename);
12271            if FileExists(LogFilename) then begin
12272                fileStrings := TStringList.Create();
12273                try
12274                    fileStrings.LoadFromFile(LogFilename);
12275                    fileStrings.Text := EUCtoSJIS(fileStrings.Text);
12276                    fileStrings.SaveToFile(LogFilename);
12277                finally
12278                    fileStrings.free
12279                end;
12280            end;
12281        end;
12282    end;
12283    
12284  initialization  initialization
12285                                  OleInitialize(nil);                                  OleInitialize(nil);
12286  finalization  finalization

Legend:
Removed from v.1.511  
changed lines
  Added in v.1.511.2.2

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26