2010年5月17日 (月)

指定されたフォルダ配下をrobocopyにてバックアップする

'*************************************************************************
'指定されたフォルダ配下をrobocopyにてバックアップする
'*************************************************************************
Option Explicit

Const strSrc = "(コピー元フォルダ名)"
Const strDst = "\\(バックアップ先コンピュータ名)\(共有フォルダ名)"
Const strOpt = "/S /E /R:0 /XA:SHT /LOG:ログファイル名 /V /TEE"     '/TEEはテスト時のみ使用

Dim objWshShell
Set objWshShell = WScript.CreateObject("WScript.Shell")

Dim strParm
strParm = strSrc & " " & strDst & "\" & GetSubFolderName(Now) & " " & strOpt

objWshShell.Run "c:\windows\system32\robocopy.exe " & strParm

Set objWshShell = Nothing

'*************************************************************************
'曜日に合わせたバックアップサブフォルダ名を求める
'\\(コンピュータ名)\(共有フォルダ名)配下にこのサブフォルダが作成される
'曜日毎に異なるフォルダ名なので、過去1週間分のデータを別々に保存できる
'*************************************************************************
Private Function GetSubFolderName(inDate)
   Dim strNames
   strNames = Array("1-Sunday", "2-Monday", "3-Tuesday", "4-Wednesday", "5-Thursday", "6-Friday", "7-Saturday")
   GetSubFolderName = strNames(Weekday(inDate)-1)
End Function

2010年5月14日 (金)

viで漢字入力したい@さくらインターネットサーバ

なかなかうまくいかず途方に暮れていましたが、ズバリ解説されているサイトを見つけてスンナリ解決することができました(^^;


さくらインターネットの共用サーバに vim をインストールする

2009年12月17日 (木)

3つのボタンを使った単純なスクロールメニュー制御

「Flash Liteで作る携帯コンテンツ実践教科書」という本の
「Chapter6 携帯サイト(縦長メニュー)を作る」という章で思いっきりハマってしまった。。。(涙)

このサンプルはメニューが縦に5つ並んでいて、上下ボタンを押すとメニュー選択状態が上下するだけの超~~~~単純なものだったんだけど、そこで指示されている「3つの空ボタンを配置する」という理由がさっぱり分からず、1日以上悩んでしまった。

「どうして空ボタンオブジェクトを3つ配置する必要があるんだろう?」
「そんなもん1個でいいじゃないか?」
「2つや、4つではダメなんだろうか?」

ひたすら検索しまくったが、なかなかヒントに巡り会えず、ヒカツカさんの解説ページでやっと理解することができた。
http://1ka2ka.com/archives/200811/08_024914.html

ボタンオブジェクトを配置しておけば、上下キーが押されたときにフォーカスが移るので、
そのrollOverイベントを捕まえて前回の位置と比較することで、どちらの方向のキーが押されたかが分かるんですね。

空ボタンが1つだとフォーカスは移動しないので使えず、
2つだと、上キーでも下キーでも他方へフォーカスが移るため方向は判別できない。
3つ以上なら判別可能だが、最低3つだけあれば方向は分かるため、それだけで十分といういう訳ですね。

分かった今となっては実に簡単なことでしたね(汗)

2009年12月 8日 (火)

mcのアルファ値をプログラムから動的に変更する方法

// アルファ値の設定
setProperty("対象となるmcインスタンス名", _alpha, [アルファ値 0~100]);

その他にsetPropertyで変更可能なプロパティとしては(Flash Lite1.1)
_x, _y ... mcのx, y座標(pixel単位)
_xscale, _yscale ... 倍率(%)
_visible ... 表示/非表示(true/false) などがある

フォントの埋め込みについて

携帯電話によっては搭載されているフォントが異なっているため、見え方が変わってしまうことがある。そこでフォントを埋め込むことで、同じ見栄えにする。

早速試してみたが、ダイナミックテキストの場合は問題なくできたものの、静止テキストについては埋め込みボタンがdisableとなり押せなかった。Flash8のヘルプによると

<p><p><p>テキストフィールドについて</p></p></p>

静止テキスト 変更する必要のない文字や少量のテキスト、またはほとんどのコンピュータでは利用不可能な特殊なフォントを表示するために使用します。動的テキストフィールドに文字を埋め込んで一般的でないフォントを表示することもできます。

と書かれていることから推測すると。。。静止テキストはオーサリング時にビットマップにレンダリングされてしまっているので最早埋め込む必要がないということだろうか。

電池残量の取得方法

// 電池残量
fscommand2("GetBatteryLevel");

docomo, au, softbankともに0~3
但し、softbank 910SH以前の機種は0~100

電波状態と電池状態の取得方法

// 電波状態
fscommand2("GetSignalLevel");

メーカー/機種により戻り値が異なるので注意
docomoが0~3
auが0~4
softbankが0~4(※910SH以前の携帯では0~100)

電波状態に応じて画像を表示したいときは
新規mcに戻り値の種類分フレームを用意し、各フレームに画像を配置
またコマ送りしないよう、各フレームにstop()を配置した後、

tellTarget ("該当mcインスタンス名") {
    gframe = fscommand2("GetSignalLevel")+1;
    if (gframe > 4) {
        gframe = 4;
    }
    gotoAndStop(gframe);
}

日付と曜日の取得方法

// 年
fscommand2("GetDateYear");

// 月
fscommand2("GetDateMonth");

// 日
fscommand2("GetDateDay");

// 曜日 (0=日曜, 1=月曜,  ...  , 6=土曜)
fscommand2("GetDateWeekDay");

時刻の取得方法

// 時
fscommand2("GetTimeHours");

// 分
fscommand2("GetTimeMinutes");

// 秒
fscommand2("GetTimeSeconds");

2009年11月26日 (木)

さくらインターネットにXOOPSをインストールしてみる

■環境
さくらインターネット(スタンダードプラン)
XOOPS Cube Legacy 2.1.2(2009/11/26時点での最新安定バージョン)

■さくらインターネットのHPに結構丁寧な説明がされている
http://support.sakura.ad.jp/support/manual/rs/xoops_man.shtml
本手順書に沿って作業を進める。

■手順
(1)BASIC認証の設定
 サイトが完成するまでは公開させないよう、BASIC認証をかけておいた。

(2)MySQLデータベースの作成
 バージョンは手順書の通りMySQL5.1を選択した。

(3)XOOPSのダウンロード
 http://xoopscube.jp/news/43 より
 XOOPS Cube Legacy 2.1.2(Package_Legacy_2_1_2.zip)をダウンロードする。

(4)ダウンロードしたパッケージを解凍
 docs, extras, htmlディレクトリが現れる。

(5)htmlディレクトリをサーバへWinSCPを使って転送
 手順書ではhtmlディレクトリをxoopsという名前にリネームしてから、xoopsフォルダごと転送する
 よう記載されていたが、今回はhtml配下の全ファイルを転送した。
 (http://XXXXXX.sakura.ne.jp/xoops/ ではなく http://XXXXXX.sakura.ne.jp/ でアクセスしたかったため)
 
 また手順書では転送ツール(ffftp)側の設定でパーミッションを705に設定する方法が記されていたが、
 WinSCPでの同様な方法を調べるのが面倒だったため省略。その代わり(6)の作業を行う。

(6)パーミッションの変更
 前述にてパーミッション設定しなかったため、Shellから"chmod -R 705 *.php"した。

(7)http://XXXXXX.sakura.ne.jp/xoops/ にアクセス
 XOOPS Cube Install Wizard画面が表れるので言語をJapaneseに選択する。
 →絵がとても可愛かったため、まだ何もしていないのに「インストールはだいたい
  終わったな」と安心してしまう。
 (機能には全く関係ありませんが、こういうのって大事だなーと改めて思いました)

(8)「XOOPS Cube 2.1 インストールウィザードへようこそ」ページ
 内容を良く読んで、次へ。

(9)「ファイルのアクセス権のチェック」ページ
 "アクセス権に問題はありません"と表示されていたので次へ。

(10)「データベース、およびパス・URLの設定」ページ
 これも手順書に沿って記述すれば問題なし

(11)「設定内容の確認」
 次へ

(12)「設定の保存」
 次へ

(13)「パス・URLのチェック」
 次へ

(14)「データベース設定の確認」
 次へ

(15)「データベースをチェック」
 次へ

(16)「データベーステーブル作成」
 次へ

(17)「サイト管理者についての設定」
 内容を入力後、次へ

(18)「データの生成」
 次へ

(20)「インストール第1ステップ完了」\(^^)/
 この画面は手順書とはちょっと違うようだが、気にせず次へ進む。
 何も表示されなかったが、ブラウザのキャッシュをクリアしてリロードしたら無事ログイン画面が表れた。
 管理者ユーザ名/パスワードを入力し、ログインする。

(21)「以下のモジュールが導入されていません」
 legacy        必須(未導入)
 user          必須(未導入)
 legacyRender  必須(未導入)
 stdCache      必須(未導入)
 pm            導入推奨
 すべてチェックされていたので、そのままインストールボタンを押す。

(22)「インストール完了!」
 「あなたのサーバーに /home/~~~~/install ディレクトリが残っています。
 悪意のある攻撃者がこのインストールウィザードにアクセスできないようにする為に、
 このディレクトリを削除してください。」
 という警告メッセージが表示されている。

(22)installディレクトリの削除
 手順書の通り。

(23)mainfile.phpのパーミッション変更
 手順書の通り444へ。

完了!
ブラウザをリロードすると(22)の警告メッセージは表示されず、左側に各種メニューが表示されることを確認。
何の問題もなく、あっさりとインストールすることができたが、若干拍子抜け。。。

«Fireworksを使ってイメージの端を丸める方法