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.2 - (hide annotations) (download) (as text)
Mon Aug 14 14:52:20 2006 UTC (17 years, 8 months ago) by h677
Branch: MAIN
Changes since 1.1: +23 -21 lines
File MIME type: text/x-pascal
Samba用のTimerクラスに委譲したメソッドの削除など

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     if (Board <> nil) then begin
44     // ?帥??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