Develop and Download Open Source Software

Browse CVS Repository

Diff of /gikonavigoeson/gikonavi/ItemDownload.pas

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

revision 1.25 by q9_, Mon May 3 15:18:29 2004 UTC revision 1.26 by h677, Thu May 6 14:09:42 2004 UTC
# Line 119  begin Line 119  begin
119      FIndy.Response.RawHeaders.Clear;      FIndy.Response.RawHeaders.Clear;
120      FIndy.Response.Clear;      FIndy.Response.Clear;
121      FIndy.ProxyParams.Clear;      FIndy.ProxyParams.Clear;
   
122          FIndy.Free;          FIndy.Free;
123          inherited;          inherited;
124  end;  end;
# Line 909  var Line 908  var
908          i: Integer;          i: Integer;
909          index: Integer;          index: Integer;
910          NewItem: TThreadItem;          NewItem: TThreadItem;
 //      SaveCount: Integer;  
911          NumCount: Integer;          NumCount: Integer;
912          Body: TStringList;          Body: TStringList;
913          Rec: TSubjectRec;          Rec: TSubjectRec;
# Line 939  var Line 937  var
937                          _ThreadItem.RoundDate           := ZERO_DATE;                          _ThreadItem.RoundDate           := ZERO_DATE;
938                          _ThreadItem.LastModified        := ZERO_DATE;                          _ThreadItem.LastModified        := ZERO_DATE;
939                          _ThreadItem.AgeSage                             := gasNew;                          _ThreadItem.AgeSage                             := gasNew;
940                          boardItem.ListData.Add( _ThreadItem );                          boardItem.Add(_ThreadItem);
941                  end else begin                  end else begin
942                          if boardItem.Items[index].No > boardItem.IntData then                          if boardItem.Items[index].No > boardItem.IntData then
943                                  boardItem.Items[index].AgeSage := gasAge                                  boardItem.Items[index].AgeSage := gasAge
# Line 950  var Line 948  var
948    
949                          boardItem.Items[index].No                                               := boardItem.IntData;                          boardItem.Items[index].No                                               := boardItem.IntData;
950                          boardItem.Items[index].AllResCount      := inCount;                          boardItem.Items[index].AllResCount      := inCount;
                         boardItem.ListData.Add( boardItem.Items[index] );  
                         boardItem.DeleteList( index );  
951                  end;                  end;
952          end;          end;
953  begin  begin
954          Board.ListData := TList.Create;          //Board.ListData := TList.Create;
955          Body := TStringList.Create;          Body := TStringList.Create;
956          try          try
957                  //ダウンロード日時設定(ローカル日時)                  //ダウンロード日時設定(ローカル日時)
958                  Board.RoundDate := Now;                  Board.RoundDate := Now;
959                  //サーバ上ファイルの更新時刻設定                  //サーバ上ファイルの更新時刻設定
960                  Board.LastModified := LastModified;                  Board.LastModified := LastModified;
961                    for i := Board.Count - 1 downto 0 do
962                            Board.Items[i].AgeSage := gasNull;
963    
964                  if Board.IsBoardPlugInAvailable then begin                  if Board.IsBoardPlugInAvailable then begin
965                          // 新しいリストを作成する                          // 新しいリストを作成する
# Line 972  begin Line 970  begin
970    
971                          // 新しいリストに無かったアイテムを新しいリストに追加                          // 新しいリストに無かったアイテムを新しいリストに追加
972                          for i := 0 to Board.Count - 1 do begin                          for i := 0 to Board.Count - 1 do begin
973                                  if Board.Items[i].IsLogFile then begin                                  if(Board.Items[i].AgeSage = gasNull) and (Board.Items[i].IsLogFile) then begin
974                                          Board.IntData := Board.IntData + 1;                                          Board.IntData := Board.IntData + 1;
975                                          Board.Items[i].No                                               := Board.IntData;                                          Board.Items[i].No                                               := Board.IntData;
976                                          Board.Items[i].AllResCount      := Board.Items[i].Count;                                          Board.Items[i].AllResCount      := Board.Items[i].Count;
977                                          Board.Items[i].NewResCount      := 0;                                          Board.Items[i].NewResCount      := 0;
978                                          Board.Items[i].AgeSage                  := gasNone;                                          Board.Items[i].AgeSage                  := gasNone;
                                         Board.ListData.Add( Board.Items[i] );  
979                                  end;                                  end;
980                          end;                          end;
   
                         // 古いリストを消す(リストのみ。スレオブジェクト自体は消さない)  
                         for i := Board.Count - 1 downto 0 do  
                                 Board.DeleteList( i );  
   
                         // 新しいリストをボードオブジェクトに追加  
                         for i := 0 to Board.ListData.Count - 1 do  
                                 Board.Add( TThreadItem(Board.ListData[i]) );  
981                  end else begin                  end else begin
982                          //新しいリストを作成する                          //新しいリストを作成する
983                          //新しいリストに古いリストのログがあるならそれを新しいリストに追加                          //新しいリストに古いリストのログがあるならそれを新しいリストに追加
# Line 996  begin Line 985  begin
985                          Body.Text := Content;                          Body.Text := Content;
986                          NumCount := 0;                          NumCount := 0;
987                          for i := 0 to Body.Count - 1 do begin                          for i := 0 to Body.Count - 1 do begin
                                 //if i = 0 then Continue;       //1行目はステータス行のため処理なし  
   
988                                  Rec := GikoSys.DivideSubject(Body[i]);                                  Rec := GikoSys.DivideSubject(Body[i]);
989                                  Rec.FFileName := Trim(Rec.FFileName);                                  Rec.FFileName := Trim(Rec.FFileName);
990                                  if (Rec.FTitle = '') and (Rec.FCount = 0) then Continue;                                  if (Rec.FTitle = '') and (Rec.FCount = 0) then Continue;
# Line 1006  begin Line 993  begin
993                                  if index = -1 then begin                                  if index = -1 then begin
994                                          //新しいスレッド                                          //新しいスレッド
995                                          NewItem := TThreadItem.Create(                                          NewItem := TThreadItem.Create(
996                  nil, GikoSys.Get2chBoard2ThreadURL( Board, ChangeFileExt( Rec.FFileName, '' ) ) );                          nil, GikoSys.Get2chBoard2ThreadURL( Board, ChangeFileExt( Rec.FFileName, '' ) ) );
997                                          NewItem.Title := Rec.FTitle;                                          NewItem.Title := Rec.FTitle;
998                                          NewItem.AllResCount := Rec.FCount;                                          NewItem.AllResCount := Rec.FCount;
999                                          NewItem.ParentBoard := Board;                                          NewItem.ParentBoard := Board;
# Line 1014  begin Line 1001  begin
1001                                          NewItem.RoundDate := ZERO_DATE;                                          NewItem.RoundDate := ZERO_DATE;
1002                                          NewItem.LastModified := ZERO_DATE;                                          NewItem.LastModified := ZERO_DATE;
1003                                          NewItem.AgeSage := gasNew;                                          NewItem.AgeSage := gasNew;
1004                                          Board.ListData.Add(NewItem);                                          Board.Add(NewItem);
1005                                  end else begin                                  end else begin
1006                                          if Board.Items[index].No > NumCount then                                          if Board.Items[index].No > NumCount then
1007                                                  Board.Items[index].AgeSage := gasAge                                                  Board.Items[index].AgeSage := gasAge
# Line 1025  begin Line 1012  begin
1012    
1013                                          Board.Items[index].No := NumCount;                                          Board.Items[index].No := NumCount;
1014                                          Board.Items[index].AllResCount := Rec.FCount;                                          Board.Items[index].AllResCount := Rec.FCount;
                                         Board.ListData.Add(Board.Items[index]);  
                                         Board.DeleteList(index);  
1015                                  end;                                  end;
1016                          end;                          end;
1017    
1018                          //新しいリストに無かったアイテムを新しいリストに追加                          //新しいリストに無かったアイテムの更新
1019                          for i := 0 to Board.Count - 1 do begin                          for i := 0 to Board.Count - 1 do begin
1020                                  if Board.Items[i].IsLogFile then begin                                  if( Board.Items[i].AgeSage = gasNull )and (Board.Items[i].IsLogFile) then begin
1021                                          inc(NumCount);                                          inc(NumCount);
1022                                          Board.Items[i].No := NumCount;                                          Board.Items[i].No := NumCount;
1023                                          Board.Items[i].AllResCount := Board.Items[i].Count;                                          Board.Items[i].AllResCount := Board.Items[i].Count;
1024                                          Board.Items[i].NewResCount := 0;                                          Board.Items[i].NewResCount := 0;
1025                                          Board.Items[i].AgeSage := gasNone;                                          Board.Items[i].AgeSage := gasNone;
                                         Board.ListData.Add(Board.Items[i]);  
1026                                  end;                                  end;
1027                          end;                          end;
   
                         //古いリストを消す(リストのみ。スレオブジェクト自体は消さない)  
                         for i := Board.Count - 1 downto 0 do  
                                 Board.DeleteList(i);  
   
                         //新しいリストをボードオブジェクトに追加  
                         for i := 0 to Board.ListData.Count - 1 do  
                                 Board.Add(TThreadItem(Board.ListData[i]));  
   
1028                          //リスト(subject.txt)を保存                          //リスト(subject.txt)を保存
         //              GikoSys.ForceDirectoriesEx(GikoSys.GetLogDir + Board.BBSID);  
         //              Body.SaveToFile(GikoSys.GetSubjectFileName(Board.BBSID));  
1029                          GikoSys.ForceDirectoriesEx(ExtractFilePath(Board.GetSubjectFileName));                          GikoSys.ForceDirectoriesEx(ExtractFilePath(Board.GetSubjectFileName));
1030                          Body.SaveToFile(Board.GetSubjectFileName);                          Body.SaveToFile(Board.GetSubjectFileName);
1031                  end;                  end;
1032          finally          finally
1033                  Body.Free;                  Body.Free;
                 Board.ListData.Free;  
1034          end;          end;
1035    
1036    
1037  end;  end;
1038    
1039  {procedure TDownloadItem.SaveListFile;  {procedure TDownloadItem.SaveListFile;

Legend:
Removed from v.1.25  
changed lines
  Added in v.1.26

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