}
TSambaTimer = class(TTimer)
private
- FBoard : TBoard;
FKey : string;
FWriteDeta : TDateTime;
FSambaInterval : Integer;
procedure ReadSambaTime;
- procedure ReadSettingTime();
+ procedure ReadSettingTime(Board: TBoard);
public
function SetBoard(Board : TBoard): integer;
function CheckSambaTime(ATime: TDateTime): Boolean;
}
function TSambaTimer.SetBoard(Board : TBoard): Integer;
begin
- Result := 0;
+ Result := -1;
Enabled := False;
- if (Board <> nil) then begin
- FBoard := Board;
+ if (GikoSys.Setting.UseSamba) and (Board <> nil) then begin
// \94Â\82ª2ch\82É\91®\82µ\82Ä\82¢\82é\8fê\8d\87\81C\83^\83C\83}\81[\82ð\97L\8cø\82É\82·\82é
- if (FBoard.Is2ch) then begin
- ReadSettingTime;
+ if (Board.Is2ch) then begin
+ ReadSettingTime(Board);
ReadSambaTime;
Interval := 500;
Result := FSambaInterval;
{
\brief Samba\82Ì\8bK\92è\92l\82ð\93Ç\82Ý\8d\9e\82Þ
}
-procedure TSambaTimer.ReadSettingTime();
+procedure TSambaTimer.ReadSettingTime(Board: TBoard);
var
ini :TMemIniFile;
Protocol, Host, Path, Document, Port, Bookmark : string;
Enabled := false; //\8co\89ß\95b\90\94\95\\8e¦Timer\82ðOff\82É\82·\82é
ini := TMemIniFile.Create(GikoSys.GetSambaFileName);
try
- // \82Ü\82¸BBSID\82Å\8cÂ\95Ê\82É\90Ý\92è\82³\82ê\82Ä\82¢\82È\82¢\82©\8am\94F\82·\82é
- FKey := '@' + FBoard.BBSID;
- FSambaInterval := ini.ReadInteger('Setting', FKey, -1);
- if (FSambaInterval = -1) then begin
- // \90Ý\92è\82³\82ê\82Ä\82¢\82È\82¢\82Ì\82Å\83z\83X\83g\96¼\82Ì\90Ý\92è\82ð\8eæ\82Á\82Ä\82\82é
- GikoSys.ParseURI( FBoard.URL, Protocol, Host, Path, Document, Port, Bookmark );
- FKey := Copy(Host, 1, AnsiPos('.', Host) - 1);
+ if (Board <> nil) then begin
+ // \82Ü\82¸BBSID\82Å\8cÂ\95Ê\82É\90Ý\92è\82³\82ê\82Ä\82¢\82È\82¢\82©\8am\94F\82·\82é
+ FKey := '@' + Board.BBSID;
+ FSambaInterval := ini.ReadInteger('Setting', FKey, -1);
+ if (FSambaInterval = -1) then begin
+ // \90Ý\92è\82³\82ê\82Ä\82¢\82È\82¢\82Ì\82Å\83z\83X\83g\96¼\82Ì\90Ý\92è\82ð\8eæ\82Á\82Ä\82\82é
+ GikoSys.ParseURI( Board.URL, Protocol, Host, Path, Document, Port, Bookmark );
+ FKey := Copy(Host, 1, AnsiPos('.', Host) - 1);
+ FSambaInterval := ini.ReadInteger('Setting', FKey, -1);
+ //\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 FSambaInterval = -1 then begin
+ FSambaInterval := 0;
+ ini.WriteInteger('Setting', FKey, 0);
+ ini.UpdateFile;
+ end;
+ end;
+ end else begin
FSambaInterval := ini.ReadInteger('Setting', FKey, -1);
- //\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 FSambaInterval = -1 then begin
- FSambaInterval := 0;
- ini.WriteInteger('Setting', FKey, 0);
- ini.UpdateFile;
- end;
end;
finally
ini.Free;
}
function TSambaTimer.Update : TDateTime;
begin
- ReadSettingTime;
+ ReadSettingTime( nil );
ReadSambaTime;
Result := Now();
end;