艦これ2024早春イベ攻略完了)、たまに えびバイク など




IRC-Delphi6-Perl

久しぶりに趣味のプログラミングを始めました。
いづなさん(http://www.afis.to/ray/xg/)がPerlで作ったある判定プログラムをIRC内の発言に含まれるキーワードに反応させて呼び出し、判定結果をIRCに戻す…という処理をしたいのです。

IRCクライアントはLimeChatを使っています。
http://www.dive-in.to/~mb-arts/

まずPerl実行環境が必要です。
http://www.activestate.com/
ftp://ftp.activestate.com/ActivePerl/Windows/5.8/
こちらの最新版を戴きましょう。これでとりあえず、DOS窓コマンドプロンプト)を使えばいづなさんの判定プログラムが実行できるようになりました。

LimeChatにはPerlを直接起動する機能はありませんが、自作DLLにパラメータを受け渡す機能があるので、DLLを作るためにDelphi6の無償配布版を貰ってきました。
http://www.borland.co.jp/download/
ユーザー登録すれば無料で使わせてもらえるのはありがたいですね。

IRCPerlへ受け渡すDllの例は
http://ut6.hp.infoseek.co.jp/
を参考にさせていただきます。実は、このページにある「LimePerl」で、IRCからPerlを実行できることは判りました。これがそのまま使えれば良かったのですが、LimeChatからPerlに渡される引数の形が判定プログラムと違っていました。これを吸収するため、整形しなおして、さらに孫プログラムとして判定プログラムを呼び出す方法を試みましたが、どうもSystem命令やOUT命令に対応していないようでした。

判定プログラムの引数受け渡し部分を改造してLimePerlで直接起動という方法も考えましたが、この判定プログラムが今後も更新されることを考えると、更新の都度改造が必要、では大変です。

ここはやはり、パラメータ受け渡し部分のDllを作っていづなさんの判定プログラムを起動できるようにすべきでしょう。LimeChatから呼び出すDllの例は「LimeDll」を参考にしてみます。

…と準備しているところへお仕事が舞い込みました。Dll作成はまた今度、になってしまいました。