X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=ExternalThreadItem.pas;h=18d2c10d6ad1326f7830645cd9c552042b2a6ae5;hb=c41d0ce223bbd51b7e3a110315ed5d2a55721275;hp=08d402eec612debc7b1829d79554b48cdfcf28aa;hpb=7a24874402fee8b4dbc54b4fffcf301de90b38cb;p=gikonavigoeson%2Fgikonavi.git diff --git a/ExternalThreadItem.pas b/ExternalThreadItem.pas index 08d402e..18d2c10 100644 --- a/ExternalThreadItem.pas +++ b/ExternalThreadItem.pas @@ -31,7 +31,8 @@ type tipDownloadHost, // : string // ¡‚̃zƒXƒg‚ƈႤê‡‚̃zƒXƒg tipAgeSage, // : TThreadAgeSage // ƒAƒCƒeƒ€‚̏グ‰º‚° tipURL, // : string // ƒXƒŒƒbƒh‚ðƒuƒ‰ƒEƒU‚Å•\Ž¦‚·‚éÛ‚Ì URL - tipFilePath // : string // ‚±‚̃XƒŒ‚ª•Û‘¶‚³‚ê‚Ä‚¢‚éƒpƒX + tipFilePath, // : string // ‚±‚̃XƒŒ‚ª•Û‘¶‚³‚ê‚Ä‚¢‚éƒpƒX + tipJumpAddress // : Integer // JUMPæƒŒƒX”ԍ† ); // ************************************************************************* @@ -74,6 +75,14 @@ type ) : PChar; stdcall; // •\Ž¦‚·‚é HTML // ************************************************************************* + // ƒŒƒX”ԍ† n ‚ɑ΂·‚é Dat ‚ð—v‹ + // ************************************************************************* + TThreadItemOnGetDat = function( + inInstance : DWORD; // ƒCƒ“ƒXƒ^ƒ“ƒX + inNo : DWORD // •\Ž¦‚·‚郌ƒX”ԍ† + ) : PChar; stdcall; // ‚Q‚¿‚á‚ñ‚Ë‚éŒ`Ž®‚ÌDat + + // ************************************************************************* // ƒXƒŒƒbƒh‚̃wƒbƒ_ html ‚ð—v‹ // ************************************************************************* TThreadItemOnGetHeader = function( @@ -105,7 +114,7 @@ function ThreadItemDat2HTML( implementation -uses ExternalBoardManager, GikoSystem, BoardGroup; +uses ExternalBoardManager, GikoSystem, BoardGroup, HTMLCreate, MojuUtils; // ************************************************************************* // TThreadItem ƒNƒ‰ƒX‚̃vƒƒpƒeƒB‚ðŽæ“¾‚·‚é @@ -160,6 +169,8 @@ begin Result := DWORD( CreateResultString( threadItem.URL ) ); tipFilePath: // ‚±‚̃XƒŒ‚ª•Û‘¶‚³‚ê‚Ä‚¢‚éƒpƒX Result := DWORD( CreateResultString( threadItem.FilePath ) ); + tipJumpAddress: + Result := threadItem.JumpAddress; else Result := 0; end; @@ -198,7 +209,8 @@ begin tipRound: // : Boolean // „‰ñƒtƒ‰ƒO threadItem.Round := Boolean( param ); tipRoundName: // : string // „‰ñ–¼ - threadItem.RoundName := string( PChar( param ) ); + //threadItem.RoundName := string( PChar( param ) ); + threadItem.RoundName := PChar( param ); tipIsLogFile: // : Boolean // ƒƒO‘¶Ýƒtƒ‰ƒO threadItem.IsLogFile := Boolean( param ); tipKokomade: // : Integer // ƒRƒR‚Ü‚Å“Ç‚ñ‚¾”ԍ† @@ -217,8 +229,10 @@ begin threadItem.AgeSage := TGikoAgeSage( param ); tipURL: // : string // ƒXƒŒƒbƒh‚ðƒuƒ‰ƒEƒU‚Å•\Ž¦‚·‚éÛ‚Ì URL threadItem.URL := string( PChar( param ) ); - tipFilePath: // : string // ‚±‚̃XƒŒ‚ª•Û‘¶‚³‚ê‚Ä‚¢‚éƒpƒX - threadItem.FilePath := string( PChar( param ) ); + //tipFilePath: // : string // ‚±‚̃XƒŒ‚ª•Û‘¶‚³‚ê‚Ä‚¢‚éƒpƒX + // threadItem.FilePath := string( PChar( param ) ); + tipJumpAddress: + threadItem.JumpAddress := param; end; end; @@ -281,33 +295,35 @@ var threadItem : TThreadItem; res : TResRec; no : string; + resLink : TResLinkRec; begin - {$IFDEF DEBUG} - Writeln('ExternalBoardManager.ThreadItemDat2HTML'); - {$ENDIF} threadItem := TThreadItem( inInstance ); // ˆø”‚𕪉ð - res := GikoSys.DivideStrLine( string( inDatRes ) ); - if AnsiCompareStr( string( inDatRes ) , '' ) <> 0 then begin - res.FBody := GikoSys.ConvRes( res.FBody, threadItem.ParentBoard.BBSID, ChangeFileExt( threadItem.FileName, '' ), 'bbs', 'key', 'st', 'to', 'nofirst', 'true' ); - res.FBody := GikoSys.AddAnchorTag( res.FBody ); - no := IntToStr( inResNo ); - - try - if GikoSys.Setting.UseSkin then begin - // ƒXƒLƒ“ - if inIsNew then - Result := CreateResultString( GikoSys.SkinedRes( - GikoSys.LoadFromSkin( - GikoSys.Setting.GetSkinNewResFileName, threadItem, threadItem.SizeByte - ), res, no + THTMLCreate.DivideStrLine( string( inDatRes ) , @res); + if AnsiCompareStr( string( inDatRes ) , '' ) <> 0 then begin + res.FBody := THTMLCreate.DeleteLink(res.FBody); + resLink.FBbs := threadItem.ParentBoard.BBSID; + resLink.FKey := ChangeFileExt( threadItem.FileName, '' ); + HTMLCreater.AddAnchorTag( @res ); + HTMLCreater.ConvRes( @res, @resLink ); + + no := IntToStr( inResNo ); + + try + if GikoSys.Setting.UseSkin then begin + // ƒXƒLƒ“ + if inIsNew then + Result := CreateResultString( HTMLCreater.SkinedRes( + HTMLCreater.LoadFromSkin( + GikoSys.GetSkinNewResFileName, threadItem, threadItem.Size + ), @res, no ) ) else - Result := CreateResultString( GikoSys.SkinedRes( - GikoSys.LoadFromSkin( - GikoSys.Setting.GetSkinResFileName, threadItem, threadItem.SizeByte - ), res, no + Result := CreateResultString( HTMLCreater.SkinedRes( + HTMLCreater.LoadFromSkin( + GikoSys.GetSkinResFileName, threadItem, threadItem.Size + ), @res, no ) ); end else if GikoSys.Setting.UseCSS then begin // CSS @@ -379,7 +395,7 @@ begin try if GikoSys.Setting.UseSkin then begin // ƒXƒLƒ“ - skinHeader := GikoSys.LoadFromSkin( GikoSys.Setting.GetSkinHeaderFileName, threadItem, threadItem.SizeByte ); + skinHeader := HTMLCreater.LoadFromSkin( GikoSys.GetSkinHeaderFileName, threadItem, threadItem.Size ); if Length( optionalHeader ) > 0 then skinHeader := StringReplace( skinHeader, '', optionalHeader + '', [] ); @@ -435,7 +451,7 @@ begin try if GikoSys.Setting.UseSkin then begin // ƒXƒLƒ“ - skinFooter := GikoSys.LoadFromSkin( GikoSys.Setting.GetSkinFooterFileName, threadItem, threadItem.SizeByte ); + skinFooter := HTMLCreater.LoadFromSkin( GikoSys.GetSkinFooterFileName, threadItem, threadItem.Size ); if Length( optionalFooter ) > 0 then skinFooter := StringReplace( skinFooter, '', optionalFooter + '', [] );