| 529 |
idx: Integer; |
idx: Integer; |
| 530 |
usePlugIn : Boolean; |
usePlugIn : Boolean; |
| 531 |
tmpStr: string; |
tmpStr: string; |
| 532 |
BoardPath : String; |
BoardPath : String; |
| 533 |
server : String; |
server : String; |
| 534 |
|
islog : Boolean; |
| 535 |
//protocol, host, path, document, port, bookmark : string; |
//protocol, host, path, document, port, bookmark : string; |
| 536 |
//is2ch : Boolean; |
//is2ch : Boolean; |
| 537 |
{* |
{* |
| 575 |
//2行目から(1行目はバージョン) |
//2行目から(1行目はバージョン) |
| 576 |
for i := sl.Count - 1 downto 1 do begin |
for i := sl.Count - 1 downto 1 do begin |
| 577 |
Rec := ParseIndexLine(sl[i]); |
Rec := ParseIndexLine(sl[i]); |
| 578 |
|
islog := FileList.Find( Rec.FFileName, Index ); |
| 579 |
if usePlugIn then |
if usePlugIn then |
| 580 |
ThreadItem := TThreadItem.Create( |
ThreadItem := TThreadItem.Create( |
| 581 |
Board.BoardPlugIn, |
Board.BoardPlugIn, |
| 582 |
Board, |
Board, |
| 583 |
Board.BoardPlugIn.FileName2ThreadURL( DWORD( Board ), Rec.FFileName ) ) |
Board.BoardPlugIn.FileName2ThreadURL( DWORD( Board ), Rec.FFileName ) ) |
| 584 |
else begin |
else begin |
|
//ThreadItem := TThreadItem.Create( |
|
|
// nil, |
|
|
// Get2chBoard2ThreadURL( Board, ChangeFileExt( Rec.FFileName, '' )) ); |
|
| 585 |
if Board.is2ch then begin |
if Board.is2ch then begin |
| 586 |
ThreadItem := TThreadItem.Create( |
ThreadItem := TThreadItem.Create( |
| 587 |
nil, |
nil, |
| 588 |
Board, |
Board, |
| 589 |
server + 'test/read.cgi/' + Board.BBSID + '/' + ChangeFileExt( Rec.FFileName, '' ) + '/l50' |
server + 'test/read.cgi/' + Board.BBSID + '/' + ChangeFileExt( Rec.FFileName, '' ) + '/l50', |
| 590 |
|
islog, |
| 591 |
|
Rec.FFileName |
| 592 |
); |
); |
| 593 |
end else begin |
end else begin |
| 594 |
ThreadItem := TThreadItem.Create( |
ThreadItem := TThreadItem.Create( |
| 595 |
nil, |
nil, |
| 596 |
Board, |
Board, |
| 597 |
server + 'test/read.cgi?bbs=' + Board.BBSID + '&key=' + ChangeFileExt( Rec.FFileName, '' ) + '&ls=50' |
server + 'test/read.cgi?bbs=' + Board.BBSID + '&key=' + ChangeFileExt( Rec.FFileName, '' ) + '&ls=50', |
| 598 |
); |
islog, |
| 599 |
end; |
Rec.FFileName |
| 600 |
end; |
); |
| 601 |
|
end; |
| 602 |
ThreadItem.BeginUpdate; |
end; |
| 603 |
if FileList.Count <> 0 then |
|
| 604 |
if FileList.Find( ThreadItem.FileName, Index ) then |
ThreadItem.BeginUpdate; |
| 605 |
FileList.Delete( Index ); |
if islog then |
| 606 |
|
FileList.Delete( Index ); |
| 607 |
|
|
| 608 |
ThreadItem.No := Rec.FNo; |
ThreadItem.No := Rec.FNo; |
| 609 |
ThreadItem.FileName := Rec.FFileName; |
ThreadItem.FileName := Rec.FFileName; |
| 651 |
if UnRead <> Board.UnRead then |
if UnRead <> Board.UnRead then |
| 652 |
Board.UnRead := UnRead; |
Board.UnRead := UnRead; |
| 653 |
|
|
| 654 |
Boardpath := ExtractFilePath(Board.GetFolderIndexFileName); |
Boardpath := ExtractFilePath(Board.GetFolderIndexFileName); |
| 655 |
//インデックスに無かったログを追加(腐れインデックス対応) |
//インデックスに無かったログを追加(腐れインデックス対応) |
| 656 |
for i := 0 to FileList.Count - 1 do begin |
for i := 0 to FileList.Count - 1 do begin |
| 657 |
FileName := Boardpath + FileList[i]; |
FileName := Boardpath + FileList[i]; |
| 660 |
if usePlugIn then begin |
if usePlugIn then begin |
| 661 |
ThreadItem := TThreadItem.Create( |
ThreadItem := TThreadItem.Create( |
| 662 |
Board.BoardPlugIn, |
Board.BoardPlugIn, |
| 663 |
Board, |
Board, |
| 664 |
Board.BoardPlugIn.FileName2ThreadURL( DWORD( Board ), FileList[i] ) ); |
Board.BoardPlugIn.FileName2ThreadURL( DWORD( Board ), FileList[i] ) ); |
| 665 |
ResRec := DivideStrLine(Board.BoardPlugIn.GetDat( DWORD( ThreadItem ), 1 )); |
ResRec := DivideStrLine(Board.BoardPlugIn.GetDat( DWORD( ThreadItem ), 1 )); |
| 666 |
end else begin |
end else begin |
| 667 |
ThreadItem := TThreadItem.Create( |
ThreadItem := TThreadItem.Create( |
| 668 |
nil, |
nil, |
| 669 |
Board, |
Board, |
| 670 |
Get2chBoard2ThreadURL( Board, ChangeFileExt( FileList[i], '' ) ) ); |
Get2chBoard2ThreadURL( Board, ChangeFileExt( FileList[i], '' ) ) ); |
| 671 |
ResRec := DivideStrLine(ReadThreadFile(FileName, 1)); |
ResRec := DivideStrLine(ReadThreadFile(FileName, 1)); |
| 672 |
end; |
end; |
| 673 |
|
|
| 674 |
ThreadItem.BeginUpdate; |
ThreadItem.BeginUpdate; |
| 675 |
ThreadItem.FileName := FileList[i]; |
ThreadItem.FileName := FileList[i]; |
| 676 |
//ThreadItem.FilePath := FileName; |
//ThreadItem.FilePath := FileName; |
| 677 |
ThreadItem.No := Board.Count + 1; |
ThreadItem.No := Board.Count + 1; |
| 678 |
ThreadItem.Title := ResRec.FTitle; |
ThreadItem.Title := ResRec.FTitle; |
| 696 |
Board.EndUpdate; |
Board.EndUpdate; |
| 697 |
|
|
| 698 |
//前回異常終了時チェック |
//前回異常終了時チェック |
| 699 |
for i := TmpFileList.Count - 1 downto 0 do begin |
for i := TmpFileList.Count - 1 downto 0 do begin |
| 700 |
//if TmpFileList.Count <> 0 then begin |
//if TmpFileList.Count <> 0 then begin |
| 701 |
ThreadItem := Board.FindThreadFromFileName(ChangeFileExt(TmpFileList[i], '.dat')); |
ThreadItem := Board.FindThreadFromFileName(ChangeFileExt(TmpFileList[i], '.dat')); |
| 702 |
if ThreadItem <> nil then begin |
if ThreadItem <> nil then begin |
| 703 |
//if TmpFileList.Find(ChangeFileExt(ThreadItem.FileName, '.tmp'), Index) then begin |
//if TmpFileList.Find(ChangeFileExt(ThreadItem.FileName, '.tmp'), Index) then begin |
| 704 |
ini := TMemIniFile.Create(Boardpath + TmpFileList[i]); |
ini := TMemIniFile.Create(Boardpath + TmpFileList[i]); |
| 705 |
try |
try |
| 706 |
tmpStr := ini.ReadString('Setting', 'RoundDate', DateTimeToStr(ZERO_DATE)); |
tmpStr := ini.ReadString('Setting', 'RoundDate', DateTimeToStr(ZERO_DATE)); |
| 707 |
ThreadItem.RoundDate := ConvertDateTimeString(tmpStr); |
ThreadItem.RoundDate := ConvertDateTimeString(tmpStr); |
| 708 |
|
|
| 709 |
tmpStr := ini.ReadString('Setting', 'LastModified', DateTimeToStr(ZERO_DATE)); |
tmpStr := ini.ReadString('Setting', 'LastModified', DateTimeToStr(ZERO_DATE)); |
| 710 |
ThreadItem.LastModified := ConvertDateTimeString(tmpStr); |
ThreadItem.LastModified := ConvertDateTimeString(tmpStr); |
| 711 |
ThreadItem.Count := ini.ReadInteger('Setting', 'Count', 0); |
ThreadItem.Count := ini.ReadInteger('Setting', 'Count', 0); |
| 712 |
ThreadItem.NewReceive := ini.ReadInteger('Setting', 'NewReceive', 0); |
ThreadItem.NewReceive := ini.ReadInteger('Setting', 'NewReceive', 0); |
| 713 |
|
|
| 714 |
ThreadItem.Size := ini.ReadInteger('Setting', 'Size', 0); |
ThreadItem.Size := ini.ReadInteger('Setting', 'Size', 0); |
| 715 |
if(ThreadItem.Size = 0) and (FileExists(ThreadItem.GetThreadFileName)) then begin |
if(ThreadItem.Size = 0) and (FileExists(ThreadItem.GetThreadFileName)) then begin |
| 716 |
try |
try |
| 717 |
ThreadItem.Size := GetFileSize(ThreadItem.GetThreadFileName) - ThreadItem.Count; |
ThreadItem.Size := GetFileSize(ThreadItem.GetThreadFileName) - ThreadItem.Count; |
| 718 |
except |
except |
| 719 |
end; |
end; |
| 720 |
end; |
end; |
| 721 |
|
|
| 722 |
|
|
| 723 |
ThreadItem.Round := ini.ReadBool('Setting', 'Round', False); |
ThreadItem.Round := ini.ReadBool('Setting', 'Round', False); |
| 724 |
ThreadItem.UnRead := False;//ini.ReadBool('Setting', 'UnRead', False); |
ThreadItem.UnRead := False;//ini.ReadBool('Setting', 'UnRead', False); |
| 725 |
ThreadItem.ScrollTop := ini.ReadInteger('Setting', 'ScrollTop', 0); |
ThreadItem.ScrollTop := ini.ReadInteger('Setting', 'ScrollTop', 0); |
| 726 |
ThreadItem.AllResCount := ini.ReadInteger('Setting', 'AllResCount', ThreadItem.Count); |
ThreadItem.AllResCount := ini.ReadInteger('Setting', 'AllResCount', ThreadItem.Count); |
| 727 |
ThreadItem.NewResCount := ini.ReadInteger('Setting', 'NewResCount', 0); |
ThreadItem.NewResCount := ini.ReadInteger('Setting', 'NewResCount', 0); |
| 728 |
ThreadItem.AgeSage := TGikoAgeSage(ini.ReadInteger('Setting', 'AgeSage', Ord(gasNone))); |
ThreadItem.AgeSage := TGikoAgeSage(ini.ReadInteger('Setting', 'AgeSage', Ord(gasNone))); |
| 729 |
finally |
finally |
| 730 |
ini.Free; |
ini.Free; |
| 731 |
end; |
end; |
| 732 |
DeleteFile(Boardpath + TmpFileList[i]); |
DeleteFile(Boardpath + TmpFileList[i]); |
| 733 |
end; |
end; |
| 734 |
end; |
end; |
| 735 |
|
|
| 736 |
finally |
finally |
| 737 |
sl.Free; |
sl.Free; |