Develop and Download Open Source Software

Browse CVS Repository

Contents of /gikonavigoeson/gikonavi/SambaTimer.pas

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


Revision 1.3 - (show annotations) (download) (as text)
Mon Aug 14 15:10:06 2006 UTC (17 years, 7 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 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 procedure ReadSettingTime(Board: TBoard);
20 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 Result := -1;
42 Enabled := False;
43 if (GikoSys.Setting.UseSamba) and (Board <> nil) then begin
44 // ?帥??2ch????????????翫??鐚??帥?ゃ???若?????鴻??????
45 if (Board.Is2ch) then begin
46 ReadSettingTime(Board);
47 ReadSambaTime;
48 Interval := 500;
49 Result := FSambaInterval;
50 end;
51 end;
52 end;
53 {
54 \brief Samba???絎??ゃ??茯??粋昭??
55 }
56 procedure TSambaTimer.ReadSettingTime(Board: TBoard);
57 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 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 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 ReadSettingTime( nil );
140 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