OSDN Git Service

1.50.0.600の変更分をマージ
authorh677 <h677>
Sat, 23 Jul 2005 11:49:35 +0000 (11:49 +0000)
committerh677 <h677>
Sat, 23 Jul 2005 11:49:35 +0000 (11:49 +0000)
BoardGroup.pas
Editor.dfm
Editor.pas
Giko.pas
GikoSystem.pas
NewBoard.dfm
NewBoard.pas
gikoNavi.res

index 9997559..45156ca 100644 (file)
@@ -689,16 +689,6 @@ end;
 
 procedure TCategory.Delete(index: integer);
 begin
-       {if (Items[index] <> nil) then begin
-               try
-                       if TBoard(Items[index]).Multiplicity = 0 then
-                               TBoard(Items[index]).Free
-                       else
-                               TBoard(Items[index]).Multiplicity := TBoard(Items[index]).Multiplicity - 1;
-               except
-               end;
-       end;
-       }
     inherited Delete(index);
 end;
 
@@ -827,6 +817,7 @@ begin
        FLastGetTime := ZERO_DATE;
        FIsThreadDatRead := False;
        FUnRead := 0;
+       FMultiplicity := 0;
 //     FListStyle := vsReport;
 //     FItemNoVisible := True;
 
index 7d7d426..e0dd3ec 100644 (file)
@@ -106,7 +106,7 @@ object EditorForm: TEditorForm
           Width = 149
           Height = 20
           DropDownCount = 20
-          ItemHeight = 12
+          ItemHeight = 0
           TabOrder = 0
         end
         object MailComboBox: TComboBox
@@ -115,7 +115,7 @@ object EditorForm: TEditorForm
           Width = 149
           Height = 20
           DropDownCount = 20
-          ItemHeight = 12
+          ItemHeight = 0
           TabOrder = 1
           OnChange = MailComboBoxChange
         end
@@ -1555,7 +1555,8 @@ object EditorForm: TEditorForm
     Top = 124
   end
   object IdAntiFreeze: TIdAntiFreeze
-    IdleTimeOut = 50
+    Active = False
+    IdleTimeOut = 100
     Left = 168
     Top = 124
   end
index 46e6f09..35e96ce 100644 (file)
@@ -205,11 +205,24 @@ type
                procedure SaveSendFile;
                procedure SetContent(Content: string; ABrowser: TWebBrowser);
                function GetResultType(ResponseText: string): TGikoResultType;
-               procedure ReadSambaTime(const AHost: string);
-               procedure WriteSambaTime(const AHost: string; ATime: TDateTime);
-               function ReadSettingTime(const AHost: string): Integer;
-               function CheckSambaTime(const AHost: string; ATime: TDateTime): Boolean;
-                               procedure SetSamba24(AURL: string);
+
+               procedure ReadSambaTime(const AHost: string); overload;
+               procedure WriteSambaTime(const AHost: string; ATime: TDateTime); overload;
+               function ReadSettingTime(const AHost: string): Integer; overload;
+               function CheckSambaTime(const AHost: string; ATime: TDateTime): Boolean; overload;
+               procedure SetSamba24(AURL: string); overload;
+
+               //Samba\82Ì\8e\9e\8aÔ\82ð\93Ç\82Ý\8d\9e\82Þ
+               procedure ReadSambaTime(); overload;
+               //Samba\82É\8e\9e\8aÔ\82ð\8f\91\82«\8d\9e\82Þ
+               procedure WriteSambaTime(ATime: TDateTime); overload;
+               //Samba\82Ì\90Ý\92è\92l\82ð\93Ç\82Ý\8d\9e\82Þ
+               function ReadSettingTime(): Integer ; overload;
+               //Samba\82É\88ø\82Á\82©\82©\82é\82©\8c\9f\8d¸\82·\82é
+               function CheckSambaTime(ATime: TDateTime): Boolean; overload;
+               //Samba\82Ì\90Ý\92è\92l\82ð\8f\91\82«\8d\9e\82Þ
+               procedure SetSamba24(); overload;
+
                /// \88ø\97p\95\84\82Ì\8eæ\93¾
                function GetOEIndentChar : string;
                /// \96{\95\82Ì\8eæ\93¾
@@ -858,7 +871,12 @@ begin
                        FDebugStrReceive := '';
                        FDebugStrSend := '';
                        GetSendData(Source);
-                       Indy.Post(URL, Source, TextStream);
+                       IdAntiFreeze.Active := True;
+                       try
+                               Indy.Post(URL, Source, TextStream);
+                       finally
+                               IdAntiFreeze.Active := False;
+                       end;
                        ResponseText := TextStream.DataString;
 
                        ResultType := GetResultType(ResponseText);
@@ -1729,7 +1747,12 @@ begin
        try
                StatusBar.Panels[0].Text := 'SETTING.TXT\83_\83E\83\93\83\8d\81[\83h\92\86';
                try
-                       settingBody.Text := Indy.Get(URL);
+                       IdAntiFreeze.Active := True;
+                       try
+                               settingBody.Text := Indy.Get(URL);
+                       finally
+                               IdAntiFreeze.Active := False;
+                       end;
                        if( Indy.ResponseCode = 200 ) then begin
                                settingBody.SaveToFile(tmpBoard.GetSETTINGTXTFileName);
                                tmpBoard.SETTINGTXTTime := Indy.Response.LastModified;
@@ -1829,7 +1852,12 @@ begin
                        StatusBar.Panels[0].Text := '\94Â\83g\83b\83v\89æ\91\9c\83_\83E\83\93\83\8d\81[\83h\92\86';
                        Screen.Cursor := crHourGlass;
                        try
-                               Indy.Get(tmpBoard.TitlePictureURL, memStream);
+                               IdAntiFreeze.Active := True;
+                               try
+                                       Indy.Get(tmpBoard.TitlePictureURL, memStream);
+                               finally
+                                       IdAntiFreeze.Active := False;
+                               end;
                                if Indy.ResponseCode = 200 then begin
                                        memStream.SaveToFile(tmpBoard.GetTitlePictureFileName);
                                        ShowTitlePicture();
@@ -1909,7 +1937,12 @@ begin
        try
                StatusBar.Panels[0].Text := '\83\8d\81[\83J\83\8b\83\8b\81[\83\8b(head.txt)\83_\83E\83\93\83\8d\81[\83h\92\86';
                try
-                       settingBody.Text := Indy.Get(URL);
+                       IdAntiFreeze.Active := True;
+                       try
+                               settingBody.Text := Indy.Get(URL);
+                       finally
+                               IdAntiFreeze.Active := False;
+                       end;
                        if( Indy.ResponseCode = 200 ) then begin
                                settingBody.Insert(0, '<HTML lang="ja"><HEAD>');
                                settingBody.Insert(1, '<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">');
@@ -2112,4 +2145,101 @@ begin
        end;
 end;
 
+//Samba\82Ì\8e\9e\8aÔ\82ð\93Ç\82Ý\8d\9e\82Þ
+procedure TEditorForm.ReadSambaTime();
+var
+       ini :TMemIniFile;
+       skey: String;
+       board: TBoard;
+       tmp: string;
+begin
+       Timer1.Enabled := false; //\8co\89ß\95b\90\94\95\\8e¦Timer\82ðOff\82É\82·\82é\81i\82±\82ê\82ªON\82Ì\82Æ\82«Samba24\91Î\8dôOn\81j
+       ini := TMemIniFile.Create(GikoSys.GetSambaFileName);
+       try
+                //\95\8e\9a\97ñ\82Å\93Ç\82Ý\8eæ\82Á\82Ä\81A\95Ï\8a·\8aÖ\90\94\82ÅTDateTime\82Ö
+                if( FThreadItem <> nil ) then
+                       board := FThreadItem.ParentBoard
+                else
+                       board := FBoard;
+
+                if (board <> nil) then begin
+                       //BBSID\82Æ\83z\83X\83g\96¼\82ª\88ê\92v\82µ\82Ä\82¢\82½\82ç BBSID@\83z\83X\83g\96¼
+                       if( board.BBSID = FHost ) then
+                               skey := board.BBSID + '@' + FHost
+                       else
+                               skey := board.BBSID;
+
+                       tmp := ini.ReadString('Send', skey, DateTimeToStr(ZERO_DATE));
+
+                       //BBSID\82Ì\83L\81[\82ª\96³\82¢\82È\82çFHost\82É\90Ø\82è\91Ö\82¦\82Ä\82Ý\82é
+                       if (tmp = DateTimeToStr(ZERO_DATE)) then begin
+                               tmp := ini.ReadString('Send', FHost, DateTimeToStr(ZERO_DATE));
+                       end;
+                       FSambaTime := ConvertDateTimeString(tmp);
+                end;
+       finally
+               ini.Free;
+       end;
+       FNow := Now();   //\8c»\8dÝ\8e\9e\8aÔ\82ð\8eæ\93¾\81iTimer\95\\8e¦\97p\82Å\81ACheck\82·\82é\82Æ\82«\82Í\8dÄ\82ÑNow()\82ð\8cÄ\82Ô\81j
+       Timer1.Enabled := true; //\8co\89ß\95b\90\94\95\\8e¦Timer\82ðOn\82É\82·\82é\81i\82±\82ê\82ªON\82Ì\82Æ\82«Samba24\91Î\8dôOn\81j
+end;
+
+//Samba\82É\8e\9e\8aÔ\82ð\8f\91\82«\8d\9e\82Þ
+procedure TEditorForm.WriteSambaTime(ATime: TDateTime);
+var
+       ini :TMemIniFile;
+begin
+       ini := TMemIniFile.Create(GikoSys.GetSambaFileName);
+       try
+//             ini.WriteDateTime('Send', AHost, ATime);
+               ini.UpdateFile;
+       finally
+               ini.Free;
+       end;
+end;
+//Samba\82Ì\90Ý\92è\92l\82ð\93Ç\82Ý\8d\9e\82Þ
+function TEditorForm.ReadSettingTime(): Integer ;
+var
+       ini :TMemIniFile;
+       skey: String;
+       board: TBoard;
+begin
+       ini := TMemIniFile.Create(GikoSys.GetSambaFileName);
+       try
+                if( FThreadItem <> nil ) then
+                       board := FThreadItem.ParentBoard
+                else
+                       board := FBoard;
+
+                if (board <> nil) then begin
+                       //BBSID\82Æ\83z\83X\83g\96¼\82ª\88ê\92v\82µ\82Ä\82¢\82½\82ç BBSID@\83z\83X\83g\96¼
+                       if( board.BBSID = FHost ) then
+                               skey := board.BBSID + '@' + FHost
+                       else
+                               skey := board.BBSID;
+
+                       Result := ini.ReadInteger('Setting', skey, -1);
+                       //BBSID\82Ì\83L\81[\82ª\96³\82¢\82È\82çFHost\82ð\8eg\82¤
+                       if( Result = -1 ) then
+                               Result := ini.ReadInteger('Setting', FHost, -1);
+
+                       //\8bK\92è\92l\82ª\90Ý\92è\82³\82ê\82Ä\82¢\82È\82¢\82Æ\82«\82Í\81A\83t\83@\83C\83\8b\82É\8f\91\82«\82½\82·\81B
+                       if Result = -1 then begin
+                               ini.WriteInteger('Setting', FHost, 0);
+                               ini.UpdateFile;
+                       end;
+                end;
+       finally
+               ini.Free;
+       end;
+end;
+//Samba\82É\88ø\82Á\82©\82©\82é\82©\8c\9f\8d¸\82·\82é
+function TEditorForm.CheckSambaTime(ATime: TDateTime): Boolean;
+begin
+end;
+//Samba\82Ì\90Ý\92è\92l\82ð\8f\91\82«\8d\9e\82Þ
+procedure TEditorForm.SetSamba24();
+begin
+end;
+
 end.
index b4ba71c..52540e3 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -4754,24 +4754,7 @@ begin
        if TObject(ListView.Selected.Data) is TCategory then begin
                SelectTreeNode(ListView.Selected.Data, True);
        end else if TObject(ListView.Selected.Data) is TBoard then begin
-               if TBoard(ListView.Selected.Data).Multiplicity = 0 then
-                       SelectTreeNode(ListView.Selected.Data, True)
-               else begin
-                       cNode := TreeView.Selected;
-                       if TObject(cNode.Data) is TCategory then begin
-                               bNode := cNode.getFirstChild;
-                               while bNode <> nil do begin
-                                       if TObject(bNode.Data) is TBoard then begin
-                                               if TBoard(bNode.Data) = TBoard(ListView.Selected.Data) then begin
-                                                       bNode.Selected := true;
-                                                       TreeClick(bNode);
-                                                       break;
-                                               end;
-                                       end;
-                                       bNode := bNode.getNextSibling;
-                               end;
-                       end;
-               end;
+               SelectTreeNode(ListView.Selected.Data, True)
        end else if TObject(ListView.Selected.Data) is TThreadItem then begin
                Application.ProcessMessages;
                ThreadItem := TThreadItem(ListView.Selected.Data);
index c26fdc9..944d6bb 100644 (file)
@@ -3824,13 +3824,12 @@ begin
                                                        end;
                                                end;
 
-                                               if (Board.No = 0) then begin
+                                               if (Board.Multiplicity = 0) then begin
                                                        Board.BeginUpdate;
                                                        Board.No := j + 1;
+                            Board.Multiplicity := 1;
                                                        Board.Title := BoardList[j];
                                                        Board.RoundDate := ZERO_DATE;
-
-                                                       Board.Multiplicity := 0;
                                                        Board.LoadSettings;
                                                        Board.EndUpdate;
                                                end else begin
@@ -4223,6 +4222,7 @@ begin
                end;
        end;
 end;
+
 //Plugin\82Ì\8fî\95ñ\82Ì\8eæ\93¾
 //Load\82³\82ê\82½\91S\82Ä\82Ì\83v\83\89\83O\83C\83\93\82Ì\83o\81[\83W\83\87\83\93\8fî\95ñ\82ð\95Ô\82·
 //1\8ds1plugin
index e3c3778..262909c 100644 (file)
@@ -109,6 +109,7 @@ object NewBoardDialog: TNewBoardDialog
     Top = 4
   end
   object IdAntiFreeze: TIdAntiFreeze
+    Active = False
     IdleTimeOut = 20
     Left = 428
     Top = 4
index 684dcc0..0a23940 100644 (file)
@@ -146,9 +146,14 @@ begin
                try
                        MessageMemo.Lines.Add('\88È\89º\82Ì\8fê\8f\8a\82©\82ç\8eæ\93¾\82µ\82Ü\82·');
                        //MessageMemo.Lines.Add(GikoSys.Setting.BoardURL2ch);
-            MessageMemo.Lines.Add(URL);
+                       MessageMemo.Lines.Add(URL);
                        MessageMemo.Lines.Add('\83_\83E\83\93\83\8d\81[\83h\82ð\8aJ\8en\82µ\82Ü\82·');
-                       Indy.Get(URL, Stream);
+                       IdAntiFreeze.Active := True;
+                       try
+                               Indy.Get(URL, Stream);
+                       finally
+                               IdAntiFreeze.Active := False;
+                       end;
                        Result.FContent := GikoSys.GzipDecompress(Stream, Indy.Response.ContentEncoding);
                        MessageMemo.Lines.Add('\83_\83E\83\93\83\8d\81[\83h\82ª\8a®\97¹\82µ\82Ü\82µ\82½');
                except
index 4f2dd4d..0bc197f 100644 (file)
Binary files a/gikoNavi.res and b/gikoNavi.res differ