| 5 |
|
|
| 6 |
uses |
uses |
| 7 |
SysUtils, Classes, Graphics, Forms, {Math, IniFiles, UCryptAuto, UBase64,} |
SysUtils, Classes, Graphics, Forms, {Math, IniFiles, UCryptAuto, UBase64,} |
| 8 |
ComCtrls, GestureModel, IniFiles; |
ComCtrls, GestureModel, IniFiles, SkinFiles; |
| 9 |
|
|
| 10 |
const |
const |
| 11 |
MAIN_COOLBAND_COUNT = 4; //メインCoolBandの数 |
MAIN_COOLBAND_COUNT = 4; //メインCoolBandの数 |
| 20 |
TGikoListOrientation = (gloHorizontal, gloVertical); // リスト垂直・水平 |
TGikoListOrientation = (gloHorizontal, gloVertical); // リスト垂直・水平 |
| 21 |
TGikoListState = (glsMax, glsNormal, glsMin); // リストサイズ状態 |
TGikoListState = (glsMax, glsNormal, glsMin); // リストサイズ状態 |
| 22 |
// ポップアップ表示位置 |
// ポップアップ表示位置 |
| 23 |
TGikoPopupPosition = (gppRightTop, gppTop, gppLeftTop, |
TGikoPopupPosition = (gppLeftTop = 0, gppTop, gppRightTop, |
| 24 |
gppRight, gppCenter, gppLeft, |
gppLeft, gppCenter, gppRight, |
| 25 |
gppRightBottom, gppBottom, gppLeftBottom); |
gppLeftBottom, gppBottom, gppRightBottom); |
| 26 |
//プレビューサイズ |
//プレビューサイズ |
| 27 |
TGikoPreviewSize = (gpsXLarge, gpsLarge, gpsMedium, gpsSmall, gpsXSmall); |
TGikoPreviewSize = (gpsXLarge, gpsLarge, gpsMedium, gpsSmall, gpsXSmall); |
| 28 |
TGikoBrowserAutoMaximize = (gbmNone, gbmClick, gbmDoubleClick); |
TGikoBrowserAutoMaximize = (gbmNone, gbmClick, gbmDoubleClick); |
| 232 |
FListViewNo: Boolean; |
FListViewNo: Boolean; |
| 233 |
//CSS表示 |
//CSS表示 |
| 234 |
FUseCSS: Boolean; |
FUseCSS: Boolean; |
|
//CSSファイル名 |
|
|
FCSSFileName: string; |
|
| 235 |
// スキン表示(一時的なもので ini に保存はされない) |
// スキン表示(一時的なもので ini に保存はされない) |
| 236 |
FUseSkin: Boolean; |
FUseSkin: Boolean; |
| 237 |
//かちゅ〜しゃ用のSkinを利用するか |
//かちゅ〜しゃ用のSkinを利用するか |
| 378 |
|
|
| 379 |
//Tab自動保存 |
//Tab自動保存 |
| 380 |
FTabAutoLoadSave : Boolean; |
FTabAutoLoadSave : Boolean; |
| 381 |
|
//最後に開いていたスレッドのURL |
| 382 |
|
FLastCloseTabURL: String; |
| 383 |
//にちゃん語案内サポート機能 |
//にちゃん語案内サポート機能 |
| 384 |
F2chSupport : Boolean; |
F2chSupport : Boolean; |
| 385 |
|
|
| 414 |
//Be2ch |
//Be2ch |
| 415 |
//認証用ユーザID・パスワード |
//認証用ユーザID・パスワード |
| 416 |
FBeUserID: String; |
FBeUserID: String; |
| 417 |
FBeCode: String; |
FBePassword: String; |
| 418 |
FBeAutoLogin: Boolean; |
FBeAutoLogin: Boolean; |
| 419 |
FBeLogin: Boolean; |
FBeLogin: Boolean; |
| 420 |
//履歴の最大保存件数 |
//履歴の最大保存件数 |
| 440 |
FLoopBrowserTabs : Boolean; |
FLoopBrowserTabs : Boolean; |
| 441 |
//! 100レス表示の先頭表示レス数 |
//! 100レス表示の先頭表示レス数 |
| 442 |
FHeadResCount : Integer; |
FHeadResCount : Integer; |
| 443 |
|
//! 100レス表示数(拡張用) |
| 444 |
|
FResRangeExCount: Integer; |
| 445 |
//! 関連キーワード追加フラグ |
//! 関連キーワード追加フラグ |
| 446 |
FAddKeywordLink: Boolean; |
FAddKeywordLink: Boolean; |
| 447 |
//! dat置換を有効にする |
//! dat置換を有効にする |
| 450 |
FSentIniFileSize: Integer; |
FSentIniFileSize: Integer; |
| 451 |
//! リンクURL取得の対象拡張子 |
//! リンクURL取得の対象拡張子 |
| 452 |
FExtList: String; |
FExtList: String; |
| 453 |
|
//! Skin関連 |
| 454 |
|
FSkinFiles: TSkinFiles; |
| 455 |
|
//! indexファイルを読み時にdatを検索する |
| 456 |
|
FCheckDatFile: Boolean; |
| 457 |
|
//! 同IDレスアンカー表示 |
| 458 |
|
FLimitResCountMessage: Boolean; |
| 459 |
|
//! レスポップアップ表示位置deltaX |
| 460 |
|
FRespopupDeltaX: Integer; |
| 461 |
|
//! レスポップアップ表示位置deltaY |
| 462 |
|
FRespopupDeltaY: Integer; |
| 463 |
|
//! レスポップアップタイマー |
| 464 |
|
FRespopupWait: Integer; |
| 465 |
|
//! メール欄レスポップアップ |
| 466 |
|
FRespopupMailTo: Boolean; |
| 467 |
|
//! 誤爆チェック |
| 468 |
|
FUseGobakuCheck: Boolean; |
| 469 |
|
|
| 470 |
|
//! 冒険の書用Cookie |
| 471 |
|
FBoukenCookieList: TStringList; |
| 472 |
|
|
| 473 |
function GetMainCoolSet(Index: Integer): TCoolSet; |
function GetMainCoolSet(Index: Integer): TCoolSet; |
| 474 |
function GetBoardCoolSet(Index: Integer): TCoolSet; |
function GetBoardCoolSet(Index: Integer): TCoolSet; |
| 475 |
function GetBrowserCoolSet(Index: Integer): TCoolSet; |
function GetBrowserCoolSet(Index: Integer): TCoolSet; |
| 495 |
|
|
| 496 |
procedure SetUseCSS( value: Boolean ); |
procedure SetUseCSS( value: Boolean ); |
| 497 |
procedure SetCSSFileName( fileName: string ); |
procedure SetCSSFileName( fileName: string ); |
| 498 |
|
function GetCSSFileName: string; |
| 499 |
//! プロキシ設定読み込み |
//! プロキシ設定読み込み |
| 500 |
procedure ReadProxySettings(memIni: TMemIniFile); |
procedure ReadProxySettings(memIni: TMemIniFile); |
| 501 |
//! 各種ウィンドウ設定読み込み |
//! 各種ウィンドウ設定読み込み |
| 520 |
procedure WriteNameMailSettingFile; |
procedure WriteNameMailSettingFile; |
| 521 |
procedure WriteFolderSettingFile(); |
procedure WriteFolderSettingFile(); |
| 522 |
procedure WriteBoardURLSettingFile; |
procedure WriteBoardURLSettingFile; |
| 523 |
|
procedure WriteBoukenSettingFile; |
| 524 |
function GetSoundCount: Integer; |
function GetSoundCount: Integer; |
| 525 |
function FindSoundFileName(Name: string): string; |
function FindSoundFileName(Name: string): string; |
| 526 |
|
|
| 533 |
function GetSentFileName: string; |
function GetSentFileName: string; |
| 534 |
function GetConfigDir: string; |
function GetConfigDir: string; |
| 535 |
function GetSkinDir: string; |
function GetSkinDir: string; |
|
function GetSkinHeaderFileName: string; |
|
|
function GetSkinFooterFileName: string; |
|
|
function GetSkinResFileName: string; |
|
|
function GetSkinNewResFileName: string; |
|
|
function GetSkinBookmarkFileName: string; |
|
|
function GetSkinNewmarkFileName: string; |
|
| 536 |
function GetStyleSheetDir: string; |
function GetStyleSheetDir: string; |
| 537 |
function GetOutBoxFileName: string; |
function GetOutBoxFileName: string; |
| 538 |
function GetNGWordsDir: string; |
function GetNGWordsDir: string; |
| 547 |
procedure WriteLogFolder(AVal : String); |
procedure WriteLogFolder(AVal : String); |
| 548 |
function GetInputAssistFileName : String; |
function GetInputAssistFileName : String; |
| 549 |
function GetReplaceFileName: String; |
function GetReplaceFileName: String; |
| 550 |
|
function GetExtprevieFileName: String; |
| 551 |
|
function GetBoukenCookie(AHostName: String): String; |
| 552 |
|
procedure SetBoukenCookie(ACookieValue, AHostName: String); |
| 553 |
|
procedure GetBouken(AHostName: String; var Domain:String; var Cookie:String); |
| 554 |
{ |
{ |
| 555 |
\brief リンク履歴の保持サイズのsetter |
\brief リンク履歴の保持サイズのsetter |
| 556 |
\param AVal 設定するサイズ( >0) |
\param AVal 設定するサイズ( >0) |
| 557 |
} |
} |
| 558 |
procedure SetMoveHistorySize(AVal : Integer); |
procedure SetMoveHistorySize(AVal : Integer); |
| 559 |
//受信バッファサイズ |
//受信バッファサイズ |
| 665 |
|
|
| 666 |
property ListViewNo: Boolean read FListViewNo write FListViewNo; |
property ListViewNo: Boolean read FListViewNo write FListViewNo; |
| 667 |
property UseCSS: Boolean read FUseCSS write SetUseCSS; |
property UseCSS: Boolean read FUseCSS write SetUseCSS; |
| 668 |
property CSSFileName: string read FCSSFileName write SetCSSFileName; |
property CSSFileName: string read GetCSSFileName write SetCSSFileName; |
| 669 |
property UseKatjushaType : Boolean read FUseKatjushaType write FUseKatjushaType; |
property UseKatjushaType : Boolean read FUseKatjushaType write FUseKatjushaType; |
| 670 |
property UseSkin: Boolean read FUseSkin; |
property UseSkin: Boolean read FUseSkin; |
| 671 |
|
|
| 779 |
property SelectInterval : Integer read FSelectInterval write FSelectInterval; |
property SelectInterval : Integer read FSelectInterval write FSelectInterval; |
| 780 |
//Tab保存 |
//Tab保存 |
| 781 |
property TabAutoLoadSave: Boolean read FTabAutoLoadSave write FTabAutoLoadSave; |
property TabAutoLoadSave: Boolean read FTabAutoLoadSave write FTabAutoLoadSave; |
| 782 |
|
//タブの復元とか用 |
| 783 |
|
property LastCloseTabURL: String read FLastCloseTabURL write FLastCloseTabURL; |
| 784 |
//property Gengo: TStringList read F2chLanguage write F2chLanguage; |
//property Gengo: TStringList read F2chLanguage write F2chLanguage; |
| 785 |
property GengoSupport : Boolean read F2chSupport write F2chSupport; |
property GengoSupport : Boolean read F2chSupport write F2chSupport; |
| 786 |
property KuroutSettingTabIndex: Integer read FKuroutSettingTabIndex write FKuroutSettingTabIndex; |
property KuroutSettingTabIndex: Integer read FKuroutSettingTabIndex write FKuroutSettingTabIndex; |
| 800 |
property UseUndecided: Boolean read FUseUndecided write FUseUndecided; |
property UseUndecided: Boolean read FUseUndecided write FUseUndecided; |
| 801 |
|
|
| 802 |
property BeUserID: string read FBeUserID write FBeUserID; |
property BeUserID: string read FBeUserID write FBeUserID; |
| 803 |
property BeCode: string read FBeCode write FBeCode; |
property BePassword: string read FBePassword write FBePassword; |
| 804 |
property BeAutoLogin: Boolean read FBeAutoLogin write FBeAutoLogin; |
property BeAutoLogin: Boolean read FBeAutoLogin write FBeAutoLogin; |
| 805 |
property BeLogin: Boolean read FBeLogin write FBeLogin; |
property BeLogin: Boolean read FBeLogin write FBeLogin; |
| 806 |
property MaxRecordCount : Integer read FMaxRecordCount write FMaxRecordCount; |
property MaxRecordCount : Integer read FMaxRecordCount write FMaxRecordCount; |
| 822 |
property LoopBrowserTabs : Boolean read FLoopBrowserTabs write FLoopBrowserTabs; |
property LoopBrowserTabs : Boolean read FLoopBrowserTabs write FLoopBrowserTabs; |
| 823 |
//! 100レス表示の先頭表示レス数 |
//! 100レス表示の先頭表示レス数 |
| 824 |
property HeadResCount : Integer read FHeadResCount write FHeadResCount; |
property HeadResCount : Integer read FHeadResCount write FHeadResCount; |
| 825 |
|
//! 100レス表示数(拡張用) |
| 826 |
|
property ResRangeExCount: Integer read FResRangeExCount write FResRangeExCount; |
| 827 |
//! 関連キーワード追加フラグ |
//! 関連キーワード追加フラグ |
| 828 |
property AddKeywordLink: Boolean read FAddKeywordLink write FAddKeywordLink; |
property AddKeywordLink: Boolean read FAddKeywordLink write FAddKeywordLink; |
| 829 |
//! datの置換を有効にするか |
//! datの置換を有効にするか |
| 832 |
property SentIniFileSize: Integer read FSentIniFileSize write FSentIniFileSize; |
property SentIniFileSize: Integer read FSentIniFileSize write FSentIniFileSize; |
| 833 |
//! リンクURL取得の対象拡張子 |
//! リンクURL取得の対象拡張子 |
| 834 |
property ExtList: String read FExtList write FExtList; |
property ExtList: String read FExtList write FExtList; |
| 835 |
|
//! Skinファイル管理 |
| 836 |
|
property SkinFiles: TSkinFiles read FSkinFiles; |
| 837 |
|
//! インデックス読み込み時datファイルチェック |
| 838 |
|
property CheckDatFile: Boolean read FCheckDatFile write FCheckDatFile; |
| 839 |
|
property LimitResCountMessage: Boolean read FLimitResCountMessage write FLimitResCountMessage; |
| 840 |
|
//! レスポップアップ表示位置deltaX |
| 841 |
|
property RespopupDeltaX: Integer read FRespopupDeltaX write FRespopupDeltaX; |
| 842 |
|
//! レスポップアップ表示位置deltaY |
| 843 |
|
property RespopupDeltaY: Integer read FRespopupDeltaY write FRespopupDeltaY; |
| 844 |
|
//! レスポップアップタイマー |
| 845 |
|
property RespopupWait: Integer read FRespopupWait write FRespopupWait; |
| 846 |
|
property RespopupMailTo: Boolean read FRespopupMailTo write FRespopupMailTo; |
| 847 |
|
//! 誤爆チェック |
| 848 |
|
property UseGobakuCheck: Boolean read FUseGobakuCheck write FUseGobakuCheck; |
| 849 |
|
//! 冒険の書 |
| 850 |
|
property BoukenCookieList: TStringList read FBoukenCookieList write FBoukenCookieList; |
| 851 |
end; |
end; |
| 852 |
|
|
| 853 |
|
|
| 867 |
CONFIG_DIR_NAME = 'config'; |
CONFIG_DIR_NAME = 'config'; |
| 868 |
CSS_DIR_NAME = 'css'; |
CSS_DIR_NAME = 'css'; |
| 869 |
SKIN_DIR_NAME = 'skin'; |
SKIN_DIR_NAME = 'skin'; |
|
SKIN_HEADER_FILE_NAME = 'Header.html'; |
|
|
SKIN_FOOTER_FILE_NAME = 'Footer.html'; |
|
|
SKIN_NEWRES_FILE_NAME = 'NewRes.html'; |
|
|
SKIN_RES_FILE_NAME = 'Res.html'; |
|
|
SKIN_BOOKMARK_FILE_NAME = 'Bookmark.html'; |
|
|
SKIN_NEWMARK_FILE_NAME = 'Newmark.html'; |
|
| 870 |
NGWORDs_DIR_NAME : String = 'NGwords'; |
NGWORDs_DIR_NAME : String = 'NGwords'; |
| 871 |
BOARD_PLUGIN_DIR_NAME = 'BoardPlugin'; |
BOARD_PLUGIN_DIR_NAME = 'BoardPlugin'; |
| 872 |
SAMBATIME_FILE_NAME : String = 'Samba.ini'; |
SAMBATIME_FILE_NAME : String = 'Samba.ini'; |
| 877 |
SPAMFILTER_FILE_NAME = 'SpamFilter.ini'; |
SPAMFILTER_FILE_NAME = 'SpamFilter.ini'; |
| 878 |
LANGUAGE_FILE_NAME = 'language.ini'; |
LANGUAGE_FILE_NAME = 'language.ini'; |
| 879 |
INPUTASSIST_FILE_NAME = 'InputAssist.ini'; |
INPUTASSIST_FILE_NAME = 'InputAssist.ini'; |
| 880 |
FIXED_COOKIE = 'hana=mogera'; |
FIXED_COOKIE = ''; |
| 881 |
REPLACE_FILE_NAME = 'replace.ini'; |
REPLACE_FILE_NAME = 'replace.ini'; |
| 882 |
|
EXT_PREVIEW_FILE_NAME = 'extpreview.ini'; |
| 883 |
|
|
| 884 |
implementation |
implementation |
| 885 |
|
|
| 1001 |
FCategoryColumnOrder := TGikoCategoryColumnList.Create; |
FCategoryColumnOrder := TGikoCategoryColumnList.Create; |
| 1002 |
FBoardColumnOrder := TGikoBoardColumnList.Create; |
FBoardColumnOrder := TGikoBoardColumnList.Create; |
| 1003 |
FGestures := TGestureModel.Create; |
FGestures := TGestureModel.Create; |
| 1004 |
|
FSkinFiles := TSkinFiles.Create; |
| 1005 |
FNameList.Duplicates := dupIgnore; |
FNameList.Duplicates := dupIgnore; |
| 1006 |
FMailList.Duplicates := dupIgnore; |
FMailList.Duplicates := dupIgnore; |
| 1007 |
FBoardURLs.Duplicates := dupIgnore; |
FBoardURLs.Duplicates := dupIgnore; |
| 1008 |
FSelectTextList.Duplicates := dupIgnore; |
FSelectTextList.Duplicates := dupIgnore; |
| 1009 |
|
FBoukenCookieList := TStringList.Create; |
| 1010 |
ReadSettingFile(); |
ReadSettingFile(); |
| 1011 |
ReadBoardURLsFile(); |
ReadBoardURLsFile(); |
| 1012 |
end; |
end; |
| 1014 |
//デストラクタ |
//デストラクタ |
| 1015 |
destructor TSetting.Destroy(); |
destructor TSetting.Destroy(); |
| 1016 |
begin |
begin |
| 1017 |
|
FBoukenCookieList.Free; |
| 1018 |
|
FBoardColumnOrder.Free; |
| 1019 |
|
FCategoryColumnOrder.Free; |
| 1020 |
|
FBBSColumnOrder.Free; |
| 1021 |
|
FSelectTextList.Free; |
| 1022 |
|
FBoardURLs.Free; |
| 1023 |
|
FMailList.Free; |
| 1024 |
|
FNameList.Free; |
| 1025 |
|
FGestures.Free; |
| 1026 |
|
FSkinFiles.Free; |
| 1027 |
inherited; |
inherited; |
|
FBoardColumnOrder.Free; |
|
|
FCategoryColumnOrder.Free; |
|
|
FBBSColumnOrder.Free; |
|
|
FSelectTextList.Free; |
|
|
FBoardURLs.Free; |
|
|
FMailList.Free; |
|
|
FNameList.Free; |
|
|
FGestures.Free; |
|
| 1028 |
end; |
end; |
| 1029 |
|
|
| 1030 |
//初期化ファイル名取得(パス+ファイル名) |
//初期化ファイル名取得(パス+ファイル名) |
| 1031 |
function TSetting.GetFileName(): string; |
function TSetting.GetFileName(): string; |
| 1032 |
begin |
begin |
| 1033 |
Result := ExtractFilePath(Application.ExeName) + INI_FILE_NAME; |
Result := GetAppDir + INI_FILE_NAME; |
| 1034 |
end; |
end; |
| 1035 |
|
|
| 1036 |
//板更新用URL設定ファイル名(パス+ファイル名) |
//板更新用URL設定ファイル名(パス+ファイル名) |
| 1037 |
function TSetting.GetBoardURLFileName(): string; |
function TSetting.GetBoardURLFileName(): string; |
| 1038 |
begin |
begin |
| 1039 |
Result := ExtractFilePath(Application.ExeName) + BOARD_URL_INI_FILE_NAME; |
Result := GetAppDir + BOARD_URL_INI_FILE_NAME; |
| 1040 |
end; |
end; |
| 1041 |
|
|
| 1042 |
//設定ファイル読込 |
//設定ファイル読込 |
| 1048 |
s: string; |
s: string; |
| 1049 |
CoolSet: TCoolSet; |
CoolSet: TCoolSet; |
| 1050 |
msg: String; |
msg: String; |
| 1051 |
|
hostList: TStringList; |
| 1052 |
begin |
begin |
| 1053 |
Exists := FileExists(GetFileName); |
Exists := FileExists(GetFileName); |
| 1054 |
ini := TMemIniFile.Create(GetFileName); |
ini := TMemIniFile.Create(GetFileName); |
| 1148 |
FResRange := ini.ReadInteger( 'Thread', 'ResRange', Ord( grrAll ) ); |
FResRange := ini.ReadInteger( 'Thread', 'ResRange', Ord( grrAll ) ); |
| 1149 |
FResRangeHold := ini.ReadBool( 'Thread', 'ResRangeHold', False ); |
FResRangeHold := ini.ReadBool( 'Thread', 'ResRangeHold', False ); |
| 1150 |
FHeadResCount := ini.ReadInteger('Thread', 'HeadResCount', 1); |
FHeadResCount := ini.ReadInteger('Thread', 'HeadResCount', 1); |
| 1151 |
|
FResRangeExCount:= ini.ReadInteger('Thread','ResRangeExCount', 100); |
| 1152 |
// スレッド一覧表示範囲 |
// スレッド一覧表示範囲 |
| 1153 |
FThreadRange := TGikoThreadRange( ini.ReadInteger('ThreadList', 'ThreadRange', Ord( gtrAll )) ); |
FThreadRange := TGikoThreadRange( ini.ReadInteger('ThreadList', 'ThreadRange', Ord( gtrAll )) ); |
| 1154 |
//非アクティブ時レスポップアップ表示 |
//非アクティブ時レスポップアップ表示 |
| 1166 |
//ResAnchorjamp |
//ResAnchorjamp |
| 1167 |
ResAnchorJamp := ini.ReadBool('Function', 'ResAnchoJamp', True); |
ResAnchorJamp := ini.ReadBool('Function', 'ResAnchoJamp', True); |
| 1168 |
//ログフォルダ |
//ログフォルダ |
| 1169 |
LogFolder := ini.ReadString('Folder', 'LogFolder', ExtractFilePath(Application.ExeName) + 'Log'); |
LogFolder := ini.ReadString('Folder', 'LogFolder', GetAppDir + 'Log'); |
| 1170 |
NewLogFolder := ''; |
NewLogFolder := ''; |
| 1171 |
|
|
| 1172 |
//板URL |
//板URL |
| 1193 |
if (FPopupPosition = gppCenter) then begin |
if (FPopupPosition = gppCenter) then begin |
| 1194 |
FPopupPosition := gppTop; |
FPopupPosition := gppTop; |
| 1195 |
end; |
end; |
| 1196 |
|
FRespopupDeltaX := ini.ReadInteger('Browser', 'RespopupDelteX', 5); |
| 1197 |
|
FRespopupDeltaY := ini.ReadInteger('Browser', 'RespopupDelteY', 5); |
| 1198 |
|
FRespopupWait := ini.ReadInteger('Browser', 'RespopupWait', 1000); |
| 1199 |
|
FRespopupMailTo := ini.ReadBool('Browser', 'RespopupMailTo', true); |
| 1200 |
|
|
| 1201 |
//アドレスバー |
//アドレスバー |
| 1202 |
FURLDisplay := ini.ReadBool('AddressBar', 'URLDisplay', False); |
FURLDisplay := ini.ReadBool('AddressBar', 'URLDisplay', False); |
| 1203 |
FAddressBarTabStop := ini.ReadBool('AddressBar', 'TabStop', True); |
FAddressBarTabStop := ini.ReadBool('AddressBar', 'TabStop', True); |
| 1238 |
|
|
| 1239 |
//サウンド |
//サウンド |
| 1240 |
if Exists then begin |
if Exists then begin |
| 1241 |
|
SetCurrentDir(ExtractFilePath(Application.ExeName)); |
| 1242 |
for i := 0 to GetSoundCount - 1 do begin |
for i := 0 to GetSoundCount - 1 do begin |
| 1243 |
SoundFileName[i] := ini.ReadString('Sound', SoundName[i], ''); |
SoundFileName[i] := ini.ReadString('Sound', SoundName[i], ''); |
| 1244 |
if not FileExists(SoundFileName[i]) then |
// 相対参照対策 |
| 1245 |
SoundFileName[i] := ''; |
// ファイルの存在チェック |
| 1246 |
|
if not FileExists(ExpandFileName(SoundFileName[i])) then begin |
| 1247 |
|
SoundFileName[i] := ''; |
| 1248 |
|
end; |
| 1249 |
end; |
end; |
| 1250 |
end else begin |
end else begin |
| 1251 |
s := ExtractFileDir(Application.ExeName) + '\sound\'; |
s := 'Sound\'; |
| 1252 |
SoundFileName[0] := s + '取得成功.wav'; |
SoundFileName[0] := s + '取得成功.wav'; |
| 1253 |
SoundFileName[1] := s + '取得成功(差分).wav'; |
SoundFileName[1] := s + '取得成功(差分).wav'; |
| 1254 |
SoundFileName[2] := s + '未更新.wav'; |
SoundFileName[2] := s + '未更新.wav'; |
| 1289 |
// エディタ |
// エディタ |
| 1290 |
FSpaceToNBSP := ini.ReadBool( 'Editor', 'SpaceToNBSP', False ); |
FSpaceToNBSP := ini.ReadBool( 'Editor', 'SpaceToNBSP', False ); |
| 1291 |
FAmpToCharRef := ini.ReadBool( 'Editor', 'AmpToCharRef', False ); |
FAmpToCharRef := ini.ReadBool( 'Editor', 'AmpToCharRef', False ); |
| 1292 |
|
FUseGobakuCheck := ini.ReadBool( 'Editor', 'UseGobakuCheck', True ); |
| 1293 |
|
|
| 1294 |
//Tab自動保存、読み込み |
//Tab自動保存、読み込み |
| 1295 |
FTabAutoLoadSave := ini.ReadBool('TabAuto', 'TabAutoLoadSave', False); |
FTabAutoLoadSave := ini.ReadBool('TabAuto', 'TabAutoLoadSave', False); |
| 1296 |
|
FLastCloseTabURL := ini.ReadString('Thread', 'LastCloseTabURL', ''); |
| 1297 |
FKuroutSettingTabIndex := ini.ReadInteger('OptionDialog', 'KuroutTabIndex' , 0); |
FKuroutSettingTabIndex := ini.ReadInteger('OptionDialog', 'KuroutTabIndex' , 0); |
| 1298 |
|
|
| 1299 |
// マウスジェスチャー |
// マウスジェスチャー |
| 1316 |
//Be2ch |
//Be2ch |
| 1317 |
//認証用ユーザID・認証コード |
//認証用ユーザID・認証コード |
| 1318 |
FBeUserID := ini.ReadString('Be', 'UserID', ''); |
FBeUserID := ini.ReadString('Be', 'UserID', ''); |
| 1319 |
FBeCode := Decrypt(ini.ReadString('Be', 'Code', '')); |
FBePassword := Decrypt(ini.ReadString('Be', 'Password', '')); |
| 1320 |
FBeAutoLogin := ini.ReadBool('Be', 'AutoLogin', False); |
FBeAutoLogin := ini.ReadBool('Be', 'AutoLogin', False); |
| 1321 |
//履歴の最大保存件数 |
//履歴の最大保存件数 |
| 1322 |
FMaxRecordCount := Max(ini.ReadInteger('Recode', 'Max', 100), 1); |
FMaxRecordCount := Max(ini.ReadInteger('Recode', 'Max', 100), 1); |
| 1349 |
|
|
| 1350 |
FSentIniFileSize := ini.ReadInteger('Function', 'SentIniFileSize', 3); |
FSentIniFileSize := ini.ReadInteger('Function', 'SentIniFileSize', 3); |
| 1351 |
FExtList := ini.ReadString('Function', 'ExtList', '*.gif;*.jpg;*.jpeg;*.png;*.zip;*.rar'); |
FExtList := ini.ReadString('Function', 'ExtList', '*.gif;*.jpg;*.jpeg;*.png;*.zip;*.rar'); |
| 1352 |
|
|
| 1353 |
|
FCheckDatFile := ini.ReadBool('ThreadList', 'CheckDatFile', True); |
| 1354 |
|
FLimitResCountMessage := ini.ReadBool('Thread', 'LimitResCountMessage', True); |
| 1355 |
|
|
| 1356 |
|
// 冒険の書Cookie読み込み |
| 1357 |
|
hostList := TStringList.Create; |
| 1358 |
|
ini.ReadSection('Bouken', hostList); |
| 1359 |
|
for i := 0 to hostList.Count - 1 do begin |
| 1360 |
|
FBoukenCookieList.Add( hostList[i] + '=' + |
| 1361 |
|
ini.ReadString('Bouken', hostList[i], '') ); |
| 1362 |
|
end; |
| 1363 |
|
hostList.Free; |
| 1364 |
|
|
| 1365 |
|
// ギコナビ更新で利用したインストーラの削除 |
| 1366 |
|
s := ini.ReadString('Update', 'Remove0', ''); |
| 1367 |
|
if (FileExists(s)) then begin |
| 1368 |
|
SysUtils.DeleteFile(s); |
| 1369 |
|
// 削除に失敗しても無視する |
| 1370 |
|
ini.DeleteKey('Update', 'Remove0'); |
| 1371 |
|
end; |
| 1372 |
|
|
| 1373 |
ini.UpdateFile; |
ini.UpdateFile; |
| 1374 |
finally |
finally |
| 1375 |
ini.Free; |
ini.Free; |
| 1551 |
//かしゅ〜しゃのスキンを使うか |
//かしゅ〜しゃのスキンを使うか |
| 1552 |
ini.WriteBool('CSS', 'UseKatjushaType', FUseKatjushaType); |
ini.WriteBool('CSS', 'UseKatjushaType', FUseKatjushaType); |
| 1553 |
//CSSファイル名 |
//CSSファイル名 |
| 1554 |
ini.WriteString('CSS', 'FileName', FCSSFileName); |
ini.WriteString('CSS', 'FileName', FSkinFiles.FileName); |
| 1555 |
//Mail欄表示 |
//Mail欄表示 |
| 1556 |
ini.WriteBool('Thread', 'ShowMail', FShowMail); |
ini.WriteBool('Thread', 'ShowMail', FShowMail); |
| 1557 |
// レス表示範囲 |
// レス表示範囲 |
| 1559 |
ini.WriteInteger('Thread', 'ResRange', FResRange); |
ini.WriteInteger('Thread', 'ResRange', FResRange); |
| 1560 |
ini.WriteBool('Thread', 'ResRangeHold', FResRangeHold); |
ini.WriteBool('Thread', 'ResRangeHold', FResRangeHold); |
| 1561 |
ini.WriteInteger('Thread', 'HeadResCount', FHeadResCount); |
ini.WriteInteger('Thread', 'HeadResCount', FHeadResCount); |
| 1562 |
|
ini.WriteInteger('Thread','ResRangeExCount', FResRangeExCount); |
| 1563 |
// スレッド一覧表示範囲 |
// スレッド一覧表示範囲 |
| 1564 |
ini.WriteInteger('ThreadList', 'ThreadRange', Ord( FThreadRange )); |
ini.WriteInteger('ThreadList', 'ThreadRange', Ord( FThreadRange )); |
| 1565 |
//ログ削除確認 |
//ログ削除確認 |
| 1595 |
|
|
| 1596 |
//ポップアップ位置 |
//ポップアップ位置 |
| 1597 |
ini.WriteInteger('Browser', 'PopupPosition', Ord(FPopupPosition)); |
ini.WriteInteger('Browser', 'PopupPosition', Ord(FPopupPosition)); |
| 1598 |
|
ini.WriteInteger('Browser', 'RespopupDelteX', FRespopupDeltaX); |
| 1599 |
|
ini.WriteInteger('Browser', 'RespopupDelteY', FRespopupDeltaY); |
| 1600 |
|
ini.WriteInteger('Browser', 'RespopupWait', FRespopupWait); |
| 1601 |
|
ini.WriteBool('Browser', 'RespopupMailTo', FRespopupMailTo); |
| 1602 |
|
|
| 1603 |
//アドレスバー |
//アドレスバー |
| 1604 |
ini.WriteBool('AddressBar', 'URLDisplay', FURLDisplay); |
ini.WriteBool('AddressBar', 'URLDisplay', FURLDisplay); |
| 1605 |
ini.WriteBool('AddressBar', 'TabStop', FAddressBarTabStop); |
ini.WriteBool('AddressBar', 'TabStop', FAddressBarTabStop); |
| 1715 |
// エディタ |
// エディタ |
| 1716 |
ini.WriteBool( 'Editor', 'SpaceToNBSP', FSpaceToNBSP ); |
ini.WriteBool( 'Editor', 'SpaceToNBSP', FSpaceToNBSP ); |
| 1717 |
ini.WriteBool( 'Editor', 'AmpToCharRef', FAmpToCharRef ); |
ini.WriteBool( 'Editor', 'AmpToCharRef', FAmpToCharRef ); |
| 1718 |
|
ini.WriteBool( 'Editor', 'UseGobakuCheck', FUseGobakuCheck ); |
| 1719 |
|
|
| 1720 |
//タブ自動保存 |
//タブ自動保存 |
| 1721 |
ini.WriteBool('TabAuto', 'TabAutoLoadSave', FTabAutoLoadSave); |
ini.WriteBool('TabAuto', 'TabAutoLoadSave', FTabAutoLoadSave); |
| 1722 |
|
ini.WriteString('Thread', 'LastCloseTabURL', FLastCloseTabURL); |
| 1723 |
//詳細設定 |
//詳細設定 |
| 1724 |
ini.WriteInteger('OptionDialog', 'KuroutTabIndex', FKuroutSettingTabIndex); |
ini.WriteInteger('OptionDialog', 'KuroutTabIndex', FKuroutSettingTabIndex); |
| 1725 |
|
|
| 1741 |
|
|
| 1742 |
//認証用ユーザID・パスワード |
//認証用ユーザID・パスワード |
| 1743 |
ini.WriteString('Be', 'UserID', FBeUserID); |
ini.WriteString('Be', 'UserID', FBeUserID); |
| 1744 |
ini.WriteString('Be', 'Code', Encrypt(FBeCode)); |
ini.WriteString('Be', 'Password', Encrypt(FBePassword)); |
| 1745 |
ini.WriteBool('Be', 'AutoLogin', FBeAutoLogin); |
ini.WriteBool('Be', 'AutoLogin', FBeAutoLogin); |
| 1746 |
|
|
| 1747 |
//履歴の最大保存件数 |
//履歴の最大保存件数 |
| 1758 |
ini.WriteBool('Thread', 'ReplaceDat', FReplaceDat); |
ini.WriteBool('Thread', 'ReplaceDat', FReplaceDat); |
| 1759 |
ini.WriteInteger('Function', 'SentIniFileSize', FSentIniFileSize); |
ini.WriteInteger('Function', 'SentIniFileSize', FSentIniFileSize); |
| 1760 |
ini.WriteString('Function', 'ExtList', FExtList); |
ini.WriteString('Function', 'ExtList', FExtList); |
| 1761 |
|
ini.WriteBool('ThreadList', 'CheckDatFile', FCheckDatFile); |
| 1762 |
|
ini.WriteBool('Thread', 'LimitResCountMessage', FLimitResCountMessage); |
| 1763 |
|
|
| 1764 |
|
|
| 1765 |
|
ini.UpdateFile; |
| 1766 |
|
finally |
| 1767 |
|
ini.Free; |
| 1768 |
|
end; |
| 1769 |
|
end; |
| 1770 |
|
//設定ファイル保存(冒険の書) |
| 1771 |
|
procedure TSetting.WriteBoukenSettingFile; |
| 1772 |
|
var |
| 1773 |
|
i: Integer; |
| 1774 |
|
ini: TMemIniFile; |
| 1775 |
|
begin |
| 1776 |
|
ini := TMemIniFile.Create(GetFileName()); |
| 1777 |
|
try |
| 1778 |
|
ini.EraseSection('Bouken'); |
| 1779 |
|
// 冒険の書Cookie書き込み |
| 1780 |
|
for i := 0 to FBoukenCookieList.Count - 1 do begin |
| 1781 |
|
ini.WriteString('Bouken', FBoukenCookieList.Names[i], FBoukenCookieList.Values[FBoukenCookieList.Names[i]]); |
| 1782 |
|
end; |
| 1783 |
ini.UpdateFile; |
ini.UpdateFile; |
| 1784 |
finally |
finally |
| 1785 |
ini.Free; |
ini.Free; |
| 1824 |
begin |
begin |
| 1825 |
ini := TMemIniFile.Create(GetFileName()); |
ini := TMemIniFile.Create(GetFileName()); |
| 1826 |
try |
try |
| 1827 |
if ExtractFilePath(Application.ExeName) + 'Log' = NewLogFolder then |
if GetAppDir + 'Log' = NewLogFolder then |
| 1828 |
ini.DeleteKey('Folder', 'LogFolder') |
ini.DeleteKey('Folder', 'LogFolder') |
| 1829 |
else |
else |
| 1830 |
ini.WriteString('Folder', 'LogFolder', NewLogFolder); |
ini.WriteString('Folder', 'LogFolder', NewLogFolder); |
| 1938 |
begin |
begin |
| 1939 |
for i := 0 to GetSoundCount - 1 do begin |
for i := 0 to GetSoundCount - 1 do begin |
| 1940 |
if SoundName[i] = Name then begin |
if SoundName[i] = Name then begin |
| 1941 |
Result := SoundFileName[i]; |
SysUtils.SetCurrentDir(GetAppDir); |
| 1942 |
|
Result := ExpandFileName(SoundFileName[i]); |
| 1943 |
Exit; |
Exit; |
| 1944 |
end; |
end; |
| 1945 |
end; |
end; |
| 2067 |
*************************************************************************) |
*************************************************************************) |
| 2068 |
function TSetting.GetBoardFileName: string; |
function TSetting.GetBoardFileName: string; |
| 2069 |
begin |
begin |
| 2070 |
Result := GetAppDir + CONFIG_DIR_NAME + '\' + BOARD_FILE_NAME; |
Result := GetConfigDir + BOARD_FILE_NAME; |
| 2071 |
end; |
end; |
| 2072 |
|
|
| 2073 |
(************************************************************************* |
(************************************************************************* |
| 2075 |
*************************************************************************) |
*************************************************************************) |
| 2076 |
function TSetting.GetCustomBoardFileName: string; |
function TSetting.GetCustomBoardFileName: string; |
| 2077 |
begin |
begin |
| 2078 |
Result := GetAppDir + CONFIG_DIR_NAME + '\' + CUSTOMBOARD_FILE_NAME; |
Result := GetConfigDir + CUSTOMBOARD_FILE_NAME; |
| 2079 |
end; |
end; |
| 2080 |
|
|
| 2081 |
(************************************************************************* |
(************************************************************************* |
| 2082 |
*ボードディレクトリ取得 |
*ボードディレクトリ取得(\で終わる) |
| 2083 |
*************************************************************************) |
*************************************************************************) |
| 2084 |
function TSetting.GetBoardDir: string; |
function TSetting.GetBoardDir: string; |
| 2085 |
begin |
begin |
| 2086 |
Result := GetAppDir + CONFIG_DIR_NAME + '\' + BOARD_DIR_NAME + '\'; |
Result := IncludeTrailingPathDelimiter(GetConfigDir + BOARD_DIR_NAME); |
| 2087 |
end; |
end; |
| 2088 |
|
|
| 2089 |
(************************************************************************* |
(************************************************************************* |
| 2096 |
|
|
| 2097 |
|
|
| 2098 |
(************************************************************************* |
(************************************************************************* |
| 2099 |
*実行ファイルフォルダ取得 |
*実行ファイルフォルダ取得(最後に\がある) |
| 2100 |
*************************************************************************) |
*************************************************************************) |
| 2101 |
function TSetting.GetAppDir: string; |
function TSetting.GetAppDir: string; |
| 2102 |
begin |
begin |
| 2128 |
end; |
end; |
| 2129 |
|
|
| 2130 |
(************************************************************************* |
(************************************************************************* |
| 2131 |
*Configフォルダ取得 |
*Configフォルダ取得(\で終わる) |
| 2132 |
*************************************************************************) |
*************************************************************************) |
| 2133 |
function TSetting.GetConfigDir: string; |
function TSetting.GetConfigDir: string; |
| 2134 |
begin |
begin |
| 2135 |
Result := IncludeTrailingPathDelimiter(GetAppDir + CONFIG_DIR_NAME); |
Result := IncludeTrailingPathDelimiter(GetAppDir + CONFIG_DIR_NAME); |
| 2136 |
end; |
end; |
| 2137 |
|
(************************************************************************* |
| 2138 |
|
*CSSフォルダ取得(\で終わる) |
| 2139 |
|
*************************************************************************) |
| 2140 |
function TSetting.GetStyleSheetDir: string; |
function TSetting.GetStyleSheetDir: string; |
| 2141 |
begin |
begin |
| 2142 |
Result := IncludeTrailingPathDelimiter(GetConfigDir + CSS_DIR_NAME); |
Result := IncludeTrailingPathDelimiter(GetConfigDir + CSS_DIR_NAME); |
| 2143 |
end; |
end; |
| 2144 |
|
(************************************************************************* |
| 2145 |
|
*skinフォルダ取得(\で終わる) |
| 2146 |
|
*************************************************************************) |
| 2147 |
function TSetting.GetSkinDir: string; |
function TSetting.GetSkinDir: string; |
| 2148 |
begin |
begin |
| 2149 |
Result := IncludeTrailingPathDelimiter(GetConfigDir + SKIN_DIR_NAME); |
Result := IncludeTrailingPathDelimiter(GetConfigDir + SKIN_DIR_NAME); |
| 2150 |
end; |
end; |
| 2151 |
|
(************************************************************************* |
| 2152 |
function TSetting.GetSkinHeaderFileName: string; |
*NGワードディレクトリ取得(\で終わる) |
| 2153 |
begin |
*************************************************************************) |
|
Result := CSSFileName + SKIN_HEADER_FILE_NAME; |
|
|
end; |
|
|
|
|
|
function TSetting.GetSkinFooterFileName: string; |
|
|
begin |
|
|
Result := CSSFileName + SKIN_FOOTER_FILE_NAME; |
|
|
end; |
|
|
|
|
|
function TSetting.GetSkinNewResFileName: string; |
|
|
begin |
|
|
Result := CSSFileName + SKIN_NEWRES_FILE_NAME; |
|
|
end; |
|
|
|
|
|
function TSetting.GetSkinResFileName: string; |
|
|
begin |
|
|
Result := CSSFileName + SKIN_RES_FILE_NAME; |
|
|
end; |
|
|
|
|
|
function TSetting.GetSkinBookmarkFileName: string; |
|
|
begin |
|
|
Result := CSSFileName + SKIN_BOOKMARK_FILE_NAME; |
|
|
end; |
|
|
|
|
|
function TSetting.GetSkinNewmarkFileName: string; |
|
|
begin |
|
|
Result := CSSFileName + SKIN_NEWMARK_FILE_NAME; |
|
|
end; |
|
|
|
|
| 2154 |
function TSetting.GetNGWordsDir: string; |
function TSetting.GetNGWordsDir: string; |
| 2155 |
begin |
begin |
| 2156 |
Result := IncludeTrailingPathDelimiter(GetConfigDir + NGWORDs_DIR_NAME); |
Result := IncludeTrailingPathDelimiter(GetConfigDir + NGWORDs_DIR_NAME); |
| 2157 |
end; |
end; |
| 2158 |
|
(************************************************************************* |
| 2159 |
|
*Boardプラグインディレクトリ取得(\で終わる) |
| 2160 |
|
*************************************************************************) |
| 2161 |
function TSetting.GetBoardPlugInDir: string; |
function TSetting.GetBoardPlugInDir: string; |
| 2162 |
begin |
begin |
| 2163 |
Result := IncludeTrailingPathDelimiter(GetConfigDir + BOARD_PLUGIN_DIR_NAME); |
Result := IncludeTrailingPathDelimiter(GetConfigDir + BOARD_PLUGIN_DIR_NAME); |
| 2171 |
// ココでの判定でも大文字小文字の違いは無視する。 |
// ココでの判定でも大文字小文字の違いは無視する。 |
| 2172 |
FUseSkin := |
FUseSkin := |
| 2173 |
UseCSS and |
UseCSS and |
| 2174 |
(Pos( AnsiLowerCase(GetSkinDir), AnsiLowerCase(CSSFileName) ) > 0) and |
(Pos( AnsiLowerCase(GetSkinDir), AnsiLowerCase(FSkinFiles.FileName) ) > 0) and |
| 2175 |
FileExists( GetSkinHeaderFileName ); |
FileExists( FSkinFiles.GetSkinHeaderFileName ); |
| 2176 |
|
|
| 2177 |
end; |
end; |
| 2178 |
|
|
| 2179 |
procedure TSetting.SetCSSFileName( fileName: string ); |
procedure TSetting.SetCSSFileName( fileName: string ); |
| 2180 |
begin |
begin |
| 2181 |
|
FSkinFiles.FileName := fileName; |
|
FCSSFileName := fileName; |
|
| 2182 |
// Windows的にファイルパスの大文字小文字の違いは無視されるので、 |
// Windows的にファイルパスの大文字小文字の違いは無視されるので、 |
| 2183 |
// ココでの判定でも大文字小文字の違いは無視する。 |
// ココでの判定でも大文字小文字の違いは無視する。 |
| 2184 |
FUseSkin := |
FUseSkin := |
| 2185 |
UseCSS and |
UseCSS and |
| 2186 |
(Pos( AnsiLowerCase(GetSkinDir), AnsiLowerCase(CSSFileName) ) > 0) and |
(Pos( AnsiLowerCase(GetSkinDir), AnsiLowerCase(FSkinFiles.FileName) ) > 0) and |
| 2187 |
FileExists( GetSkinHeaderFileName ); |
FileExists( FSkinFiles.GetSkinHeaderFileName ); |
| 2188 |
|
|
| 2189 |
end; |
end; |
| 2190 |
|
(************************************************************************* |
| 2191 |
|
*samba設定ファイル名取得 |
| 2192 |
|
*************************************************************************) |
| 2193 |
function TSetting.GetSambaFileName: string; |
function TSetting.GetSambaFileName: string; |
| 2194 |
begin |
begin |
| 2195 |
Result := GetAppDir + SAMBATIME_FILE_NAME; |
Result := GetAppDir + SAMBATIME_FILE_NAME; |
| 2237 |
begin |
begin |
| 2238 |
Result := GetConfigDir + REPLACE_FILE_NAME; |
Result := GetConfigDir + REPLACE_FILE_NAME; |
| 2239 |
end; |
end; |
| 2240 |
|
function TSetting.GetExtprevieFileName: String; |
| 2241 |
|
begin |
| 2242 |
|
Result := GetConfigDir + EXT_PREVIEW_FILE_NAME; |
| 2243 |
|
end; |
| 2244 |
procedure TSetting.SetMoveHistorySize(AVal : Integer); |
procedure TSetting.SetMoveHistorySize(AVal : Integer); |
| 2245 |
begin |
begin |
| 2246 |
if (AVal > 0) then begin |
if (AVal > 0) then begin |
| 2474 |
end; |
end; |
| 2475 |
end; |
end; |
| 2476 |
end; |
end; |
| 2477 |
|
|
| 2478 |
|
function TSetting.GetCSSFileName: string; |
| 2479 |
|
begin |
| 2480 |
|
Result := FSkinFiles.FileName; |
| 2481 |
|
end; |
| 2482 |
|
function TSetting.GetBoukenCookie(AHostName: String): String; |
| 2483 |
|
var |
| 2484 |
|
i : Integer; |
| 2485 |
|
begin |
| 2486 |
|
for i := 0 to FBoukenCookieList.Count - 1 do begin |
| 2487 |
|
if ( AnsiPos(FBoukenCookieList.Names[i], AHostName) > 0 ) then begin |
| 2488 |
|
Result := FBoukenCookieList.Values[FBoukenCookieList.Names[i]]; |
| 2489 |
|
Break; |
| 2490 |
|
end; |
| 2491 |
|
end; |
| 2492 |
|
end; |
| 2493 |
|
procedure TSetting.SetBoukenCookie(ACookieValue, AHostName: String); |
| 2494 |
|
var |
| 2495 |
|
i : Integer; |
| 2496 |
|
begin |
| 2497 |
|
for i := 0 to FBoukenCookieList.Count - 1 do begin |
| 2498 |
|
if ( FBoukenCookieList.Names[i] = AHostName ) then begin |
| 2499 |
|
FBoukenCookieList[i] := AHostName + '=' + ACookieValue; |
| 2500 |
|
Break; |
| 2501 |
|
end; |
| 2502 |
|
end; |
| 2503 |
|
if ( i = FBoukenCookieList.Count ) then begin |
| 2504 |
|
FBoukenCookieList.Add(AHostName + '=' + ACookieValue); |
| 2505 |
|
end; |
| 2506 |
|
end; |
| 2507 |
|
procedure TSetting.GetBouken(AHostName: String; var Domain:String; var Cookie:String); |
| 2508 |
|
var |
| 2509 |
|
i : Integer; |
| 2510 |
|
begin |
| 2511 |
|
Cookie := ''; |
| 2512 |
|
for i := 0 to FBoukenCookieList.Count - 1 do begin |
| 2513 |
|
if ( AnsiPos(FBoukenCookieList.Names[i], AHostName) > 0 ) then begin |
| 2514 |
|
Domain := FBoukenCookieList.Names[i]; |
| 2515 |
|
Cookie := FBoukenCookieList.Values[FBoukenCookieList.Names[i]]; |
| 2516 |
|
Break; |
| 2517 |
|
end; |
| 2518 |
|
end; |
| 2519 |
|
end; |
| 2520 |
|
|
| 2521 |
end. |
end. |
| 2522 |
|
|