第2掲示板投稿記事リストのスレッド作成

 投稿者:荒田浩二  投稿日:2009年11月19日(木)11時50分30秒
  スレッドが使えるようになったので、第2掲示板の投稿記事リストを作成しました。
投稿記事の古い順に並べたリストです。
タイトル部分をクリックすれば、その投稿記事にリンクします。

掲示板のソースをテキストファイルにし、下のプログラムで投稿表題部分を抽出し作成しました。

参考情報……スレッドへの投稿記事は、投稿者本人でも後から編集はできないようです。
訂正……スレッドへの投稿記事も、投稿者本人による編集・削除が可能です。

LET t1$="<H2><A NAME=""CID" ! ID No.
LET t1=LEN(t1$)
LET t2$=""" HREF=""http://6317.teacup.com/basic/bbs/" ! ID No.
LET t2=LEN(t2$)
LET t3$=""" CLASS=""Kiji_Title"">" ! タイトル
LET t3=LEN(t3$)
LET t4$="</A></H2>"
LET t4=LEN(t4$)
!
LET p1$="&nbsp;投稿者:<SPAN CLASS=""Kiji_Author"">" ! 投稿者
LET p1=LEN(p1$)
LET p2$="</SPAN>"
LET p2=LEN(p2$)
LET p3$="<A HREF=" ! mailto
LET p3=LEN(p3$)
LET p4$=""">"
LET p4=LEN(p4$)
LET p5$="</A>"
LET p5=LEN(p4$)
!
LET d1$="&nbsp;投稿日:" ! 投稿日時
LET d1=LEN(d1$)
LET d2$="日(" ! 曜日
LET d2=LEN(d2$)
!
LET l1$="&gt; <A HREF=""http://6317.teacup.com/basic/bbs/" ! 元記事 No.
LET l1=LEN(l1$)
LET l2$=">No." ! 元記事 No.
LET l2=LEN(l2$)
LET l3$="[元記事へ]</A><BR><BR>"
LET l3=LEN(l3$)
!
LET finput$="source.txt"
LET foutput$="boardlist.txt"
OPEN #1 : NAME finput$ ,ACCESS INPUT
!
DIM c$(1000)
LET k=0
DO
   LINE INPUT #1 , IF MISSING THEN EXIT DO : a$
   IF a$(1:l1)=l1$ THEN  ! 元記事あり
      LET ps=POS(a$,l2$,l1+1)
      LET ps2=POS(a$,l3$,ps+l2)
      LET s$=s$&" "&a$(ps:ps2-1)
   ELSEIF a$(1:t1)=t1$ THEN
      IF s$<>"" THEN
         LET k=k+1
         LET c$(k)=s$&"</SMALL>"
      END IF
      CALL title
   END IF
LOOP
IF s$<>"" THEN
   LET k=k+1
   LET c$(k)=s$&"</SMALL>"
END IF
CLOSE #1
!
OPEN #2 : NAME foutput$ ,ACCESS OUTPUT
SET #2 : POINTER END
FOR i=k TO 1 STEP -1
   PRINT #2 : c$(i)
NEXT i
CLOSE #2
!
SUB title
   LET s$="<A HREF=""http://6317.teacup.com/basic/bbs/"
   LET id$=a$(t1+1:POS(a$,"""",t1+1)-1)
   LET s$=id$&"  "&s$&id$&"""><B><BIG>"
   LET ps=POS(a$,t3$,t1+2)
   LET ps2=POS(a$,t4$,ps+t3)
   LET s$=s$&a$(ps+t3:ps2-1)&"</BIG></B></A>   投稿者:<FONT COLOR=""#555555""><STRONG>"
   LINE INPUT #1 : a$
   IF a$(1:p1)=p1$ THEN
      IF a$(p1+1:p1+p3)=p3$ THEN
         LET s$=s$&a$(POS(a$,p4$,p1+p3+1)+p4:POS(a$,p5$,p1+p3+3)-1)&"</STRONG></FONT><SMALL>"
      ELSE
         LET s$=s$&a$(p1+1:POS(a$,p2$,p1+1)-1)&"</STRONG></FONT><SMALL>"
      END IF
   END IF
   LINE INPUT #1 : a$
   LINE INPUT #1 : a$
   IF a$(1:d1)=d1$ THEN
      LET s$=s$&"   "&a$(d1+1:POS(a$,d2$,d1+2))
   END IF
END SUB
END
 

訂正:スレッドへの投稿も編集可能

 投稿者:荒田浩二  投稿日:2009年11月26日(木)12時19分0秒
  > No.744[元記事へ]

以前に投稿した記事で『スレッドへの投稿記事は、投稿者本人でも後から編集はできないようです。』と書きましたが間違えてました。

スレッドへの投稿記事も、投稿者本人による編集・削除が可能です。

また参考情報として、投稿記事には投稿順に記事番号が付加されますが、その番号はスレッドへの投稿も含んで付加されます。
 

戻る