From bb77a76cb9f07baa3211a00d364b91d605fd5f58 Mon Sep 17 00:00:00 2001 From: h677 Date: Thu, 1 Apr 2004 14:35:36 +0000 Subject: [PATCH] =?utf8?q?=E3=83=A1=E3=83=A2=E3=83=AA=E3=83=AA=E3=83=BC?= =?utf8?q?=E3=82=AF=E5=AF=BE=E7=AD=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Giko.pas | 10 ++++ GikoSystem.pas | 168 +++++++++++++++++++++++++++++---------------------------- gikoNavi.dpr | 2 +- gikoNavi.res | Bin 4288 -> 4288 bytes 4 files changed, 97 insertions(+), 83 deletions(-) diff --git a/Giko.pas b/Giko.pas index b5d4f0a..d28336b 100644 --- a/Giko.pas +++ b/Giko.pas @@ -1723,6 +1723,16 @@ begin try TreeView.Items.BeginUpdate; for i := TreeView.Items.Count - 1 downto 0 do begin + {if TreeView.Items[i].Data <> nil then begin + if TObject(TreeView.Items[i].Data) is TBBS then + TBBS(TreeView.Items[i].Data).Free + else if TObject(TreeView.Items[i].Data) is TCategory then + TCategory(TreeView.Items[i].Data).Free + else if TObject(TreeView.Items[i].Data) is TBoard then + TBoard(TreeView.Items[i].Data).Free; + + end; + } TreeView.Items[i].Free; end; TreeView.Items.Clear; diff --git a/GikoSystem.pas b/GikoSystem.pas index b3f27d4..4bb0b21 100644 --- a/GikoSystem.pas +++ b/GikoSystem.pas @@ -507,6 +507,8 @@ var usePlugIn : Boolean; tmpStr: string; begin + if Board.IsThreadDatRead then + Exit; Board.Clear; UnRead := 0; // TmpUpdate := False; @@ -537,94 +539,95 @@ begin sl := TStringList.Create; try - if FileExists(FileName) then + if FileExists(FileName) then begin sl.LoadFromFile(FileName); - //‚Qs–Ú‚©‚çi‚Ps–ڂ̓o[ƒWƒ‡ƒ“j - for i := sl.Count - 1 downto 1 do begin - Rec := ParseIndexLine(sl[i]); - - if usePlugIn then - ThreadItem := TThreadItem.Create( - Board.BoardPlugIn, - Board.BoardPlugIn.FileName2ThreadURL( DWORD( Board ), Rec.FFileName ) ) - else - ThreadItem := TThreadItem.Create( - nil, - Get2chBoard2ThreadURL( Board, ChangeFileExt( Rec.FFileName, '' ) ) ); - - if FileList.Count <> 0 then - if FileList.Find( ThreadItem.FileName, Index ) then - //ThreadItem.IsLogFile := True; - FileList.Delete( Index ); - - ThreadItem.BeginUpdate; - ThreadItem.No := Rec.FNo; - ThreadItem.FileName := Rec.FFileName; - ThreadItem.Title := Rec.FTitle; - ThreadItem.Count := Rec.FCount; - ThreadItem.Size := Rec.FSize; -// ThreadItem.RoundNo := Rec.FRoundNo; - ThreadItem.RoundDate := Rec.FRoundDate; - ThreadItem.LastModified := Rec.FLastModified; - ThreadItem.Kokomade := Rec.FKokomade; - ThreadItem.NewReceive := Rec.FNewReceive; -// ThreadItem.Round := Rec.FRound; - ThreadItem.UnRead := Rec.FUnRead; - ThreadItem.ScrollTop := Rec.FScrollTop; - ThreadItem.AllResCount := Rec.FAllResCount; - ThreadItem.NewResCount := Rec.FNewResCount; - ThreadItem.AgeSage := Rec.FAgeSage; - ThreadItem.ParentBoard := Board; - - //„‰ñƒŠƒXƒg‚É‘¶Ý‚µ‚½‚珄‰ñƒtƒ‰ƒOƒZƒbƒg - if ThreadItem.IsLogFile then begin - idx := RoundList.Find(ThreadItem); - if idx <> -1 then begin - RoundItem := RoundList.Items[idx, grtItem]; - ThreadItem.RoundName := RoundItem.RoundName; - ThreadItem.Round := True; - end; - end; + //‚Qs–Ú‚©‚çi‚Ps–ڂ̓o[ƒWƒ‡ƒ“j + for i := sl.Count - 1 downto 1 do begin + Rec := ParseIndexLine(sl[i]); + + if usePlugIn then + ThreadItem := TThreadItem.Create( + Board.BoardPlugIn, + Board.BoardPlugIn.FileName2ThreadURL( DWORD( Board ), Rec.FFileName ) ) + else + ThreadItem := TThreadItem.Create( + nil, + Get2chBoard2ThreadURL( Board, ChangeFileExt( Rec.FFileName, '' ) ) ); + + if FileList.Count <> 0 then + if FileList.Find( ThreadItem.FileName, Index ) then + //ThreadItem.IsLogFile := True; + FileList.Delete( Index ); + + ThreadItem.BeginUpdate; + ThreadItem.No := Rec.FNo; + ThreadItem.FileName := Rec.FFileName; + ThreadItem.Title := Rec.FTitle; + ThreadItem.Count := Rec.FCount; + ThreadItem.Size := Rec.FSize; + // ThreadItem.RoundNo := Rec.FRoundNo; + ThreadItem.RoundDate := Rec.FRoundDate; + ThreadItem.LastModified := Rec.FLastModified; + ThreadItem.Kokomade := Rec.FKokomade; + ThreadItem.NewReceive := Rec.FNewReceive; + // ThreadItem.Round := Rec.FRound; + ThreadItem.UnRead := Rec.FUnRead; + ThreadItem.ScrollTop := Rec.FScrollTop; + ThreadItem.AllResCount := Rec.FAllResCount; + ThreadItem.NewResCount := Rec.FNewResCount; + ThreadItem.AgeSage := Rec.FAgeSage; + ThreadItem.ParentBoard := Board; + + //„‰ñƒŠƒXƒg‚É‘¶Ý‚µ‚½‚珄‰ñƒtƒ‰ƒOƒZƒbƒg + if ThreadItem.IsLogFile then begin + idx := RoundList.Find(ThreadItem); + if idx <> -1 then begin + RoundItem := RoundList.Items[idx, grtItem]; + ThreadItem.RoundName := RoundItem.RoundName; + ThreadItem.Round := True; + end; + end; - //‘O‰ñˆÙíI—¹Žžƒ`ƒFƒbƒN - if TmpFileList.Count <> 0 then begin - if TmpFileList.Find(ChangeFileExt(ThreadItem.FileName, '.tmp'), Index) then begin - ini := TMemIniFile.Create(ChangeFileExt(ThreadItem.GetThreadFileName, '.tmp')); - try - //ThreadItem.RoundDate := ini.ReadDateTime('Setting', 'RoundDate', ZERO_DATE); - tmpStr := ini.ReadString('Setting', 'RoundDate', DateTimeToStr(ZERO_DATE)); - ThreadItem.RoundDate := ConvertDateTimeString(tmpStr); - - //ThreadItem.LastModified := ini.ReadDateTime('Setting', 'LastModified', ZERO_DATE); - tmpStr := ini.ReadString('Setting', 'LastModified', DateTimeToStr(ZERO_DATE)); - ThreadItem.LastModified := ConvertDateTimeString(tmpStr); - - ThreadItem.Size := ini.ReadInteger('Setting', 'Size', 0); - if ThreadItem.Size = 0 then begin - ThreadItem.Size := FileSizeByName(ThreadItem.FileName) - ThreadItem.Count; + //‘O‰ñˆÙíI—¹Žžƒ`ƒFƒbƒN + if TmpFileList.Count <> 0 then begin + if TmpFileList.Find(ChangeFileExt(ThreadItem.FileName, '.tmp'), Index) then begin + ini := TMemIniFile.Create(ChangeFileExt(ThreadItem.GetThreadFileName, '.tmp')); + try + //ThreadItem.RoundDate := ini.ReadDateTime('Setting', 'RoundDate', ZERO_DATE); + tmpStr := ini.ReadString('Setting', 'RoundDate', DateTimeToStr(ZERO_DATE)); + ThreadItem.RoundDate := ConvertDateTimeString(tmpStr); + + //ThreadItem.LastModified := ini.ReadDateTime('Setting', 'LastModified', ZERO_DATE); + tmpStr := ini.ReadString('Setting', 'LastModified', DateTimeToStr(ZERO_DATE)); + ThreadItem.LastModified := ConvertDateTimeString(tmpStr); + + ThreadItem.Size := ini.ReadInteger('Setting', 'Size', 0); + if ThreadItem.Size = 0 then begin + ThreadItem.Size := FileSizeByName(ThreadItem.FileName) - ThreadItem.Count; + end; + ThreadItem.Count := ini.ReadInteger('Setting', 'Count', 0); + ThreadItem.NewReceive := ini.ReadInteger('Setting', 'NewReceive', 0); + ThreadItem.Round := ini.ReadBool('Setting', 'Round', False); + 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; - ThreadItem.Count := ini.ReadInteger('Setting', 'Count', 0); - ThreadItem.NewReceive := ini.ReadInteger('Setting', 'NewReceive', 0); - ThreadItem.Round := ini.ReadBool('Setting', 'Round', False); - 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; - TmpFileList.Delete(Index); - end; - end; + TmpFileList.Delete(Index); + end; + end; - ThreadItem.EndUpdate; - Board.Add(ThreadItem); + ThreadItem.EndUpdate; + Board.Add(ThreadItem); -// if (ThreadItem.IsLogFile) and (ThreadItem.Count > ThreadItem.Kokomade) then - if (ThreadItem.IsLogFile) and (ThreadItem.UnRead) then - Inc(UnRead); + // if (ThreadItem.IsLogFile) and (ThreadItem.Count > ThreadItem.Kokomade) then + if (ThreadItem.IsLogFile) and (ThreadItem.UnRead) then + Inc(UnRead); + end; end; if UnRead <> Board.UnRead then @@ -642,6 +645,7 @@ begin else ThreadItem := TThreadItem.Create( nil, Get2chBoard2ThreadURL( Board, ChangeFileExt( FileList[i], '' ) ) ); + ThreadItem.BeginUpdate; ThreadItem.FilePath := FileName; ThreadItem.No := Board.Count + 1; diff --git a/gikoNavi.dpr b/gikoNavi.dpr index e0ed1e7..33b35aa 100644 --- a/gikoNavi.dpr +++ b/gikoNavi.dpr @@ -3,7 +3,7 @@ program gikoNavi; {%ToDo 'gikoNavi.todo'} uses -// MemCheck in 'MemCheck.pas', {'MemCheckStackTrace'‚ððŒ‚ɒljÁB} + //MemCheck in 'MemCheck.pas', {'MemCheckStackTrace'‚ððŒ‚ɒljÁB} Windows, SysUtils, Forms, diff --git a/gikoNavi.res b/gikoNavi.res index d3bcb4ddf84412ea96d382241c8efbc4697954ab..bbf027e81d2cb379ff0a0bddc4303d0e11904df9 100644 GIT binary patch delta 28 jcmX@0ctCN(8(z-)j0`})$Z&u1SKi-@mYYBFoo569m3az* delta 28 jcmX@0ctCN(8(z+Pj0`})$Z&7+SKi-@7Mnlvoo569l~W3S -- 2.11.0