下記サイトを参考にして、ザウルス(SL-C3100)の予定表を携帯電話(W32S)へ赤外線送信するスクリプトを個人的に作成しました。
iCalendar(vCalendar)とザウルスのカレンダーの変換 - SL-C3200であそぶ
http://plaza.rakuten.co.jp/slc3200/diary/200607130000/
実行には以下のモジュールが必用です。
・SimpleZDB
Ruby/Qte普及委員会 - SimpleZDB
http://noir.s7.xrea.com/rubyqte/?SimpleZDB
・OpenOBEX
Private Packages for Zaurus SL-C series
http://www.focv.com/ipkg/
あと sudo が必用です。
下記にソースを載せますが、個人的に作成したものですので、動作の保証はいたしません。m(__)m
あと改行など適宜編集しています。そこそこ便利に使えそうです。
・icssend.sh
iCalendar(vCalendar)とザウルスのカレンダーの変換 - SL-C3200であそぶ
http://plaza.rakuten.co.jp/slc3200/diary/200607130000/
実行には以下のモジュールが必用です。
・SimpleZDB
Ruby/Qte普及委員会 - SimpleZDB
http://noir.s7.xrea.com/rubyqte/?SimpleZDB
・OpenOBEX
Private Packages for Zaurus SL-C series
http://www.focv.com/ipkg/
あと sudo が必用です。
下記にソースを載せますが、個人的に作成したものですので、動作の保証はいたしません。m(__)m
あと改行など適宜編集しています。そこそこ便利に使えそうです。
・icssend.sh
#!/bin/sh DIRNAME=`dirname $0` TMPFILE=/tmp/`basename $0`.ics ${DIRNAME}/zau2ics.rb | nkf -s > ${TMPFILE} sudo /etc/rc.d/init.d/irda start for i in 1 2 3 4 5 6 7 8 9 10 ; do ircp ${TMPFILE} sleep 1 done rm -f ${TMPFILE} sudo /etc/rc.d/init.d/irda stop・zau2ics.rb
#!/usr/bin/env ruby require 'date' require 'time' require 'simplezdb' include SimpleZDB DataBase.open(DataBase::DATEBOOK,true){|db| print "BEGIN:VCALENDARn" print "PRODID:-//M.Ito//zau2ics//JPn" print "VERSION:2.0n" print "METHOD:PUBLISHn" db.each {|card| print "BEGIN:VEVENTn" if card["ADAY"]==0 printf "DTSTART:%sn",Time.parse(card["TIM1"].strftime( "%Y%m%dT%H%M%S")).localtime.strftime("%Y%m%dT%H%M%SZ") printf "DTEND:%sn",Time.parse(card["TIM2"].strftime( "%Y%m%dT%H%M%S")).localtime.strftime("%Y%m%dT%H%M%SZ") else printf "DTSTART:%sn",card["TIM1"].strftime("%Y%m%dT000000") printf "DTEND:%sn",card["TIM1"].strftime("%Y%m%dT000000") end case card["CATEGORY"] when ["ビジネス"] print "CATEGORIES:BUSINESSn" when ["プライベイト"] print "CATEGORIES:PERSONALn" when [] else printf "CATEGORIES:%sn",card["CATEGORY"] end printf "SUMMARY:%sn",card["MEM1"].gsub(/n/,"|") printf "LOCATION:%sn",card["PLCE"] # if card["ARON"]==0 # printf "AALARM:%sn",card[""] # end # if card["RTYP"]!=255 && card["RFRQ"]==0 && card["RPOS"]==0 # printf "RRULE:%sn",card["TIM2"] # end print "CLASS:PUBLICn" printf "DESCRIPTION:%sn",card["DSRP"] print "END:VEVENTn" } print "END:VCALENDARn" }
※コメント投稿者のブログIDはブログ作成者のみに通知されます