From 1be0a19cad0f731b4d87a723f2765da1af543fae Mon Sep 17 00:00:00 2001 From: yoffy Date: Wed, 24 Sep 2003 07:59:29 +0000 Subject: [PATCH] =?utf8?q?=E3=83=BB=E3=82=B9=E3=82=AD=E3=83=B3=E3=81=AE?= =?utf8?q?=E3=82=AC=E3=82=A4=E3=83=89=E3=83=A9=E3=82=A4=E3=83=B3=E3=81=AB?= =?utf8?q?=E6=BA=96=E6=8B=A0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- GikoSystem.pas | 205 ++++++++++++++++++++++++++++++++------------------------- 1 file changed, 116 insertions(+), 89 deletions(-) diff --git a/GikoSystem.pas b/GikoSystem.pas index 7b0d799..7a0752d 100644 --- a/GikoSystem.pas +++ b/GikoSystem.pas @@ -209,6 +209,7 @@ const SKIN_NEWRES_FILE_NAME = 'NewRes.html'; SKIN_RES_FILE_NAME = 'Res.html'; SKIN_BOOKMARK_FILE_NAME = 'Bookmark.html'; + SKIN_NEWMARK_FILE_NAME = 'Newmark.html'; FOLDER_INDEX_VERSION = '1.01'; USER_AGENT = 'Monazilla'; APP_NAME = 'gikoNavi'; @@ -819,10 +820,87 @@ var SkinResFileName: string; SkinFooterFileName: string; SkinBookmarkFileName: string; - Skin: TStringList; - SkinNewRes: TStringList; - SkinRes: TStringList; + SkinNewmarkFileName: string; + SkinNewRes: string; + SkinRes: string; SizeByte: Integer; + + // ƒXƒLƒ“‚ð“ǂݍž‚݁A’l‚ð’uŠ·‚·‚é + function LoadSkin( fileName: string ): string; + var + Skin: TStringList; + begin + + Skin := TStringList.Create; + try + Skin.LoadFromFile( fileName ); + + Skin.Text := StringReplace( Skin.Text, '', sTitle, [rfReplaceAll] ); + Skin.Text := StringReplace( Skin.Text, '', ThreadItem.GetSendURL, [rfReplaceAll] ); + Skin.Text := StringReplace( Skin.Text, '', Setting.CSSFileName, [rfReplaceAll] ); + Skin.Text := StringReplace( Skin.Text, '', IntToStr( NewReceiveNo ), [rfReplaceAll] ); + Skin.Text := StringReplace( Skin.Text, '', IntToStr( ThreadItem.NewResCount ), [rfReplaceAll] ); + Skin.Text := StringReplace( Skin.Text, '', IntToStr( ThreadItem.AllResCount ), [rfReplaceAll] ); + + Skin.Text := StringReplace( Skin.Text, '', + FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate), [rfReplaceAll] ); + Skin.Text := StringReplace( Skin.Text, '', IntToStr( Floor( SizeByte / 1024 ) ), [rfReplaceAll] ); + Skin.Text := StringReplace( Skin.Text, '', IntToStr( SizeByte ), [rfReplaceAll] ); + + //----- ‚Æ‚è‚ ‚¦‚¸‚©‚¿‚ã`‚µ‚áŒÝŠ·—pBƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚à‚悵 + Skin.Text := StringReplace( Skin.Text, '&THREADNAME', sTitle, [rfReplaceAll] ); + Skin.Text := StringReplace( Skin.Text, '&THREADURL', ThreadItem.GetSendURL, [rfReplaceAll] ); + Skin.Text := StringReplace( Skin.Text, '&SKINPATH', Setting.CSSFileName, [rfReplaceAll] ); + Skin.Text := StringReplace( Skin.Text, '&GETRESCOUNT', IntToStr( NewReceiveNo ), [rfReplaceAll] ); + Skin.Text := StringReplace( Skin.Text, '&NEWRESCOUNT', IntToStr( ThreadItem.NewResCount ), [rfReplaceAll] ); + Skin.Text := StringReplace( Skin.Text, '&ALLRESCOUNT', IntToStr( ThreadItem.AllResCount ), [rfReplaceAll] ); + + Skin.Text := StringReplace( Skin.Text, '&NEWDATE', + FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate), [rfReplaceAll] ); + Skin.Text := StringReplace( Skin.Text, '&SIZEKB', IntToStr( Floor( SizeByte / 1024 ) ), [rfReplaceAll] ); + Skin.Text := StringReplace( Skin.Text, '&SIZE', IntToStr( SizeByte ), [rfReplaceAll] ); + //----- ‚±‚±‚Ü‚Å + + Result := Skin.Text; + finally + Skin.Free; + end; + + end; + + // ƒŒƒX‚Ì’l‚ð’uŠ·‚·‚é + function ReplaceRes( skin: string ): string; + begin + + try + Skin := StringReplace( Skin, '', + '' + No + '', [rfReplaceAll] ); + Skin := StringReplace( Skin, '', No, [rfReplaceAll] ); + Skin := StringReplace( Skin, '', Res.FName, [rfReplaceAll] ); + Skin := StringReplace( Skin, '', + '' + Res.FName + '', [rfReplaceAll] ); + Skin := StringReplace( Skin, '', Res.FMailTo, [rfReplaceAll] ); + Skin := StringReplace( Skin, '', Res.FDateTime, [rfReplaceAll] ); + Skin := StringReplace( Skin, '', Res.FBody, [rfReplaceAll] ); + + //----- ‚©‚¿‚ã`‚µ‚áŒÝŠ·—pBƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚à‚悵 + Skin := StringReplace( Skin, '&NUMBER', + '' + No + '', [rfReplaceAll] ); + Skin := StringReplace( Skin, '&PLAINNUMBER', No, [rfReplaceAll] ); + Skin := StringReplace( Skin, '&NAME', Res.FName, [rfReplaceAll] ); + Skin := StringReplace( Skin, '&MAILNAME', + '' + Res.FName + '', [rfReplaceAll] ); + Skin := StringReplace( Skin, '&MAIL', Res.FMailTo, [rfReplaceAll] ); + Skin := StringReplace( Skin, '&DATE', Res.FDateTime, [rfReplaceAll] ); + Skin := StringReplace( Skin, '&MESSAGE', Res.FBody, [rfReplaceAll] ); + //----- ‚±‚±‚Ü‚Å + + Result := Skin; + finally + end; + + end; + begin ShortDayNames[1] := '“ú'; ShortDayNames[2] := 'ŒŽ'; ShortDayNames[3] := '‰Î'; ShortDayNames[4] := '…'; @@ -860,56 +938,23 @@ begin SkinResFileName := Setting.CSSFileName + SKIN_RES_FILE_NAME; SkinFooterFileName := Setting.CSSFileName + SKIN_FOOTER_FILE_NAME; SkinBookmarkFileName := Setting.CSSFileName + SKIN_BOOKMARK_FILE_NAME; + SkinNewmarkFileName := Setting.CSSFileName + SKIN_NEWMARK_FILE_NAME; if GikoSys.Setting.UseCSS and (Pos(GetSkinDir, Setting.CSSFileName) > 0) and FileExists( SkinHeaderFileName ) then begin // ƒXƒLƒ“Žg—p - SaveList.Add(''); - SaveList.Add(''); - SaveList.Add('' + sTitle + ''); - - // CSS ‚̐ݒè - // SaveList.Add(''); - // ƒXƒLƒ“‚̐ݒè - Skin := TStringList.Create; - try - Skin.LoadFromFile( SkinHeaderFileName ); - Skin.Text := StringReplace( Skin.Text, '&GETRESCOUNT', IntToStr( NewReceiveNo ), [rfReplaceAll] ); - Skin.Text := StringReplace( Skin.Text, '&SKINPATH', Setting.CSSFileName, [rfReplaceAll] ); - SaveList.AddStrings( Skin ); - finally - Skin.Free; - end; - SkinNewRes := TStringList.Create; - SkinRes := TStringList.Create; - try - if FileExists( SkinNewResFileName ) then - SkinNewRes.LoadFromFile( SkinNewResFileName ); - if FileExists( SkinResFileName ) then - SkinRes.LoadFromFile( SkinResFileName ); - except - end; - - //SaveList.Add(''); - //SaveList.Add(''); - //SaveList.Add('
'); - SaveList.Add(''); - //SaveList.Add('
' + sTitle + '
'); + try + SaveList.Add( LoadSkin( SkinHeaderFileName ) ); + SkinNewRes := LoadSkin( SkinNewResFileName ); + SkinRes := LoadSkin( SkinResFileName ); + except + end; for i := 0 to ReadList.Count - 1 do begin if (Trim(ReadList[i]) <> '') then begin No := IntToStr(i + 1); - Skin := TStringList.Create; - - if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then - SaveList.Add(''); - - if NewReceiveNo <= (i + 1) then - Skin.AddStrings( SkinNewRes ) - else - Skin.AddStrings( SkinRes ); Res := DivideStrLine(ReadList[i]); Res.FBody := ConvRes(Res.FBody, ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true'); @@ -924,27 +969,27 @@ begin if Res.FName = '' then Res.FName := ' '; - Skin.Text := StringReplace( Skin.Text, '&NUMBER', No, [rfReplaceAll] ); - Skin.Text := StringReplace( Skin.Text, '&NAME', Res.FName, [rfReplaceAll] ); - Skin.Text := StringReplace( Skin.Text, '&MAIL', Res.FMailTo, [rfReplaceAll] ); - Skin.Text := StringReplace( Skin.Text, '&DATE', Res.FDateTime, [rfReplaceAll] ); - Skin.Text := StringReplace( Skin.Text, '&MESSAGE', Res.FBody, [rfReplaceAll] ); - SaveList.AddStrings( Skin ); - - Skin.Free; - - if ThreadItem.Kokomade = (i + 1) then begin - if FileExists( SkinBookmarkFileName ) then begin - - Skin := TStringList.Create; - try - Skin.LoadFromFile( SkinBookmarkFileName ); - SaveList.AddStrings( Skin ); - finally - Skin.Free; - end; - end; - end; + // V’…ƒ}[ƒN + if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then begin + try + SaveList.Add( LoadSkin( SkinNewmarkFileName ) ); + except + SaveList.Add( '
V’…ƒŒƒX ' + FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate) + '
' ); + end; + end; + + try + if NewReceiveNo <= (i + 1) then + // V’…ƒŒƒX + SaveList.Add( ReplaceRes( SkinNewRes ) ) + else + // ’ʏí‚̃ŒƒX + SaveList.Add( ReplaceRes( SkinRes ) ); + except + end; + + if ThreadItem.Kokomade = (i + 1) then + SaveList.Add( LoadSkin( SkinBookmarkFileName ) ); end; //if SaveList.Count > 50 then begin @@ -966,29 +1011,11 @@ begin end; end; - SaveList.Add(''); - // ƒXƒLƒ“(ƒtƒbƒ^) - if FileExists( SkinFooterFileName ) then begin - Skin := TStringList.Create; - try - Skin.LoadFromFile( Setting.CSSFileName + SKIN_FOOTER_FILE_NAME ); - SizeByte := Length( SaveList.Text ); - Skin.Text := StringReplace( Skin.Text, '&SIZEKB', IntToStr( Floor( SizeByte / 1024 ) ), [rfReplaceAll] ); - Skin.Text := StringReplace( Skin.Text, '&SIZE', IntToStr( SizeByte ), [rfReplaceAll] ); - SaveList.AddStrings( Skin ); - finally - Skin.Free; - end; - end; - - SaveList.Add(''); - SaveList.Add(''); + SaveList.Add( LoadSkin( SkinFooterFileName ) ); doc.Write(SaveList.Text); - SkinNewRes.Free; - SkinRes.Free; end else if GikoSys.Setting.UseCSS and FileExists(CSSFileName) then begin //CSSŽg—p //CSSFileName := GetAppDir + CSS_FILE_NAME; @@ -1027,7 +1054,7 @@ begin Res.FName := ' '; if Res.FMailTo = '' then SaveList.Add('' - + '
' + No + ' ' + + '
' + No + ' ' + '–¼‘OF ' + '' + Res.FName + ' ' + '“Še“úF ' @@ -1036,7 +1063,7 @@ begin else if GikoSys.Setting.ShowMail then SaveList.Add('' - + '
' + No + '' + + '
' + No + '' + ' –¼‘OF ' + '' + '' + Res.FName + ' [' + Res.FMailTo + ']' @@ -1045,7 +1072,7 @@ begin + '
' + Res.FBody + '
') else SaveList.Add('' - + '
' + No + '' + + '
' + No + '' + ' –¼‘OF ' + '' + '' + Res.FName + '' @@ -1116,12 +1143,12 @@ begin //Res.FBody := StringReplace(Res.FBody, '&', '&', [rfReplaceAll]); Res.FBody := AddAnchorTag(Res.FBody); if Res.FMailTo = '' then - SaveList.Add('
' + No + ' –¼‘OF ' + Res.FName + ' “Še“úF ' + Res.FDateTime+ '
' + Res.Fbody + '


') + SaveList.Add('
' + No + ' –¼‘OF ' + Res.FName + ' “Še“úF ' + Res.FDateTime+ '
' + Res.Fbody + '


') else if GikoSys.Setting.ShowMail then - SaveList.Add('
' + No + ' –¼‘OF ' + Res.FName + ' [' + Res.FMailTo + '] “Še“úF ' + Res.FDateTime+ '
' + Res.Fbody + '


') + SaveList.Add('
' + No + ' –¼‘OF ' + Res.FName + ' [' + Res.FMailTo + '] “Še“úF ' + Res.FDateTime+ '
' + Res.Fbody + '


') else - SaveList.Add('
' + No + ' –¼‘OF ' + Res.FName + ' “Še“úF ' + Res.FDateTime+ '
' + Res.Fbody + '


'); + SaveList.Add('
' + No + ' –¼‘OF ' + Res.FName + ' “Še“úF ' + Res.FDateTime+ '
' + Res.Fbody + '


'); if ThreadItem.Kokomade = (i + 1) then begin SaveList.Add('
'); SaveList.Add('
ƒRƒR‚Ü‚Å“Ç‚ñ‚¾
'); -- 2.11.0