Jw_cad掲示板に書き込まれたコメントを外部変形ファイルにする方法
時々Jw_cad情報交換室・相談室に外部変形スクリプト(プログラムの一種でテキストで書かれている)が書き込まれる場合がある。
この方法の利点は、掲示板が過去ログとして残してくれれば長い期間で参照できること。掲載者がアップロード用のサーバーを用意しなくていいことなど。
現在でもファイルのダウンロードでよく使われる方法は、別のサーバーにアップロードしてURLを記載して「ダウンロードはこちら」…ってな具合。でもJw_cadの外部変形の一部はスクリプト形式なので掲示板に書き込むことができる。使いたい人はその書き込みをコピーしてファイルに保存すればいい。
アチキも随分お世話になっております。外部変形作者さん、ありがとう。
難点を上げるならば、そのスクリプトをファイルに保存する方法が分からない人が居ること。
更にJw_cadの掲示板では一部の文字間のスペースが全角になってしまうこと! この全角空白(スペース)を半角に変換(置換)しなければならない。どうやら全角空白はRubyなどで実行する場合に障害になるらしい。
そんなわけで、この書き込まれたスクリプトをエディターにコピーして外部変形ファイルにする方法の一例です。Jw_cadを長く使っている人には分かっていると思うので、これから始める人用かな。
Jw_cad7.11+ruby 1.8.6+Windows 8.1 Pro (64bit)にて。Rubyはインストール済みとする。
今回の例は2013/10/30(水) kojimaさんが書き込まれた「Re(3):取り消し線の作図」外部変形を使わせていただきました。
kojimaさんの説明は以下。
メモ帳(netopad.exe)を開いて以下の文をコピペする。
「編集」→「置換」をクリック→ダイアログが表示される。
「検索する文字列」に全角スペース、「置換後の文字列」に半角スペースを入力する。
「全て置換」をクリック。
「名前を付けて保存」をクリック。
適当なフォルダに適当な名前(拡張子.bat)をつけて保存する。
↓
↓以下の文をコピペ
その「以下の文」ってのは下図の着色部分。慣れない人には難しいと思うけど @rem が始まりで最後の end まで。何回かやってみて、違うスクリプトが出てきても分かるようになるしかないでしょうね。
コピペ
マウスドラッグで掲示板の上記範囲を選択し、マウス右クリックで「コピー」する。
メモ帳を起動して編集(E)→「貼り付け」
貼り付けることを「ペースト」とも言う。コピーしてペースト。略して「コピペ」 パペポではありません 😉
置換
メモ帳→編集(E)→置換(R)と進むと以下の窓が出る。
「検索する文字列(N):」の横の窓にキーボードから全角の「 」(←見えないけどカギカッコの中)を入力。
「置換後の文字列(P):」の横の窓にキーノードから半角の「 」(←見えないけどカギカッコの中)を入力
入力できたら
・次を検索(F)
・置換して次に(R)
・全て置換(A)
のどれかのボタンをクリックして、全ての全角空白を半角空白に置換する。
「全て置換」で良いと思うけど、自信のない人は「置換して次に」などでやってみて。
保存
全ての全角空白が半角空白に置換できたら名前を付けて保存。
c:Jw_cad外部変形 などに保存する。
「ドキュメント」や「Program Files (x86)」フォルダなどはトラブルの元だから避けたほうが無難…てか保存しないこと。
今回の例では
取り消し線の作図.bat
と、名前を付けた。 .bat は必ず半角にすること。
これで外部変形ファイルが出来たので、Jw_cad→外部変形→(保存した場所の)取り消し線の作図.bat を実行すれば取り消し線が作図される。
と、言った感じでメモ帳を使った例で書いてみたが、全角半角空白が分かりにくい!
そんじゃフリーソフトの「TeraPad」エディタを使ってみたら、全角半角空白を判別しやすい設定があった。おお、こりゃいい。
次のページからTeraPadを使って説明しています。
“Jw_cad掲示板に書き込まれたコメントを外部変形ファイルにする方法” に対して2件のコメントがあります。
コメントは受け付けていません。
その手があったか!!
「:」はそういう意味ではなくて、ラベルなんですよ。
「:EXE」とか「:END」というのがサンプルファイルや皆様のバッチファイルに出てきたりしますが、あれは「goto END」という呪文と対になっています。「:」の後には好きな言葉を書けます。もちろん嫌いな言葉でも構いません。
注釈行・コメント行に相当する呪文はまさに目の前にある「REM」であり、MS-DOS(やWindows)はその行を無視します。何を書いてもエラーを出しません。しかし外部変形実行時に限ってはjw_cadがその行を読みに行きますので、あんまり変なことを書くのも混乱の元。「:」を使うのもひとつの方法ですね。
ただし既に「:pause」というラベルが使われていたら別の問題が発生します…。
あー、間違って覚えてた! ご指摘ありがとうございます。
私がDOS版の外部変形BATファイルを編集し始めた時だと思うのですが、「goto文の対になっていなければ : がコメントアウトとして使える」だったか「pauseの前に : を付けて確認してみて」…みたいな書き込みを読んで : を使い始めたんだと思います。
ラベルとしても私は : を実際に使用していたので知っていたはずなんですが、外部変形BATファイルの無効文として : で使い続けていたので「コメントアウト」と混同してたんでしょうね。