From e9f1850804436c34e053da58238c58b7ab0dd7ad Mon Sep 17 00:00:00 2001 From: h677 Date: Sat, 12 Aug 2006 08:07:22 +0000 Subject: [PATCH] =?utf8?q?=E5=89=8D=E5=9B=9E=E7=95=B0=E5=B8=B8=E7=B5=82?= =?utf8?q?=E4=BA=86=E3=81=A7=E6=AE=8B=E3=81=A3=E3=81=9Ftemp=E3=83=95?= =?utf8?q?=E3=82=A1=E3=82=A4=E3=83=AB=E3=81=AE=E5=87=A6=E7=90=86=E3=82=92?= =?utf8?q?=E3=83=A1=E3=82=BD=E3=83=83=E3=83=89=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- GikoSystem.pas | 123 +++++++++++++++++++++++++++++++-------------------------- 1 file changed, 66 insertions(+), 57 deletions(-) diff --git a/GikoSystem.pas b/GikoSystem.pas index a6a0505..37b81df 100644 --- a/GikoSystem.pas +++ b/GikoSystem.pas @@ -114,6 +114,8 @@ type FGikoMessage: TGikoMessage; //! ‚ ‚éƒZƒpƒŒ[ƒ^‚Å‹æØ‚ç‚ꂽ•¶Žš—ñ‚©‚ç‚Ž”Ô–Ú‚Ì•¶Žš—ñ‚ðŽæ‚èo‚· function ChooseString(const Text, Separator: string; Index: integer): string; + //! ˆêŽžƒtƒ@ƒCƒ‹‚©‚ç‚Ì•œ‹Œ + procedure RestoreThreadData(Board: TBoard); public { Public éŒ¾ } FAbon : TAbon; @@ -554,24 +556,17 @@ var ThreadItem: TThreadItem; FileName: string; FileList: TStringList; - TmpFileList: TStringList; Index: Integer; sl: TStringList; i: Integer; Rec: TIndexRec; UnRead: Integer; - ini: TMemIniFile; ResRec: TResRec; -// RoundItem: TRoundItem; -// idx: Integer; usePlugIn : Boolean; - tmpStr: string; BoardPath : String; server : String; islog : Boolean; urlHead: String; - //protocol, host, path, document, port, bookmark : string; - //is2ch : Boolean; {* FavoThreadItem : TFavoriteThreadItem; Node: TTreeNode; @@ -581,25 +576,17 @@ begin Exit; Board.Clear; UnRead := 0; - //is2ch := false; usePlugIn := Board.IsBoardPlugInAvailable; server := UrlToServer( Board.URL ); - //is2ch := Is2chHost(server); FileName := Board.GetFolderIndexFileName; FileList := TStringList.Create; FileList.Sorted := True; FileList.BeginUpdate; - TmpFileList := TStringList.Create; - TmpFileList.Sorted := True; - TmpFileList.BeginUpdate; //IsLogFile—pDATƒtƒ@ƒCƒ‹ƒŠƒXƒg GetFileList(ExtractFileDir(Board.GetFolderIndexFileName), '*.dat', FileList, False); FileList.EndUpdate; - //‘O‰ñˆÙíI—¹Žž—pTmpƒtƒ@ƒCƒ‹ƒŠƒXƒg - GetFileList(ExtractFileDir(Board.GetFolderIndexFileName), '*.tmp', TmpFileList, False); - TmpFileList.EndUpdate; // d•¡‚ð–h‚® Board.BeginUpdate; @@ -651,7 +638,6 @@ begin ThreadItem.No := Rec.FNo; ThreadItem.FileName := Rec.FFileName; ThreadItem.Title := MojuUtils.UnSanitize(Rec.FTitle); - //ThreadItem.ShortTitle := CustomStringReplace(ZenToHan(ThreadItem.Title), ' ', ''); ThreadItem.Count := Rec.FCount; ThreadItem.Size := Rec.FSize; ThreadItem.RoundDate := Rec.FRoundDate; @@ -724,50 +710,12 @@ begin Board.Add(ThreadItem); end; Board.EndUpdate; - - //‘O‰ñˆÙíI—¹Žžƒ`ƒFƒbƒN - for i := TmpFileList.Count - 1 downto 0 do begin - //if TmpFileList.Count <> 0 then begin - ThreadItem := Board.FindThreadFromFileName(ChangeFileExt(TmpFileList[i], '.dat')); - if ThreadItem <> nil then begin - //if TmpFileList.Find(ChangeFileExt(ThreadItem.FileName, '.tmp'), Index) then begin - ini := TMemIniFile.Create(Boardpath + TmpFileList[i]); - try - tmpStr := ini.ReadString('Setting', 'RoundDate', DateTimeToStr(ZERO_DATE)); - ThreadItem.RoundDate := ConvertDateTimeString(tmpStr); - - tmpStr := ini.ReadString('Setting', 'LastModified', DateTimeToStr(ZERO_DATE)); - ThreadItem.LastModified := ConvertDateTimeString(tmpStr); - ThreadItem.Count := ini.ReadInteger('Setting', 'Count', 0); - ThreadItem.NewReceive := ini.ReadInteger('Setting', 'NewReceive', 0); - - ThreadItem.Size := ini.ReadInteger('Setting', 'Size', 0); - if(ThreadItem.Size = 0) and (FileExists(ThreadItem.GetThreadFileName)) then begin - try - ThreadItem.Size := GetFileSize(ThreadItem.GetThreadFileName) - ThreadItem.Count; - except - end; - end; - - //„‰ñ‚̐ݒè‚ÍRoundData‚Ì•û‚ª‚â‚é‚©‚珟Žè‚ɐݒ肵‚Ă̓_ƒI@by ‚à‚¶‚ã - //ThreadItem.Round := ini.ReadBool('Setting', 'Round', False); - //ThreadItem.RoundName := ini.ReadString('Setting', 'RoundName', ThreadItem.RoundName); - ThreadItem.UnRead := False;//ini.ReadBool('Setting', 'UnRead', False); - ThreadItem.ScrollTop := ini.ReadInteger('Setting', 'ScrollTop', 0); - ThreadItem.AllResCount := ini.ReadInteger('Setting', 'AllResCount', ThreadItem.Count); - ThreadItem.NewResCount := ini.ReadInteger('Setting', 'NewResCount', 0); - ThreadItem.AgeSage := TGikoAgeSage(ini.ReadInteger('Setting', 'AgeSage', Ord(gasNone))); - finally - ini.Free; - end; - DeleteFile(Boardpath + TmpFileList[i]); - end; - end; - + + //‘O‰ñˆÙíI—¹Žžƒ`ƒFƒbƒN + RestoreThreadData( Board ); finally sl.Free; FileList.Free; - TmpFileList.Free; Board.Sorted := False; end; Board.IsThreadDatRead := True; @@ -3306,6 +3254,67 @@ begin p := AnsiPos(Separator, S); if (p > 0) then Result := Copy(S, 1, p - 1) else Result := S; end; +//! ˆêŽžƒtƒ@ƒCƒ‹‚©‚ç‚Ì•œ‹Œ +procedure TGikoSys.RestoreThreadData(Board : TBoard); +const + SECTION = 'Setting'; +var + TmpFileList : TStringList; + i : Integer; + ini : TMemIniFile; + ThreadItem : TThreadItem; + Boardpath, tmpStr : string; +begin + Boardpath := ExtractFilePath(Board.GetFolderIndexFileName); + + TmpFileList := TStringList.Create; + TmpFileList.Sorted := True; + TmpFileList.BeginUpdate; + try + //‘O‰ñˆÙíI—¹Žž—pTmpƒtƒ@ƒCƒ‹ƒŠƒXƒg + GetFileList(Boardpath, '*.tmp', TmpFileList, False); + TmpFileList.EndUpdate; + //‘O‰ñˆÙíI—¹Žžƒ`ƒFƒbƒN + for i := TmpFileList.Count - 1 downto 0 do begin + ThreadItem := Board.FindThreadFromFileName(ChangeFileExt(TmpFileList[i], '.dat')); + if ThreadItem <> nil then begin + ini := TMemIniFile.Create(Boardpath + TmpFileList[i]); + try + tmpStr := ini.ReadString(SECTION, 'RoundDate', DateTimeToStr(ZERO_DATE)); + ThreadItem.RoundDate := ConvertDateTimeString(tmpStr); + + tmpStr := ini.ReadString(SECTION, 'LastModified', DateTimeToStr(ZERO_DATE)); + ThreadItem.LastModified := ConvertDateTimeString(tmpStr); + ThreadItem.Count := ini.ReadInteger(SECTION, 'Count', 0); + ThreadItem.NewReceive := ini.ReadInteger(SECTION, 'NewReceive', 0); + + ThreadItem.Size := ini.ReadInteger(SECTION, 'Size', 0); + if(ThreadItem.Size = 0) and (FileExists(ThreadItem.GetThreadFileName)) then begin + try + ThreadItem.Size := GetFileSize(ThreadItem.GetThreadFileName) - ThreadItem.Count; + except + end; + end; + + //„‰ñ‚̐ݒè‚ÍRoundData‚Ì•û‚ª‚â‚é‚©‚珟Žè‚ɐݒ肵‚Ă̓_ƒI@by ‚à‚¶‚ã + //ThreadItem.Round := ini.ReadBool('Setting', 'Round', False); + //ThreadItem.RoundName := ini.ReadString('Setting', 'RoundName', ThreadItem.RoundName); + ThreadItem.UnRead := False;//ini.ReadBool('Setting', 'UnRead', False); + ThreadItem.ScrollTop := ini.ReadInteger(SECTION, 'ScrollTop', 0); + ThreadItem.AllResCount := ini.ReadInteger(SECTION, 'AllResCount', ThreadItem.Count); + ThreadItem.NewResCount := ini.ReadInteger(SECTION, 'NewResCount', 0); + ThreadItem.AgeSage := TGikoAgeSage(ini.ReadInteger(SECTION, 'AgeSage', Ord(gasNone))); + finally + ini.Free; + end; + DeleteFile(Boardpath + TmpFileList[i]); + end; + end; + finally + TmpFileList.Clear; + TmpFileList.Free; + end; +end; initialization GikoSys := TGikoSys.Create; -- 2.11.0