Develop and Download Open Source Software

Browse CVS Repository

Annotation of /gikonavigoeson/gikonavi/SambaTimer.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (hide annotations) (download) (as text)
Mon Aug 14 15:10:06 2006 UTC (17 years, 8 months ago) by h677
Branch: MAIN
CVS Tags: v1_59_0_771, v1_59_0_770, v1_59_0_773, v1_59_0_772, v1_59_0_775, v1_59_0_774, v1_59_0_777, v1_59_0_776, v1_56_0_715, v1_59_0_778, v1_63_1_819, v1_57_0_737, v1_62_0_812, v1_57_0_735, v1_57_0_734, v1_57_0_733, v1_57_0_732, v1_57_0_731, v1_57_0_730, v1_57_0_739, v1_57_0_738, v1_59_1_765, v1_60_0_788, v1_60_0_789, v1_58_0_748, v1_58_0_745, v1_60_0_781, v1_60_0_782, v1_58_0_746, v1_60_0_784, v1_60_0_786, v1_60_0_787, v1_56_0_707, v1_59_0_767, v1_56_0_705, v1_56_0_704, v1_56_0_703, v1_56_0_702, v1_56_0_701, v1_56_0_700, v1_59_1_778, v1_57_0_723, v1_59_0_768, v1_59_0_769, v1_57_0_725, v1_57_0_726, v1_57_0_727, v1_57_0_720, v1_57_0_722, v1_57_1_744, v1_57_0_728, v1_57_0_729, v1_57_0_736, v1_58_0_752, v1_58_0_750, v1_58_0_751, v1_58_0_756, v1_58_0_757, v1_58_0_754, v1_58_0_755, v1_58_0_759, v1_57_0_719, v1_57_0_718, v1_56_0_716, v1_54_0_687, v1_56_0_710, v1_56_0_711, v1_56_1_717, v1_56_1_716, v1_54_0_688, v1_54_0_689, v1_54_0_684, v1_54_0_685, v1_61_0_796, v1_61_0_797, v1_61_0_795, v1_61_0_798, v1_61_0_799, v1_55_0_692, v1_55_0_693, v1_55_0_696, v1_55_0_697, v1_55_0_694, v1_55_0_695, v1_54_1_691, v1_56_2_724, v1_56_2_722, v1_55_1_697, v1_56_0_714, v1_63_0_818, v1_63_0_817, v1_63_0_816, v1_63_0_815, v1_54_0_686, v1_54_0_680, v1_54_0_681, v1_62_0_805, v1_62_0_804, v1_62_0_807, v1_62_0_806, v1_56_0_712, v1_62_0_803, v1_62_0_802, v1_56_0_713, v1_62_0_809, v1_54_0_682, v1_56_0_721, v1_54_0_683, v1_60_0_780, v1_60_0_779, v1_62_0_810, v1_62_0_811, v1_58_0_747, v1_60_0_783, v1_54_0_679, v1_59_2_785, marged_bRESPOPUP, v1_56_0_706, v1_60_1_793, v1_54_0_690, v1_58_0_763, v1_58_0_762, v1_58_0_761, v1_58_0_760, v1_62_1_813, v1_57_2_749, v1_57_0_742, v1_57_0_743, v1_57_0_740, v1_57_0_741, v1_56_0_709, v1_57_0_744, v1_56_0_708, v1_61_0_800, v1_56_0_699, v1_56_0_698, v1_60_0_793, v1_60_0_792, v1_60_0_791, v1_60_0_790, v1_60_2_794, v1_61_1_801, HEAD
Branch point for: Bb57, Bb56, Bb55, Bb62, Bb63, Bb60, Bb61, Bb59, Bb58, bRESPOPUP, bListSU, Bb54
Changes since 1.2: +1 -1 lines
File MIME type: text/x-pascal
Samba対策をしないときは、初期設定も飛ばすように修正

1 h677 1.1 unit SambaTimer;
2    
3     interface
4    
5     uses
6     Windows, SysUtils, Classes, ExtCtrls,
7     BoardGroup, GikoSystem;
8    
9     type
10     {
11     \brief Samba24絲丞??帥?ゃ???若??????/span>
12     }
13     TSambaTimer = class(TTimer)
14     private
15     FKey : string;
16     FWriteDeta : TDateTime;
17     FSambaInterval : Integer;
18     procedure ReadSambaTime;
19 h677 1.2 procedure ReadSettingTime(Board: TBoard);
20 h677 1.1 public
21     function SetBoard(Board : TBoard): integer;
22     function CheckSambaTime(ATime: TDateTime): Boolean;
23     procedure WriteSambaTime(ATime: TDateTime);
24     procedure UpdateSambaSetting(Interval : Integer);
25     function Update : TDateTime;
26     property WriteDeta : TDateTime read FWriteDeta;
27     property SambaInterval : Integer read FSambaInterval;
28     end;
29    
30     implementation
31    
32     uses
33     IniFiles, DateUtils;
34     {
35     \brief ?泣?潟???帥?ゃ???惹?炊???沿┃絎?
36     \param Board ???鴻?????c?帥????/span>
37     \return Samba??┃絎???/span>
38     }
39     function TSambaTimer.SetBoard(Board : TBoard): Integer;
40     begin
41 h677 1.2 Result := -1;
42 h677 1.1 Enabled := False;
43 h677 1.3 if (GikoSys.Setting.UseSamba) and (Board <> nil) then begin
44 h677 1.1 // ?帥??2ch????????????翫??鐚??帥?ゃ???若?????鴻??????
45 h677 1.2 if (Board.Is2ch) then begin
46     ReadSettingTime(Board);
47 h677 1.1 ReadSambaTime;
48     Interval := 500;
49     Result := FSambaInterval;
50     end;
51     end;
52     end;
53     {
54     \brief Samba???絎??ゃ??茯??粋昭??
55     }
56 h677 1.2 procedure TSambaTimer.ReadSettingTime(Board: TBoard);
57 h677 1.1 var
58     ini :TMemIniFile;
59     Protocol, Host, Path, Document, Port, Bookmark : string;
60     begin
61     Enabled := false; //腟?????域;腓?imer??Off??????
62     ini := TMemIniFile.Create(GikoSys.GetSambaFileName);
63     try
64 h677 1.2 if (Board <> nil) then begin
65     // ?障??BBSID?у???ャ??┃絎???????????????腆肴?????
66     FKey := '@' + Board.BBSID;
67     FSambaInterval := ini.ReadInteger('Setting', FKey, -1);
68     if (FSambaInterval = -1) then begin
69     // 荐?????????????????с???鴻??????┃絎??????c?????
70     GikoSys.ParseURI( Board.URL, Protocol, Host, Path, Document, Port, Bookmark );
71     FKey := Copy(Host, 1, AnsiPos('.', Host) - 1);
72     FSambaInterval := ini.ReadInteger('Setting', FKey, -1);
73     //荐?????????????????????????<?ゃ?????吾????????
74     if FSambaInterval = -1 then begin
75     FSambaInterval := 0;
76     ini.WriteInteger('Setting', FKey, 0);
77     ini.UpdateFile;
78     end;
79     end;
80     end else begin
81 h677 1.1 FSambaInterval := ini.ReadInteger('Setting', FKey, -1);
82     end;
83     finally
84     ini.Free;
85     end;
86     Enabled := true; //腟?????域;腓?imer??On??????
87     end;
88    
89     {
90     \brief Samba.ini???吾??莨若?炊??????茯??粋昭??
91     }
92     procedure TSambaTimer.ReadSambaTime;
93     var
94     ini :TMemIniFile;
95     begin
96     Enabled := false; //腟?????域;腓?imer??Off??????
97     ini := TMemIniFile.Create(GikoSys.GetSambaFileName);
98     try
99     //??絖????ц??水??c????紊????∽?違??DateTime??/span>
100     FWriteDeta := ConvertDateTimeString(
101     ini.ReadString('Send', FKey, ''));
102     finally
103     ini.Free;
104     end;
105     Enabled := true; //腟?????域;腓?imer??On??????
106     end;
107     {
108     \brief Samba.ini????腟??吾??莨若?炊???????吾??莨若??
109     }
110     procedure TSambaTimer.WriteSambaTime(ATime: TDateTime);
111     var
112     ini :TMemIniFile;
113     begin
114     ini := TMemIniFile.Create(GikoSys.GetSambaFileName);
115     try
116     ini.WriteDateTime('Send', FKey, ATime);
117     ini.UpdateFile;
118     finally
119     ini.Free;
120     end;
121     end;
122    
123     {
124     \brief ??腟??吾??莨若?炊??????憜??????罸?莠?????
125     \return ??鐚?荀鎘??や札筝????緒?荀鎘??ゆ???
126     }
127     function TSambaTimer.CheckSambaTime(ATime: TDateTime): Boolean;
128     var
129     pastsec: double;
130     begin
131     pastsec := SecondSpan(ATime, FWriteDeta);
132     Result := (pastsec > FSambaInterval);
133     end;
134     {
135     \breif ?帥?ゃ???惹???掩?贋??/span>
136     }
137     function TSambaTimer.Update : TDateTime;
138     begin
139 h677 1.2 ReadSettingTime( nil );
140 h677 1.1 ReadSambaTime;
141     Result := Now();
142     end;
143     {
144     \biref Samba荐???ゆ?贋??/span>
145     \param Interval 荐????/span>
146     }
147     procedure TSambaTimer.UpdateSambaSetting(Interval : Integer);
148     var
149     ini :TMemIniFile;
150     begin
151     Enabled := false; //腟?????域;腓?imer??Off??????
152     ini := TMemIniFile.Create(GikoSys.GetSambaFileName);
153     try
154     FSambaInterval := Interval;
155     ini.WriteInteger('Setting', FKey, FSambaInterval);
156     ini.UpdateFile;
157     finally
158     ini.Free;
159     end;
160     Enabled := true; //腟?????域;腓?imer??On??????
161     end;
162    
163     end.

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26