| 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; |
| 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; |
| 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 |
| 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 |
// 新しいリストを作成する |
// 新しいリストを作成する |
| 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 |
//新しいリストに古いリストのログがあるならそれを新しいリストに追加 |
//新しいリストに古いリストのログがあるならそれを新しいリストに追加 |
| 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; |
| 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; |
| 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 |
| 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; |