Hatena::Groupnadesiko

雪乃☆雫のなでしこ日和

2009-06-16

パスワードつきの圧縮

| 01:15

 mr-80bさまのとこの記事で、パスワードつきの圧縮なんて、一行でできるんだなあと、感心。

 お仕事になでしこを使おうなんて心がけは皆無のワタシでしたが(普通逆だし!)、ちょっとやってみましたよ。

 それにしても最近は、なんでもセキュリティだ、パスワードだ、情報漏洩だって、イヤな時代になりましたねー。

#------------------------------------------------------------
!母艦設計=「母艦の可視はオフ」
パスワードとは文字列
圧縮ファイル名とは文字列
圧縮元フォルダとは文字列=「{マイドキュメント}」
保存先フォルダとは文字列=「{マイドキュメント}」

「パスワードは?」でパスワード入力もしそれならば
  終了違えば
  パスワードはそれ圧縮元フォルダに作業フォルダ変更ファイル選択もしそれならば
  終了違えば
  選択ファイルはそれ。
  圧縮ファイル名はそれからファイル名抽出。
  圧縮ファイル名はそれを「.zip」に拡張子変更。
  選択ファイルを「{パスワード}」で「{保存先フォルダ}{圧縮ファイル名}」へパスワード付圧縮。
  「explorer {保存先フォルダ}」を起動。
  終了。
#------------------------------------------------------------

 っていうか、めちゃくちゃ長くなってるし!(笑)

 10行でプログラムとかって、私には無理だにゃー;

 「それ」を多用していると、それの中身が変わってしまっておかしくなったりするから気をつけろということがわかった。

 余分な機能がない分簡便なのは違いないけど、使い勝手がいいかって言うとびみょー? っていうか普通すぎ。

 お客さんによって、特化した個別の何かがあるような場合は実力を発揮するのかもしない(プログラムが追っ付けばですが;)

 ーいえば、これだとフォルダが圧縮できないや;

 

トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20090616

2009-06-08

MCIでBGMを鳴らすよ!

| 00:10

 あちこち調べて、こんな関数にしてみました。

 これで、「BGM停止」するまではループ再生します。

 BGM停止でフェードアウトして止まります。

#------------------------------------------------------------
●BGM再生(Mを)
#    「M」を「BGM」でMCI開く
#  V=500  #ボリューム初期値
  「open "{M}" alias {BGM} type mpegvideo」をMCI送信。  #ファイル開く
#  「setaudio {BGM} volume to {V}」をMCI送信。  #ボリューム設定
    「play BGM repeat」をMCI送信。    #繰り返し再生

●BGM停止
  「status {BGM} volume」をMCI送信。V=それ。  #現在のボリュームを取得。
  VV=V。      #現在のボリュームを記憶
  10      #繰り返しボリュームをマイナス
    V=V-50。   #していきフェードアウト
    もし、V≦0ならば、V=0  #0以下を指定するとエラーになる為0にする
    「setaudio {BGM} volume to {V}」をMCI送信。  #ボリューム設定
    1秒待つ。
    もし、V=0ならば抜ける。
    「BGM」をMCI停止。
    V=VV。  #ボリュームを戻す(戻さないとなぜかサクラが鳴らなくなった!)
    「setaudio {BGM} volume to {V}」をMCI送信。
    「BGM」をMCI閉じる。  #必ず閉じる
#------------------------------------------------------------

 ちょっと無理やり系?

 もう少し、改造したいところです。

 最大の問題は、フェードしてる途中で強制終了したら、ボリュームが戻らないって事かなあ。

 あと、引数をつけて、何秒でフェードするかを設定できるようにしたほうがいいかも?

トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20090608

2009-06-06

BGMを鳴らすよ!

| 22:09

【でし】

 永らく、お見限りでしたね(哀)

【せんせい】

 こーみえてもワタシは忙しいんですよ~。

 植物の世話はしないとならないし、課題は解決しないし、MCIはよくわかんないし・・・

 それにほら、なんと言ってもは、遊園地の猟奇殺人のナゾを解くという重要な任務が(笑)

【でし】

 結局、ゲーム三昧だったわけですね(嘆息)

【せんせい】

 まあ、っちもまだ解決はしていないわけですが、それはさておき・・・

 前までで、一通りの画面表示が出来上がりました。

 画像に加えて、もう一つ忘れてならない要素が音楽です。

【でし】

 よく言いますね~。

 以前、夜中にミュートにしてプレイして、効果音を聞かないと解けない謎に一晩ハマったんでしたよね?

【せんせい】

 しくしくしく(;_;)

 だから、そういうのも含めて、音は大事です。

 せっかくなので、DLしたきり使ってなかった「サクラ」で作ってみましょう。

【でし】

 サクラは、ドレミファで音が鳴らせるんですよね! すばらしい!

【せんせい】

 小学生の頃エレクトーンを習っていたし、CDEFでMMLも書けますけどねー。

 でも、基本アルファベットアレルギーだし、高度なことができるわけでもないから、ストトン表記のほうが楽かなー、というわけでこんなの作ってみました。

トラック1
音色(BrightPiano)音階5 音符4 テンポ180
ドレミファ ソッソッ 【2 ラファ↑ド↓ラ ソーッー】
ソファファファ ファミミミ ミレレレ ドミソー
ソファファファ ファミミミ ミレレミ ドーッー

トラック2
音色(BrightPiano)音階6 音符4 テンポ180
ドレミファ ソッソッ 【2 ラファ↑ド↓ラ ソーッー】
ソファファファ ファミミミ ミレレレ ドミソー
ソファファファ ファミミミ ミレレミ ドーッー

トラック3
音色(BrightPiano)音階5 音符2 テンポ180
【4 「ドミソ」】【2【2 「ドファラ」】「ドミソ」ッ】
【3【2「ファソシ」】【2「ドミソ」】】
【2「ファソシ」】「ドミソ」ッ

トラック4
音色(BrightPiano)音階4 音符1 テンポ180
ドドファド2ッ2ファド2ッ2
ソドソドソドソド2ッ2

【でし】

 っていうか、なにゆえ、こぎつね?!

【せんせい】

 気にしない

 単に、手元にあった昔の教本の一ページ目です(汗)

 さて、これ再生するにはどうするかというと…

【でし】

 MML演奏で、このMMLが直接なでしこで再生できるみたいです。すごいですね。

【せんせい】

 すごいんですけれど、演奏を止める命令が無いみたいなので、BGMとしては困りますですよ。次の画面に移るとき、止められないじゃないですか。

 ここはやはり、MIDIにしてから、サウンドの命令で再生したほうがいいみたいです。

【でし】

 ところで、「再生」と「MCI再生」は、何か違うんでしょうかねー。

【せんせい】

 ワタシに聞かないよーに(汗)

 たとえば、ただの「再生」のほうはWinAPI使用とかならわかるんですが、リファレンスの説明を見るかぎりでは、「内部的にはMCIを利用」と書かれていますね。

 あと、再生WAVファイルも再生できるようなのに、別に「WAV再生」命令があるのも謎ですね。BGMとしてMIDIを鳴らしつつ、WAVで効果音を鳴らす時に使うのかな?

 とりあえず、MIDIファイルを再生するだけなら

#-----BGM再生------------------------------------------------
「こぎつね.mid」を再生。
#------------------------------------------------------------

 でOKです。

 MCIのほうは、先に開く一手あります

【でし】

 ところで、一再生し終えたところで、とまりますね;

【せんせい】

 ーなんです。止められないのも困りますが、途中で止まるのも困ります。

 しかし、ループさせたり、ボリューム変更したりという命令は用意されていない様子なんですね。

 調べた限りでは、MCI送信を使って、直接MCIを制御するしかないようです。

 とゆうわけで、MCIについて学び中。課題が増える一方だ~;

 点滅カーソルのほうは、コードがスマートでないだけで、一応希望の動作はしていますから、こっちのほうが急務かなぁ。

トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20090606