| 14 |
{$IFEND} |
{$IFEND} |
| 15 |
{HttpApp,} YofUtils, URLMon, IdGlobal, IdURI, {Masks,} |
{HttpApp,} YofUtils, URLMon, IdGlobal, IdURI, {Masks,} |
| 16 |
Setting, BoardGroup, gzip, Dolib, bmRegExp, AbonUnit, |
Setting, BoardGroup, gzip, Dolib, bmRegExp, AbonUnit, |
| 17 |
MojuUtils, ExternalBoardManager, ExternalBoardPlugInMain, |
ExternalBoardManager, ExternalBoardPlugInMain, |
| 18 |
Sort, GikoBayesian; |
Sort, GikoBayesian; |
| 19 |
|
|
| 20 |
type |
type |
| 165 |
function AddAnchorTag(s: string): string; |
function AddAnchorTag(s: string): string; |
| 166 |
|
|
| 167 |
function DivideSubject(Line: string): TSubjectRec; |
function DivideSubject(Line: string): TSubjectRec; |
|
function DivideStrLine(Line: string): TResRec; |
|
| 168 |
|
|
| 169 |
property Setting: TSetting read FSetting write FSetting; |
property Setting: TSetting read FSetting write FSetting; |
| 170 |
property Dolib: TDolib read FDolib write FDolib; |
property Dolib: TDolib read FDolib write FDolib; |
| 185 |
|
|
| 186 |
procedure MenuFont(Font: TFont); |
procedure MenuFont(Font: TFont); |
| 187 |
|
|
|
function RemoveToken(var s:string; const delimiter:string):string; |
|
| 188 |
function GetTokenIndex(s: string; delimiter: string; index: Integer): string; |
function GetTokenIndex(s: string; delimiter: string; index: Integer): string; |
| 189 |
function DeleteLink(const s: string): string; |
function DeleteLink(const s: string): string; |
| 190 |
|
|
| 267 |
implementation |
implementation |
| 268 |
|
|
| 269 |
uses |
uses |
| 270 |
Giko, RoundData, Favorite, Registry, HTMLCreate; |
Giko, RoundData, Favorite, Registry, HTMLCreate, MojuUtils; |
| 271 |
|
|
| 272 |
const |
const |
| 273 |
FOLDER_INDEX_VERSION = '1.01'; |
FOLDER_INDEX_VERSION = '1.01'; |
| 1158 |
end; |
end; |
| 1159 |
end; |
end; |
| 1160 |
|
|
|
(************************************************************************* |
|
|
* datファイルの一ラインを分解 |
|
|
*************************************************************************) |
|
|
function TGikoSys.DivideStrLine(Line: string): TResRec; |
|
|
var |
|
|
Delim: string; |
|
|
begin |
|
|
if AnsiPos('<>', Line) = 0 then begin |
|
|
//Delim := ','; |
|
|
//Result.FType := glt2chOld; |
|
|
Line := CustomStringReplace(Line, '<>', '<>'); |
|
|
Line := CustomStringReplace(Line, ',', '<>'); |
|
|
Line := CustomStringReplace(Line, '@`', ','); |
|
|
end; |
|
|
Delim := '<>'; |
|
|
Result.FType := glt2chNew; |
|
|
//Trimしてはいけない気がする byもじゅ |
|
|
Result.FName := RemoveToken(Line, Delim); |
|
|
Result.FMailTo := RemoveToken(Line, Delim); |
|
|
Result.FDateTime := RemoveToken(Line, Delim); |
|
|
Result.FBody := RemoveToken(Line, Delim); |
|
|
//空だと問題が起きるから、空白を設定する |
|
|
if Result.FBody = '' then begin |
|
|
Result.FBody := ' '; |
|
|
end else if ( Result.FBody[1] = ' ' ) then begin |
|
|
//2ちゃんねるとかだと、本文の先頭に1つ半角空白が入っているので削除する |
|
|
//他の掲示板で、レス自体の空白かもしれないけどそれは諦める |
|
|
Delete(Result.FBody, 1, 1); |
|
|
end; |
|
|
//Result.FTitle := Trim(RemoveToken(Line, Delim)); |
|
|
Result.FTitle := RemoveToken(Line, Delim); |
|
|
|
|
|
end; |
|
| 1161 |
|
|
| 1162 |
(************************************************************************* |
(************************************************************************* |
| 1163 |
* URLからBBSIDを取得 |
* URLからBBSIDを取得 |
| 1363 |
Font.Style := Font.Style + [fsItalic]; |
Font.Style := Font.Style + [fsItalic]; |
| 1364 |
end; |
end; |
| 1365 |
|
|
|
(************************************************************************* |
|
|
* |
|
|
*どこかのサイトからのパクリ |
|
|
*************************************************************************) |
|
|
function TGikoSys.RemoveToken(var s: string;const delimiter: string): string; |
|
|
var |
|
|
p: Integer; |
|
|
begin |
|
|
p := AnsiPos(delimiter, s); |
|
|
if p = 0 then |
|
|
Result := s |
|
|
else |
|
|
Result := Copy(s, 1, p - 1); |
|
|
Delete(s, 1, Length(Result) + Length(delimiter)); |
|
|
end; |
|
| 1366 |
|
|
| 1367 |
(************************************************************************* |
(************************************************************************* |
| 1368 |
* |
* |