こんな日があるから4年前の騒ぎがおきるのである。
そういえば、4年前の正月は出勤させられたんだよなぁ。。。
まぁ、そんなことよりも、金曜からお腹の調子が悪く、本日も。。。
記念すべきに日こんな事を書いておくのも何なのだが(^^;)
よく覗く掲示板にはEdMaxフリー版を利用している。で、昨日久しぶりに K2Software BBSに記事をアップしようと思って実行したのだがアップできなかった。
あぁ、そういえば、過去にもアップしようと思って記事を書いたのだけ反映されていないというのを何度か経験していたようなきがする。気がついたときには旬を過ぎているのでそれで終わっているのだが。。。
cgi 何か変更したんだっけ? で、bbx なんだけど、だいぶ前に永さんに教えてもらった内容。 たぶんK2Software用bbxと同じだと思うのだけど。。。
で、今EdMaxフリー版を覗いてみたら、そこそこバージョンアップを繰り返しているのね。今使っているのは
Ver2.85.1F(2002/07/18)
だよ(^^;)
ということで新しいバージョンを入れてみるか。。。
掲示板だとスクリプトがちょっと見難いと思うのでここに書いておきます。
#textout 文書を外部ファイルに書き出す
#
#●動作説明
# アイテムの内容を外部ファイルに出力する。
# 1)エディットウィンドウがアクティブな場合の動作
# その文書だけを出力する。
# 2)仕事表示枠でアイテムが選択されている場合
# 選択されているアイテムの内容を出力する。複数の文書があるアイテ
# ムは、その文書をすべて書き出す。
#
#●出力するファイル名
# とりあえず、ユーザフォルダに out.txt という名前で書き出してあります。
#eval_start
require "tpz"
include Tpz
head_text = <<HEAD
//ここに任意のヘッダーを記述しておく
------------------------------------------------------------
HEAD
foot_text = <<FOOT
------------------------------------------------------------
//ここに任意のフッターを記述しておく
FOOT
def print_doc(doc)
r = ""
title = doc.title
if title == ""
r << "------------------------------\n"
r << "■文書(#{doc.index + 1})\n"
r << "------------------------------\n"
else
r << "------------------------------\n"
r << "■#{title}\n"
r << "------------------------------\n"
end
r << "#{doc.text}\n"
return r
end
def print_item(item)
r = <<-EOR
======================================================================
■■■■■ #{item.title}
======================================================================
EOR
item.documents.each do |doc|
r << "#{print_doc(doc)}\n"
end
return r
end
#main処理
r = head_text
items = tpz_selected_items
if tpz_focus_pain != 3
items.each do |item|
r << "#{print_item(item)}\n"
end
else
r << "#{print_doc(tpz_current_document)}\n"
end
r << foot_text
#出力処理
#ユーザーフォルダ\out.txt として書き出す
out_f = open("#{tpz_user_folder}out.txt","w")
out_f.write(r)
out_f.close
#eval_end
(追記)
実は上記のスクリプトは手持ちのを整理たものなのだけど、その時にちょっとはまってしまいました。
#! ruby # 新規TaskPrize用Rubyスクリプトファイル # # require "tpz" include Tpz print tpz_current_item.project_filename
仕事を複数選択して上記を実行すると下記となります。
F:\TaskPrize2>ruby "C:\tool\TaskPrize2\sunoko\Script\0.rb" C:/tool/TaskPrize2/sunoko/Script/0.rb:8: undefined method `project_filename' for nil:NilClass (NoMethodError) F:\TaskPrize2>pause 続行するには何かキーを押してください . . .
なんとなく、複数選択した時点で、tpz_current_item は値を返してくれていない。 もっとも、複数選択した時点で、すでに currentが存在しないということであるのであるが。。。
要は、仕事を選択していてもいなくても、プロジェクトファイルのファイル名を取得したいのだけど、そういう便利なものってあるのかなぁ。。。
と書いたところで、
print tpz_current_project.project_filename
とすればよいことに今気がついた(^^;)
_ K2 [うちの掲示板は、spam対策版WebForumです。 [[掲示板改造支援サイト - WebForumに掲示板スパム..]
_ 永 [すみません、EdMax を使わなくなって久しいので、まったく意識していませんでした m(__)m 時間が出来たら調べ..]
_ すのこ [いや〜〜、EdMaxは全然理解できません(^^;) お暇な時にでもお願いします。 とりあえず、EdMaxで文章書いて..]