Develop and Download Open Source Software

Browse CVS Repository

Diff of /gikonavigoeson/gikonavi/GikoSystem.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.174 by h677, Sat Nov 20 07:55:47 2004 UTC revision 1.175 by h677, Sat Nov 20 13:15:38 2004 UTC
# Line 1175  begin Line 1175  begin
1175                                  doc.Close;                                  doc.Close;
1176                          end;                          end;
1177    
1178                          Exit;                  //      Exit;
1179                  end;                  //end;
         end;  
         ShortDayNames[1] := '日';               ShortDayNames[2] := '月';  
         ShortDayNames[3] := '火';               ShortDayNames[4] := '水';  
         ShortDayNames[5] := '木';               ShortDayNames[6] := '金';  
         ShortDayNames[7] := '土';  
         BBSID := ThreadItem.ParentBoard.BBSID;  
         NewReceiveNo := ThreadItem.NewReceive;  
         ReadList := TStringList.Create;  
         try  
                 if ThreadItem.IsLogFile then begin  
                         FileName := ThreadItem.GetThreadFileName;  
                         ReadList.LoadFromFile(FileName);  
                         FAbon.IndividualAbon(ReadList, ChangeFileExt(FileName,'.NG'));  
                         FAbon.Execute(ReadList);                //       あぼ〜んして  
                         FSelectResFilter.Execute(ReadList); //レスのフィルタリングをする  
                         Res := DivideStrLine(ReadList[0]);  
                         Res.FTitle := CustomStringReplace(Res.FTitle, '@`', ',');  
                         sTitle := Res.FTitle;  
1180                  end else begin                  end else begin
1181                          sTitle := CustomStringReplace(ThreadItem.Title, '@`', ',');                          ShortDayNames[1] := '日';               ShortDayNames[2] := '月';
1182                  end;                          ShortDayNames[3] := '火';               ShortDayNames[4] := '水';
1183                  SaveList := TStringList.Create;                          ShortDayNames[5] := '木';               ShortDayNames[6] := '金';
1184                  try                          ShortDayNames[7] := '土';
1185                          doc.open;                          BBSID := ThreadItem.ParentBoard.BBSID;
1186                          doc.charset := 'Shift_JIS';                          NewReceiveNo := ThreadItem.NewReceive;
1187                            ReadList := TStringList.Create;
1188                          // フォントやサイズの設定                          try
1189                          UserOptionalStyle := SetUserOptionalStyle;                                  if ThreadItem.IsLogFile then begin
1190                          CSSFileName := GetStyleSheetDir + Setting.CSSFileName;                                          FileName := ThreadItem.GetThreadFileName;
1191                          if GikoSys.Setting.UseSkin then begin                                          ReadList.LoadFromFile(FileName);
1192                                  // スキン使用                                          FAbon.IndividualAbon(ReadList, ChangeFileExt(FileName,'.NG'));
1193                                  // スキンの設定                                          FAbon.Execute(ReadList);                //       あぼ〜んして
1194                                  try                                          FSelectResFilter.Execute(ReadList); //レスのフィルタリングをする
1195                                          SkinHeader := LoadSkin( GetSkinHeaderFileName );                                          if ThreadItem.Title = '' then begin
1196                                          if Length( UserOptionalStyle ) > 0 then                                                  Res := DivideStrLine(ReadList[0]);
1197                                                  SkinHeader := CustomStringReplace( SkinHeader, '</head>',                                                  sTitle := Res.FTitle;
1198                                                          '<style type="text/css">body {' + UserOptionalStyle + '}</style></head>');                                          end else
1199                                          SaveList.Add( SkinHeader );                                                  sTitle := ThreadItem.Title;
1200                                  except                                  end else begin
1201                                            sTitle := CustomStringReplace(ThreadItem.Title, '@`', ',');
1202                                  end;                                  end;
1203                                    SaveList := TStringList.Create;
1204                                  try                                  try
1205                                          SkinNewRes := LoadSkin( GetSkinNewResFileName );                                          doc.open;
1206                                  except                                          doc.charset := 'Shift_JIS';
                                                                 end;  
                                 try  
                                         SkinRes := LoadSkin( GetSkinResFileName );  
                                 except  
                                 end;  
                                 SaveList.Add('<p id="idSearch"></p>');  
                                 SaveList.Add('<a name="top"></a>');  
1207    
1208                                  for i := 0 to ReadList.Count - 1 do begin                                          // フォントやサイズの設定
1209                                          // 1 は必ず表示                                          UserOptionalStyle := SetUserOptionalStyle;
1210                                          if i <> 0 then begin                                          CSSFileName := GetStyleSheetDir + Setting.CSSFileName;
1211                                                  // 表示範囲を限定                                          if GikoSys.Setting.UseSkin then begin
1212                                                  case ResRange of                                                  // スキン使用
1213                                                  Ord( grrKoko ):                                                  // スキンの設定
1214                                                          if ThreadItem.Kokomade > (i + 1) then                                                  try
1215                                                                  Continue;                                                          SkinHeader := LoadSkin( GetSkinHeaderFileName );
1216                                                  Ord( grrNew ):                                                          if Length( UserOptionalStyle ) > 0 then
1217                                                          if NewReceiveNo > (i + 1) then                                                                  SkinHeader := CustomStringReplace( SkinHeader, '</head>',
1218                                                                  Continue;                                                                          '<style type="text/css">body {' + UserOptionalStyle + '}</style></head>');
1219                                                  10..65535:                                                          SaveList.Add( SkinHeader );
1220                                                          if (threadItem.Count - i) > ResRange then                                                  except
                                                                 Continue;  
1221                                                  end;                                                  end;
                                         end;  
   
                                         // 新着マーク  
                                         if (NewReceiveNo = i + 1) or ((NewReceiveNo = 0) and (i = 0)) then begin  
1222                                                  try                                                  try
1223                                                          if FileExists( GetSkinNewmarkFileName ) then                                                          SkinNewRes := LoadSkin( GetSkinNewResFileName );
1224                                                                  SaveList.Add( LoadSkin( GetSkinNewmarkFileName ) )                                                  except
1225                                                          else                                                                                  end;
1226                                                                  SaveList.Add( '<a name="new"></a>' );                                                  try
1227                                                            SkinRes := LoadSkin( GetSkinResFileName );
1228                                                  except                                                  except
                                                         SaveList.Add( '<a name="new"></a>' );  
1229                                                  end;                                                  end;
1230                                          end;                                                  SaveList.Add('<p id="idSearch"></p>');
1231                                          if (Trim(ReadList[i]) <> '') then begin                                                  SaveList.Add('<a name="top"></a>');
                                                 No := IntToStr(i + 1);  
1232    
1233                                                  Res := DivideStrLine(ReadList[i]);                                                  for i := 0 to ReadList.Count - 1 do begin
1234                                                  if Res.FType = glt2chOld then begin                                                          // 1 は必ず表示
1235                                                          Res.FMailTo := CustomStringReplace(Res.FMailTo, '@`', ',');                                                          if i <> 0 then begin
1236                                                          Res.FName := CustomStringReplace(Res.FName, '@`', ',');                                                                  // 表示範囲を限定
1237                                                          Res.FBody := CustomStringReplace(Res.FBody, '@`', ',');                                                                  case ResRange of
1238                                                  end;                                                                  Ord( grrKoko ):
1239                                                                            if ThreadItem.Kokomade > (i + 1) then
1240                                                                                    Continue;
1241                                                                    Ord( grrNew ):
1242                                                                            if NewReceiveNo > (i + 1) then
1243                                                                                    Continue;
1244                                                                    10..65535:
1245                                                                            if (threadItem.Count - i) > ResRange then
1246                                                                                    Continue;
1247                                                                    end;
1248                                                            end;
1249    
1250                                                  Res.FBody := AddAnchorTag(Res.FBody);                                                          // 新着マーク
1251                                                  Res.FBody := ConvRes(Res.FBody, ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true');                                                          if (NewReceiveNo = i + 1) or ((NewReceiveNo = 0) and (i = 0)) then begin
1252                                                                    try
1253                                                                            if FileExists( GetSkinNewmarkFileName ) then
1254                                                                                    SaveList.Add( LoadSkin( GetSkinNewmarkFileName ) )
1255                                                                            else
1256                                                                                    SaveList.Add( '<a name="new"></a>' );
1257                                                                    except
1258                                                                            SaveList.Add( '<a name="new"></a>' );
1259                                                                    end;
1260                                                            end;
1261                                                            if (Trim(ReadList[i]) <> '') then begin
1262                                                                    No := IntToStr(i + 1);
1263    
1264                                                                    Res := DivideStrLine(ReadList[i]);
1265                                                                    Res.FBody := ConvRes(AddAnchorTag(Res.FBody), ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true');
1266                                                                    try
1267                                                                            if NewReceiveNo <= (i + 1) then
1268                                                                                    // 新着レス
1269                                                                                    strTmp := ReplaceRes( SkinNewRes )
1270                                                                            else
1271                                                                                    // 通常のレス
1272                                                                                    strTmp := ReplaceRes( SkinRes );
1273    
1274                                                  try                                                                          SaveList.Add( strTmp );
1275                                                          if NewReceiveNo <= (i + 1) then                                                                  except
1276                                                                  // 新着レス                                                                  end;
1277                                                                  strTmp := ReplaceRes( SkinNewRes )                                                          end;
                                                         else  
                                                                 // 通常のレス  
                                                                 strTmp := ReplaceRes( SkinRes );  
1278    
1279                                                          SaveList.Add( strTmp );                                                          if ThreadItem.Kokomade = (i + 1) then begin
1280                                                  except                                                                  // ここまで読んだ
1281                                                                    try
1282                                                                            if FileExists( GetSkinBookmarkFileName ) then
1283                                                                                    SaveList.Add( LoadSkin( GetSkinBookmarkFileName ) )
1284                                                                            else
1285                                                                                    SaveList.Add( '<a name="koko"></a>' );
1286                                                                    except
1287                                                                            SaveList.Add( '<a name="koko"></a>' );
1288                                                                    end;
1289                                                            end;
1290                                                            doc.Write(SaveList.Text);
1291                                                            SaveList.Clear;
1292                                                  end;                                                  end;
1293                                          end;                                                  SaveList.Add('<a name="bottom"></a>');
1294                                                    // スキン(フッタ)
                                         if ThreadItem.Kokomade = (i + 1) then begin  
                                                 // ここまで読んだ  
1295                                                  try                                                  try
1296                                                          if FileExists( GetSkinBookmarkFileName ) then                                                          SaveList.Add( LoadSkin( GetSkinFooterFileName ) );
                                                                 SaveList.Add( LoadSkin( GetSkinBookmarkFileName ) )  
                                                         else  
                                                                 SaveList.Add( '<a name="koko"></a>' );  
1297                                                  except                                                  except
                                                         SaveList.Add( '<a name="koko"></a>' );  
                                                 end;  
                                         end;  
                                         doc.Write(SaveList.Text);  
                                         SaveList.Clear;  
                                 end;  
                                 SaveList.Add('<a name="bottom"></a>');  
                                 // スキン(フッタ)  
                                 try  
                                         SaveList.Add( LoadSkin( GetSkinFooterFileName ) );  
                                 except  
                                 end;  
                                 doc.Write(SaveList.Text);  
                         end else if GikoSys.Setting.UseCSS and FileExists(CSSFileName) then begin  
                                 //CSS使用  
                                 //CSSFileName := GetAppDir + CSS_FILE_NAME;  
 //                              SaveList.Add('<html lang="ja"><head>');  
                                 SaveList.Add('<html><head>');  
                                 SaveList.Add('<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">');  
                                 SaveList.Add('<title>' + sTitle + '</title>');  
                                 SaveList.Add('<link rel="stylesheet" href="'+CSSFileName+'" type="text/css">');  
                                 if Length( UserOptionalStyle ) > 0 then  
                                         SaveList.Add('<style type="text/css">body {' + UserOptionalStyle + '}</style>');  
                                 SaveList.Add('</head>');  
                                 SaveList.Add('<body>');  
                                 SaveList.Add('<a name="top"></a>');  
                                 SaveList.Add('<p id="idSearch"></p>');  
                                 SaveList.Add('<div class="title">' + sTitle + '</div>');  
                                 doc.Write(SaveList.Text);  
                                 SaveList.Clear;  
                                 //Application.ProcessMessages;  
                                 for i := 0 to ReadList.Count - 1 do begin  
                                         // 1 は必ず表示  
                                         if i <> 0 then begin  
                                                 // 表示範囲を限定  
                                                 case 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) > ResRange then  
                                                                 Continue;  
1298                                                  end;                                                  end;
1299                                          end;                                                  doc.Write(SaveList.Text);
1300                                            end else if GikoSys.Setting.UseCSS and FileExists(CSSFileName) then begin
1301                                                    //CSS使用
1302                                                    //CSSFileName := GetAppDir + CSS_FILE_NAME;
1303                    //                              SaveList.Add('<html lang="ja"><head>');
1304                                                    SaveList.Add('<html><head>');
1305                                                    SaveList.Add('<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">');
1306                                                    SaveList.Add('<title>' + sTitle + '</title>');
1307                                                    SaveList.Add('<link rel="stylesheet" href="'+CSSFileName+'" type="text/css">');
1308                                                    if Length( UserOptionalStyle ) > 0 then
1309                                                            SaveList.Add('<style type="text/css">body {' + UserOptionalStyle + '}</style>');
1310                                                    SaveList.Add('</head>');
1311                                                    SaveList.Add('<body>');
1312                                                    SaveList.Add('<a name="top"></a>');
1313                                                    SaveList.Add('<p id="idSearch"></p>');
1314                                                    SaveList.Add('<div class="title">' + sTitle + '</div>');
1315                                                    doc.Write(SaveList.Text);
1316                                                    SaveList.Clear;
1317                                                    //Application.ProcessMessages;
1318                                                    for i := 0 to ReadList.Count - 1 do begin
1319                                                            // 1 は必ず表示
1320                                                            if i <> 0 then begin
1321                                                                    // 表示範囲を限定
1322                                                                    case ResRange of
1323                                                                    Ord( grrKoko ):
1324                                                                            if ThreadItem.Kokomade > (i + 1) then
1325                                                                                    Continue;
1326                                                                    Ord( grrNew ):
1327                                                                            if NewReceiveNo > (i + 1) then
1328                                                                                    Continue;
1329                                                                    10..65535:
1330                                                                            if (threadItem.Count - i) > ResRange then
1331                                                                                    Continue;
1332                                                                    end;
1333                                                            end;
1334    
1335                                          if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then begin                                                          if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then begin
1336                                                  SaveList.Add('<a name="new"></a><div class="new">新着レス <span class="newdate">' + FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate) + '</span></div>');                                                                  SaveList.Add('<a name="new"></a><div class="new">新着レス <span class="newdate">' + FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate) + '</span></div>');
1337                                          end;                                                          end;
1338                                          if (Trim(ReadList[i]) <> '') then begin                                                          if (Trim(ReadList[i]) <> '') then begin
1339                                                  No := IntToStr(i + 1);                                                                  No := IntToStr(i + 1);
1340                                                  Res := DivideStrLine(ReadList[i]);                                                                  Res := DivideStrLine(ReadList[i]);
1341                                                  if Res.FType = glt2chOld then begin                                                                  Res.FBody := ConvRes(AddAnchorTag(Res.FBody), ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true');
1342                                                          Res.FMailTo := CustomStringReplace(Res.FMailTo, '@`', ',');                                                                  if Res.FMailTo = '' then
1343                                                          Res.FName := CustomStringReplace(Res.FName, '@`', ',');                                                                          SaveList.Add('<a name="' + No + '"></a>'
1344                                                          Res.FBody := CustomStringReplace(Res.FBody, '@`', ',');                                                                                                          + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span> '
1345                                                  end;                                                                                                          + '<span class="name_label">名前:</span> '
1346                                                  Res.FBody := AddAnchorTag(Res.FBody);                                                                                                          + '<span class="name"><b>' + Res.FName + '</b></span> '
1347                                                  Res.FBody := ConvRes(Res.FBody, ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true');                                                                                                          + '<span class="date_label">投稿日:</span> '
1348                                                  if Res.FMailTo = '' then                                                                                                          + '<span class="date">' + Res.FDateTime+ '</span></div>'
1349                                                          SaveList.Add('<a name="' + No + '"></a>'                                                                                                                                                                                                  + '<div class="mes">' + Res.FBody + ' </div>')
1350                                                                                          + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span> '                                                                  else if GikoSys.Setting.ShowMail then
1351                                                                                          + '<span class="name_label">名前:</span> '                                                                          SaveList.Add('<a name="' + No + '"></a>'
1352                                                                                          + '<span class="name"><b>' + Res.FName + '</b></span> '                                                                                                          + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span>'
1353                                                                                          + '<span class="date_label">投稿日:</span> '                                                                                                                                                                                                  + '<span class="name_label"> 名前: </span>'
1354                                                                                          + '<span class="date">' + Res.FDateTime+ '</span></div>'                                                                                                          + '<a class="name_mail" href="mailto:' + Res.FMailTo + '">'
1355                                                                                                                                                                                  + '<div class="mes">' + Res.FBody + ' </div>')                                                                                                          + '<b>' + Res.FName + '</b></a><span class="mail"> [' + Res.FMailTo + ']</span>'
1356                                                  else if GikoSys.Setting.ShowMail then                                                                                                          + '<span class="date_label"> 投稿日:</span>'
1357                                                          SaveList.Add('<a name="' + No + '"></a>'                                                                                                          + '<span class="date"> ' + Res.FDateTime+ '</span></div>'
1358                                                                                          + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span>'                                                                                                          + '<div class="mes">' + Res.FBody + ' </div>')
1359                                                                                                                                                                                  + '<span class="name_label"> 名前: </span>'                                                                  else
1360                                                                                          + '<a class="name_mail" href="mailto:' + Res.FMailTo + '">'                                                                          SaveList.Add('<a name="' + No + '"></a>'
1361                                                                                          + '<b>' + Res.FName + '</b></a><span class="mail"> [' + Res.FMailTo + ']</span>'                                                                                                          + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span>'
1362                                                                                          + '<span class="date_label"> 投稿日:</span>'                                                                                                          + '<span class="name_label"> 名前: </span>'
1363                                                                                          + '<span class="date"> ' + Res.FDateTime+ '</span></div>'                                                                                                          + '<a class="name_mail" href="mailto:' + Res.FMailTo + '">'
1364                                                                                          + '<div class="mes">' + Res.FBody + ' </div>')                                                                                                          + '<b>' + Res.FName + '</b></a>'
1365                                                  else                                                                                                          + '<span class="date_label"> 投稿日:</span>'
1366                                                          SaveList.Add('<a name="' + No + '"></a>'                                                                                                          + '<span class="date"> ' + Res.FDateTime+ '</span></div>'
1367                                                                                          + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span>'                                                                                                                                                                                                  + '<div class="mes">' + Res.FBody + ' </div>');
1368                                                                                          + '<span class="name_label"> 名前: </span>'                                                          end;
1369                                                                                          + '<a class="name_mail" href="mailto:' + Res.FMailTo + '">'                                                          if ThreadItem.Kokomade = (i + 1) then begin
1370                                                                                          + '<b>' + Res.FName + '</b></a>'                                                                  SaveList.Add('<a name="koko"></a><div class="koko">ココまで読んだ</div>');
1371                                                                                          + '<span class="date_label"> 投稿日:</span>'                                                          end;
1372                                                                                          + '<span class="date"> ' + Res.FDateTime+ '</span></div>'  
1373                                                                                                                                                                                  + '<div class="mes">' + Res.FBody + ' </div>');                                                          doc.Write(SaveList.Text);
1374                                          end;                                                          SaveList.Clear;
1375                                          if ThreadItem.Kokomade = (i + 1) then begin                                                  end;
1376                                                  SaveList.Add('<a name="koko"></a><div class="koko">ココまで読んだ</div>');                                                  SaveList.Add('<a name="bottom"></a>');
1377                                          end;                                                  //SaveList.Add('</body></html>');
1378                                                    SaveList.Add('<a name="last"></a>');
1379                                                    SaveList.Add('</body></html>');
1380                                                    doc.Write(SaveList.Text);
1381                                            end else begin
1382                                                    //CSS非使用
1383                    //                              SaveList.Add('<html lang="ja"><head>');
1384                                                    SaveList.Add('<html><head>');
1385                                                    SaveList.Add('<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">');
1386                                                    SaveList.Add('<title>' + sTitle + '</title></head>');
1387                                                    SaveList.Add('<body TEXT="#000000" BGCOLOR="#EFEFEF" link="#0000FF" alink="#FF0000" vlink="#660099">');
1388                                                    SaveList.Add('<a name="top"></a>');
1389                                                    SaveList.Add('<font size=+1 color="#FF0000">' + sTitle + '</font>');
1390                                                    SaveList.Add('<dl>');
1391                                                    SaveList.Add('<p id="idSearch"></p>');
1392                                                    doc.Write(SaveList.Text);
1393                                                    SaveList.Clear;
1394                                                    //Application.ProcessMessages;
1395                                                    for i := 0 to ReadList.Count - 1 do begin
1396                                                            // 1 は必ず表示
1397                                                            if i <> 0 then begin
1398                                                                    // 表示範囲を限定
1399                                                                    case ResRange of
1400                                                                    Ord( grrKoko ):
1401                                                                            if ThreadItem.Kokomade > (i + 1) then
1402                                                                                    Continue;
1403                                                                    Ord( grrNew ):
1404                                                                            if NewReceiveNo > (i + 1) then
1405                                                                                    Continue;
1406                                                                    10..65535:
1407                                                                            if (threadItem.Count - i) > ResRange then
1408                                                                                    Continue;
1409                                                                    end;
1410                                                            end;
1411    
1412                                          doc.Write(SaveList.Text);                                                          if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then begin
1413                                          SaveList.Clear;                                                                  SaveList.Add('</dl>');
1414                                  end;                                                                  SaveList.Add('<a name="new"></a>');
1415                                  SaveList.Add('<a name="bottom"></a>');                                                                  SaveList.Add('<table width="100%" bgcolor="#3333CC" cellpadding="0" cellspacing="1"><tr><td align="center" bgcolor="#6666FF" valign="middle"><font size="-1" color="#ffffff"><b>新着レス ' + FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate) + '</b></font></td></tr></table>');
1416                                  //SaveList.Add('</body></html>');                                                                  SaveList.Add('<dl>');
1417                                  SaveList.Add('<a name="last"></a>');                                                          end;
1418                                  SaveList.Add('</body></html>');                                                          if (Trim(ReadList[i]) <> '') then begin
1419                                  doc.Write(SaveList.Text);                                                                  No := IntToStr(i + 1);
1420                          end else begin                                                                  Res := DivideStrLine(ReadList[i]);
1421                                  //CSS非使用                                                                  Res.FBody := ConvRes(AddAnchorTag(Res.FBody), ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true');
1422  //                              SaveList.Add('<html lang="ja"><head>');                                                                  if Res.FMailTo = '' then
1423                                  SaveList.Add('<html><head>');                                                                          SaveList.Add('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> 名前:<font color="forestgreen"><b> ' + Res.FName + ' </b></font> 投稿日: <span class="date">' + Res.FDateTime+ '</span><br><dd>' + Res.Fbody + ' <br><br><br>')
1424                                  SaveList.Add('<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">');                                                                  else if GikoSys.Setting.ShowMail then
1425                                  SaveList.Add('<title>' + sTitle + '</title></head>');                                                                          SaveList.Add('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> 名前:<a href="mailto:' + Res.FMailTo + '"><b> ' + Res.FName + ' </B></a> [' + Res.FMailTo + '] 投稿日: <span class="date">' + Res.FDateTime+ '</span><br><dd>' + Res.Fbody + ' <br><br><br>')
1426                                  SaveList.Add('<body TEXT="#000000" BGCOLOR="#EFEFEF" link="#0000FF" alink="#FF0000" vlink="#660099">');                                                                  else
1427                                  SaveList.Add('<a name="top"></a>');                                                                          SaveList.Add('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> 名前:<a href="mailto:' + Res.FMailTo + '"><b> ' + Res.FName + ' </B></a> 投稿日: <span class="date">' + Res.FDateTime+ '</span><br><dd>' + Res.Fbody + ' <br><br><br>');
1428                                  SaveList.Add('<font size=+1 color="#FF0000">' + sTitle + '</font>');                                                          end;
1429                                  SaveList.Add('<dl>');                                                          if ThreadItem.Kokomade = (i + 1) then begin
1430                                  SaveList.Add('<p id="idSearch"></p>');                                                                  SaveList.Add('</dl>');
1431                                  doc.Write(SaveList.Text);                                                                  SaveList.Add('<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>ココまで読んだ</b></font></td></tr></table>');
1432                                  SaveList.Clear;                                                                  SaveList.Add('<dl>');
1433                                  //Application.ProcessMessages;                                                          end;
1434                                  for i := 0 to ReadList.Count - 1 do begin                                                          doc.Write(SaveList.Text);
1435                                          // 1 は必ず表示                                                          SaveList.Clear;
                                         if i <> 0 then begin  
                                                 // 表示範囲を限定  
                                                 case 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) > ResRange then  
                                                                 Continue;  
1436                                                  end;                                                  end;
                                         end;  
   
                                         if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then begin  
1437                                                  SaveList.Add('</dl>');                                                  SaveList.Add('</dl>');
1438                                                  SaveList.Add('<a name="new"></a>');                                                  SaveList.Add('<a name="bottom"></a>');
1439                                                  SaveList.Add('<table width="100%" bgcolor="#3333CC" cellpadding="0" cellspacing="1"><tr><td align="center" bgcolor="#6666FF" valign="middle"><font size="-1" color="#ffffff"><b>新着レス ' + FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate) + '</b></font></td></tr></table>');                                                  SaveList.Add('</body></html>');
1440                                                  SaveList.Add('<dl>');                                                  doc.Write(SaveList.Text);
1441                                          end;                                          end;
1442                                          if (Trim(ReadList[i]) <> '') then begin                                  finally
1443                                                  No := IntToStr(i + 1);                                          SaveList.Free;
1444                                                  Res := DivideStrLine(ReadList[i]);                                          doc.Close;
                                                 if Res.FType = glt2chOld then begin  
                                                         Res.FMailTo := CustomStringReplace(Res.FMailTo, '@`', ',');  
                                                         Res.FName := CustomStringReplace(Res.FName, '@`', ',');  
                                                         Res.FBody := CustomStringReplace(Res.FBody, '@`', ',');  
                                                 end;  
                                                 Res.FBody := AddAnchorTag(Res.FBody);  
                                                 Res.FBody := ConvRes(Res.FBody, ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true');  
                                                 if Res.FMailTo = '' then  
                                                         SaveList.Add('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> 名前:<font color="forestgreen"><b> ' + Res.FName + ' </b></font> 投稿日: <span class="date">' + Res.FDateTime+ '</span><br><dd>' + Res.Fbody + ' <br><br><br>')  
                                                 else if GikoSys.Setting.ShowMail then  
                                                         SaveList.Add('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> 名前:<a href="mailto:' + Res.FMailTo + '"><b> ' + Res.FName + ' </B></a> [' + Res.FMailTo + '] 投稿日: <span class="date">' + Res.FDateTime+ '</span><br><dd>' + Res.Fbody + ' <br><br><br>')  
                                                 else  
                                                         SaveList.Add('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> 名前:<a href="mailto:' + Res.FMailTo + '"><b> ' + Res.FName + ' </B></a> 投稿日: <span class="date">' + Res.FDateTime+ '</span><br><dd>' + Res.Fbody + ' <br><br><br>');  
                                         end;  
                                         if ThreadItem.Kokomade = (i + 1) then begin  
                                                 SaveList.Add('</dl>');  
                                                 SaveList.Add('<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>ココまで読んだ</b></font></td></tr></table>');  
                                                 SaveList.Add('<dl>');  
                                         end;  
                                         doc.Write(SaveList.Text);  
                                         SaveList.Clear;  
1445                                  end;                                  end;
1446                                  SaveList.Add('</dl>');                          finally
1447                                  SaveList.Add('<a name="bottom"></a>');                                  ReadList.Free;
                                 SaveList.Add('</body></html>');  
                                 doc.Write(SaveList.Text);  
1448                          end;                          end;
                 finally  
                         SaveList.Free;  
                         doc.Close;  
1449                  end;                  end;
         finally  
                 ReadList.Free;  
1450          end;          end;
1451  end;  end;
1452  procedure TGikoSys.CreateHTML3(var html: TStringList; ThreadItem: TThreadItem; var sTitle: string);  procedure TGikoSys.CreateHTML3(var html: TStringList; ThreadItem: TThreadItem; var sTitle: string);
# Line 1531  begin Line 1515  begin
1515                          finally                          finally
1516                          end;                          end;
1517                          html.EndUpdate;                          html.EndUpdate;
1518                          Exit;                          //Exit;
                 end;  
         end;  
         ShortDayNames[1] := '日';               ShortDayNames[2] := '月';  
         ShortDayNames[3] := '火';               ShortDayNames[4] := '水';  
         ShortDayNames[5] := '木';               ShortDayNames[6] := '金';  
         ShortDayNames[7] := '土';  
         BBSID := ThreadItem.ParentBoard.BBSID;  
         ReadList := TStringList.Create;  
         try  
                 if ThreadItem.IsLogFile then begin  
                         FileName := ThreadItem.GetThreadFileName;  
                         ReadList.LoadFromFile(FileName);  
                         FAbon.IndividualAbon(ReadList, ChangeFileExt(FileName,'.NG'));  
                         FAbon.Execute(ReadList);                //       あぼ〜んして  
                         FSelectResFilter.Execute(ReadList); //レスのフィルタリングをする  
                         Res := DivideStrLine(ReadList[0]);  
                         Res.FTitle := CustomStringReplace(Res.FTitle, '@`', ',');  
                         sTitle := Res.FTitle;  
1519                  end else begin                  end else begin
1520                          sTitle := CustomStringReplace(ThreadItem.Title, '@`', ',');                          ShortDayNames[1] := '日';               ShortDayNames[2] := '月';
1521                  end;                          ShortDayNames[3] := '火';               ShortDayNames[4] := '水';
1522                  try                          ShortDayNames[5] := '木';               ShortDayNames[6] := '金';
1523                          // フォントやサイズの設定                          ShortDayNames[7] := '土';
1524                          UserOptionalStyle := SetUserOptionalStyle;                          BBSID := ThreadItem.ParentBoard.BBSID;
1525                            ReadList := TStringList.Create;
1526                          if GikoSys.Setting.UseSkin then begin                          try
1527                                  // スキン使用                                  if ThreadItem.IsLogFile then begin
1528                                  // スキンの設定                                          FileName := ThreadItem.GetThreadFileName;
1529                                  try                                          ReadList.LoadFromFile(FileName);
1530                                          SkinHeader := LoadSkin( GetSkinHeaderFileName );                                          FAbon.IndividualAbon(ReadList, ChangeFileExt(FileName,'.NG'));
1531                                          if Length( UserOptionalStyle ) > 0 then                                          FAbon.Execute(ReadList);                //       あぼ〜んして
1532                                                  SkinHeader := CustomStringReplace( SkinHeader, '</head>',                                          FSelectResFilter.Execute(ReadList); //レスのフィルタリングをする
1533                                                          '<style type="text/css">body {' + UserOptionalStyle + '}</style></head>');                                          Res := DivideStrLine(ReadList[0]);
1534                                          //絶対参照から相対参照へ                                          //Res.FTitle := CustomStringReplace(Res.FTitle, '@`', ',');
1535                                          tmp1 := './' +Setting.CSSFileName;                                          sTitle := Res.FTitle;
1536                                          tmp1 := CustomStringReplace(tmp1, GetConfigDir, '');                                  end else begin
1537                                          tmp1 := CustomStringReplace(tmp1, '\', '/');                                          sTitle := CustomStringReplace(ThreadItem.Title, '@`', ',');
                                         SkinHeader := CustomStringReplace(SkinHeader, ExtractFilePath(Setting.CSSFileName),  tmp1);  
                                         html.Append( SkinHeader );  
                                 except  
1538                                  end;                                  end;
1539                                  try                                  try
1540                                          SkinRes := LoadSkin( GetSkinResFileName );                                          // フォントやサイズの設定
1541                                  except                                          UserOptionalStyle := SetUserOptionalStyle;
                                 end;  
                                 html.Append('<a name="top"></a>');  
                                 for i := 0 to ReadList.Count - 1 do begin  
                                         if (Trim(ReadList[i]) <> '') then begin  
                                                 No := IntToStr(i + 1);  
   
                                                 Res := DivideStrLine(ReadList[i]);  
                                                 if Res.FType = glt2chOld then begin  
                                                         Res.FMailTo := CustomStringReplace(Res.FMailTo, '@`', ',');  
                                                         Res.FName := CustomStringReplace(Res.FName, '@`', ',');  
                                                         Res.FBody := CustomStringReplace(Res.FBody, '@`', ',');  
                                                 end;  
   
                                                 Res.FBody := AddAnchorTag(Res.FBody);  
                                                 Res.FBody := ConvertResAnchor(ConvRes(Res.FBody, ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true', true));  
1542    
1543                                            if GikoSys.Setting.UseSkin then begin
1544                                                    // スキン使用
1545                                                    // スキンの設定
1546                                                  try                                                  try
1547                                                          html.Append( ReplaceRes( SkinRes ) );                                                          SkinHeader := LoadSkin( GetSkinHeaderFileName );
1548                                                            if Length( UserOptionalStyle ) > 0 then
1549                                                                    SkinHeader := CustomStringReplace( SkinHeader, '</head>',
1550                                                                            '<style type="text/css">body {' + UserOptionalStyle + '}</style></head>');
1551                                                            //絶対参照から相対参照へ
1552                                                            tmp1 := './' +Setting.CSSFileName;
1553                                                            tmp1 := CustomStringReplace(tmp1, GetConfigDir, '');
1554                                                            tmp1 := CustomStringReplace(tmp1, '\', '/');
1555                                                            SkinHeader := CustomStringReplace(SkinHeader, ExtractFilePath(Setting.CSSFileName),  tmp1);
1556                                                            html.Append( SkinHeader );
1557                                                  except                                                  except
1558                                                  end;                                                  end;
1559                                          end;                                                  try
1560                                                            SkinRes := LoadSkin( GetSkinResFileName );
1561                                                    except
1562                                                    end;
1563                                                    html.Append('<a name="top"></a>');
1564                                                    for i := 0 to ReadList.Count - 1 do begin
1565                                                            if (Trim(ReadList[i]) <> '') then begin
1566                                                                    No := IntToStr(i + 1);
1567    
1568                                                                    Res := DivideStrLine(ReadList[i]);
1569                                                                    {if Res.FType = glt2chOld then begin
1570                                                                            Res.FMailTo := CustomStringReplace(Res.FMailTo, '@`', ',');
1571                                                                            Res.FName := CustomStringReplace(Res.FName, '@`', ',');
1572                                                                            Res.FBody := CustomStringReplace(Res.FBody, '@`', ',');
1573                                                                    end;
1574                                                                    }
1575                                                                    Res.FBody := AddAnchorTag(Res.FBody);
1576                                                                    Res.FBody := ConvertResAnchor(ConvRes(Res.FBody, ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true', true));
1577    
1578                                                                    try
1579                                                                            html.Append( ReplaceRes( SkinRes ) );
1580                                                                    except
1581                                                                    end;
1582                                                            end;
1583    
1584                                  end;                                                  end;
1585                                  html.Append('<a name="bottom"></a>');                                                  html.Append('<a name="bottom"></a>');
1586                                  // スキン(フッタ)                                                  // スキン(フッタ)
1587                                  try                                                  try
1588                                          html.Append( LoadSkin( GetSkinFooterFileName ) );                                                          html.Append( LoadSkin( GetSkinFooterFileName ) );
1589                                  except                                                  except
1590                                  end;                                                  end;
1591                          end else if GikoSys.Setting.UseCSS and FileExists(CSSFileName) then begin                                          end else if GikoSys.Setting.UseCSS and FileExists(CSSFileName) then begin
1592                                  //CSS使用                                                  //CSS使用
1593                                  //CSSFileName := GetAppDir + CSS_FILE_NAME;                                                  //CSSFileName := GetAppDir + CSS_FILE_NAME;
1594                                  html.Append('<html><head>');                                                  html.Append('<html><head>');
1595                                  html.Append('<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">');                                                  html.Append('<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">');
1596                                  html.Append('<title>' + sTitle + '</title>');                                                  html.Append('<title>' + sTitle + '</title>');
1597                                  //絶対参照から相対参照へ                                                  //絶対参照から相対参照へ
1598                                  tmp1 := './' + CSSFileName;                                                  tmp1 := './' + CSSFileName;
1599                                  tmp1 := CustomStringReplace(tmp1, GetConfigDir, '');                                                  tmp1 := CustomStringReplace(tmp1, GetConfigDir, '');
1600                                  tmp1 := CustomStringReplace(tmp1, '\', '/');                                                  tmp1 := CustomStringReplace(tmp1, '\', '/');
1601    
1602                                  html.Append('<link rel="stylesheet" href="'+tmp1+'" type="text/css">');                                                  html.Append('<link rel="stylesheet" href="'+tmp1+'" type="text/css">');
1603                                  if Length( UserOptionalStyle ) > 0 then                                                  if Length( UserOptionalStyle ) > 0 then
1604                                          html.Append('<style type="text/css">body {' + UserOptionalStyle + '}</style>');                                                          html.Append('<style type="text/css">body {' + UserOptionalStyle + '}</style>');
1605                                  html.Append('</head>');                                                  html.Append('</head>');
1606                                  html.Append('<body>');                                                  html.Append('<body>');
1607                                  html.Append('<a name="top"></a>');                                                  html.Append('<a name="top"></a>');
1608                                  html.Append('<div class="title">' + sTitle + '</div>');                                                  html.Append('<div class="title">' + sTitle + '</div>');
1609                                  for i := 0 to ReadList.Count - 1 do begin                                                  for i := 0 to ReadList.Count - 1 do begin
1610                                          if (Trim(ReadList[i]) <> '') then begin                                                          if (Trim(ReadList[i]) <> '') then begin
1611                                                  No := IntToStr(i + 1);                                                                  No := IntToStr(i + 1);
1612                                                  Res := DivideStrLine(ReadList[i]);                                                                  Res := DivideStrLine(ReadList[i]);
1613                                                  if Res.FType = glt2chOld then begin                                                                  {if Res.FType = glt2chOld then begin
1614                                                          Res.FMailTo := CustomStringReplace(Res.FMailTo, '@`', ',');                                                                          Res.FMailTo := CustomStringReplace(Res.FMailTo, '@`', ',');
1615                                                          Res.FName := CustomStringReplace(Res.FName, '@`', ',');                                                                          Res.FName := CustomStringReplace(Res.FName, '@`', ',');
1616                                                          Res.FBody := CustomStringReplace(Res.FBody, '@`', ',');                                                                          Res.FBody := CustomStringReplace(Res.FBody, '@`', ',');
1617                                                  end;                                                                  end;
1618                                                  Res.FBody := AddAnchorTag(Res.FBody);                                                                  }
1619                                                  Res.FBody := ConvertResAnchor(ConvRes(Res.FBody, ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true', true));                                                                  Res.FBody := AddAnchorTag(Res.FBody);
1620                                                  if Res.FMailTo = '' then                                                                  Res.FBody := ConvertResAnchor(ConvRes(Res.FBody, ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true', true));
1621                                                          html.Append('<a name="' + No + '"></a>'                                                                  if Res.FMailTo = '' then
1622                                                                                          + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span> '                                                                          html.Append('<a name="' + No + '"></a>'
1623                                                                                          + '<span class="name_label">名前:</span> '                                                                                                          + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span> '
1624                                                                                          + '<span class="name"><b>' + Res.FName + '</b></span> '                                                                                                          + '<span class="name_label">名前:</span> '
1625                                                                                          + '<span class="date_label">投稿日:</span> '                                                                                                          + '<span class="name"><b>' + Res.FName + '</b></span> '
1626                                                                                          + '<span class="date">' + Res.FDateTime+ '</span></div>'                                                                                                          + '<span class="date_label">投稿日:</span> '
1627                                                                                                                                                                                  + '<div class="mes">' + Res.FBody + ' </div>')                                                                                                          + '<span class="date">' + Res.FDateTime+ '</span></div>'
1628                                                  else if GikoSys.Setting.ShowMail then                                                                                                                                                                                                  + '<div class="mes">' + Res.FBody + ' </div>')
1629                                                          html.Append('<a name="' + No + '"></a>'                                                                  else if GikoSys.Setting.ShowMail then
1630                                                                                          + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span>'                                                                          html.Append('<a name="' + No + '"></a>'
1631                                                                                                                                                                                  + '<span class="name_label"> 名前: </span>'                                                                                                          + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span>'
1632                                                                                          + '<a class="name_mail" href="mailto:' + Res.FMailTo + '">'                                                                                                                                                                                                  + '<span class="name_label"> 名前: </span>'
1633                                                                                          + '<b>' + Res.FName + '</b></a><span class="mail"> [' + Res.FMailTo + ']</span>'                                                                                                          + '<a class="name_mail" href="mailto:' + Res.FMailTo + '">'
1634                                                                                          + '<span class="date_label"> 投稿日:</span>'                                                                                                          + '<b>' + Res.FName + '</b></a><span class="mail"> [' + Res.FMailTo + ']</span>'
1635                                                                                          + '<span class="date"> ' + Res.FDateTime+ '</span></div>'                                                                                                          + '<span class="date_label"> 投稿日:</span>'
1636                                                                                          + '<div class="mes">' + Res.FBody + ' </div>')                                                                                                          + '<span class="date"> ' + Res.FDateTime+ '</span></div>'
1637                                                  else                                                                                                          + '<div class="mes">' + Res.FBody + ' </div>')
1638                                                          html.Append('<a name="' + No + '"></a>'                                                                  else
1639                                                                                          + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span>'                                                                          html.Append('<a name="' + No + '"></a>'
1640                                                                                          + '<span class="name_label"> 名前: </span>'                                                                                                          + '<div class="header"><span class="no"><a href="menu:' + No + '">' + No + '</a></span>'
1641                                                                                          + '<a class="name_mail" href="mailto:' + Res.FMailTo + '">'                                                                                                          + '<span class="name_label"> 名前: </span>'
1642                                                                                          + '<b>' + Res.FName + '</b></a>'                                                                                                          + '<a class="name_mail" href="mailto:' + Res.FMailTo + '">'
1643                                                                                          + '<span class="date_label"> 投稿日:</span>'                                                                                                          + '<b>' + Res.FName + '</b></a>'
1644                                                                                          + '<span class="date"> ' + Res.FDateTime+ '</span></div>'                                                                                                          + '<span class="date_label"> 投稿日:</span>'
1645                                                                                                                                                                                  + '<div class="mes">' + Res.FBody + ' </div>');                                                                                                          + '<span class="date"> ' + Res.FDateTime+ '</span></div>'
1646                                          end;                                                                                                                                                                                                  + '<div class="mes">' + Res.FBody + ' </div>');
1647                                  end;                                                          end;
1648                                  html.Append('<a name="bottom"></a>');                                                  end;
1649                                  //html.Append('</body></html>');                                                  html.Append('<a name="bottom"></a>');
1650                                  html.Append('<a name="last"></a>');                                                  //html.Append('</body></html>');
1651                                  html.Append('</body></html>');                                                  html.Append('<a name="last"></a>');
1652                          end else begin                                                  html.Append('</body></html>');
1653                                  //CSS非使用                                          end else begin
1654                                  html.Append('<html><head>');                                                  //CSS非使用
1655                                  html.Append('<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">');                                                  html.Append('<html><head>');
1656                                  html.Append('<title>' + sTitle + '</title></head>');                                                  html.Append('<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">');
1657                                  html.Append('<body TEXT="#000000" BGCOLOR="#EFEFEF" link="#0000FF" alink="#FF0000" vlink="#660099">');                                                  html.Append('<title>' + sTitle + '</title></head>');
1658                                  html.Append('<a name="top"></a>');                                                  html.Append('<body TEXT="#000000" BGCOLOR="#EFEFEF" link="#0000FF" alink="#FF0000" vlink="#660099">');
1659                                  html.Append('<font size=+1 color="#FF0000">' + sTitle + '</font>');                                                  html.Append('<a name="top"></a>');
1660                                  html.Append('<dl>');                                                  html.Append('<font size=+1 color="#FF0000">' + sTitle + '</font>');
1661                                  for i := 0 to ReadList.Count - 1 do begin                                                  html.Append('<dl>');
1662                                          if (Trim(ReadList[i]) <> '') then begin                                                  for i := 0 to ReadList.Count - 1 do begin
1663                                                  No := IntToStr(i + 1);                                                          if (Trim(ReadList[i]) <> '') then begin
1664                                                  Res := DivideStrLine(ReadList[i]);                                                                  No := IntToStr(i + 1);
1665                                                  if Res.FType = glt2chOld then begin                                                                  Res := DivideStrLine(ReadList[i]);
1666                                                          Res.FMailTo := CustomStringReplace(Res.FMailTo, '@`', ',');                                                                  {if Res.FType = glt2chOld then begin
1667                                                          Res.FName := CustomStringReplace(Res.FName, '@`', ',');                                                                          Res.FMailTo := CustomStringReplace(Res.FMailTo, '@`', ',');
1668                                                          Res.FBody := CustomStringReplace(Res.FBody, '@`', ',');                                                                          Res.FName := CustomStringReplace(Res.FName, '@`', ',');
1669                                                  end;                                                                          Res.FBody := CustomStringReplace(Res.FBody, '@`', ',');
1670                                                  Res.FBody := AddAnchorTag(Res.FBody);                                                                  end;
1671                                                  Res.FBody := ConvertResAnchor(ConvRes(Res.FBody, ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true', true));                                                                  }
1672                                                  if Res.FMailTo = '' then                                                                  Res.FBody := AddAnchorTag(Res.FBody);
1673                                                          html.Append('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> 名前:<font color="forestgreen"><b> ' + Res.FName + ' </b></font> 投稿日: ' + Res.FDateTime+ '<br><dd>' + Res.Fbody + ' <br><br><br>')                                                                  Res.FBody := ConvertResAnchor(ConvRes(Res.FBody, ThreadItem.ParentBoard.BBSID, ChangeFileExt(ThreadItem.FileName, ''), 'bbs', 'key', 'st', 'to', 'nofirst', 'true', true));
1674                                                  else if GikoSys.Setting.ShowMail then                                                                  if Res.FMailTo = '' then
1675                                                          html.Append('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> 名前:<a href="mailto:' + Res.FMailTo + '"><b> ' + Res.FName + ' </B></a> [' + Res.FMailTo + '] 投稿日: ' + Res.FDateTime+ '<br><dd>' + Res.Fbody + ' <br><br><br>')                                                                          html.Append('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> 名前:<font color="forestgreen"><b> ' + Res.FName + ' </b></font> 投稿日: ' + Res.FDateTime+ '<br><dd>' + Res.Fbody + ' <br><br><br>')
1676                                                  else                                                                  else if GikoSys.Setting.ShowMail then
1677                                                          html.Append('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> 名前:<a href="mailto:' + Res.FMailTo + '"><b> ' + Res.FName + ' </B></a> 投稿日: ' + Res.FDateTime+ '<br><dd>' + Res.Fbody + ' <br><br><br>');                                                                          html.Append('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> 名前:<a href="mailto:' + Res.FMailTo + '"><b> ' + Res.FName + ' </B></a> [' + Res.FMailTo + '] 投稿日: ' + Res.FDateTime+ '<br><dd>' + Res.Fbody + ' <br><br><br>')
1678                                                                    else
1679                                                                            html.Append('<a name="' + No + '"></a><dt><a href="menu:' + No + '">' + No + '</a> 名前:<a href="mailto:' + Res.FMailTo + '"><b> ' + Res.FName + ' </B></a> 投稿日: ' + Res.FDateTime+ '<br><dd>' + Res.Fbody + ' <br><br><br>');
1680                                                            end;
1681                                                    end;
1682                                                    html.Append('</dl>');
1683                                                    html.Append('<a name="bottom"></a>');
1684                                                    html.Append('</body></html>');
1685                                          end;                                          end;
1686                                    finally
1687                                            html.EndUpdate;
1688                                  end;                                  end;
1689                                  html.Append('</dl>');                          finally
1690                                  html.Append('<a name="bottom"></a>');                                  ReadList.Free;
                                 html.Append('</body></html>');  
1691                          end;                          end;
                 finally  
                         html.EndUpdate;  
1692                  end;                  end;
         finally  
                 ReadList.Free;  
1693          end;          end;
1694  end;  end;
1695  function TGikoSys.ConvertResAnchor(res: string): string;  function TGikoSys.ConvertResAnchor(res: string): string;
# Line 1894  var Line 1881  var
1881                  bufbody : String;                  bufbody : String;
1882  begin  begin
1883          if AnsiPos('<>', Line) = 0 then begin          if AnsiPos('<>', Line) = 0 then begin
1884                  Delim := ',';                  //Delim := ',';
1885                  Result.FType := glt2chOld;                  //Result.FType := glt2chOld;
1886          end else begin          Line := CustomStringReplace(Line, '<>', '&lt;&gt;');
1887                  Delim := '<>';                  Line := CustomStringReplace(Line, ',', '<>');
1888                  Result.FType := glt2chNew;                  Line := CustomStringReplace(Line, '@`', ',');
1889          end;          end;
1890            Delim := '<>';
1891            Result.FType := glt2chNew;
1892            {
1893          Result.FName := Trim(RemoveToken(Line, Delim));          Result.FName := Trim(RemoveToken(Line, Delim));
1894          Result.FMailTo := Trim(RemoveToken(Line, Delim));          Result.FMailTo := Trim(RemoveToken(Line, Delim));
1895          Result.FDateTime := Trim(RemoveToken(Line, Delim));          Result.FDateTime := Trim(RemoveToken(Line, Delim));
1896          bufBody := Trim(RemoveToken(Line, Delim));          bufBody := Trim(RemoveToken(Line, Delim));
1897            }
1898          if bufbody = '' then begin          //Trimしてはいけない気がする byもじゅ
1899                  Insert('&nbsp;',bufbody, 1);          Result.FName := RemoveToken(Line, Delim);
1900            Result.FMailTo := RemoveToken(Line, Delim);
1901            Result.FDateTime := RemoveToken(Line, Delim);
1902            Result.FBody := RemoveToken(Line, Delim);
1903            if Result.FBody = '' then begin
1904                    Result.FBody := '&nbsp;';
1905          end;          end;
1906          Result.FBody := bufBody;          //Result.FTitle := Trim(RemoveToken(Line, Delim));
1907          Result.FTitle := Trim(RemoveToken(Line, Delim));          Result.FTitle := RemoveToken(Line, Delim);
1908    
1909  end;  end;
1910    

Legend:
Removed from v.1.174  
changed lines
  Added in v.1.175

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26