■ 質問はここへ ■

前へ 次へ
No. 277 (276へのコメント)投稿者: itam HP日付: 2001/09/29 23:39:15
題名 : Re:外部コマンドについて

>マクロを使って外部プログラムに渡す、というのも試してみたのですが、
>一度「@FileClose」でファイルを閉じなければ動作しませんでした。
>これでは非常に効率が悪いのです^^;

 排他制御を「しない」もしくは「しない2」にして
みてください。

 あと外部コマンドの%pが動作しない件は、バグかも
しれないので、え〜とQX-MLなどのサポート場所で発
言するのがいいような気がします。

No. 278 (277へのコメント)投稿者: OPKP日付: 2001/09/30 10:53:23
題名 : Re^2:外部コマンドについて

> 排他制御を「しない」もしくは「しない2」にして
>みてください。
できました!(^O^)
有難うございます、助かりました。

> あと外部コマンドの%pが動作しない件は、バグかも
>しれないので、え〜とQX-MLなどのサポート場所で発
>言するのがいいような気がします。
わかりました。
大したことではないかも知れませんけど、念のため発言しておきます。

No. 279 (273へのコメント)投稿者: みちこ日付: 2001/10/01 23:33:50
題名 : Re^3: 逆順並べ替えマクロ。

こんにちわ!!
>
>ということは、チャットのログファイルを直接参照しているのではなくて
>IEでチャットの表示をしているのを、マウスで選択してコピー、
>そして、QXエディタにペースト、それから、逆順ソートという
>ことをしているんですよね。
そうです。
>たとえば、チャットが1行だとしてもブラウザの横幅の関係で、
>
>
>| 稀Jr:チャットは1行だけれどもブラウザの横幅が|
>| 狭いので2行になってしまった。        |
>
>のようになっていませんか?
なっていました。うまく行くのと、うまく行かないのがあって、何でだろうと、よくよく見るとそうなってました。
ぶんの長さを変えたらとも思いましたが、それでは、うまく行きませんでした。

>
>もしそうならば、行の先頭部分になんらかの規則があれば、自動でつなげるの
>はマクロで出来ると思いますが。
行の先頭に規則性はありませんが・・・。発言は、
--------------
みちこ:上下のような転々に挟まれていまして、その中の発言の改行マークをとれればと思うのですが・・・(時間)

--------------
なにかいい方法ありますか???正規表現とかも考えてみましたが・・・私の知ってるのでは、うまく行きませんでした・・・

よろしくお願いすます・・・m(_ _)m

No. 280 (279へのコメント)投稿者: かぶねこ HP日付: 2001/10/02 03:50:01
題名 : Re^4: 逆順並べ替え→行つなぎ。

行末規則で正規表現置換っていうのは、「タグつき正規表現」を使わないとヒッ
トした文字を残せないから、改行コードをまたいで置換ができない(改行コード
の削除ができない)んですよね。編集時に1行 4000 バイトまで、という制限も
あるので、改行を全部取ったりするとエラーになりがちですし。

結局、ファイルに書き出すマクロのほうが楽かも。逆順マクロのアレンジです。
行末であることを認識させる文字の指定は do while 1 の直後の行の "" のなか
に書きます。

proc main '行末が特定文字でなければ行つなぎ (2001/10/01)
dim n, s$
@MoveFileTop
@MoveBeginningLine
n = instr(@Pathname$, ".")
'ファイルのあるフォルダに、ファイル名に「_c」を追加してファイル作成
s$ = mid$(@Pathname$, 1, n-1) + "_c." + mid$(@Pathname$, n+1)
open s$ for output as #1
do while 1
if instr("-)", right$(@TextCr$(@Line),1)) then
print #1, @TextCr$(@Line)
else
print #1, @TextCr$(@Line);
end if
@MoveNextLineCr
if @Line = @LastLine then exit do
loop
close #1
end proc

No. 281 (280へのコメント)投稿者: CINEPHILE日付: 2001/10/02 04:36:10
題名 : Re^5: 逆順並べ替え→行つなぎ。

>行末規則で正規表現置換っていうのは、「タグつき正規表現」を使わないとヒッ
>トした文字を残せないから、改行コードをまたいで置換ができない(改行コード
>の削除ができない)んですよね。編集時に1行 4000 バイトまで、という制限も
>あるので、改行を全部取ったりするとエラーになりがちですし。

 チャットというものをよく知らないのですが、ブラウザの横幅が常に固定さ
れていて、途中で改行のはいる桁数が決まっているのであれば、折り返し桁数
かメール文書の整形桁をそれにあわせておいて、いったん @FormatDelCr でつ
なげてから逆順に並べ替えるいうわけにはいかないでしょうか。

 まったく見当違いだったらすみません。

No. 282投稿者: とっても初心者日付: 2001/10/22 11:19:09
題名 : \nが変換出来ないんですけど

元MIFESユーザーです。
QX Ver6.6とねこみみさんの複数ファイル一括文字列変換(カレントファイル)を多用しています。
それでちょっと戸惑っています。

置換える文字列がひとつだと"\n"の変換が出来るのに文字列が複数になると出来なくなってしまい、変換自体が化けてしまいます。

あと"^"と"$"はなぜ正規表現なのでしょう。
別に非難しているつもりはありませんが、他のエディタとはちょっと違うので・・・理由を教えて下さい。
おねがいします。

No. 283 (282へのコメント)投稿者: かぶねこ HP日付: 2001/10/22 15:03:13
題名 : Re:\nが変換出来ないんですけど

これは ねこみみ さんのマクロの問題なので、検索・置換文字列がマクロによっ
てどのように格納されるのか、というあたりにかかわってくるのだと思います。
このへんは ねこみみ さんのほうに質問していただけますか。

ねこみみ さんが読んでいるのが確実なのはニフティの FWINAL のエディタ会議
室だけなので、ここは直接メールで連絡していただくのがいいかと思います。

\n が入ったときに複数文字列の置換ができない、というのは、QX 自体の問題で
はありません。また、「^」と「$」については QX では「正規表現対応」をオン
にしなくても使える「特殊文字」となっていますが、「^」と「$」は sed、awk、
perl などでも使われている正規表現でもあります。「*」だけはちょっと複雑で、
正規表現がオフのときとオンのとき、それぞれ「特殊文字」と「正規表現」にな
るのですが、意味がまったく違います。

「他のエディタとちょっと違う」ということであれば、それはそちらのエディタ
のほうが標準的な特殊文字なり正規表現なりを採用していないのかと思うのです
が、複数のエディタでそうなんでしょうか。

また、これはお願いですが、ハンドル(ウェブ上の名前)は、「とっても初心者」
というようなものでなく、できればもっと「個人」として特定できるものにして
ください。

No. 284 (283へのコメント)投稿者: しげお日付: 2001/10/22 18:02:42
題名 : Re^2:\nが変換出来ないんですけど

>これは ねこみみ さんのマクロの問題なので、検索・置換文字列がマクロによっ
>てどのように格納されるのか、というあたりにかかわってくるのだと思います。
>このへんは ねこみみ さんのほうに質問していただけますか。
>\n が入ったときに複数文字列の置換ができない、というのは、QX 自体の問題で
>はありません。

->SiさんのREPMULTI.MAC(複数文字列一括置換マクロ)でも同じ結果になったので、QXの問題かなと思ったのですが・・・。

また、「^」と「$」については QX では「正規表現対応」をオン
>にしなくても使える「特殊文字」となっていますが、「^」と「$」は sed、awk、
>perl などでも使われている正規表現でもあります。「*」だけはちょっと複雑で、
>正規表現がオフのときとオンのとき、それぞれ「特殊文字」と「正規表現」にな
>るのですが、意味がまったく違います。
>
>「他のエディタとちょっと違う」ということであれば、それはそちらのエディタ
>のほうが標準的な特殊文字なり正規表現なりを採用していないのかと思うのです
>が、複数のエディタでそうなんでしょうか。
>

->「^」と「$」については MIFES・MMXでは正規表現ON時のみ対応でした。

>また、これはお願いですが、ハンドル(ウェブ上の名前)は、「とっても初心者」
>というようなものでなく、できればもっと「個人」として特定できるものにして
>ください。

->申訳ありません。ハンドルネーム変えました。

No. 285 (284へのコメント)投稿者: かぶねこ HP日付: 2001/10/22 19:53:28
題名 : Re^3:\nが変換出来ないんですけど

しげお さん、ハンドル変更ありがとうございました。

いま気がついたのですが、もしかして「\n」というのは、QXで検索・置換に使
う特殊文字の(改行の意味の)「\n」ではなくて、そのものの文字列の「\n」こ
とだったのでしょうか。だとすると、特殊文字をエスケープするために「\\n」
と表記しなければいけないのですが。

>SiさんのREPMULTI.MAC(複数文字列一括置換マクロ)でも同じ結果になったので、
>QXの問題かなと思ったのですが・・・。

Si さんのマクロも引っぱり出してきました。これはテーブルファイルを作って
おくんですね。途中に「\n」(改行)を含む文字列を複数指定しても、うちの環
境では問題ないようです。すみませんが、具体的にどのような文字列を、マクロ
実行直前に置換ダイアログの設定がどうなっているかを添えて、教えていただけ
ませんか。

また、QX で複数文字列を置換するマクロのもっとも基本的なかたちはこんな感
じです。

proc main
@@ReplaceStringMulti "文字列1", "置換文字列1"
@@ReplaceStringMulti "文字列2", "置換文字列2"
@ReplaceStringMultiExec 1
end proc

ここの文字列のところにテストする文字列を入れて実行すると、もっとも基本的
な状態でのテストができます。

>「^」と「$」については MIFES・MMXでは正規表現ON時のみ対応でした。

なるほど、そういう意味でしたか。たしかに。特殊文字であることに気がつかな
いと予想した動作をしなくて驚くことがあるかもしれません。

QX は古いバージョンでは正規表現に対応していませんでした。だんだん便利な
機能がついていくなかで、正規表現より先に「特殊文字」関係が採用されたので、
正規表現オンにしなくても使う設計になっているのだと思います。じつはわたし
が初めて QX に触れたころには、改行(\n)の置換もなかったんですが、あれよ
あれよという間にタグつき正規表現まで対応されてしまいまして。

No. 286 (285へのコメント)投稿者: しげお日付: 2001/10/22 23:06:10
題名 : Re^4:\nが変換出来ないんですけど

回答ありがとうございます。

問題無く動いているということは使い方が悪いのでしょうね。

こんなテキストを
$1001:A^1,B^2,C^3;
$1002:D^4,E^5,F^6,
G^7,H^8,I^9;
$1003:J^10,K^11,L^12,M^13,
N^14,O^15;
$1004:P^16,Q^17,R^18;

こんな形式に変換したかったのですが
$1001={A-1,B-2,C-3};
$1002={D-4,E-5,F-6,G-7,H-8,I-9};
$1003={J-10,K-11,L-12,M-13,N-14,O-15};
$1004={P-16,Q-17,R-18};

パラメータは
SearchStr01=:
ReplaceStr01=={
SearchStr02=\^
ReplaceStr02=-
SearchStr03=;
ReplaceStr03=};
SearchStr04=,\n
ReplaceStr04=,
です。

パラメータをひとつずつ単独で実行すると置換が正常に出来るのに,
4つのパラメータを一括で実行すると化けてしまいます。
どこがいけないのでしょう?
教えて下さい。

次へ
現在の既読番号は 0  既読を


メールアドレスを表示するにはURLの後ろに &m=29159987 をつけてください。
ユーザー フォーラム一覧

http://www2k.biglobe.ne.jp/~araken/
http://0ban.com/araken/