• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

ギコナビ


Commit MetaInfo

Revision5e7ef90839d42b21920ae419b19eaa880bb5621c (tree)
Time2007-08-02 00:02:43
Authorcvs2git <cvs2git>
Commitercvs2git

Log Message

This commit was manufactured by cvs2svn to create tag 'v1_57_0_719'.

Change Summary

Incremental Difference

--- a/BoardGroup.pas
+++ b/BoardGroup.pas
@@ -1787,18 +1787,7 @@ begin
17871787 Result := ZERO_DATE
17881788 else begin
17891789 // ƒƒOƒtƒ@ƒCƒ‹‚ÌŠg’£Žq‚ð‚Í‚¸‚µ‚½‚à‚Ì‚ªƒXƒŒì¬“úŽž
1790- tmp := ChangeFileExt(FFileName, '');
1791- if AnsiPos('_', tmp) <> 0 then
1792- if AnsiPos('_', tmp) > 9 then
1793- tmp := Copy(tmp, 1, AnsiPos('_', tmp)-1)
1794- else
1795- Delete(tmp, AnsiPos('_', tmp), 1);
1796-
1797- if ( Length(tmp) = 9) and ( tmp[1] = '0' ) then
1798- Insert('1', tmp, 1);
1799-
1800- unixtime := StrToInt64Def(tmp, ZERO_DATE);
1801- Result := UnixToDateTime(unixtime) + OffsetFromUTC;
1790+ Result := GikoSys.GetCreateDateFromName(FFileName);
18021791 if GikoSys.Setting.FutureThread then begin
18031792 if CompareDateTime(Result, Now) = 1 then
18041793 Result := ZERO_DATE;
--- a/Giko.pas
+++ b/Giko.pas
@@ -686,6 +686,10 @@ type
686686 procedure SameBoardThreadSubItemOnClick(Sender: TObject);
687687 //! ƒ|ƒbƒvƒAƒbƒvƒuƒ‰ƒEƒUì¬
688688 procedure CreateResPopupBrowser;
689+ //! D&D‚ðŽó‚¯Žæ‚é
690+ procedure WMDropFiles(var Msg: TWMDropFiles); Message WM_DropFiles;
691+ //! ƒtƒ@ƒCƒ‹ƒ`ƒFƒbƒN
692+ function isValidFile(FileName: String) : boolean;
689693 protected
690694 procedure CreateParams(var Params: TCreateParams); override;
691695 procedure WndProc(var Message: TMessage); override;
@@ -1312,6 +1316,8 @@ begin
13121316
13131317 //’uŠ·Ý’èƒtƒ@ƒCƒ‹‚̓ǂݍž‚Ý
13141318 ReplaceDM.LoadFromFile(GikoSys.GetReplaceFileName);
1319+ // D&D‚ðŽó‚¯Žæ‚é
1320+ DragAcceptFiles(Self.Handle, True);
13151321 end;
13161322
13171323 // CoolBar ‚̐ݒè‚ð•Ï”‚É•Û‘¶
@@ -1467,6 +1473,13 @@ begin
14671473 GikoDM.TabsOpenAction.Execute;
14681474 GikoDM.TabsOpenAction.Tag := 0;
14691475 if (GikoSys.Setting.LastCloseTabURL <> '') then begin
1476+ PostMessage( Handle, USER_DOCUMENTCOMPLETE, Integer( FActiveContent.Browser ), 0 );
1477+ if ( FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin
1478+ while (FActiveContent.Browser.ReadyState <> READYSTATE_COMPLETE) and
1479+ (FActiveContent.Browser.ReadyState <> READYSTATE_INTERACTIVE) do begin
1480+ Application.ProcessMessages;
1481+ end;
1482+ end;
14701483 item := BBSsFindThreadFromURL( GikoSys.Setting.LastCloseTabURL );
14711484 if (item <> nil) and (item.IsLogFile) then begin
14721485 OpenThreadItem(item, item.URL);
@@ -2740,7 +2753,8 @@ var
27402753 begin
27412754 Thread := inThread;
27422755 idx := BrowserTab.TabIndex;
2743- if (FActiveContent <> nil) and
2756+ if (not FStartUp) and
2757+ (FActiveContent <> nil) and
27442758 (FActiveContent.Thread <> Thread.Thread) and
27452759 (FActiveContent.Browser <> nil) and
27462760 (Assigned(FActiveContent.Browser.Document)) then begin
@@ -2777,6 +2791,12 @@ begin
27772791 ThreadTitle := Thread.Thread.Title;
27782792 ThreadPTitle := Thread.Thread.ParentBoard.Title;
27792793 //ThreadScrollTop := Thread.Thread.ScrollTop;
2794+ if Thread.Thread.IsLogFile then begin
2795+ if not FileExists(Thread.Thread.GetThreadFileName) then begin
2796+ Thread.Thread.DeleteLogFile;
2797+ end;
2798+ end;
2799+
27802800 ThreadIsLog := Thread.Thread.IsLogFile;
27812801 ThreadItem := Thread.Thread;
27822802 ThreadNewArraical := Thread.Thread.NewArrival;
@@ -6955,10 +6975,11 @@ end;
69556975
69566976 procedure TGikoForm.BrowserPanelResize(Sender: TObject);
69576977 begin
6958- if (FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin
6959- MoveWindow(FActiveContent.Browser.Handle, 0, 0, BrowserPanel.ClientWidth, BrowserPanel.ClientHeight, false);
6960- end;
6961-
6978+ if (FIsMinimize <> mtMinimizing) then begin
6979+ if (FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin
6980+ MoveWindow(FActiveContent.Browser.Handle, 0, 0, BrowserPanel.ClientWidth, BrowserPanel.ClientHeight, false);
6981+ end;
6982+ end;
69626983 end;
69636984 procedure TGikoForm.CoolBarResized(Sender: TObject; CoolBar: TCoolBar);
69646985 var
@@ -7582,6 +7603,93 @@ begin
75827603 FResPopupBrowser := TResPopupBrowser.Create(BrowserPanel);
75837604 end;
75847605 end;
7606+//! ŠO‚©‚ç‚ÌD&Dˆ—
7607+procedure TGikoForm.WMDropFiles(var Msg: TWMDropFiles);
7608+var
7609+ FileName: Array[0..MAX_PATH] of Char;
7610+ Cnt, K: Integer;
7611+ Board: TBoard;
7612+ LogFolder: String;
7613+ datList: TStringList;
7614+begin
7615+ // •\Ž¦‚µ‚Ä‚¢‚é‚̔‚̂Ƃ«ˆÈŠO‚Í‹‘”Û
7616+ if GetActiveList is TBoard then begin
7617+ Board := TBoard(GetActiveList);
7618+ if MsgBox(Handle, Board.Title
7619+ + ' ”‚ɓü‚ê‚Ä‚¢‚¢‚Å‚·‚©H', 'ƒMƒRƒiƒr', MB_YESNO or MB_ICONQUESTION) = IDYES then begin
7620+ // ”‚̎ž‚́AƒƒOƒtƒHƒ‹ƒ_‚ɃRƒs[‚µ‚Ä‚Í‚®‚ꃍƒO‘Ήž‚Æ“¯‚¶ˆ—H
7621+ datList := TStringList.Create;
7622+ try
7623+ Cnt := DragQueryFile(Msg.Drop, $FFFFFFFF, FileName, SizeOf(FileName));
7624+ for K := 0 to Cnt - 1 do begin
7625+ DragQueryFile(Msg.Drop, K, FileName, SizeOf(FileName));
7626+ {FileName‚Édrop‚³‚ꂽƒtƒ@ƒCƒ‹–¼‚ª“ü‚Á‚Ä‚¢‚é‚̂ŁA‚±‚±‚ʼn½‚ç‚©‚̏ˆ—‚ð‚·‚éB‚½‚Æ‚¦‚ÎŽŸ‚̍s}
7627+ // ƒtƒ@ƒCƒ‹‚̃`ƒFƒbƒN
7628+ if (isValidFile(FileName)) then begin
7629+ LogFolder := ExtractFilePath(Board.FilePath);
7630+ if (FileExists( LogFolder + ExtractFileName(FileName))) then begin
7631+ GikoUtil.MsgBox(Handle, LogFolder + '‚É' + ExtractFileName(FileName) + '‚ªŠù‚É‘¶Ý‚µ‚Ü‚·B', 'ƒGƒ‰[', MB_ICONSTOP or MB_OK);
7632+ end else begin
7633+ if (not DirectoryExists(LogFolder)) then begin
7634+ if (not GikoSys.ForceDirectoriesEx(LogFolder) ) then begin
7635+ GikoUtil.MsgBox(Handle, LogFolder + '‚̐¶¬‚ÉŽ¸”s‚µ‚Ü‚µ‚½B', 'ƒGƒ‰[', MB_ICONSTOP or MB_OK);
7636+ end;
7637+ end;
7638+ if (not Windows.CopyFile(FileName, PChar(LogFolder + ExtractFileName(FileName)), true)) then begin
7639+ GikoUtil.MsgBox(Handle, FileName + '‚̃Rƒs[‚ÉŽ¸”s‚µ‚Ü‚µ‚½B', 'ƒGƒ‰[', MB_ICONSTOP or MB_OK);
7640+ end else begin
7641+ datList.Add(ExtractFileName(FileName));
7642+ end;
7643+ end;
7644+ end;
7645+ end;
7646+ DragFinish(Msg.Drop);
7647+ if (datList.Count > 0) then begin
7648+ GikoSys.AddOutofIndexDat(Board, datList, False);
7649+ ShowMessage(IntToStr(datList.Count) + 'ŒÂ‚Ìdatƒtƒ@ƒCƒ‹‚ªƒRƒs[‚³‚ê‚Ü‚µ‚½B' );
7650+ if GikoForm.TreeView.Visible then
7651+ GikoForm.TreeView.Refresh;
7652+ if GikoForm.ListView.Visible then
7653+ GikoForm.ListView.Refresh;
7654+ end else begin
7655+ ShowMessage('ˆê‚‚àƒRƒs[‚³‚ê‚Ü‚¹‚ñ‚Å‚µ‚½B' );
7656+ end;
7657+ finally
7658+ datList.Free;
7659+ end;
7660+
7661+ end;
7662+ end else begin
7663+ ShowMessage('”‚ð•\Ž¦‚µ‚Ä‚­‚¾‚³‚¢B');
7664+ end;
7665+end;
7666+//! ƒtƒ@ƒCƒ‹ƒ`ƒFƒbƒN
7667+function TGikoForm.isValidFile(FileName: String) : boolean;
7668+var
7669+ dt: TDateTime;
7670+begin
7671+ Result := True;
7672+ // ‘¶Ý‚·‚é‚©AŠg’£ŽqdatAƒtƒ@ƒCƒ‹–¼
7673+ if ( not FileExists(FileName) ) then begin
7674+ Result := False;
7675+ GikoUtil.MsgBox(Handle, FileName + '‚Í‘¶Ý‚µ‚Ü‚¹‚ñB', 'ƒGƒ‰[', MB_ICONSTOP or MB_OK);
7676+ end else if (ExtractFileExt(ExtractFileName(FileName)) <> '.dat' ) then begin
7677+ Result := False;
7678+ GikoUtil.MsgBox(Handle, ExtractFileName(FileName) + '‚ÌŠg’£Žq‚ª".dat"‚Å‚ ‚è‚Ü‚¹‚ñB', 'ƒGƒ‰[', MB_ICONSTOP or MB_OK);
7679+ end else begin
7680+ // ƒƒOƒtƒ@ƒCƒ‹‚ÌŠg’£Žq‚ð‚Í‚¸‚µ‚½‚à‚Ì‚ªƒXƒŒì¬“úŽž
7681+ try
7682+ dt := GikoSys.GetCreateDateFromName(FileName);
7683+ if ((UnixToDateTime(ZERO_DATE) + OffsetFromUTC) = dt) then begin
7684+ Result := False;
7685+ GikoUtil.MsgBox(Handle, ExtractFileName(FileName) + '‚̃tƒ@ƒCƒ‹–¼‚ª•s³‚Å‚·B', 'ƒGƒ‰[', MB_ICONSTOP or MB_OK);
7686+ end;
7687+ except
7688+ Result := False;
7689+ GikoUtil.MsgBox(Handle, ExtractFileName(FileName) + '‚̃tƒ@ƒCƒ‹–¼‚ª•s³‚Å‚·B', 'ƒGƒ‰[', MB_ICONSTOP or MB_OK);
7690+ end;
7691+ end;
7692+end;
75857693
75867694 initialization
75877695 OleInitialize(nil);
--- a/GikoDataModule.pas
+++ b/GikoDataModule.pas
@@ -2261,9 +2261,11 @@ begin
22612261 if item <> nil then
22622262 GikoForm.InsertBrowserTab( item, false );
22632263 end;
2264- //Å‰‚Ì‚P–‡‚ÉÝ’è ƒAƒhƒŒƒX‚̐ݒè‚Ì‚½‚߂̃Jƒ‰ŒÄ‚Ñ
2265- if GikoForm.BrowserTab.Tabs.Count > 0 then begin
2266- GikoForm.BrowserTab.OnChange(nil);
2264+ //Å‰‚Ì‚P–‡‚ɐݒè
2265+ if (GikoSys.Setting.URLDisplay) and
2266+ (GikoForm.BrowserTab.Tabs.Count > 0) then begin
2267+ GikoForm.AddressComboBox.Text :=
2268+ TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[0]).Thread.URL;
22672269 end;
22682270 end;
22692271 finally
--- a/GikoSystem.pas
+++ b/GikoSystem.pas
@@ -116,8 +116,6 @@ type
116116 function ChooseString(const Text, Separator: string; Index: integer): string;
117117 //! ˆêŽžƒtƒ@ƒCƒ‹‚©‚ç‚Ì•œ‹Œ
118118 procedure RestoreThreadData(Board: TBoard);
119- //! ƒCƒ“ƒfƒbƒNƒX‚É‚È‚¢dati‚Í‚®‚êdatj‚̒ljÁ
120- procedure AddOutofIndexDat(Board: TBoard; DatList: TStringList);
121119 public
122120 { Public éŒ¾ }
123121 FAbon : TAbon;
@@ -129,13 +127,10 @@ type
129127 property ResRange : Longint read FResRange write FResRange;
130128 //! ƒo[ƒWƒ‡ƒ“î•ñ
131129 property Version : String read FVersion;
132-// function MsgBox(Msg: string; Title: string; Flags: Longint): integer; overload;
133-// function MsgBox(Handle: THandle; Msg: string; Title: string; Flags: Longint): integer; overload;
134130 function IsNumeric(s: string): boolean;
135131 function IsFloat(s: string): boolean;
136132 function DirectoryExistsEx(const Name: string): Boolean;
137133 function ForceDirectoriesEx(Dir: string): Boolean;
138-// function GetVersion: string;
139134
140135 function GetBoardFileName: string;
141136 function GetCustomBoardFileName: string;
@@ -257,6 +252,10 @@ type
257252 function GetOEIndentChar : string;
258253 //! ’uŠ·Ý’èƒtƒ@ƒCƒ‹Žæ“¾
259254 function GetReplaceFileName: String;
255+ //! ƒCƒ“ƒfƒbƒNƒX‚É‚È‚¢dati‚Í‚®‚êdatj‚̒ljÁ
256+ procedure AddOutofIndexDat(Board: TBoard; DatList: TStringList; AllCreate: boolean = True);
257+ //! ƒtƒ@ƒCƒ‹–¼‚©‚ç‚̃XƒŒƒbƒhì¬“ú‚̎擾
258+ function GetCreateDateFromName(FileName: String): TDateTime;
260259 end;
261260
262261 var
@@ -266,7 +265,7 @@ const
266265 ZERO_DATE: Integer = 25569;
267266 BETA_VERSION_NAME_E = 'beta';
268267 BETA_VERSION_NAME_J = 'ÊÞÀ';
269- BETA_VERSION = 56;
268+ BETA_VERSION = 57;
270269 BETA_VERSION_BUILD = ''; //!< debug”Å‚È‚Ç
271270 APP_NAME = 'gikoNavi';
272271 BE_PHP_URL = 'http://be.2ch.net/test/p.php?i=';
@@ -572,11 +571,18 @@ var
572571 usePlugIn : Boolean;
573572 islog : Boolean;
574573 urlHead: String;
574+ datFileCheck: Boolean;
575575 {*
576576 FavoThreadItem : TFavoriteThreadItem;
577577 Node: TTreeNode;
578578 *}
579+{$IFDEF DEBUG}
580+ st, rt: Cardinal;
581+{$ENDIF}
579582 begin
583+{$IFDEF DEBUG}
584+ st := GetTickCount;
585+{$ENDIF}
580586 if Board.IsThreadDatRead then
581587 Exit;
582588 Board.Clear;
@@ -592,12 +598,16 @@ begin
592598
593599 FileName := Board.GetFolderIndexFileName;
594600
595- FileList := TStringList.Create;
596- FileList.Sorted := True;
597- FileList.BeginUpdate;
598- //IsLogFile—pDATƒtƒ@ƒCƒ‹ƒŠƒXƒg
599- GetFileList(ExtractFileDir(Board.GetFolderIndexFileName), '*.dat', FileList, False);
600- FileList.EndUpdate;
601+ //
602+ datFileCheck := (Setting.CheckDatFile) or (not FileExists(FileName));
603+ if (datFileCheck) then begin
604+ FileList := TStringList.Create;
605+ FileList.Sorted := True;
606+ FileList.BeginUpdate;
607+ //IsLogFile—pDATƒtƒ@ƒCƒ‹ƒŠƒXƒg
608+ GetFileList(ExtractFileDir(Board.GetFolderIndexFileName), '*.dat', FileList, False);
609+ FileList.EndUpdate;
610+ end;
601611
602612 // d•¡‚ð–h‚®
603613 Board.BeginUpdate;
@@ -609,7 +619,11 @@ begin
609619 //‚Qs–Ú‚©‚çi‚Ps–ڂ̓o[ƒWƒ‡ƒ“j
610620 for i := sl.Count - 1 downto 1 do begin
611621 Rec := ParseIndexLine(sl[i]);
612- islog := FileList.Find( Rec.FFileName, Index );
622+ if (datFileCheck) then begin
623+ islog := FileList.Find( Rec.FFileName, Index );
624+ end else begin
625+ islog := (Rec.FSize <> 0) and (Rec.FCount <> 0);
626+ end;
613627 if usePlugIn then
614628 ThreadItem := TThreadItem.Create(
615629 Board.BoardPlugIn,
@@ -636,7 +650,7 @@ begin
636650 end;
637651
638652 ThreadItem.BeginUpdate;
639- if islog then
653+ if (datFileCheck) and (islog) then
640654 FileList.Delete( Index );
641655
642656 ThreadItem.No := Rec.FNo;
@@ -671,50 +685,75 @@ begin
671685 if UnRead <> Board.UnRead then
672686 Board.UnRead := UnRead;
673687
674- //ƒCƒ“ƒfƒbƒNƒX‚É–³‚©‚Á‚½ƒƒO‚ð’ljÁi•…‚êƒCƒ“ƒfƒbƒNƒX‘Ήžj
675- AddOutofIndexDat(Board, FileList);
688+ if (datFileCheck) then begin
689+ //ƒCƒ“ƒfƒbƒNƒX‚É–³‚©‚Á‚½ƒƒO‚ð’ljÁi•…‚êƒCƒ“ƒfƒbƒNƒX‘Ήžj
690+ AddOutofIndexDat(Board, FileList);
691+ end;
676692 Board.EndUpdate;
677693
678694 //‘O‰ñˆÙíI—¹Žžƒ`ƒFƒbƒN
679695 RestoreThreadData( Board );
680696 finally
681697 sl.Free;
682- FileList.Free;
698+ if (datFileCheck) then begin
699+ FileList.Free;
700+ end;
683701 Board.Sorted := False;
684702 end;
685703 Board.IsThreadDatRead := True;
704+{$IFDEF DEBUG}
705+ rt := GetTickCount - st;
706+ Writeln('Read Done.' + IntToStr(rt) + ' ms');
707+{$ENDIF}
686708 end;
687709 {!
688710 \brief ƒCƒ“ƒfƒbƒNƒX‚É‚È‚¢dati‚Í‚®‚êdatj‚̒ljÁ
689711 \param Board ’ljÁ‚·‚é”Â
690712 \param DatList datƒtƒ@ƒCƒ‹–¼
691713 }
692-procedure TGikoSys.AddOutofIndexDat(Board: TBoard; DatList: TStringList);
714+procedure TGikoSys.AddOutofIndexDat(Board: TBoard; DatList: TStringList; AllCreate: Boolean = True);
693715 var
694716 i : Integer;
695717 Boardpath,FileName : String;
696718 ResRec: TResRec;
697719 ThreadItem: TThreadItem;
720+ create: Boolean;
698721 begin
722+ create := False;
699723 Boardpath := ExtractFilePath(Board.GetFolderIndexFileName);
700724 //ƒCƒ“ƒfƒbƒNƒX‚É–³‚©‚Á‚½ƒƒO‚ð’ljÁi•…‚êƒCƒ“ƒfƒbƒNƒX‘Ήžj
701725 for i := 0 to DatList.Count - 1 do begin
702726 FileName := Boardpath + DatList[i];
703-
704- //ResRec := DivideStrLine(ReadThreadFile(FileName, 1));
705- if Board.IsBoardPlugInAvailable then begin
706- ThreadItem := TThreadItem.Create(
707- Board.BoardPlugIn,
708- Board,
709- Board.BoardPlugIn.FileName2ThreadURL( DWORD( Board ), DatList[i] ) );
710- THTMLCreate.DivideStrLine(Board.BoardPlugIn.GetDat( DWORD( ThreadItem ), 1 ), @ResRec);
711- end else begin
712- ThreadItem := TThreadItem.Create(
713- nil,
714- Board,
715- Get2chBoard2ThreadURL( Board, ChangeFileExt( DatList[i], '' ) ) );
716- THTMLCreate.DivideStrLine(ReadThreadFile(FileName, 1), @ResRec);
727+ ThreadItem := nil;
728+ if (not AllCreate) then begin
729+ create := False;
730+ ThreadItem := Board.FindThreadFromFileName(DatList[i]);
731+ if (ThreadItem = nil) then begin
732+ create := True;
733+ end else begin
734+ if Board.IsBoardPlugInAvailable then begin
735+ THTMLCreate.DivideStrLine(Board.BoardPlugIn.GetDat( DWORD( ThreadItem ), 1 ), @ResRec);
736+ end else begin
737+ THTMLCreate.DivideStrLine(ReadThreadFile(FileName, 1), @ResRec);
738+ end;
739+ end;
740+ end;
741+ if (ThreadItem = nil) then begin
742+ if Board.IsBoardPlugInAvailable then begin
743+ ThreadItem := TThreadItem.Create(
744+ Board.BoardPlugIn,
745+ Board,
746+ Board.BoardPlugIn.FileName2ThreadURL( DWORD( Board ), DatList[i] ) );
747+ THTMLCreate.DivideStrLine(Board.BoardPlugIn.GetDat( DWORD( ThreadItem ), 1 ), @ResRec);
748+ end else begin
749+ ThreadItem := TThreadItem.Create(
750+ nil,
751+ Board,
752+ Get2chBoard2ThreadURL( Board, ChangeFileExt( DatList[i], '' ) ) );
753+ THTMLCreate.DivideStrLine(ReadThreadFile(FileName, 1), @ResRec);
754+ end;
717755 end;
756+
718757
719758 ThreadItem.BeginUpdate;
720759 ThreadItem.FileName := DatList[i];
@@ -736,7 +775,9 @@ begin
736775 ThreadItem.ScrollTop := 0;
737776 ThreadItem.AgeSage := gasNone;
738777 ThreadItem.EndUpdate;
739- Board.Add(ThreadItem);
778+ if (AllCreate) or (create) then begin
779+ Board.Add(ThreadItem);
780+ end;
740781 end;
741782 end;
742783 {!
@@ -3309,7 +3350,8 @@ begin
33093350 ThreadItem.NewReceive := ini.ReadInteger(SECTION, 'NewReceive', 0);
33103351
33113352 ThreadItem.Size := ini.ReadInteger(SECTION, 'Size', 0);
3312- if(ThreadItem.Size = 0) and (FileExists(ThreadItem.GetThreadFileName)) then begin
3353+ ThreadItem.IsLogFile := FileExists(ThreadItem.GetThreadFileName);
3354+ if(ThreadItem.Size = 0) and (ThreadItem.IsLogFile) then begin
33133355 try
33143356 ThreadItem.Size := GetFileSize(ThreadItem.GetThreadFileName) - ThreadItem.Count;
33153357 except
@@ -3399,6 +3441,26 @@ function TGikoSys.GetReplaceFileName: String;
33993441 begin
34003442 Result := Setting.GetReplaceFileName;
34013443 end;
3444+//! ƒtƒ@ƒCƒ‹–¼‚©‚ç‚̃XƒŒƒbƒhì¬“ú‚̎擾
3445+function TGikoSys.GetCreateDateFromName(FileName: String): TDateTime;
3446+var
3447+ tmp : String;
3448+ unixtime: Int64;
3449+begin
3450+ // ƒƒOƒtƒ@ƒCƒ‹‚ÌŠg’£Žq‚ð‚Í‚¸‚µ‚½‚à‚Ì‚ªƒXƒŒì¬“úŽž
3451+ tmp := ChangeFileExt(FileName, '');
3452+ if AnsiPos('_', tmp) <> 0 then
3453+ if AnsiPos('_', tmp) > 9 then
3454+ tmp := Copy(tmp, 1, AnsiPos('_', tmp)-1)
3455+ else
3456+ Delete(tmp, AnsiPos('_', tmp), 1);
3457+
3458+ if ( Length(tmp) = 9) and ( tmp[1] = '0' ) then
3459+ Insert('1', tmp, 1);
3460+
3461+ unixtime := StrToInt64Def(tmp, ZERO_DATE);
3462+ Result := UnixToDateTime(unixtime) + OffsetFromUTC;
3463+end;
34023464
34033465 initialization
34043466 GikoSys := TGikoSys.Create;
--- a/KuroutSetting.dfm
+++ b/KuroutSetting.dfm
@@ -21,8 +21,8 @@ object KuroutOption: TKuroutOption
2121 Top = 0
2222 Width = 517
2323 Height = 393
24- ActivePage = KakikomiTabSheet
25- TabIndex = 2
24+ ActivePage = TabSheet2
25+ TabIndex = 3
2626 TabOrder = 0
2727 object TabSheet1: TTabSheet
2828 Caption = #35443#32048#35373#23450#65297
@@ -562,6 +562,22 @@ object KuroutOption: TKuroutOption
562562 TabOrder = 1
563563 end
564564 end
565+ object LogGroupBox: TGroupBox
566+ Left = 16
567+ Top = 160
568+ Width = 465
569+ Height = 65
570+ Caption = #12525#12464
571+ TabOrder = 1
572+ object CheckDatFileCheckBox: TCheckBox
573+ Left = 22
574+ Top = 14
575+ Width = 369
576+ Height = 17
577+ Caption = #12473#12524#12483#12489#19968#35239#65288'Folder.idx'#65289#35501#12415#36796#12415#26178#12395'dat'#12501#12449#12452#12523#12434#12481#12455#12483#12463#12377#12427#12290
578+ TabOrder = 0
579+ end
580+ end
565581 end
566582 end
567583 object OkBotton: TButton
--- a/KuroutSetting.pas
+++ b/KuroutSetting.pas
@@ -81,6 +81,8 @@ type
8181 Label14: TLabel;
8282 ExtListLabeledEdit: TLabeledEdit;
8383 Label15: TLabel;
84+ LogGroupBox: TGroupBox;
85+ CheckDatFileCheckBox: TCheckBox;
8486 procedure OkBottonClick(Sender: TObject);
8587 procedure FormCreate(Sender: TObject);
8688 procedure CDeleteButtonClick(Sender: TObject);
@@ -156,6 +158,8 @@ begin
156158 ReplaceDatCheckBox.Checked := GikoSys.Setting.ReplaceDat;
157159 SentIniFileSizeUpDown.Position := GikoSys.Setting.SentIniFileSize;
158160 ExtListLabeledEdit.Text := GikoSys.Setting.ExtList;
161+ // Folder.idx“ǂݍž‚ÝŽždatƒ`ƒFƒbƒN
162+ CheckDatFileCheckBox.Checked := GikoSys.Setting.CheckDatFile;
159163 end;
160164
161165 procedure TKuroutOption.SaveSetting;
@@ -198,6 +202,8 @@ begin
198202 GikoSys.Setting.ReplaceDat := ReplaceDatCheckBox.Checked;
199203 GikoSys.Setting.SentIniFileSize := SentIniFileSizeUpDown.Position;
200204 GikoSys.Setting.ExtList := ExtListLabeledEdit.Text;
205+ // Folder.idx“ǂݍž‚ÝŽždatƒ`ƒFƒbƒN
206+ GikoSys.Setting.CheckDatFile := CheckDatFileCheckBox.Checked;
201207 end;
202208
203209 procedure TKuroutOption.RecvBufferSizeExit(Sender: TObject);
--- a/Setting.pas
+++ b/Setting.pas
@@ -450,6 +450,8 @@ type
450450 FExtList: String;
451451 //! SkinŠÖ˜A
452452 FSkinFiles: TSkinFiles;
453+ //! indexƒtƒ@ƒCƒ‹‚ð“Ç‚ÝŽž‚Édat‚ðŒŸõ‚·‚é
454+ FCheckDatFile: Boolean;
453455 function GetMainCoolSet(Index: Integer): TCoolSet;
454456 function GetBoardCoolSet(Index: Integer): TCoolSet;
455457 function GetBrowserCoolSet(Index: Integer): TCoolSet;
@@ -807,7 +809,8 @@ type
807809 property ExtList: String read FExtList write FExtList;
808810 //! Skinƒtƒ@ƒCƒ‹ŠÇ—
809811 property SkinFiles: TSkinFiles read FSkinFiles;
810-
812+ //! ƒCƒ“ƒfƒbƒNƒX“ǂݍž‚ÝŽždatƒtƒ@ƒCƒ‹ƒ`ƒFƒbƒN
813+ property CheckDatFile: Boolean read FCheckDatFile write FCheckDatFile;
811814 end;
812815
813816
@@ -1293,6 +1296,9 @@ begin
12931296
12941297 FSentIniFileSize := ini.ReadInteger('Function', 'SentIniFileSize', 3);
12951298 FExtList := ini.ReadString('Function', 'ExtList', '*.gif;*.jpg;*.jpeg;*.png;*.zip;*.rar');
1299+
1300+ FCheckDatFile := ini.ReadBool('ThreadList', 'CheckDatFile', True);
1301+
12961302 ini.UpdateFile;
12971303 finally
12981304 ini.Free;
@@ -1675,6 +1681,7 @@ begin
16751681 ini.WriteBool('Thread', 'ReplaceDat', FReplaceDat);
16761682 ini.WriteInteger('Function', 'SentIniFileSize', FSentIniFileSize);
16771683 ini.WriteString('Function', 'ExtList', FExtList);
1684+ ini.WriteBool('ThreadList', 'CheckDatFile', FCheckDatFile);
16781685 ini.UpdateFile;
16791686 finally
16801687 ini.Free;
Binary files a/gikoNavi.res and b/gikoNavi.res differ
--- a/readme/gikoSetup.iss
+++ b/readme/gikoSetup.iss
@@ -10,11 +10,11 @@ VersionInfoDescription=
1010 DefaultGroupName=ƒMƒRƒiƒr
1111 ; Ž©•ª‚̊‹«‚ɍ‡‚킹‚Ä‚­‚¾‚³‚¢
1212 SourceDir=G:\Release
13-OutputDir=G:\Output
13+OutputDir=G:\InnoSetup\Output
1414 SetupIconFile="G:\gikoNaviSFX_102\MainIcon.ico"
1515 ; ƒMƒRƒiƒr‚̃o[ƒWƒ‡ƒ“‚É‚ ‚킹‚Ä‚­‚¾‚³‚¢
16-VersionInfoVersion=1.56.0.714
17-OutputBaseFilename=gikoNavi_1.56.0.714_2_setup
16+VersionInfoVersion=1.56.1.716
17+OutputBaseFilename=gikoNavi_b56_setup
1818
1919
2020 [Tasks]
@@ -90,7 +90,7 @@ begin
9090 begin
9191 DelTree(path, True, True, True);
9292 end;
93-
93+
9494 path := ExpandConstant('{app}') + '\config';
9595 if MsgBox(path + 'ƒtƒHƒ‹ƒ_ˆÈ‰º‚ðŠ®‘S‚ɏÁ‹Ž‚µ‚Ä‚æ‚낵‚¢‚Å‚µ‚傤‚©H', mbConfirmation, MB_YESNO) = IDYES then
9696 begin
--- a/readme/readme.txt
+++ b/readme/readme.txt
@@ -1,4 +1,4 @@
1-¡ƒMƒRƒiƒr Version1.00 ÊÞÀ56 Readme.txt
1+¡ƒMƒRƒiƒr Version1.00 ÊÞÀ57 Readme.txt
22
33
44 ------------------------------
@@ -108,6 +108,9 @@ LICENSE
108108 ------------------------------
109109 —š—ð
110110 ------------------------------
111+2007/XX/XX
112+ Version ÊÞÀ57
113+
111114 2007/08/05
112115 Version ÊÞÀ56
113116 @ƒŒƒXƒ|ƒbƒvƒAƒbƒv‚Ì‘½’i‘Ήž
--- a/res/default/Samba.default
+++ b/res/default/Samba.default
@@ -1,44 +1,36 @@
11 [Setting]
2-@ascii2d=30
3-@chiri=30
4-@gline=30
52 @newsplus=120
6-@operate=30
7-@tv=30
8-aa6=30
3+@skate=60
94 academy6=30
10-anime2=45
11-book4=30
12-bubble5=30
5+anime2=60
6+bubble6=30
137 etc6=30
148 ex20=30
159 ex21=30
16-ex22=30
17-food7=30
10+ex23=20
11+food8=30
1812 game11=30
1913 game12=30
2014 hobby9=30
21-human6=30
15+human7=30
2216 life8=30
2317 live23=10
2418 live24=10
2519 live25=10
26-love5=30
27-money5=30
20+love6=30
21+money6=30
2822 music8=30
2923 news21=30
3024 news22=30
31-off4=30
32-pc9=30
25+news23=128
3326 pc11=30
3427 qb5=30
35-school6=30
28+school7=30
3629 science6=30
37-sports10=60
30+sports11=60
3831 tmp6=45
39-travel3=30
4032 tv11=60
41-wwwww=20
33+wwwww=15
4234
4335 idol=30
4436 pie=30