//----- \82Æ\82è\82 \82¦\82¸\82©\82¿\82ã\81`\82µ\82á\8cÝ\8a·\97p\81B\83R\83\81\83\93\83g\83A\83E\83g\82µ\82Ä\82à\82æ\82µ
// \82â\82è\82©\82½\82ª\8bê\82µ\82¢\82¯\82Ç\81A\83I\83v\83V\83\87\83\93\83_\83C\83A\83\8d\83O\82Ì\83v\83\8c\83r\83\85\81[\97p try
- try
- if ThreadItem.ParentBoard <> nil then
- if ThreadItem.ParentBoard.ParentCategory <> nil then
- CustomStringReplace( Skin, '&BBSNAME', ThreadItem.ParentBoard.ParentCategory.ParenTBBS.Title);
- CustomStringReplace( Skin, '&THREADURL', ThreadItem.URL);
- except end;
- CustomStringReplace( Skin, '&BOARDNAME', ThreadItem.ParentBoard.Title);
- CustomStringReplace( Skin, '&BOARDURL', ThreadItem.ParentBoard.URL);
- CustomStringReplace( Skin, '&THREADNAME', ThreadItem.Title);
- CustomStringReplace( Skin, '&SKINPATH', GikoSys.Setting.CSSFileName);
- CustomStringReplace( Skin, '&GETRESCOUNT', IntToStr( ThreadItem.NewReceive - 1 ));
- CustomStringReplace( Skin, '&NEWRESCOUNT', IntToStr( ThreadItem.NewResCount ));
- CustomStringReplace( Skin, '&ALLRESCOUNT', IntToStr( ThreadItem.AllResCount ));
-
- CustomStringReplace( Skin, '&NEWDATE', FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate));
- CustomStringReplace( Skin, '&SIZEKB', IntToStr( Floor( SizeByte / 1024 ) ));
- CustomStringReplace( Skin, '&SIZE', IntToStr( SizeByte ));
+ if GikoSys.Setting.UseKatjushaType then begin
+ try
+ if ThreadItem.ParentBoard <> nil then
+ if ThreadItem.ParentBoard.ParentCategory <> nil then
+ CustomStringReplace( Skin, '&BBSNAME', ThreadItem.ParentBoard.ParentCategory.ParenTBBS.Title);
+ CustomStringReplace( Skin, '&THREADURL', ThreadItem.URL);
+ except end;
+ CustomStringReplace( Skin, '&BOARDNAME', ThreadItem.ParentBoard.Title);
+ CustomStringReplace( Skin, '&BOARDURL', ThreadItem.ParentBoard.URL);
+ CustomStringReplace( Skin, '&THREADNAME', ThreadItem.Title);
+ CustomStringReplace( Skin, '&SKINPATH', GikoSys.Setting.CSSFileName);
+ CustomStringReplace( Skin, '&GETRESCOUNT', IntToStr( ThreadItem.NewReceive - 1 ));
+ CustomStringReplace( Skin, '&NEWRESCOUNT', IntToStr( ThreadItem.NewResCount ));
+ CustomStringReplace( Skin, '&ALLRESCOUNT', IntToStr( ThreadItem.AllResCount ));
+
+ CustomStringReplace( Skin, '&NEWDATE', FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate));
+ CustomStringReplace( Skin, '&SIZEKB', IntToStr( Floor( SizeByte / 1024 ) ));
+ CustomStringReplace( Skin, '&SIZE', IntToStr( SizeByte ));
+ end
//----- \82±\82±\82Ü\82Å
end;
Result := Skin.Text;
Skin := CustomStringReplace( Skin, '<NONSPAMMINESS/>', FloatToStr( 100 - spamminess ) );
//----- \82©\82¿\82ã\81`\82µ\82á\8cÝ\8a·\97p\81B\83R\83\81\83\93\83g\83A\83E\83g\82µ\82Ä\82à\82æ\82µ
- Skin := CustomStringReplace( Skin, '&NUMBER',
- '<a href="menu:' + No + '" name="' + No + '">' + No + '</a>');
- Skin := CustomStringReplace( Skin, '&PLAINNUMBER', No);
- Skin := CustomStringReplace( Skin, '&NAME', '<b>' + Res.FName + '</b>');
- Skin := CustomStringReplace( Skin, '&MAILNAME',
- '<a href="mailto:' + Res.FMailTo + '"><b>' + Res.FName + '</b></a>');
- Skin := CustomStringReplace( Skin, '&MAIL', Res.FMailTo);
- Skin := CustomStringReplace( Skin, '&DATE', Res.FDateTime);
- Skin := CustomStringReplace( Skin, '&MESSAGE', Res.FBody);
- Skin := CustomStringReplace( Skin, '&SPAMMINESS', FloatToStr( spamminess ) );
- Skin := CustomStringReplace( Skin, '&NONSPAMMINESS', FloatToStr( 100 - spamminess ) );
+ if GikoSys.Setting.UseKatjushaType then begin
+ Skin := CustomStringReplace( Skin, '&NUMBER',
+ '<a href="menu:' + No + '" name="' + No + '">' + No + '</a>');
+ Skin := CustomStringReplace( Skin, '&PLAINNUMBER', No);
+ Skin := CustomStringReplace( Skin, '&NAME', '<b>' + Res.FName + '</b>');
+ Skin := CustomStringReplace( Skin, '&MAILNAME',
+ '<a href="mailto:' + Res.FMailTo + '"><b>' + Res.FName + '</b></a>');
+ Skin := CustomStringReplace( Skin, '&MAIL', Res.FMailTo);
+ Skin := CustomStringReplace( Skin, '&DATE', Res.FDateTime);
+ Skin := CustomStringReplace( Skin, '&MESSAGE', Res.FBody);
+ Skin := CustomStringReplace( Skin, '&SPAMMINESS', FloatToStr( spamminess ) );
+ Skin := CustomStringReplace( Skin, '&NONSPAMMINESS', FloatToStr( 100 - spamminess ) );
+ end;
//----- \82±\82±\82Ü\82Å
Result := Skin;
boardPlugIn : TBoardPlugIn;
UserOptionalStyle: string;
begin
- if ThreadItem <> nil then begin
- if ThreadItem.ParentBoard.IsBoardPlugInAvailable then begin
- //===== \83v\83\89\83O\83C\83\93\82É\82æ\82é\95\\8e¦
- boardPlugIn := ThreadItem.ParentBoard.BoardPlugIn;
- NewReceiveNo := ThreadItem.NewReceive;
- // \83t\83H\83\93\83g\82â\83T\83C\83Y\82Ì\90Ý\92è
- UserOptionalStyle := GikoSys.SetUserOptionalStyle;
- try
- doc.open;
- // \83w\83b\83_
- doc.Write( boardPlugIn.GetHeader( DWORD( threadItem ),
- '<style type="text/css">body {' + UserOptionalStyle + '}</style>' ) + #13#10 );
- doc.Write('<p id="idSearch"></p>' + #13#10 );
-
- for i := 0 to threadItem.Count - 1 do begin
- // 1 \82Í\95K\82¸\95\\8e¦
- if i <> 0 then begin
- // \95\\8e¦\94Í\88Í\82ð\8cÀ\92è
- case GikoSys.ResRange of
- Ord( grrKoko ):
- if ThreadItem.Kokomade > (i + 1) then
- Continue;
- Ord( grrNew ):
- if NewReceiveNo > (i + 1) then
- Continue;
- 10..65535:
- if (threadItem.Count - i) > GikoSys.ResRange then
- Continue;
- end;
- end;
+ //===== \83v\83\89\83O\83C\83\93\82É\82æ\82é\95\\8e¦
+ boardPlugIn := ThreadItem.ParentBoard.BoardPlugIn;
+ NewReceiveNo := ThreadItem.NewReceive;
+ // \83t\83H\83\93\83g\82â\83T\83C\83Y\82Ì\90Ý\92è
+ UserOptionalStyle := GikoSys.SetUserOptionalStyle;
+ try
+ doc.open;
+ // \83w\83b\83_
+ doc.Write( boardPlugIn.GetHeader( DWORD( threadItem ),
+ '<style type="text/css">body {' + UserOptionalStyle + '}</style>' ) + #13#10 );
+ doc.Write('<p id="idSearch"></p>' + #13#10 );
+
+ for i := 0 to threadItem.Count - 1 do begin
+ // 1 \82Í\95K\82¸\95\\8e¦
+ if i <> 0 then begin
+ // \95\\8e¦\94Í\88Í\82ð\8cÀ\92è
+ case GikoSys.ResRange of
+ Ord( grrKoko ):
+ if ThreadItem.Kokomade > (i + 1) then
+ Continue;
+ Ord( grrNew ):
+ if NewReceiveNo > (i + 1) then
+ Continue;
+ 10..65535:
+ if (threadItem.Count - i) > GikoSys.ResRange then
+ Continue;
+ end;
+ end;
- // \90V\92\85\83}\81[\83N
- if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then begin
- try
- if GikoSys.Setting.UseSkin then begin
- if FileExists( GikoSys.GetSkinNewmarkFileName ) then
- doc.Write( LoadFromSkin( GikoSys.GetSkinNewmarkFileName, ThreadItem, ThreadItem.Size ) + #13#10 )
- else
- doc.Write( '<a name="new"></a>' + #13#10 );
- end else if GikoSys.Setting.UseCSS then begin
- doc.Write('<a name="new"></a><div class="new">\90V\92\85\83\8c\83X <span class="newdate">' + FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate) + '</span></div>' + #13#10);
- end else begin
- doc.Write('</dl>');
- doc.Write('<a name="new"></a>');
- doc.Write('<table width="100%" bgcolor="#3333CC" cellpadding="0" cellspacing="1"><tr><td align="center" bgcolor="#6666FF" valign="middle"><font size="-1" color="#ffffff"><b>\90V\92\85\83\8c\83X ' + FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate) + '</b></font></td></tr></table>');
- doc.Write('<dl> + #13#10');
- end;
- except
- doc.Write( '<a name="new"></a>' + #13#10);
- end;
+ // \90V\92\85\83}\81[\83N
+ if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then begin
+ try
+ if GikoSys.Setting.UseSkin then begin
+ if FileExists( GikoSys.GetSkinNewmarkFileName ) then
+ doc.Write( LoadFromSkin( GikoSys.GetSkinNewmarkFileName, ThreadItem, ThreadItem.Size ) + #13#10 )
+ else
+ doc.Write( '<a name="new"></a>' + #13#10 );
+ end else if GikoSys.Setting.UseCSS then begin
+ doc.Write('<a name="new"></a><div class="new">\90V\92\85\83\8c\83X <span class="newdate">' + FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate) + '</span></div>' + #13#10);
+ end else begin
+ doc.Write('</dl>');
+ doc.Write('<a name="new"></a>');
+ doc.Write('<table width="100%" bgcolor="#3333CC" cellpadding="0" cellspacing="1"><tr><td align="center" bgcolor="#6666FF" valign="middle"><font size="-1" color="#ffffff"><b>\90V\92\85\83\8c\83X ' + FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate) + '</b></font></td></tr></table>');
+ doc.Write('<dl> + #13#10');
end;
+ except
+ doc.Write( '<a name="new"></a>' + #13#10);
+ end;
+ end;
- // \83\8c\83X
- doc.Write( boardPlugIn.GetRes( DWORD( threadItem ), i + 1 ) + #13#10 );
+ // \83\8c\83X
+ doc.Write( boardPlugIn.GetRes( DWORD( threadItem ), i + 1 ) + #13#10 );
- if ThreadItem.Kokomade = (i + 1) then begin
- // \82±\82±\82Ü\82Å\93Ç\82ñ\82¾
- try
- if GikoSys.Setting.UseSkin then begin
- if FileExists( GikoSys.GetSkinBookmarkFileName ) then
- doc.Write( LoadFromSkin( GikoSys.GetSkinBookmarkFileName, ThreadItem, ThreadItem.Size ) + #13#10 )
- else
- doc.Write( '<a name="koko"></a>' + #13#10 );
- end else if GikoSys.Setting.UseCSS then begin
- doc.Write('<a name="koko"></a><div class="koko">\83R\83R\82Ü\82Å\93Ç\82ñ\82¾</div>' + #13#10 );
- end else begin
- doc.Write('</dl>');
- doc.Write('<a name="koko"></a><table width="100%" bgcolor="#55AA55" cellpadding="0" cellspacing="1"><tr><td align="center" bgcolor="#77CC77" valign="middle"><font size="-1" color="#ffffff"><b>\83R\83R\82Ü\82Å\93Ç\82ñ\82¾</b></font></td></tr></table>');
- doc.Write('<dl>' + #13#10 );
- end;
- except
+ if ThreadItem.Kokomade = (i + 1) then begin
+ // \82±\82±\82Ü\82Å\93Ç\82ñ\82¾
+ try
+ if GikoSys.Setting.UseSkin then begin
+ if FileExists( GikoSys.GetSkinBookmarkFileName ) then
+ doc.Write( LoadFromSkin( GikoSys.GetSkinBookmarkFileName, ThreadItem, ThreadItem.Size ) + #13#10 )
+ else
doc.Write( '<a name="koko"></a>' + #13#10 );
- end;
+ end else if GikoSys.Setting.UseCSS then begin
+ doc.Write('<a name="koko"></a><div class="koko">\83R\83R\82Ü\82Å\93Ç\82ñ\82¾</div>' + #13#10 );
+ end else begin
+ doc.Write('</dl>');
+ doc.Write('<a name="koko"></a><table width="100%" bgcolor="#55AA55" cellpadding="0" cellspacing="1"><tr><td align="center" bgcolor="#77CC77" valign="middle"><font size="-1" color="#ffffff"><b>\83R\83R\82Ü\82Å\93Ç\82ñ\82¾</b></font></td></tr></table>');
+ doc.Write('<dl>' + #13#10 );
end;
+ except
+ doc.Write( '<a name="koko"></a>' + #13#10 );
end;
-
-
- // \83X\83L\83\93(\83t\83b\83^)
- doc.Write( boardPlugIn.GetFooter( DWORD( threadItem ), '<a name="bottom"></a>' ) + #13#10 );
- finally
- doc.Close;
end;
-
end;
+
+
+ // \83X\83L\83\93(\83t\83b\83^)
+ doc.Write( boardPlugIn.GetFooter( DWORD( threadItem ), '<a name="bottom"></a>' ) + #13#10 );
+ finally
+ doc.Close;
end;
end;
Result := SkinedRes( skin, Res, No );
end;
begin
- if ThreadItem <> nil then begin
- // \83X\83L\83\93\8eg\97p
- if GikoSys.Setting.UseSkin then begin
- NewReceiveNo := ThreadItem.NewReceive;
- // \83t\83H\83\93\83g\82â\83T\83C\83Y\82Ì\90Ý\92è
- UserOptionalStyle := GikoSys.SetUserOptionalStyle;
- CSSFileName := GikoSys.GetStyleSheetDir + GikoSys.Setting.CSSFileName;
- doc.open;
- try
- doc.charset := 'Shift_JIS';
+ NewReceiveNo := ThreadItem.NewReceive;
+ // \83t\83H\83\93\83g\82â\83T\83C\83Y\82Ì\90Ý\92è
+ UserOptionalStyle := GikoSys.SetUserOptionalStyle;
+ CSSFileName := GikoSys.GetStyleSheetDir + GikoSys.Setting.CSSFileName;
+ doc.open;
+ try
+ doc.charset := 'Shift_JIS';
- // \83X\83L\83\93\82Ì\90Ý\92è
- try
- SkinHeader := LoadFromSkin( GikoSys.GetSkinHeaderFileName, ThreadItem, ThreadItem.Size);
- if Length( UserOptionalStyle ) > 0 then
- SkinHeader := CustomStringReplace( SkinHeader, '</head>',
- '<style type="text/css">body {' + UserOptionalStyle + '}</style></head>');
- doc.Write( SkinHeader + #13#10);
- except
- end;
+ // \83X\83L\83\93\82Ì\90Ý\92è
+ try
+ SkinHeader := LoadFromSkin( GikoSys.GetSkinHeaderFileName, ThreadItem, ThreadItem.Size);
+ if Length( UserOptionalStyle ) > 0 then
+ SkinHeader := CustomStringReplace( SkinHeader, '</head>',
+ '<style type="text/css">body {' + UserOptionalStyle + '}</style></head>');
+ doc.Write( SkinHeader + #13#10);
+ except
+ end;
- try
- SkinNewRes := LoadFromSkin( GikoSys.GetSkinNewResFileName, ThreadItem, ThreadItem.Size);
- except
+ try
+ SkinNewRes := LoadFromSkin( GikoSys.GetSkinNewResFileName, ThreadItem, ThreadItem.Size);
+ except
+ end;
+
+ try
+ SkinRes := LoadFromSkin( GikoSys.GetSkinResFileName, ThreadItem, ThreadItem.Size );
+ except
+ end;
+
+ doc.Write('<p id="idSearch"></p>' + #13#10);
+ doc.Write('<a name="top"></a>' + #13#10);
+
+ for i := 0 to ReadList.Count - 1 do begin
+ // 1 \82Í\95K\82¸\95\\8e¦
+ if i <> 0 then begin
+ // \95\\8e¦\94Í\88Í\82ð\8cÀ\92è
+ case GikoSys.ResRange of
+ Ord( grrKoko ):
+ if ThreadItem.Kokomade > (i + 1) then
+ Continue;
+ Ord( grrNew ):
+ if NewReceiveNo > (i + 1) then
+ Continue;
+ 10..65535:
+ if (threadItem.Count - i) > GikoSys.ResRange then
+ Continue;
end;
+ end;
+ // \90V\92\85\83}\81[\83N
+ if (NewReceiveNo = i + 1) or ((NewReceiveNo = 0) and (i = 0)) then begin
try
- SkinRes := LoadFromSkin( GikoSys.GetSkinResFileName, ThreadItem, ThreadItem.Size );
+ if FileExists( GikoSys.GetSkinNewmarkFileName ) then
+ doc.Write( LoadFromSkin( GikoSys.GetSkinNewmarkFileName, ThreadItem, ThreadItem.Size ) + #13#10)
+ else
+ doc.Write( '<a name="new"></a>' + #13#10 );
except
+ doc.Write( '<a name="new"></a>' + #13#10 );
end;
+ end;
- doc.Write('<p id="idSearch"></p>' + #13#10);
- doc.Write('<a name="top"></a>' + #13#10);
-
- for i := 0 to ReadList.Count - 1 do begin
- // 1 \82Í\95K\82¸\95\\8e¦
- if i <> 0 then begin
- // \95\\8e¦\94Í\88Í\82ð\8cÀ\92è
- case GikoSys.ResRange of
- Ord( grrKoko ):
- if ThreadItem.Kokomade > (i + 1) then
- Continue;
- Ord( grrNew ):
- if NewReceiveNo > (i + 1) then
- Continue;
- 10..65535:
- if (threadItem.Count - i) > GikoSys.ResRange then
- Continue;
- end;
- end;
-
- // \90V\92\85\83}\81[\83N
- if (NewReceiveNo = i + 1) or ((NewReceiveNo = 0) and (i = 0)) then begin
- try
- if FileExists( GikoSys.GetSkinNewmarkFileName ) then
- doc.Write( LoadFromSkin( GikoSys.GetSkinNewmarkFileName, ThreadItem, ThreadItem.Size ) + #13#10)
- else
- doc.Write( '<a name="new"></a>' + #13#10 );
- except
- doc.Write( '<a name="new"></a>' + #13#10 );
- end;
- end;
-
- if (Trim(ReadList[i]) <> '') then begin
- No := IntToStr(i + 1);
+ if (Trim(ReadList[i]) <> '') then begin
+ No := IntToStr(i + 1);
- Res := DivideStrLine(ReadList[i]);
- Res.FBody := ConvRes(AddAnchorTag(Res.FBody), ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true');
- Res.FDateTime := AddBeProfileLink(Res.FDateTime, i + 1);
+ Res := DivideStrLine(ReadList[i]);
+ Res.FBody := ConvRes(AddAnchorTag(Res.FBody), ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true');
+ Res.FDateTime := AddBeProfileLink(Res.FDateTime, i + 1);
- try
- if NewReceiveNo <= (i + 1) then
- // \90V\92\85\83\8c\83X
- strTmp := ReplaceRes( SkinNewRes )
- else
- // \92Ê\8fí\82Ì\83\8c\83X
- strTmp := ReplaceRes( SkinRes );
-
- doc.Write( strTmp + #13#10 );
- except
- end;
- end;
+ try
+ if NewReceiveNo <= (i + 1) then
+ // \90V\92\85\83\8c\83X
+ strTmp := ReplaceRes( SkinNewRes )
+ else
+ // \92Ê\8fí\82Ì\83\8c\83X
+ strTmp := ReplaceRes( SkinRes );
- if ThreadItem.Kokomade = (i + 1) then begin
- // \82±\82±\82Ü\82Å\93Ç\82ñ\82¾
- try
- if FileExists( GikoSys.GetSkinBookmarkFileName ) then
- doc.Write( LoadFromSkin( GikoSys.GetSkinBookmarkFileName, ThreadItem, ThreadItem.Size ) + #13#10 )
- else
- doc.Write( '<a name="koko"></a>' + #13#10 );
- except
- doc.Write( '<a name="koko"></a>' + #13#10 );
- end;
- end;
+ doc.Write( strTmp + #13#10 );
+ except
end;
+ end;
- doc.Write('<a name="bottom"></a>' + #13#10);
- // \83X\83L\83\93(\83t\83b\83^)
+ if ThreadItem.Kokomade = (i + 1) then begin
+ // \82±\82±\82Ü\82Å\93Ç\82ñ\82¾
try
- doc.Write( LoadFromSkin( GikoSys.GetSkinFooterFileName, ThreadItem, ThreadItem.Size ) + #13#10 );
+ if FileExists( GikoSys.GetSkinBookmarkFileName ) then
+ doc.Write( LoadFromSkin( GikoSys.GetSkinBookmarkFileName, ThreadItem, ThreadItem.Size ) + #13#10 )
+ else
+ doc.Write( '<a name="koko"></a>' + #13#10 );
except
+ doc.Write( '<a name="koko"></a>' + #13#10 );
end;
- finally
- doc.close;
end;
end;
- end;
-end;
-procedure THTMLCreate.CreateUseCSSHTML(doc: Variant; ThreadItem: TThreadItem; ReadList: TStringList; sTitle: string );
-var
- i: integer;
- No: string;
- CSSFileName: string;
- NewReceiveNo: Integer;
- Res: TResRec;
- UserOptionalStyle: string;
-begin
- if ThreadItem <> nil then begin
- doc.open;
+ doc.Write('<a name="bottom"></a>' + #13#10);
+ // \83X\83L\83\93(\83t\83b\83^)
try
- doc.charset := 'Shift_JIS';
- NewReceiveNo := ThreadItem.NewReceive;
- // \83t\83H\83\93\83g\82â\83T\83C\83Y\82Ì\90Ý\92è
- UserOptionalStyle := GikoSys.SetUserOptionalStyle;
- CSSFileName := GikoSys.GetStyleSheetDir + GikoSys.Setting.CSSFileName;
- if GikoSys.Setting.UseCSS and FileExists(CSSFileName) then begin
- //CSS\8eg\97p
- doc.Write('<html><head>' + #13#10);
- doc.Write('<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">' + #13#10);
- doc.Write('<title>' + sTitle + '</title>' + #13#10);
- doc.Write('<link rel="stylesheet" href="'+CSSFileName+'" type="text/css">' + #13#10);
- if Length( UserOptionalStyle ) > 0 then
- doc.Write('<style type="text/css">body {' + UserOptionalStyle + '}</style>' + #13#10);
- doc.Write('</head>' + #13#10);
- doc.Write('<body>' + #13#10);
- doc.Write('<a name="top"></a>' + #13#10);
- doc.Write('<p id="idSearch"></p>' + #13#10);
- doc.Write('<div class="title">' + sTitle + '</div>' + #13#10);
- for i := 0 to ReadList.Count - 1 do begin
- // 1 \82Í\95K\82¸\95\\8e¦
- if i <> 0 then begin
- // \95\\8e¦\94Í\88Í\82ð\8cÀ\92è
- case GikoSys.ResRange of
- Ord( grrKoko ):
- if ThreadItem.Kokomade > (i + 1) then
- Continue;
- Ord( grrNew ):
- if NewReceiveNo > (i + 1) then
- Continue;
- 10..65535:
- if (threadItem.Count - i) > GikoSys.ResRange then
- Continue;
- end;
- end;
-
- if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then begin
- doc.Write('<a name="new"></a><div class="new">\90V\92\85\83\8c\83X <span class="newdate">' + FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate) + '</span></div>' + #13#10);
- end;
-
- if (Trim(ReadList[i]) <> '') then begin
- No := IntToStr(i + 1);
- Res := DivideStrLine(ReadList[i]);
- Res.FBody := ConvRes(AddAnchorTag(Res.FBody), ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true');
- Res.FDateTime := AddBeProfileLink(Res.FDateTime, i + 1);
- if Res.FMailTo = '' then
- doc.Write('<a name="' + No + '"></a>'
- + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span> '
- + '<span class="name_label">\96¼\91O\81F</span> '
- + '<span class="name"><b>' + Res.FName + '</b></span> '
- + '<span class="date_label">\93\8a\8de\93ú\81F</span> '
- + '<span class="date">' + Res.FDateTime+ '</span></div>'
- + '<div class="mes">' + Res.FBody + ' </div>' + #13#10)
- else if GikoSys.Setting.ShowMail then
- doc.Write('<a name="' + No + '"></a>'
- + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span>'
- + '<span class="name_label"> \96¼\91O\81F </span>'
- + '<a class="name_mail" href="mailto:' + Res.FMailTo + '">'
- + '<b>' + Res.FName + '</b></a><span class="mail"> [' + Res.FMailTo + ']</span>'
- + '<span class="date_label"> \93\8a\8de\93ú\81F</span>'
- + '<span class="date"> ' + Res.FDateTime+ '</span></div>'
- + '<div class="mes">' + Res.FBody + ' </div>' + #13#10)
- else
- doc.Write('<a name="' + No + '"></a>'
- + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span>'
- + '<span class="name_label"> \96¼\91O\81F </span>'
- + '<a class="name_mail" href="mailto:' + Res.FMailTo + '">'
- + '<b>' + Res.FName + '</b></a>'
- + '<span class="date_label"> \93\8a\8de\93ú\81F</span>'
- + '<span class="date"> ' + Res.FDateTime+ '</span></div>'
- + '<div class="mes">' + Res.FBody + ' </div>' + #13#10);
- end;
-
- if ThreadItem.Kokomade = (i + 1) then begin
- doc.Write('<a name="koko"></a><div class="koko">\83R\83R\82Ü\82Å\93Ç\82ñ\82¾</div>' + #13#10);
- end;
-
- end;
-
- doc.Write('<a name="bottom"></a>' + #13#10);
- doc.Write('<a name="last"></a>' + #13#10);
- doc.Write('</body></html>' + #13#10);
- end;
- finally
- doc.Close;
+ doc.Write( LoadFromSkin( GikoSys.GetSkinFooterFileName, ThreadItem, ThreadItem.Size ) + #13#10 );
+ except
end;
+ finally
+ doc.close;
end;
end;
-procedure THTMLCreate.CreateDefaultHTML (doc: Variant; ThreadItem: TThreadItem; ReadList: TStringList; sTitle: string );
+procedure THTMLCreate.CreateUseCSSHTML(doc: Variant; ThreadItem: TThreadItem; ReadList: TStringList; sTitle: string );
var
i: integer;
No: string;
+ CSSFileName: string;
NewReceiveNo: Integer;
Res: TResRec;
+ UserOptionalStyle: string;
begin
- if ThreadItem <> nil then begin
- doc.open;
- try
- doc.charset := 'Shift_JIS';
- NewReceiveNo := ThreadItem.NewReceive;
+ doc.open;
+ try
+ doc.charset := 'Shift_JIS';
+ NewReceiveNo := ThreadItem.NewReceive;
+ // \83t\83H\83\93\83g\82â\83T\83C\83Y\82Ì\90Ý\92è
+ UserOptionalStyle := GikoSys.SetUserOptionalStyle;
+ CSSFileName := GikoSys.GetStyleSheetDir + GikoSys.Setting.CSSFileName;
+ if GikoSys.Setting.UseCSS and FileExists(CSSFileName) then begin
+ //CSS\8eg\97p
doc.Write('<html><head>' + #13#10);
doc.Write('<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">' + #13#10);
- doc.Write('<title>' + sTitle + '</title></head>' + #13#10);
- doc.Write('<body TEXT="#000000" BGCOLOR="#EFEFEF" link="#0000FF" alink="#FF0000" vlink="#660099">' + #13#10);
+ doc.Write('<title>' + sTitle + '</title>' + #13#10);
+ doc.Write('<link rel="stylesheet" href="'+CSSFileName+'" type="text/css">' + #13#10);
+ if Length( UserOptionalStyle ) > 0 then
+ doc.Write('<style type="text/css">body {' + UserOptionalStyle + '}</style>' + #13#10);
+ doc.Write('</head>' + #13#10);
+ doc.Write('<body>' + #13#10);
doc.Write('<a name="top"></a>' + #13#10);
- doc.Write('<font size=+1 color="#FF0000">' + sTitle + '</font>' + #13#10);
- doc.Write('<dl>' + #13#10);
doc.Write('<p id="idSearch"></p>' + #13#10);
+ doc.Write('<div class="title">' + sTitle + '</div>' + #13#10);
for i := 0 to ReadList.Count - 1 do begin
// 1 \82Í\95K\82¸\95\\8e¦
if i <> 0 then begin
end;
if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then begin
- doc.Write('</dl>' + #13#10);
- doc.Write('<a name="new"></a>' + #13#10);
- doc.Write('<table width="100%" bgcolor="#3333CC" cellpadding="0" cellspacing="1"><tr><td align="center" bgcolor="#6666FF" valign="middle"><font size="-1" color="#ffffff"><b>\90V\92\85\83\8c\83X ' + FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate) + '</b></font></td></tr></table>' + #13#10);
- doc.Write('<dl>' + #13#10);
+ doc.Write('<a name="new"></a><div class="new">\90V\92\85\83\8c\83X <span class="newdate">' + FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate) + '</span></div>' + #13#10);
end;
if (Trim(ReadList[i]) <> '') then begin
Res.FBody := ConvRes(AddAnchorTag(Res.FBody), ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true');
Res.FDateTime := AddBeProfileLink(Res.FDateTime, i + 1);
if Res.FMailTo = '' then
- doc.Write('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> \96¼\91O\81F<font color="forestgreen"><b> ' + Res.FName + ' </b></font> \93\8a\8de\93ú\81F <span class="date">' + Res.FDateTime+ '</span><br><dd>' + Res.Fbody + ' <br><br><br>' + #13#10)
+ doc.Write('<a name="' + No + '"></a>'
+ + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span> '
+ + '<span class="name_label">\96¼\91O\81F</span> '
+ + '<span class="name"><b>' + Res.FName + '</b></span> '
+ + '<span class="date_label">\93\8a\8de\93ú\81F</span> '
+ + '<span class="date">' + Res.FDateTime+ '</span></div>'
+ + '<div class="mes">' + Res.FBody + ' </div>' + #13#10)
else if GikoSys.Setting.ShowMail then
- doc.Write('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> \96¼\91O\81F<a href="mailto:' + Res.FMailTo + '"><b> ' + Res.FName + ' </B></a> [' + Res.FMailTo + '] \93\8a\8de\93ú\81F <span class="date">' + Res.FDateTime+ '</span><br><dd>' + Res.Fbody + ' <br><br><br>' + #13#10)
+ doc.Write('<a name="' + No + '"></a>'
+ + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span>'
+ + '<span class="name_label"> \96¼\91O\81F </span>'
+ + '<a class="name_mail" href="mailto:' + Res.FMailTo + '">'
+ + '<b>' + Res.FName + '</b></a><span class="mail"> [' + Res.FMailTo + ']</span>'
+ + '<span class="date_label"> \93\8a\8de\93ú\81F</span>'
+ + '<span class="date"> ' + Res.FDateTime+ '</span></div>'
+ + '<div class="mes">' + Res.FBody + ' </div>' + #13#10)
else
- doc.Write('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> \96¼\91O\81F<a href="mailto:' + Res.FMailTo + '"><b> ' + Res.FName + ' </B></a> \93\8a\8de\93ú\81F <span class="date">' + Res.FDateTime+ '</span><br><dd>' + Res.Fbody + ' <br><br><br>' + #13#10);
+ doc.Write('<a name="' + No + '"></a>'
+ + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span>'
+ + '<span class="name_label"> \96¼\91O\81F </span>'
+ + '<a class="name_mail" href="mailto:' + Res.FMailTo + '">'
+ + '<b>' + Res.FName + '</b></a>'
+ + '<span class="date_label"> \93\8a\8de\93ú\81F</span>'
+ + '<span class="date"> ' + Res.FDateTime+ '</span></div>'
+ + '<div class="mes">' + Res.FBody + ' </div>' + #13#10);
end;
+
if ThreadItem.Kokomade = (i + 1) then begin
- doc.Write('</dl>' + #13#10);
- doc.Write('<a name="koko"></a><table width="100%" bgcolor="#55AA55" cellpadding="0" cellspacing="1"><tr><td align="center" bgcolor="#77CC77" valign="middle"><font size="-1" color="#ffffff"><b>\83R\83R\82Ü\82Å\93Ç\82ñ\82¾</b></font></td></tr></table>' + #13#10);
- doc.Write('<dl>' + #13#10);
+ doc.Write('<a name="koko"></a><div class="koko">\83R\83R\82Ü\82Å\93Ç\82ñ\82¾</div>' + #13#10);
end;
+
end;
- doc.Write('</dl>' + #13#10);
+
doc.Write('<a name="bottom"></a>' + #13#10);
+ doc.Write('<a name="last"></a>' + #13#10);
doc.Write('</body></html>' + #13#10);
- finally
- doc.Close;
end;
+ finally
+ doc.Close;
+ end;
+end;
+
+procedure THTMLCreate.CreateDefaultHTML (doc: Variant; ThreadItem: TThreadItem; ReadList: TStringList; sTitle: string );
+var
+ i: integer;
+ No: string;
+ NewReceiveNo: Integer;
+ Res: TResRec;
+begin
+ doc.open;
+ try
+ doc.charset := 'Shift_JIS';
+ NewReceiveNo := ThreadItem.NewReceive;
+ doc.Write('<html><head>' + #13#10);
+ doc.Write('<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">' + #13#10);
+ doc.Write('<title>' + sTitle + '</title></head>' + #13#10);
+ doc.Write('<body TEXT="#000000" BGCOLOR="#EFEFEF" link="#0000FF" alink="#FF0000" vlink="#660099">' + #13#10);
+ doc.Write('<a name="top"></a>' + #13#10);
+ doc.Write('<font size=+1 color="#FF0000">' + sTitle + '</font>' + #13#10);
+ doc.Write('<dl>' + #13#10);
+ doc.Write('<p id="idSearch"></p>' + #13#10);
+ for i := 0 to ReadList.Count - 1 do begin
+ // 1 \82Í\95K\82¸\95\\8e¦
+ if i <> 0 then begin
+ // \95\\8e¦\94Í\88Í\82ð\8cÀ\92è
+ case GikoSys.ResRange of
+ Ord( grrKoko ):
+ if ThreadItem.Kokomade > (i + 1) then
+ Continue;
+ Ord( grrNew ):
+ if NewReceiveNo > (i + 1) then
+ Continue;
+ 10..65535:
+ if (threadItem.Count - i) > GikoSys.ResRange then
+ Continue;
+ end;
+ end;
+
+ if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then begin
+ doc.Write('</dl>' + #13#10);
+ doc.Write('<a name="new"></a>' + #13#10);
+ doc.Write('<table width="100%" bgcolor="#3333CC" cellpadding="0" cellspacing="1"><tr><td align="center" bgcolor="#6666FF" valign="middle"><font size="-1" color="#ffffff"><b>\90V\92\85\83\8c\83X ' + FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate) + '</b></font></td></tr></table>' + #13#10);
+ doc.Write('<dl>' + #13#10);
+ end;
+
+ if (Trim(ReadList[i]) <> '') then begin
+ No := IntToStr(i + 1);
+ Res := DivideStrLine(ReadList[i]);
+ Res.FBody := ConvRes(AddAnchorTag(Res.FBody), ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true');
+ Res.FDateTime := AddBeProfileLink(Res.FDateTime, i + 1);
+ if Res.FMailTo = '' then
+ doc.Write('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> \96¼\91O\81F<font color="forestgreen"><b> ' + Res.FName + ' </b></font> \93\8a\8de\93ú\81F <span class="date">' + Res.FDateTime+ '</span><br><dd>' + Res.Fbody + ' <br><br><br>' + #13#10)
+ else if GikoSys.Setting.ShowMail then
+ doc.Write('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> \96¼\91O\81F<a href="mailto:' + Res.FMailTo + '"><b> ' + Res.FName + ' </B></a> [' + Res.FMailTo + '] \93\8a\8de\93ú\81F <span class="date">' + Res.FDateTime+ '</span><br><dd>' + Res.Fbody + ' <br><br><br>' + #13#10)
+ else
+ doc.Write('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> \96¼\91O\81F<a href="mailto:' + Res.FMailTo + '"><b> ' + Res.FName + ' </B></a> \93\8a\8de\93ú\81F <span class="date">' + Res.FDateTime+ '</span><br><dd>' + Res.Fbody + ' <br><br><br>' + #13#10);
+ end;
+ if ThreadItem.Kokomade = (i + 1) then begin
+ doc.Write('</dl>' + #13#10);
+ doc.Write('<a name="koko"></a><table width="100%" bgcolor="#55AA55" cellpadding="0" cellspacing="1"><tr><td align="center" bgcolor="#77CC77" valign="middle"><font size="-1" color="#ffffff"><b>\83R\83R\82Ü\82Å\93Ç\82ñ\82¾</b></font></td></tr></table>' + #13#10);
+ doc.Write('<dl>' + #13#10);
+ end;
+ end;
+ doc.Write('</dl>' + #13#10);
+ doc.Write('<a name="bottom"></a>' + #13#10);
+ doc.Write('</body></html>' + #13#10);
+ finally
+ doc.Close;
end;
end;