[PR]ƭ
Infoseek ޲٣



その1 (web関連)その2その3 (iTunes関連)その4 (ルーチンのようなもの、小ネタ)

・エラー処理は適当です。あしからず。

■2ちゃんねるの板一覧(2channel.brd)を更新するスクリプト
■DVDプレーヤで指定した時間へ飛んで再生するスクリプト

MacOSX10.3.xでインストールされるAppleScriptには、
スクリプトをアプリケーション形式で保存すると日本語が通らないという重大なバグがあります。
アプリケーション形式で保存したら、以下の手順で日本語に対応させてください。

  (1) 保存時の「フォーマット」を「アプリケーションバンドル」に。
  (2) Finderで「Japanese.lproj」という名前の空フォルダを作っておく。
  (3) Finderで(1)で保存したアプリを選択し、
    情報を見る=>言語=>追加で、(2)のJapanese.lprojを選ぶ。
  (4) 情報を見る=>言語で、「Japanese」にチェックがついていることを確認。



マクモエなど(?)で使う2ちゃんねるの板一覧を更新するスクリプト。
マクモエの更新機能だと「まちBBS」のスレが読めないけど、これは読めます。
ちなみに2channel.brdを使う2ちゃんブラウザなら共通で使えるかも。
OSX10.3.3で作っていますが、それ以前のOSXでもOS9でも動くかも。

アプリケーションはこちら

※ 最初の起動時に「2channel.brdはどこですか?」などと尋ねられたら、
 マクモエのフォルダの「DATA」フォルダの中にある「2channel.brd」を指定してください。
 次回からは尋ねられません。

property chbrd : "" choosechbrd() on choosechbrd() if chbrd is "" then set chbrd to (choose file with prompt "2channel.brd はどこですか?") end if end choosechbrd tell application "URL Access Scripting" download "http://www.ff.iij4u.or.jp/~ch2/bbstable.html" to chbrd replacing yes set src to read chbrd end tell set rpt to -1 repeat 70 times set chat to item rpt of paragraphs of src if chat contains "チャット" then exit repeat set rpt to rpt - 1 end repeat set src1 to (paragraphs 12 thru (rpt - 1) of src) as text set rpt to -1 repeat 70 times set chat to item rpt of paragraphs of src if chat contains "まち" then exit repeat set rpt to rpt - 1 end repeat set src2 to (paragraphs (rpt + 1) thru (rpt + 15) of src) as text set src2 to (return & "まちBBS" & tab & 0 & return & tab & src2) set AppleScript's text item delimiters to " TARGET=_blank" set src2 to (every text item of src2) set AppleScript's text item delimiters to "" set src2 to (every text item of src2) as text set AppleScript's text item delimiters to "machi.to" set src2 to (every text item of src2) set AppleScript's text item delimiters to "machibbs.com" set src2 to (every text item of src2) as text set src to src1 & src2 as text set AppleScript's text item delimiters to "/<A HREF=http://" set src to (every text item of src) set AppleScript's text item delimiters to tab set src to (every text item of src) as text set AppleScript's text item delimiters to "</A>" set src to (every text item of src) set AppleScript's text item delimiters to "" & return set src to (every text item of src) as text set AppleScript's text item delimiters to ">" set src to (every text item of src) set AppleScript's text item delimiters to "" set src to (every text item of src) as text set AppleScript's text item delimiters to "<A HREF=http://" set src to (every text item of src) set AppleScript's text item delimiters to "" set src to (every text item of src) as text set AppleScript's text item delimiters to "【<B" set src to (every text item of src) set AppleScript's text item delimiters to "" set src to (every text item of src) as text set AppleScript's text item delimiters to "</B】" set src to (every text item of src) set AppleScript's text item delimiters to tab & "0" & return & tab set src to (every text item of src) as text set AppleScript's text item delimiters to "/" set src to (every text item of src) set AppleScript's text item delimiters to tab set src to (every text item of src) as text set AppleScript's text item delimiters to "21歳以上!子供はだめ!" set src to (every text item of src) set AppleScript's text item delimiters to "" set src to (every text item of src) as text open for access chbrd with write permission set eof chbrd to 0 write src to chbrd close access chbrd


■DVDプレーヤで指定した時間へ飛んで再生するスクリプト。
標準でついてる「Go To Time...」だと、時間を入力する際に、1時間14分35秒なら「01:14:35」
のように入力しなければならず面倒(「11435」と入力すると「11435秒」と解釈される)。
このスクリプトなら「11435」と入力すれば1時間14分35秒に、「845」と入力すれば8分45秒に
飛べるのでコロンを入力する手間が省けます。

「スクリプト」形式で保存して、「ホーム/ライブラリ/Application Support/DVD Player Scripts」
に入れてください。

tell application "DVD Player" set et to elapsed time set h to round (et / 3600) rounding down set et to et - 3600 * h set m to round (et / 60) rounding down set s to et - 60 * m set t to text returned of (display dialog "Go to time" default answer (h & m & s as string)) if t as number < 10000 then set t to ("0" & t as string) if t as number < 1000 then set t to ("0" & t as string) set {h, m, s} to {(character 1 of t), (character 2 of t & character 3 of t), (character 4 of t & character 5 of t)} if (h as number) > 0 then set h to (3600 * h) if (m as number) > 0 then set m to (60 * m) set elapsed time to h + m + (s as number) end tell


2ちゃんねる新mac板「おもろい、めずらしいアップルスクリプト発表会」もよろしく。



トップページへ戻る