俺FAQ

これは一体・・・?

俺FAQは、「上様」という人間がよく尋ねる質問について「上様」という人間が調べ、その結果をまとめたページです。

記載されている情報は、「上様」が「つまり、こういうのなのでは!」と思っているだけであり、信頼性についてははなはだ疑問です。鵜呑みにしないようにしてください。

新しいやつ

目次

Windows

Explorerの起動オプション

explorer.exeの起動状態はコマンドラインオプションで制御することが可能です。

例: e:\work をデフォルトにして起動させるには

EXPLORER.EXE /e,/root,e:\work
とすればよいです。

この項はhttp://www.nifty.ne.jp/forum/fgateway/gwfaq2/soft/w95/s130908.htmlを参照したというか、ほとんどコピペしました。

OS起動時にIPアドレス 239.255.255.250 に情報が送信される

OS起動時に、勝手にIPアドレス 239.255.255.250 に情報が送信されることがあります。はじめて気づいたときは「をを!俺、変なもん拾ってインストールしちゃったか?」とか思いましたが、ぜんぜんそんなんじゃありませんでした。

詳しくはwinFAQの「Windows Me/XP 起動時に 239.255.255.250 へのパケットが送信されます」を参照してくれればよいんですが、まあ「ユニバーサルプラグ&プレイ」機能が対応機器を探すために送信してるということのようです。

ビビらすなよ。

mpeg4-v3 を再生できない

mpeg4-v3 を Windows Media Player 8 (WMP8)で再生すると、音声だけ再生されて映像が再生されません。これはどう頑張っても無理みたいです。WMP6 で再生できるのでそっちを使いましょう。WMP6 は C:\Program Files\Windows Media Player\mplayer2.exe にあります。この際 .avi ファイルは全てこの WMP6 に関連付けしておいてもよいかと。

この項はhttp://missinglink.systems.ne.jp/018.htmlを参照しました。

DivX5をインストールできない

DivX5のインストーラを用いてインストールしようとすると「Serching for Installed...」というダイアログメッセージが出た後、しばらくしてインストーラが終了してしまうことがあります。このダイアログはキャンセルして構いません。実際、キャンセルしてもインストールできます。

また、インストール先の指定などを行なった後、実際にインストール作業が開始されますが、ここでもインストーラが終了してしまうことがあります。これは旧バージョンのDivXがインストールされているためです。旧バージョンをアンインストールした後、再度DivX5をインストールしてみてください。。旧バージョンをアンインストールすることが出来ない(スタートメニューにアンインストールの項目がない、プログラムの追加と削除に項目がない等)場合は、旧バージョンをインストールし直してみるとよいでしょう。多分それで旧バージョンをアンインストールできるようになります。

音量を変えても、いつの間にか元に戻ってしまう

ボリュームコントロールで音量を変えても、いつのまにか変える前の音量にもどってしまうことがあります。これはサウンドを扱うソフトウェアが独自に音量設定を持っていることが原因かも知れません。

たとえばMP3プレイヤー「Wyvern」は独自のWAVE音量を持っており、ボリュームコントロールでWAVEの音量を変えたとしても、次の曲を再生するとWyvern独自のWAVE音量に戻ってしまいます。この場合、Wyvern側でWAVE音量を設定しておくしかないです。

特殊フォルダのターゲットを変更する

「デスクトップ」「スタートメニュー」「(右クリックメニュー)送る」などの特殊フォルダは、通常 C:\Documents and Settings\(ユーザー名) などにおかれていますが、これは変更することが出来ます。本来、レジストリをいじって設定するものですが、Microsoftにより配布されているTweakUIというソフトを用いれば、GUI上で設定することが出来ます。

特殊フォルダのターゲット変更以外にもいろいろ出来るんで、入れといて損はないでしょう。

環境変数などのシステムデータをファイルに書き出す

環境変数などの基本的なシステムデータを、コマンドプロンプト上で以下のようにすることでテキストファイルに書き出すことが出来ます。

perlスクリプトファイルに他のファイルをドラッグ&ドロップして起動する

perlにおいて、配列 @ARGV には実行時の引数が格納されており、スクリプトが処理対象とするファイルを指定するなどの使い方ができます。そこで、エクスプローラ上で処置対象ファイルをperlスクリプトファイルにドラッグ&ドロップすることで、引数指定と起動を同時に行いたくなります(perlスクリプトファイルを実行ファイルと同じように扱いたい)。

ところが、perlスクリプトファイルに他のファイルをドラッグ&ドロップすることはできません(perlスクリプトファイルの拡張子とperlコンパイラが関連付けされていても同様です)。だからといって、いちいち、実行時引数をキーボードから入力するのはめんどくさい! ドラッグ&ドロップで何とかしたい! 

Drop on Scriptというソフトを使えばできるようになりそうです。けど、「共用パソコンなのでシステム周りいじりたくないなぁ」というような場合は、妥協案として、バッチファイルを作ってそれにドロップするという方法があります。

バッチファイル内では、バッチファイルを起動したときの引数を変数「%1,%2...%9」に格納しています。そしてバッチファイルに対してはドラッグ&ドロップによる引数指定と起動が可能です。なので、

などと書いたバッチファイルを用意しておき、このバッチファイルに対してドラッグ&ドロップすることで、perlスクリプトを起動させることができます。

ローマ字入力とかな入力を切り替える

ALT+「カタカナ・ひらがな・ローマ字」を押すたびに切り替えることができます。

[XP]chkdscのログのありか

[コントロールパネル] > [管理ツール] > [コンピュータの管理]を起動して、ツリー内の[システムツール] > [イベントビューア] > [アプリケーション]を展開。右のリスト内のソースがwinlogonとなっている項目がログです。chkdscを実行した時間で分かれていますので、見たい項目をダブルクリックで開いて下さい。

ちなみにwinXPにスキャンディスクはなく、同等の機能を持つものがchkdscです。

[XP]圧縮フォルダを無効にする

windowsXPでは標準でzip形式アーカイブを扱えるようになってますが、はっきりいってzip形式だけ扱えたところで邪魔なだけです。無効化してしまいましょう。方法は、スタートメニューの「ファイル名を指定して実行」に「regsvr32 /u %windir%\system32\zipfldr.dll」と入力して実行すればよいです。逆に再度利用する場合は「regsvr32 %windir%\system32\zipfldr.dll」とすればよいです。

この項はhttp://www.zdnet.co.jp/help/tips/windows/w0439.htmlを参考にしました。

[XP]メモ帳トラッパーを用いてもIEでソースを開くとメモ帳が起動する

メモ帳に関連付けられたファイルを任意のテキストエディタで開くのに便利な「メモ帳トラッパー」(IE6使用の場合は「メモ帳トラッパー」をIE6対応に」を追加)ですが、普通にインストールしてテキストエディタを設定しても、IEの「ソースの表示」ではメモ帳が起動してしまうことがあります。

原因はよくわかりませんが、メモ帳トラッパーをセーフモードでインストールするとうまくいくようです。

[XP]WIAサービスを停止してExplorerを高速化する

デジタルカメラやスキャナといったイメージングデバイスから画像を簡単に取り込むための機能である「Windows Image Acquisition(WIA)」を停止することで、Explorerを高速化することができます。

  1. スタートメニュー > ファイル名を指定して実行 をクリック。
  2. 「msconfig」と入力し、「システム構成ユーティリティ」を起動。
  3. 「サービス」タブ内のリストから「Windows Image Acquisition(WIA)」を探し、チェックをはずす。
  4. 「OK」ボタンをクリック。再起動が促されるので再起動する。

[XP]OS起動後、よくわからないハードディスクアクセスがしばらく続く

OSが起動してデスクトップが表示された後、ハードディスクへのアクセスがしばらく続くことがあります。というか、毎回そーなんですけど。原因は不明なんですか、スタートアップ時に「Workstationサービス」が起動されるのを無効にしてやるとマシになりました。

  1. スタートメニュー > ファイル名を指定して実行 をクリック。
  2. 「msconfig」と入力し、「システム構成ユーティリティ」を起動。
  3. 「サービス」タブ内のリストから「Workstation」を探し、チェックをはずす。
  4. 「OK」ボタンをクリック。再起動が促されるので再起動する。

ただし、ネットワーク関連のサービスなので、無効にすることで他に出来なくなることがあるかもしれません。「Workstationサービス」の依存関係なんかを気にしてみてください。

  1. コントロールパネル > 管理ツール > サービス を開く。
  2. 表示される項目から「Workstation」を探し、ダブルクリック。
  3. 表示されるプロパティーダイアログ上で「依存関係」タブの内容を確認。

各サービスの内容は、各項目のプロパティーダイアログ上の「全般」タブ > 説明 欄に記載されています。

STARTコマンドでスペースを含むファイルを実行できない

DOSの START コマンドはファイルの関連付け起動や、プロセスの優先度指定、起動時のウインドウサイズ指定などができる、便利なコマンドです。

windows上では、起動するプログラムのパスにスペースを含む場合、通常はパス全体を2重引用符で囲みますが、START コマンドでそれをやると、もう一枚DOS窓が開くだけで、何も起こりません。なんだこりゃ。

回避するには、パスの「スペースを含むディレクトリ名・ファイル名だけ」を2重引用符で囲めばよいです。例えば以下のような感じです。

何なんだ、この仕様は。

プログラミング

[Delphi6]起動時にメインフォームを表示しないようにする

起動時にメインフォームを表示しないようにするには、メインフォームの visible プロパティの値を false にするだけではダメです。プロジェクトファイル(.dpr)中で、Application.Run よりも前に Application の ShowMainForm プロパティーの値を false にしておく必要があります。

Delphi6 ヘルプ「TApplication.ShowMainForm」の項を参照してください

[Delphi6]列挙型と文字列型の相互変換

列挙型で宣言された変数に、直接文字列を代入することはできません。たとえば次のような列挙型

で定義される変数「AppleColor」に値を代入しようとして としても、コンパイルできません。列挙型と文字列型で互換性がないためです。

これを解決するためには

のようにして、文字列型を列挙型に変換します。逆に列挙型を文字列に変換するには のようにします。なお、GetEnumValue、GetEnumNameを使うのにuses節にユニット typinfo を追加する必要があります。

[Delphi6]配列を返す関数

配列を返す関数を宣言しようとして

とすると、コンパイル出来ません。次のようにすればよいです。

[Perl]ハッシュ変数(連想配列)にキーと値を追加する

例えば

%fruitcolor("apple","red","banana","yellow");
の後で、%fruitcolorにキー&値を追加しようとして
%fruitcolor("grape","purple");
とすると、追加ではなく上書きされてしまい、%fruitcolor("apple","red","banana","yellow")が破棄されてしまいます。追加する場合は
$fruitcolor{"grape"}="purple";
とすればよいです。

[Perl]require文で他のファイルを読み込もうとしたがエラーがでる

よく使うサブルーチンなどを一つのファイルにまとめ、これを他のスクリプトから呼び出す際に require 文を使います。この際、コードにバグがないにもかかわらず、実行するとエラーとなることがあります。これは呼び出される側のファイルの末尾に「1;」の記述がないことが原因の一つと考えられます。呼び出される側のファイルの末尾に「1;」を書き足して再実行してみてください。

「1;」の意味ですが、require 文はそれがうまく実行されたかどうかを真偽値で返すらしいです。なので「1;」の記述により「真」を返す必要があるらしいです。あんましよくわかりません。まあ、おまじないみたいなもんということで。

[Ruby]破壊的メソッドを定義する

たとえば次のようなメソッドを定義します。

これはStringクラスにおいて、レシーバの値を'test'に変える破壊的メソッドです。これを実行すると以下のようなエラーが発生します

解決するには、replaceメソッドを用いて次のようにすればいいです。

なぁんてことは Rubyリファレンスマニュアルに書いてあるんだよね…

[Ruby]エラー can't modify frozen string (TypeError) が発生する

このエラーの意味するところは「オブジェクトの内容の変更が禁止されている(フリーズしている)ので、変更できません。」です。

いや、俺、変更しようなんてしてねぇよ!と思うかもしれませんが、ちゃんとコードを眺めてみましょう。たとえば以下のコードは一見よさげですが・・・

スクリプトに引数が与えられた場合、2行目で上記エラーが発生します。ARGV[0]が定数(フリーズしている)からです。2行目で ARGV[0] を直接変更しようとはしていないように見えますが、そうではありません。変数 i はARGV[0]のコピーではなく、ARGV[0]そのものだからです。

まだこの例では簡単ですが、別の変数に変数 i が代入されて、さらに別の変数にそれが代入されて・・・となっていると、分かりづらいものです。

エラーが出ないようにするには次のようにすればよいです。

[Ruby]特異メソッドって?

Rubyリファレンスによれば

特異メソッドとはクラスではなくある特定のオブジェクトに固有のメソッドです。
だそうです。

なので次のコードはエラーが出ます。

barというメソッドは、変数fooに対して定義されたのでなく、変数fooの示す文字列'a'に対して定義されたものであるためです。このため変数fooの示す文字列が'b'に変更された後では foo.bar がエラーとなります

また次のコードは、エラーは出ませんが、意図したようにはなりません。

二つある barというメソッド定義は、どちらも未定義のグローバル変数の初期値であるnilに対して行われていることになります。よって後から上書きした側の定義が有効となります。 次の二つのメソッド実行部分はどちらも実態は nil.bar であるため、同じ結果となっています。

んー、特異メソッド定義って、実際はクラスメソッド定義にしか使わないのだろうか? 

[Ruby]Temporary Internet Filesフォルダのパスを取得する

Win32 Utilsのwin32-dirを使えば、Dir::INTERNET_CACHE で取得できると思ったんですが、駄目でした。

違うんだ。「C:\Documents and Settings\???\Local Settings\Temporary Internet Files」じゃなくて、俺は「Z:\Temporary Internet Files」に設定しているんだ。想定外だということなのか。

代わりに、以下のようにして取得できました。

Microsoft TechNetのHey, Scripting Guy!内の記事「Temporary Internet Files フォルダ内のファイルを削除することはできますか」を参考にしました。

[Ruby]ハッシュで済ませるか、クラスを作るか

たとえば、会社の社員情報を扱うスクリプトを書こうとしたとき、社員情報をハッシュとして持たせるか、社員情報クラスを作るか、というところで悩んだりします。コードで書くと以下のような感じ。

さて、どっちで扱うのが良いだろうか。

ハッシュの利点
クラスの利点

・・・たいしたこと書けませんが。値の参照ぐらいにしか使わないならハッシュ、値を使って複雑な処理を繰り返し行うならクラス、って使い分けでいいんじゃないかな、俺。

[Ruby]可変個数の引数を渡してメソッドを呼び出す

参考:Rubyリファレンスマニュアル - メソッド呼び出し

[Ruby/PureImage]扱える画像形式

Ruby/PureImage 0.1.0 で扱える画像には以下の制限がありそうな感じです。

[Ruby/PureImage]出力される画像の色がおかしい

既に存在する画像を読み込ませて、それを出力すると、変な色の画像になることがあります。原因は良く分かりませんが、Windows上なら一旦標準付属の「ペイント」に読み込ませてから、そのままPNG形式でセーブしたものを読み込ませるようにすればいいようです。

・・・とおもったけど、画像の最上段が相変わらず変です。むー

[Ruby/Win32OLE,Win32API]エラー 指定されたプロシージャが見つかりません。

require 文の大文字、小文字をチェックしてみましょう。正しくは以下の通りです。

[Ruby/Win32OLE]PowerPointファイル内に含まれる各テーブルの各セルについて繰り返し処理する

例えば、全セルのテキストを「WRYYYYYYY」に変えるには、以下のようにします。

[Ruby/Win32OLE]RD形式のファイルをダブルクリックで直接IEに送る

RDフォーマットってのは、気軽に構造化文章が書けるし、rdtoolを使えばHTMLに変換してくれて、見栄えもいい。ということで、最近ちょっとしたメモを書いておくのに使い始めました。

でも、いちいちHTMLファイル作るのって面倒だし、ファイルの数が増えちゃって困る。できれば、.rdファイルをダブルクリックすると、直接IEにHTML変換結果を表示するようにしたいなー、と思いました。以下のようにすればできます。

まず[Ruby]ActiveScriptRuby環境でRDtoolをインストールするを参照して、RDtoolをインストールします。(rd2.batは作らなくていいです)

次に、以下のようなRubyスクリプトを適当な場所に保存します。(rd2_path の値はインストール場所に応じて変更する)

次に、以下のようなバッチファイルを適当な場所に保存します。

最後に、エクスプローラのフォルダオプションで、.rdファイルを上記バッチファイルと関連付けておきます。これで、.rdをダブルクリックで、htmlファイルを作ることなくhtmlに変換してIEで表示できるようになります。

なお上記Rubyスクリプトは、スペースを含むファイルパスとか、文字コードとかはぜんぜん考慮していません。また、使いやすいように修正して使ってください。

あとこの方法、CSSファイルを適用させることができないっぽい。rd2呼び出すときのオプションでCSS指定すると、確かにCSS指定の含まれるHTMLソースがIEに送られるのだけれど。んー。

と、と思ってたら、Documennt に CreateStyleSheet というメソッドがありました。

[Ruby/Win32OLE]Excelが終了しない

Win32OLEを用いてExcelにアクセスした後、ExcelアプリケーションオブジェクトをQuitしても、該当Excelアプリケーションが終了しないことがあるそうです。詳しくは[ruby-list:35403] win32ole でexcel が終了しない[ruby-list:39372] Re: win32ole でexcel が終了しないのスレッドを参照。

なんかよくわからないけど、ガーベッジコレクションがうまく機能していないからだとかで、とりあえず自分の科学力ではどうしようもなさそう。

[Ruby/Win32API]Windowsのスピーカー音量を変える

WAVE音量を変えるには以下のようにします。(参考:windows-prMSDNライブラリ

ただ、俺が変えたいの、「ボリュームコントロール」なんだよなぁ。これはデバイスに依存していて、変えるの大変らしい。他言語で書かれたサンプル見てもよく分からん。

[Ruby/Win32API]ファイルをごみ箱に捨てる

いまのところ、「上様」はできません。

関連する話題として、「ファイルを印刷する」ついて[ruby-list:40890]から始まるスレッドで言及されており、「できない」ということになっています。[ruby-list:40924]の方法も試しましたが、駄目でした。

ん、Win32APIでSHFileOperationとか使えばできそう。だがWin32APIの使いかたがわからねぇ。

誰か教えてくれないかなー

(2006-04-19) 2chの人に聞いてみたところ、[ruby-talk:99540]を紹介いただきました。 ちゃんと動く!

ただし、カレントディレクトリと「filename」の指定の仕方によっては、「ごみ箱に捨てる」ではなく、「削除」になってしまうようです。例えば、下記のように強調部分を追加して実行すると、「削除」になってしまいます。

回避するには、メソッド recycle 内部でファイル名を絶対パスに変換すればよいようです(引数に絶対パスを与えてもいいけど)。その際、パスの区切りが「スラッシュ」であると、ごみ箱に、名前のないファイルとして捨てられてしまいます。「円記号」に変えておけば大丈夫っぽいです。

アプリケーション

[EdMax]環境を引き継ぐ

OSを再インストールするとか、メインパソコンを乗り換えるといった場合に、以前のEdMaxの状態(メールやアドレス、アカウント、マクロなどすべて)を新たな環境で再構築するための方法です。

  1. 旧環境でEdMaxをインストールしたフォルダを、フォルダごとコピーしておく。
  2. 新環境でEdMaxをインストールする予定の場所に上記フォルダをペーストする。
  3. 新環境にEdMaxをインストールする。

2.と3.の手順を逆にするといろいろトラブルらしいです。

[TeX]pLaTeXを用いて.tex→.div変換ができない

pLaTeXを用いて.tex→.div変換するために、DOSプロンプト上で

などとしても、変換できません。

これはディレクトリの区切り子を「\(円マーク))」にしているためです。以下のようにして解決できます。

[GSview]PS to EPSで正しくBoundingBoxが設定されない

一般的な画像ファイル(というか、印刷できるあらゆるファイル)を、TeXに貼り付けるためのEPSファイル変換する方法として

  1. PostScropt Printerを用いてPSファイルに変換する。(ファイルに出力)
  2. 余分な余白を取り除くために、GSviewのPStoEPSを用いてEPSファイルに変換する
なんてのがあります。

この方法をPowerPointから出力したPSファイルに適用したところ、BoundingBoxがうまく設定されず、だめだめなEPSファイルしか作成されません。何でですか。誰か教えてください。ほかのドローツールならうまくいくんだけどなあ。

ちなみに、PowerPointの代わりにOpenOffice.orgのDrawを使えば、いきなり選択範囲だけEPSに変換できて、BoundingBoxもばっちりです。

[紙2001]テキスト表示部分が上にズレる、フォントがおかしい

テキスト表示部分が上にズレてしまって一行目が読めないとか、フォントの指定が無視されるといったことが起こることがあります。

ひとつの原因として、同時にEmigrant32というソフトを使用していることがあげられます。Emigrant32を使っている場合、これを終了してからもう一度、紙2001のウインドウを表示しなおして見てください。表示が正常になれば、Emigrant32が原因です。で、対策は・・・わかりません。うーん。

[Ruby]Windows環境でRubyを使う際、あると幸せなもの集

[Ruby]ActiveScriptRuby環境でRDtoolをインストールする

これで、とりあえず使えるようになります。あと、以下のような rd2.bat を作っておけば便利。

こうしておけば「rd2 test.rb > test.html」というように使える。

[exerb]exerbで生成した実行ファイルを実行すると LoadError が発生する

RubyスクリプトからWindows上で単独実行可能な実行ファイルを生成することのできるexerbですが、レシピファイル(.exr)の作成がめんどくさいのでレシピ自動作成機能 exerb/mkexr を利用することが多いです。ところが、このレシピファイルを用いて生成した実行ファイルを実行すると

などというエラーが発生して、プログラムが強制終了されてしまうことがあります。

Rubyスクリプトとしてはちゃんと動作するのに・・・という場合、「カレントディレクトリ」を意識してみてください。Rubyスクリプトを実行するときと、レシピ自動作成するときでカレントディレクトリが違いませんか?requireされるファイルの指定を相対パスで指定する場合、カレントディレクトリが異なるなら、それに合わせて相対パスの指定も変えなければなりません。相対パスの基点は、Rubyスクリプトが置いてあるディレクトリではなく、コマンドを実行するディレクトリです。

解決法としては、「レシピ自動作成するときのカレントディレクトリを、Rubyスクリプトを実行するときと同じにする」以外に、以下の方法があります。

  1. requireされるファイルの指定方法を絶対パスで指定する。
  2. Rubyスクリプトのパスを基点にrequireされるファイルを指定したい場合は、組み込み変数 $0 を利用する。
  3. 組み込み変数 $LOAD_PATH に入っているパスにrequireされるファイルを置く。
  4. requireされるファイル群を1つのディレクトリにまとめている場合、組み込み変数 $LOAD_PATH に、そのディレクトリを追加する。実際に require するときにはファイル名だけ指定する。
  5. 自前でレシピファイルを作成する。

[RDE]日本語環境を整える

RDEをインストール後、さー使うべ、と起動したところ、メニューは英語だし、エディタに日本語入力すると化けるし、ヘルプも英語だし・・・

日本語環境を整えるには以下のようにすればいいんじゃないかな。

メニューを日本語にする

メニュー > Tool > Options... > Other2タブ 内のTranslationFileの項目に [RDEインストールフォルダ]\Translations\Japanese.xmlを設定して submit を押す。その後、RDEを再起動。

エディタのフォントに日本語フォントを設定する

メニュー > ツール > エディタ設定 > 表示タブ 内の フォント をクリック。フォントダイアログで、フォント名に日本語フォントを含むフォントを設定(たとえばMS ゴシック)。さらに文字セットを日本語に設定。特に最後の文字セット変更は忘れやすいので注意。

ヘルプファイルを日本語版と置き換える。

日本語版ヘルプファイルが [RDEインストールフォルダ]\Japanese\rde.chmに置いてあります。これを[RDEインストールフォルダ]\rde.chmと置き換えてやればよいです。

[RDE]マクロに登録したスクリプトが働かない

RDE HELPのサンプルスクリプトの項に書いてある通りスクリプトを登録したのに、スクリプトが動作しない場合があります

これはスクリプトファイルのパスに「スペース」を含んでいるにもかかわらず、スクリプトファイルのパス指定において、パスを「ダブルクォテーション」でくくっていないからです。特にRDEを「C:\Program Files」の下においている場合にありがちな罠と言えます。スクリプト設定ウインドウでスクリプトファイルを設定するために、ファイル選択ダイアログから選択した場合にも、「ダブルクォテーション」は付加されませんので、自分で「ダブルクォテーション」でくくってやりましょう。

[RDE]マクロ make_exe が機能しない

RDE 9.9.1 patch 付属の make_exe.rb は旧バージョンの exerb を対象にしています。exerb 3.2.0 では仕様が変更になっているため、そのままのスクリプトでは動作しません。make_exe.rb をエディタで開き、以下のように変更して見てください。

元コード
改変後コード

早い話が、「rbc」を全て「exr」に置換すればよいです。

[Lhaz+MDIE]Lhazの「解凍先を開く」でMDIEに開かせようとしても開くことができない

圧縮解凍ツール「Lhaz」には解凍先を開く機能、および開くのに用いるファイラを任意に指定できる機能があります。が、ファイラとしてMDIEを指定すると、うまくいきません。

これは、Lhazがファイラに渡す解凍先パスが「D:\temp\.」のように最後に「\.」が付いた形式であるためです。Windowsのエクスプローラはこれを解釈できますが、MDIEは解釈できません。(たぶん)

解決方法としては、Lhazがファイラに渡す解凍先パスを、一旦別のアプリケーションで受けて編集してから、改めてMDIEに渡すようにする方法があります。たとえばバッチファイルを使う場合、まず以下の内容のバッチファイルを用意します。

このバッチファイルの内容については、http://forum.nifty.com/fpcu/dosvcmd/batch.htmあたりを参照。 次に、Lhazの[ツール] > [オプション] > [全般] > [解凍・圧縮先の開き方] >[アプリケーション]にチェックし、さっきのバッチファイルを指定します。

(2006-09-11追記)上記コマンドだと、開く先のパスがスペースを含む場合、処理できないようです。また、MDIEが起動していない状態で上記コマンドを実行すると、MDIEを起動した後、MDIEが終了するのを待機する状態になってしまいます。これらを回避するには、以下のようなコマンドにすればよいです。

[フォルダジャンプ]プログラムが不正終了する

ファイルオープンダイアログ等が開いているときに起動することで、設定したフォルダをすばやく開くことができるフォルダジャンプですが、使ってみると不正終了してうまく機能しませんでした。(WinXPで「問題が発生したため・・・」と表示が出る)

そのときはTrans Commanderという、キーボードショートカットをカスタマイズするツールを使ってたんですが、Trans Commanderの「作業フォルダ」の項目に、フォルダジャンプを置いているフォルダを登録するとうまく動くようになりました。

まあ、相変わらずWinOfficeのダイアログには効きませんが。

[Thunderbird]メッセージフィルタ、迷惑メールフィルタのログのありか

メッセージを保存しているフォルダの filterlog.html、junklog.html がそれです。

メッセージの保存先は メニュー > ツール > アカウント設定でダイアログを開き、各アカウントの サーバ設定 > メッセージの保存先 の項目で確認できます

[Jw_cad]ホイール回転で拡大・縮小する

ホイール回転で拡大・縮小する設定は、設定ダイアログからは行うことができません。設定ファイルをテキストエディタで開いて、直接編集する必要があります。詳しくは Jw_win.exe と同じディレクトリにある Sample.jwf をテキストエディタで開いて、参照してください。「◎ズーム操作の設定」の項に記述があります。

[Jw_cad]ブロック図形とは?

いくつかの要素がひとまとめにされたものです。(PowerPoint で言うところの「グループ化」されたオブジェクトみたいなもの。)

ブロック図形のままでは、個々の要素を編集することができませんが、ブロック化を解除することで、個々の要素にばらすことができます。ブロック化解除したいブロック図形を選択状態にして(「範囲選択」)、メニュー > 編集 > ブロック解除 を選択すればOK。

[search-s for Namazu]検索結果のリンクが文字化けする

検索結果のリンク先が「file:///D|/temp/%A5%E0%A1%BC%A5%CE%A1%BC%A5%ED%A1%BC%A5%AB%A5%EB/log/log0106a.html」などのように文字化けしてしまい、正しくリンク先を開けないことがあります。これはファイルのパスにスペースや日本語が含まれていることが原因です。これを解決するには、インデックス作成の際、mknmzに-Uオプションをつければよいです。具体的には「インデックス作成」ダイアログの「その他」タブ内の「任意オプション」欄に -U と記入して、後は通常通りインデックスを作成します。

・・・状況が変わらない? その場合は先の -U オプションに加えて、「その他」タブの「既存のインデックスを削除して作り直す」にチェックを入れて再度、インデックスを作成します。

・・・まだ状況が変わらない? その場合は、インデックス作成先と検索場所が同じになってるかをチェック。上記オプションをつけて作成したインデックスを使わずに検索を行っているのではないですか? 「インデックス作成」ダイアログの「ディレクトリ」タブの「出力先を指定」欄でインデックス作成先を指定できますが、ここはダイアログを閉じるたびに空欄になりますよ。

[Word]描画オブジェクトに画像ファイルやExcelのグラフを含めることができない

複数の画像ファイルやオートシェイプなどを1つにまとめることができる描画オブジェクトですが、描画オブジェクト外のものをコピーして、描画オブジェクト内に貼り付けようとしても、外にはじき出されてしまうことがあります。

そんなときは、描画オブジェクトに入れたいものを右クリックして、図の書式設定 > レイアウトでレイアウトを「行内」以外のものにしておけば、描画オブジェクトに含めることができます。

[Word]描画オブジェクトの表示が遅い

Wordに限らずExcelなどでも発生しますが、描画オブジェクトの表示が遅いことがあります。しかも、スクロールバーでウインドウをスクロールするたびに改めて表示しようとするもんだから、何度PCを叩き割ろうかと。

ウチでは、以下の手順で「ハードウェアアクセラレータ」設定を変更することで解決しました。

  1. [画面のプロパティ] を開く。(デスクトップ右クリック、プロパティ)
  2. [設定] タブの [詳細設定] をクリック。
  3. 表示されるダイアログ上で [トラブルシューティング] タブを表示
  4. [ハードウェアアクセラレータ] スライダの値を、最大→左から3つめ に変更

ネットワーク

[メール]message-idのないメールがある

サーバ上のメールを処理するアプリケーションを作るとき、メールのmessage-idを用いたりすることがあります。が、message-idのないメールというのも存在します。たとえば smtp.mail.yahoo.co.jp は、message-id を付けずに送信されたメールに message-id を補わないまま配送するそうです。また、EdMaxというメーラーはデフォルトでは、メールにmessage-idを付与しません。なので、この組み合わせで送信されたメールにはmessage-idがありません。

ないものはないんで、どうしようもないんですけど。せめて自分から出すメールには message-idをつけるようにしましょう。ネットの向こうで困ってる人がいるかもしれません。

ちなみに、EdMaxでmessage-idを付与するには、メニュー > 設定 > アカウント設定 > 送信 > 「Message-Id」を生成して送信 にチェックします。

ゲーム

[ゼルダの伝説 時のオカリナ 裏]闇の神殿で鍵が足りない

「冥土の渡し舟、見たけりゃ こっちへおいで」としゃべりかけてくるところを、下へ落ちた先に小さい宝箱があって、その中とか。(まことの眼鏡がないと見えません)

ハードウェア

[Broad Station BBR-4MG]アドレス変換テーブルの設定が有効にならない

WAN側のプロトコル1つに対して、1つの設定しかできません。詳しくは設定ユーティリティの、アドバンスト(詳細設定) > ネットワーク設定 > アドレス変換 > アドレス変換ルールを入力 $gt; ヘルプ を参照のこと。

[ホームAVサーバ AX300]メールの送受信ができない

PC上で「AX設定」ソフトを使って、メール設定は完璧のはずなのに、どうしてもメールの送受信に失敗する・・・。AX300がルーター経由でインターネットに接続されている場合には、AX300本体のシステム設定で「ゲートウェイ」「プライマリDNSサーバ」の箇所にルーターのIPアドレスを入力するとうまくいくかもしれません。

生活

用紙のサイズ

#A列B列
0841×11891030×1456
1594×841728×1030
2420×594515×728
3297×420364×515
4210×297257×364
5148×210182×257

デジカメ画像を自分でプリント・お店でプリント、どっちが良いか?

デジカメで撮った画像を、写真として手元におきたい場合、プリンタを使って自分でプリントするか、お店でプリントしてもらうか、どっちが良いのだろうか?とりあえず、20枚を印刷するとして考えてみる。(価格は2004/05/16時点)

まず、自分でプリントする場合にかかる費用。

お店プリントの場合。

と、まあ、費用だけ考えれば自分でプリントしたほうが得。だたし、自分でプリントする場合は、時間がかかる(EPSON PM-740C 1枚あたり3分超)ので待つのが面倒、たまにしかプリンタを使わないので印字がかすれたりしてクリーニング作業とか面倒という点でがデメリット。あと、L判で印刷すると上下が切れる。画質は、んー、みわけつかない。

お店プリントが取り立てて高いわけじゃないので、任せちゃったほうが楽でいいんじゃないかと。恥ずかしい写真だけ自分でプリントと。

上様 <info@wue.sakura.ne.jp>