★ INCM Plug-in開発掲示板 ★ TinyGrass Ver0.32a [戻る]
[0043] 00/02/08 00:12 GAE(vbbj25HUgnk): Re:42)RE: Mobile Central
> Mobile Centralプラグイン0.01
> http://members.xoom.com/emasaka/cm_mc001.lzh
INCMのダウンロードページからリンクしても良いでしょうか?
また、incmset.lzh に含んでも良いでしょうか?
> ちなみに参考まで、初めてプラグインを作ってみてハマったこと。
> ・.cmtのS:フィールドで、年号を2桁で書きこむべきところを4桁で
> 書きこんでいてハマった
これはたしかに仕様とはいえ良くないですね。
4桁→2桁の変換は今後やると思います。
ただ 100->2000への変換は未定です(笑)
> ・.cmtの出力でフィールド名のあとに「:」をつけず、.cm$→.cmtの
> ときにぐちゃぐちゃになった。
どうぐちゃぐちゃになるのか、あとで試してみようと思います。
GAE
http://www.gld.mmtr.or.jp/~naofumi/incm/
[0042] 00/02/07 22:24 まさか(XlhZSp9.Fuk): Mobile Central
穴狙いで、Mobile Central<http://www.watch.impress.co.jp/mobile>
を読むプラグインを作ってみました。
Mobile Centralプラグイン0.01
http://members.xoom.com/emasaka/cm_mc001.lzh
Yahoo!プラグインやZDNetプラグインを参考にしました。ていうか
コードをパクってます。
ちなみに参考まで、初めてプラグインを作ってみてハマったこと。
・.cmtのS:フィールドで、年号を2桁で書きこむべきところを4桁で
書きこんでいてハマった
・.cmtの出力でフィールド名のあとに「:」をつけず、.cm$→.cmtの
ときにぐちゃぐちゃになった。
[0041] 00/02/03 13:04 りょう(kB.92o7byEA): ではこれからダウンロード
> 掲示板でなく、INCM HOMEのトップページの下のほうの<関連リンク>のとこにあります
>(^^;
いや普通掲示板の著作権表示みたいな部分がリンクしてることが多いじゃないですか(^^;
でこちらにうかがってからリンクに気がつきました。
簡単な掲示板でいいんですが発言番号表示があるのがいいかなぁ、っと思ったので
TinyGrassを試してみようかと。発言番号表示があるのを試しているのですがそれは
INCMに対応してないので自分が使うのに不便だし(笑)
ともかくこれからダウンロードしてみます。
素早い対応ありがとうございました。
[0040] 00/02/03 07:16 一 五明(9v2hKa5FPfo): Re:38)すみません
>INCMのページで使われていた掲示板がよさそうで、でもリンクしてなかったので
掲示板でなく、INCM HOMEのトップページの下のほうの<関連リンク>のとこに
あります(^^;
>でもトップページの【TinyGrass:Web簡易掲示板システム Ver0.31】のリンクが
>おかしくなってるみたいでダウンロードできません。
リンク先は合ってますが、ファイル自体のUP忘れてました(爆)。
UPしました。
> 入れ替えている最中)。でDOS版モバイルギアユーザなので勝手に親近感持って
最近漫画のネーム書くのの補助くらいしか使ってないような…(^^;
メインのほうにPCカードスロット付ければ何倍も活用出来るんですけどね。
http://www.teleway.ne.jp/~timeflow/MENU.HTM
[0039] 00/02/02 14:47 りょう(kB.92o7byEA): TinyGrassのダウンロード
とタイトルを書こうとしたのですがIME offでミスってしまいましたm(..)m
↓
[0038] 00/02/02 14:45 りょう(kB.92o7byEA): TinyGrassno
INCMのページで使われていた掲示板がよさそうで、でもリンクしてなかったので
TinyGrassで検索してやってきました。
でもトップページの【TinyGrass:Web簡易掲示板システム Ver0.31】のリンクが
おかしくなってるみたいでダウンロードできません。
確認してみて頂けますか?
#ずっと工事中のmy HPの掲示板はsunbbsにしてみたんですがやっぱりINCMで
対応してるものに変更か(といってもまだ何もできてないのでいろいろ
入れ替えている最中)。でDOS版モバイルギアユーザなので勝手に親近感持って
みたりしてます。
[0037] 00/02/01 01:30 RAY(7Lr5MGQzWps): Re:36)なるほど〜
> えーと、深く考えたことはなかったんですが、ファイルハンドル
>はそれぞれ独立しているので、順番は関係ない…と思います。
そうなんですか。ありがとうございます。
これで安心して作ることが出来ます。
> アセンブラではどちらでもよかったんですが、Cの場合はスタ
>ックみたいのにファイルハンドルを積んでるんでしょうか…?
詳しいことは分かりませんが,おそらく。
BASICでいう for〜nextのような入れ子構造と同じだと
随分前に教わった記憶があります。
RAY
[0036] 00/01/31 07:28 一 五明(9v2hKa5FPfo): Re:35)順番はどっちでもいいはず
>きちんと書く場合の正しい書き方がよく分かりません。
># というか分からなくなってしまいました。
>open(IN,$infile);
>open(OUT,$outfile);
>の順番で開いた場合どのように閉じるのが正しいのでしょうか?
えーと、深く考えたことはなかったんですが、ファイルハンドル
はそれぞれ独立しているので、順番は関係ない…と思います。
>C言語などの場合は以下のように閉じますが
>close(OUT);
>close(IN);
あ、これ初めて知りました(^^;
アセンブラではどちらでもよかったんですが、Cの場合はスタ
ックみたいのにファイルハンドルを積んでるんでしょうか…?
例えばDOSの場合は1プロセスで15ファイルまでしか開けないの
で、これを言語内で回避するような処理を入れているとすればそ
うなる可能性はありますね。
http://www.teleway.ne.jp/~timeflow/MENU.HTM
[0035] 00/01/30 23:37 RAY(Wm3GACyDPtU): perlについての質問なんですが
ここには初めて書き込みます。RAYといいます
幾つかプラグインを作っているのですが
今になってふと疑問に思う命令がありまして…
いろいろと調べたのですが
調べれば調べるほど分からなくなって困っています。
その命令というのは close() なんです。
perlの場合は書かなくてもプログラムが終了するか
新たに open()を使えば閉じてくれるようなんですが
きちんと書く場合の正しい書き方がよく分かりません。
# というか分からなくなってしまいました。
たとえば
open(IN,$infile);
open(OUT,$outfile);
の順番で開いた場合どのように閉じるのが正しいのでしょうか?
C言語などの場合は以下のように閉じますが
close(OUT);
close(IN);
perlのプログラムでは逆に閉じているものもあり
どちらが正しいのか判断が付きません。
もしかして, 閉じる順番は関係ないのでしょうか。
incmのプラグインもよく見ているのですがよく分かりませんでした。
なにか規則性があるのでしたら教えていただきたいのですが…。
よろしくお願いします。
RAY
[0034] 00/01/30 19:43 一 五明(9v2hKa5FPfo): ▼Perl入門(3)書き換え…記事単位に区切る
まず、さっきコピー&名前変更したサンプルをエディタで読み込みます。
サンプルベースは、とりあえず34行目辺りの「記事の出力」と書いてある
辺りを書き換えればいろんなのが読めるようになってます。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
##### 記事の出力 #########################################################
ATCL:{
$page+=1; print STDOUT "\nPage $page:";
$/="<hr"; # 区切り
while(<HTTP>){ # 区切り毎に、ファイル終端まで $_に読む
print LOG $_; s/\r\n?/\n/g;
if($date=&getdate($_)){ # $dateに日付が取得出来たら記事とみなす
$date=~s/^..//; # 年を2桁化
print STDOUT "*"; # 読み取り状況表示
$head="";
$head=~s/&([a-z]+);/unamp{$1}/eg; # 特殊文字デコード
$user=&geturl($_,$head); # HP/Mailアドレスの抽出
print "S:*,*,$date,\n",$head; # 記事ヘッダ出力
&wrtmes($_,$user); # 本文の出力
}
} # ← while(<HTTP>)の終わり
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
この付近です。
なお、エディタのタブ(TAB)設定は4にして下さい。TAB8だと右側のコメントが
次の行に飛びます。PerlスクリプトはTAB4で書かれていることが多いので、拡張
子別にTAB設定が出来るエディタの場合、.plは4に設定しておいたほうが無難です。
(この文章中ではTAB8に直してます)
で、まず最初に書き換えるのは、さっき引用した上のほうの
$/="<hr"; # 区切り
です。この中の"<hr"の部分を、掲示板システムの区切りに応じて書き換え
るわけです。どういう文字(タグ)が区切りになってるかは、掲示板のHTMLファ
イルを覗いて見て下さい。"<table","<TABLE","<hr","<HR" 等で上手く行く
ことが多いようです。
なお、"<hr>"のようにタグ丸ごと指定してもいいのですが、この辺は掲示板
の管理者が書き換えたりしている(例えばhrタグなら<hr size=4>のように)
可能性が高いので、タグの先頭部分だけを区切りに指定したほうが無難なわけ
です。
プロバイダ提供、掲示板サイトの専用掲示板などでカスタマイズが有り得な
い場合はタグ丸ごと使っても構いません。
書き換えたら巡回なりインポートなりしてみれば、タイトルや名前、あるい
はNo.のある掲示板はそれも取得出来てませんが、一応それらしくなってる(?)
と思います。
ただし、書き込み日付の無い(もしくは想定外の形式の)掲示板は読めません。
次はタイトル等の抽出方法の説明、の予定。
http://www.teleway.ne.jp/~timeflow/MENU.HTM
[0033] 00/01/30 19:43 一 五明(9v2hKa5FPfo): ▼INCMのためのPerl入門(2)書き換える前に
とりあえず、書き換える前に覚えておくことです。
◇ cm_****.plのいろんな呼び名
cm_****.plは、INCMのプラグインであると同時にPerlのスクリプトであり、
プログラムであり、ソース(ファイル)です。
要するに(それぞれニュアンスの違う)いろんな呼び方をされることがあっ
て紛らわしいのですが、基本的に指してるものは同じです。
(C言語等の場合はソースと実行ファイルが別だったりして、もう少しやや
こしい)
◇ スクリプトは先頭から順に実行される
正確にはサブルーチン部分は除きますが、とりあえずサンプルで書き換える
範囲に関してはそう思ってOKです。なおサンプルでは、「##### CMLIB15:〜」
という行以降がサブルーチンです。
◇ 「#」以降、行末までは実行されない(コメント部)。
ただし、"〜" や '〜'で囲まれた部分に出て来る「#」は除きます。
どこが実行される部分で、どこがコメントかは見れば何となく判ると思います。
逆に言えばコメント以外の部分は、先頭から順番に何らかの動作を行います。
◇ ただし実行出来ない場合もある(エラー)
エラーには、
・実行前に出て、最初からスクリプトが実行出来ないエラー(コンパイル時
エラー)
・実行中に出て、そこで動作終了するエラー(実行時エラー)
の2種類が有ります。詳しくは後述します。
◇ 実行単位(命令)毎に、後ろにセミコロン(;)を付ける。
これをせずに次の命令を続けて書いてしまうとエラーになります。
http://www.teleway.ne.jp/~timeflow/MENU.HTM
[0032] 00/01/30 19:43 一 五明(9v2hKa5FPfo): ▼INCMのためのPerl入門(1)準備
…というわけで、Perlでプラグインを開発したいという人のための
Perl入門です。ほとんど無理矢理の見切り発車で我ながら不安なもの
はありますが、よろしくお願いします(^^;
さて、何はともあれ、INCMとPerl製のプラグイン(cm_*****.plのよ
うなやつ)が使える状態であることが前提です。
次にサンプルベース
http://www.teleway.ne.jp/~timeflow/CM_SAMPL.LZH
…をダウンロードします。cm_sample.plと言うファイルが入ってます。
これをINCMのフォルダにコピーして、作りたいプラグインの対象掲示
板(システム)名に名前変更して下さい。
で、読みたい先のBBSフォルダを作成しURLを設定し、プラグインにさっ
きコピー&改名したのを選択します。
で、それをシステムに合わせて書き換えれば、巡回や、インポート
(ローカルHTMLファイルの変換)する際、呼び出されて使えるわけです。
なお、今回のサンプルベースは比較的単純なシステムが前提です。ツ
リー系等の複雑なシステムのサンプルはそのうち作る予定です。
http://www.teleway.ne.jp/~timeflow/MENU.HTM
[0031] 00/01/29 07:58 一 五明(9v2hKa5FPfo): Re:30)RE: G-LIGHTプラグイン
> 標準状態(KENT-WEBのサンプルのような状態)のG-LIGHT掲示板を
G-LIGHTの最近のバージョンはタイトル無いんですよね…代わりに地域名
が付いたりして。
タイトルの有無の判別はFORMから出来るので、修正しようと思います。
http://www.teleway.ne.jp/~timeflow/MENU.HTM
[0030] 00/01/29 00:20 まさか(XlhZSp9.Fuk): G-LIGHTプラグイン
G-LIGHTプラグインを使っています。
標準状態(KENT-WEBのサンプルのような状態)のG-LIGHT掲示板を
巡回したときに、INCMで「タイトル」「発言者」等の内容がずれる
ことがあります。どうやらメールアドレスを省略した場合に起こっ
ている様子。
プラグインのソースを見ると、最初の<b>〜</b>(間タグなし)を
タイトルとしているようですね。が、私の巡回する掲示板ではタイ
トルがないほか、メールアドレスを省略すると発言者が<b>〜</b>
(間タグなし)となるため、ずれてしまうのではないかと思います。
とりあえず私の環境では、
s/<b>([^\n<]+)<\/b>//; $title="T:$1\n"; # タイトル
の行をコメントアウトすることで、正常っぽく動いています。
でもこれ、ちゃんと対応すると、タイトルのある掲示板とない掲
示板とで処理を変えなくちゃならないですね。
[0029] 00/01/27 19:58 一 五明(9v2hKa5FPfo): Re:27)RE: Yahoo掲示板
>chat_pf_1
>って、どんな意味なのでしょうか?
Yahooの送信FORM中のデーターで、「1番目のニックネーム」の意ら
しいです。
http://www.teleway.ne.jp/~timeflow/MENU.HTM
[0028] 00/01/27 02:07 なっちゃん(r8LlEgcjC4c): Re:27)Re: Yahoo掲示板
あ、名前わすれた
[0027] 00/01/27 02:05 ???(r8LlEgcjC4c): Re:7)Yahoo掲示板
いまだに、掲示板への書きこみ方ががわからず、苦戦しております。
>「ヘルプ」に『記事のプロパティのPOSTでchat_pf_1のように
chat_pf_1
って、どんな意味なのでしょうか?
[0026] 00/01/24 20:48 一 五明(9v2hKa5FPfo): TGrass0.30のバグ?
ここの掲示板に、おそらく「Webモードから10番に返信しようとした
ところ、なぜか1番への返信になって、タイトルが0になった」らしい
書き込みがあります。INCM掲示板でも同じ現象が起きてますね(^^;
実は、「>10」とか「Re10」しか書き込まなかった場合そうなります。
返信形式は「>10 タイトル」のような形を想定していて、タイトル
は1文字以上あるものと決め打ちしていたのでそうなってしまったわけ
です。
修正はtgrass.cgiの34行目付近の
if($subj=~ s/^(RES?|>|\>)[:;\. ]*0*((\d|0|1|2|3|4|5|6|7|8|9)+)[:;\)]*( )*(.+)$/$5/i){
↑ここを
if($subj=~ s/^(RES?|>|\>)[:;\. ]*0*((\d|0|1|2|3|4|5|6|7|8|9)+)[:;\)]*( )*(.*)$/$5/i){
↑こう直せばOK…のはずです。(+だと1文字以上、*だと0文字以上)
ただしCMT出力時はタイトル部分が空白になるはずで、他のところで空白を想定
していない処理を行ってる可能性がありますので、
if($subj=~ s/^(RES?|>|\>)[:;\. ]*0*((\d|0|1|2|3|4|5|6|7|8|9)+)[:;\)]*( )*(.*)$/$5/i){ $subj="返信" if(!$subj);
↑追加
とでもして、タイトルが空白になってしまった場合強制的にタイトルを付ける
ようにしたほうが無難だと思います。
一応0.31を上げておきましたが、このくらいだと手で修正したほうが速いかも。
→ http://www.teleway.ne.jp/~timeflow/TG031.LZH
http://www.teleway.ne.jp/~timeflow/MENU.HTM
[0025] 00/01/24 06:54 一 五明(9v2hKa5FPfo): プラグイン作者はIE5に注意(;_;)
IE5の「名前を付けて保存」で保存したHTMLは、タグの大文字小文字が
変化したり、テーブルに変な字下げが入ったり(タグの中で平気で改行
したりする)、頭に変なタグがくっ付いたり、URLを勝手に書き換えたり
その他いろいろのようです。
ブラウザがIE5の場合、テスト用のローカルファイルはキャッシュから
直接掘り出すか、何もせずにログだけ記録するプラグイン(?)でも作って
取って来たほうが賢明のようです。
くれぐれも改変ログをテストに使って、本物を読ますと読めなくて最初
からやり直しと言うことにならないよう…(T_T)。
http://www.teleway.ne.jp/~timeflow/MENU.HTM
[0024] 00/01/22 20:07 一 五明(9v2hKa5FPfo): Re:21)RE: 解決しました
>binmode文は2カ所にありましたが、
>最初の方だけ有効にすると解決しました。
えーと、既にCRCRLFになってしまってる場合はそうなりますかね。
binmode宣言していないファイルハンドルは入力時CRLF→LF、出力
時LF→CRLFの変換なので、入力時だけ切ればOK…みたいですね(あん
まし把握してない)。
>ところで、IDを非表示にするにはどうすれば良いですか?
>ソースをよくみると書いてありました。
あ、ドキュメントに書き忘れてた(^^;
http://www.teleway.ne.jp/~timeflow/MENU.HTM
[0023] 00/01/21 23:44 GAE(vbbj25HUgnk): Re:22)ガーン
ソースをよくみると書いてありました。
情けない(汗)
GAE
http://www.gld.mmtr.or.jp/~naofumi/incm/
[0022] 00/01/21 23:35 GAE(vbbj25HUgnk): [TinyGrass]IDの非表示
INCM掲示板の方を TinyGrass 0.30 に変えてみました。
問題なく動いているようです(笑)
ところで、IDを非表示にするにはどうすれば良いですか?
http://www.gld.mmtr.or.jp/~naofumi/incm/
[0021] 00/01/21 12:26 GAE(.yLuozr171c): Re:20)解決しました
binmode文は2カ所にありましたが、
最初の方だけ有効にすると解決しました。
INCM掲示板の方もやってみようと思います。
GAE
http://www.gld.mmtr.or.jp/~naofumi/incm/
[0020] 00/01/20 12:00 GAE(.yLuozr171c): Re:19)binmode
> TGRASS.DOCにもそれらしいことを書いてありますが、WinNTサーバーだと、
>コメントアウトしてある binmode文を有効にしないと、記録時にCRLFがCRCRLF
>になってしまうはずです。
Win98ですが確かに CRCRLF になってました。
これを変えてチェックしてみます。
> 改行コードは消滅したのか、それとも表示出来ないコードになったのか?
> またログの段階で既に改行コードは変or消滅なのか、それともログは
>(それほど)おかしくないのに、tgrassの出力段階で変になるのか、とりあ
>えずその辺りの調査お願いします。
おかしなことに、改行がつながるだけではなくて、
記事が中途半端なところから表示されます。
でもスクリプトの不具合ではないかもしれません。
別のサーバに全く同じ物をコピーしてみるとそちらではうまく動きました。
Perlのバージョンも同じものなので、何が悪いのかさっぱりわからず…。
でも、binmode文のところを有効にすればうまくいくかもしれないので
それで試してみます。
GAE
http://www.gld.mmtr.or.jp/~naofumi/incm/
[0019] 00/01/18 20:06 一 五明(9v2hKa5FPfo): Re:18)RE: ローカルサーバにてテスト
>ただ、もともとローカルで使っていた掲示板は
>Webモードだと改行コードが悪いせいか、
>一行ごとに空行が必ず入ってしまっていたので、
TGRASS.DOCにもそれらしいことを書いてありますが、WinNTサーバーだと、
コメントアウトしてある binmode文を有効にしないと、記録時にCRLFがCRCRLF
になってしまうはずです。
まだこっちは原因が判りやすいのですが…
>その後、ブラウザでWebモードを読み出してみると
>改行コードがなく、つながった状態で表示されました。
これは何なんでしょうね…
改行コードは消滅したのか、それとも表示出来ないコードになったのか?
またログの段階で既に改行コードは変or消滅なのか、それともログは
(それほど)おかしくないのに、tgrassの出力段階で変になるのか、とりあ
えずその辺りの調査お願いします。
http://www.teleway.ne.jp/~timeflow/MENU.HTM
[次のページ]