//Be2ch
//\94F\8fØ\97p\83\86\81[\83UID\81E\83p\83X\83\8f\81[\83h
FBeUserID: String;
- FBeCode: String;
+ FBePassword: String;
FBeAutoLogin: Boolean;
FBeLogin: Boolean;
//\97\9a\97ð\82Ì\8dÅ\91å\95Û\91¶\8c\8f\90\94
FRespopupWait: Integer;
//! \83\81\81[\83\8b\97\93\83\8c\83X\83|\83b\83v\83A\83b\83v
FRespopupMailTo: Boolean;
+ //! \8cë\94\9a\83`\83F\83b\83N
+ FUseGobakuCheck: Boolean;
+
+ //! \96`\8c¯\82Ì\8f\91\97pCookie
+ FBoukenCookieList: TStringList;
+
function GetMainCoolSet(Index: Integer): TCoolSet;
function GetBoardCoolSet(Index: Integer): TCoolSet;
function GetBrowserCoolSet(Index: Integer): TCoolSet;
procedure WriteNameMailSettingFile;
procedure WriteFolderSettingFile();
procedure WriteBoardURLSettingFile;
+ procedure WriteBoukenSettingFile;
function GetSoundCount: Integer;
function FindSoundFileName(Name: string): string;
function GetInputAssistFileName : String;
function GetReplaceFileName: String;
function GetExtprevieFileName: String;
+ function GetBoukenCookie(AHostName: String): String;
+ procedure SetBoukenCookie(ACookieValue, AHostName: String);
+ procedure GetBouken(AHostName: String; var Domain:String; var Cookie:String);
{
\brief \83\8a\83\93\83N\97\9a\97ð\82Ì\95Û\8e\9d\83T\83C\83Y\82Ìsetter
\param AVal \90Ý\92è\82·\82é\83T\83C\83Y( >0)
property UseUndecided: Boolean read FUseUndecided write FUseUndecided;
property BeUserID: string read FBeUserID write FBeUserID;
- property BeCode: string read FBeCode write FBeCode;
+ property BePassword: string read FBePassword write FBePassword;
property BeAutoLogin: Boolean read FBeAutoLogin write FBeAutoLogin;
property BeLogin: Boolean read FBeLogin write FBeLogin;
property MaxRecordCount : Integer read FMaxRecordCount write FMaxRecordCount;
//! \83\8c\83X\83|\83b\83v\83A\83b\83v\83^\83C\83}\81[
property RespopupWait: Integer read FRespopupWait write FRespopupWait;
property RespopupMailTo: Boolean read FRespopupMailTo write FRespopupMailTo;
+ //! \8cë\94\9a\83`\83F\83b\83N
+ property UseGobakuCheck: Boolean read FUseGobakuCheck write FUseGobakuCheck;
+ //! \96`\8c¯\82Ì\8f\91
+ property BoukenCookieList: TStringList read FBoukenCookieList write FBoukenCookieList;
end;
FMailList.Duplicates := dupIgnore;
FBoardURLs.Duplicates := dupIgnore;
FSelectTextList.Duplicates := dupIgnore;
+ FBoukenCookieList := TStringList.Create;
ReadSettingFile();
ReadBoardURLsFile();
end;
//\83f\83X\83g\83\89\83N\83^
destructor TSetting.Destroy();
begin
+ FBoukenCookieList.Free;
FBoardColumnOrder.Free;
FCategoryColumnOrder.Free;
FBBSColumnOrder.Free;
s: string;
CoolSet: TCoolSet;
msg: String;
+ hostList: TStringList;
begin
Exists := FileExists(GetFileName);
ini := TMemIniFile.Create(GetFileName);
//\83T\83E\83\93\83h
if Exists then begin
+ SetCurrentDir(ExtractFilePath(Application.ExeName));
for i := 0 to GetSoundCount - 1 do begin
SoundFileName[i] := ini.ReadString('Sound', SoundName[i], '');
// \91\8a\91Î\8eQ\8fÆ\91Î\8dô
- s := SoundFileName[i];
- if (AnsiPos('.\', SoundFileName[i]) = 1) then begin
- s := GetAppDir
- + Copy(SoundFileName[i], 2, Length(SoundFileName[i]));
- end;
// \83t\83@\83C\83\8b\82Ì\91¶\8dÝ\83`\83F\83b\83N
- if not FileExists(SoundFileName[i]) then begin
+ if not FileExists(ExpandFileName(SoundFileName[i])) then begin
SoundFileName[i] := '';
end;
end;
end else begin
- s := GetAppDir + '\sound\';
+ s := 'Sound\';
SoundFileName[0] := s + '\8eæ\93¾\90¬\8c÷.wav';
SoundFileName[1] := s + '\8eæ\93¾\90¬\8c÷(\8d·\95ª).wav';
SoundFileName[2] := s + '\96¢\8dX\90V.wav';
// \83G\83f\83B\83^
FSpaceToNBSP := ini.ReadBool( 'Editor', 'SpaceToNBSP', False );
FAmpToCharRef := ini.ReadBool( 'Editor', 'AmpToCharRef', False );
+ FUseGobakuCheck := ini.ReadBool( 'Editor', 'UseGobakuCheck', True );
//Tab\8e©\93®\95Û\91¶\81A\93Ç\82Ý\8d\9e\82Ý
FTabAutoLoadSave := ini.ReadBool('TabAuto', 'TabAutoLoadSave', False);
//Be2ch
//\94F\8fØ\97p\83\86\81[\83UID\81E\94F\8fØ\83R\81[\83h
FBeUserID := ini.ReadString('Be', 'UserID', '');
- FBeCode := Decrypt(ini.ReadString('Be', 'Code', ''));
+ FBePassword := Decrypt(ini.ReadString('Be', 'Password', ''));
FBeAutoLogin := ini.ReadBool('Be', 'AutoLogin', False);
//\97\9a\97ð\82Ì\8dÅ\91å\95Û\91¶\8c\8f\90\94
FMaxRecordCount := Max(ini.ReadInteger('Recode', 'Max', 100), 1);
FCheckDatFile := ini.ReadBool('ThreadList', 'CheckDatFile', True);
FLimitResCountMessage := ini.ReadBool('Thread', 'LimitResCountMessage', True);
+ // \96`\8c¯\82Ì\8f\91Cookie\93Ç\82Ý\8d\9e\82Ý
+ hostList := TStringList.Create;
+ ini.ReadSection('Bouken', hostList);
+ for i := 0 to hostList.Count - 1 do begin
+ FBoukenCookieList.Add( hostList[i] + '=' +
+ ini.ReadString('Bouken', hostList[i], '') );
+ end;
+ hostList.Free;
+
// \83M\83R\83i\83r\8dX\90V\82Å\97\98\97p\82µ\82½\83C\83\93\83X\83g\81[\83\89\82Ì\8dí\8f\9c
s := ini.ReadString('Update', 'Remove0', '');
if (FileExists(s)) then begin
// \83G\83f\83B\83^
ini.WriteBool( 'Editor', 'SpaceToNBSP', FSpaceToNBSP );
ini.WriteBool( 'Editor', 'AmpToCharRef', FAmpToCharRef );
+ ini.WriteBool( 'Editor', 'UseGobakuCheck', FUseGobakuCheck );
//\83^\83u\8e©\93®\95Û\91¶
ini.WriteBool('TabAuto', 'TabAutoLoadSave', FTabAutoLoadSave);
- ini.WriteString('Thread', 'LastCloseTabURL', FLastCloseTabURL);
+ ini.WriteString('Thread', 'LastCloseTabURL', FLastCloseTabURL);
//\8fÚ\8d×\90Ý\92è
ini.WriteInteger('OptionDialog', 'KuroutTabIndex', FKuroutSettingTabIndex);
//\94F\8fØ\97p\83\86\81[\83UID\81E\83p\83X\83\8f\81[\83h
ini.WriteString('Be', 'UserID', FBeUserID);
- ini.WriteString('Be', 'Code', Encrypt(FBeCode));
+ ini.WriteString('Be', 'Password', Encrypt(FBePassword));
ini.WriteBool('Be', 'AutoLogin', FBeAutoLogin);
//\97\9a\97ð\82Ì\8dÅ\91å\95Û\91¶\8c\8f\90\94
ini.WriteString('Function', 'ExtList', FExtList);
ini.WriteBool('ThreadList', 'CheckDatFile', FCheckDatFile);
ini.WriteBool('Thread', 'LimitResCountMessage', FLimitResCountMessage);
+
+
+ ini.UpdateFile;
+ finally
+ ini.Free;
+ end;
+end;
+//\90Ý\92è\83t\83@\83C\83\8b\95Û\91¶(\96`\8c¯\82Ì\8f\91)
+procedure TSetting.WriteBoukenSettingFile;
+var
+ i: Integer;
+ ini: TMemIniFile;
+begin
+ ini := TMemIniFile.Create(GetFileName());
+ try
+ ini.EraseSection('Bouken');
+ // \96`\8c¯\82Ì\8f\91Cookie\8f\91\82«\8d\9e\82Ý
+ for i := 0 to FBoukenCookieList.Count - 1 do begin
+ ini.WriteString('Bouken', FBoukenCookieList.Names[i], FBoukenCookieList.Values[FBoukenCookieList.Names[i]]);
+ end;
ini.UpdateFile;
finally
ini.Free;
begin
for i := 0 to GetSoundCount - 1 do begin
if SoundName[i] = Name then begin
- Result := SoundFileName[i];
- // \91\8a\91Î\83p\83X\91Î\8dô
- if (AnsiPos('.\', Result) = 1) then begin
- Result := GetAppDir
- + Copy(Result, 2, Length(Result));
- end;
+ SysUtils.SetCurrentDir(GetAppDir);
+ Result := ExpandFileName(SoundFileName[i]);
Exit;
end;
end;
begin
Result := FSkinFiles.FileName;
end;
+function TSetting.GetBoukenCookie(AHostName: String): String;
+var
+ i : Integer;
+begin
+ for i := 0 to FBoukenCookieList.Count - 1 do begin
+ if ( AnsiPos(FBoukenCookieList.Names[i], AHostName) > 0 ) then begin
+ Result := FBoukenCookieList.Values[FBoukenCookieList.Names[i]];
+ Break;
+ end;
+ end;
+end;
+procedure TSetting.SetBoukenCookie(ACookieValue, AHostName: String);
+var
+ i : Integer;
+begin
+ for i := 0 to FBoukenCookieList.Count - 1 do begin
+ if ( FBoukenCookieList.Names[i] = AHostName ) then begin
+ FBoukenCookieList[i] := AHostName + '=' + ACookieValue;
+ Break;
+ end;
+ end;
+ if ( i = FBoukenCookieList.Count ) then begin
+ FBoukenCookieList.Add(AHostName + '=' + ACookieValue);
+ end;
+end;
+procedure TSetting.GetBouken(AHostName: String; var Domain:String; var Cookie:String);
+var
+ i : Integer;
+begin
+ Cookie := '';
+ for i := 0 to FBoukenCookieList.Count - 1 do begin
+ if ( AnsiPos(FBoukenCookieList.Names[i], AHostName) > 0 ) then begin
+ Domain := FBoukenCookieList.Names[i];
+ Cookie := FBoukenCookieList.Values[FBoukenCookieList.Names[i]];
+ Break;
+ end;
+ end;
+end;
end.