サクラエディタふぁんくらぶ part9

このエントリーをはてなブックマークに追加
952名無しさん@お腹いっぱい。:2008/03/04(火) 21:20:42 ID:9earyWYB0
下がるよ。
適度に入れてやると、100パーセントだったものが、数パーセント程度になる。
953名無しさん@お腹いっぱい。:2008/03/04(火) 22:08:14 ID:xWg7XgA+0
>>950
1秒以下はselectを使うらしい
954名無しさん@お腹いっぱい。:2008/03/04(火) 22:34:44 ID:9earyWYB0
>>953
「select」と言うと、Editor.SelectAll() または Editor.SelectWord() のことでしょうか?
955名無しさん@お腹いっぱい。:2008/03/04(火) 22:52:27 ID:xWg7XgA+0
あっ、ごめん。
WScript.Sleepは1ms単位だから、1秒単位のPerlScriptの話だと思ったんだけど違った?
selectはPerlScriptの関数なんだ
956名無しさん@お腹いっぱい。:2008/03/04(火) 23:11:09 ID:9earyWYB0
>>955
マクロ実行中は、まともにメッセージ処理されないからCPU負荷100%なってしまうので
スリープでメッセージ処理する暇を与えてやりたいという話なんだ。
957名無しさん@お腹いっぱい。:2008/03/05(水) 00:02:07 ID:pF0rTKnz0
メッセージ処理とは別のスレッドで実行したりできないのかね?>マクロ
ループで時間食ってる場合は1ループ毎にsleepかませれば負荷はかからなくなるだろうけど。そこってマクロ側で面倒みるとことは思えないよなあ。

全然関係ないが>>954だけ凄い丁寧な口調なのが妙に気になる。
958名無しさん@お腹いっぱい。:2008/03/05(水) 00:19:21 ID:gvAl2lFh0
あれだ。
不倫相手からの電話を取引先からの電話のように受け答えする
そんな時の文章だよ、きっと。
959名無しさん@お腹いっぱい。:2008/03/05(水) 11:24:38 ID:K5PPKkly0
あるある・・・
960名無しさん@お腹いっぱい。:2008/03/05(水) 11:41:17 ID:/SKGfcQj0
なんかサクラの文字コード自動判別って結構な頻度で外れているね。
適正な文字コードを調べでその文字コードで保存する方法って何かある?
961960:2008/03/05(水) 12:05:29 ID:/SKGfcQj0
勘違いかも。
多分前回開いた文字コードで判別せず開いているぽいだけど、
これ停止して再度文字コード判別させる方法ってありますか?
962960:2008/03/05(水) 12:12:54 ID:/SKGfcQj0
遍歴の管理からファイルの遍歴を削除したら同じファイル開いても文字コードの自動判別するように直りました。
963名無しさん@お腹いっぱい。:2008/03/06(木) 15:13:46 ID:G1beBsBL0
バグなのかもしれないので書き込み。
ファイルを開く
文字検索する
クリップボードにファイル名を入れるorフォルダ名+ファイル名を入れる
ファイルを閉じる

というマクロを連続して何度も実行していくと
稀に1つ前に開いたファイル名を現在のファイル名として
>クリップボードにファイル名を入れるorフォルダ名+ファイル名を入れる
このマクロの時にクリップボードに返してくる。
マクロは使うたびに読み直す設定にはしているが、
マクロの内容は別マクロから処理しながら書き換えているので
その書き換え途中で読みはじめたとかそんなことでこけている可能性も否定できないと思ったけど
その一部の内容は綺麗に処理されているのでサクラのクリップ系マクロがこけているのか
以前のクリップ系マクロが遅延して処理されているかのどちらかぽい。
後者はありえない機がするけど。
964名無しさん@お腹いっぱい。:2008/03/06(木) 19:40:36 ID:3YPQYJBB0
>>963
日本語でおk
965名無しさん@お腹いっぱい。:2008/03/07(金) 12:00:33 ID:qYv48lCG0
>>964
分からない点があれば質問よろ
暇なら答える
966名無しさん@お腹いっぱい。:2008/03/07(金) 16:19:42 ID:zLSrbo1h0
>>965
マクロを一_も知らず、964でも無いけれど964を読み解いてみた。

- 一文が長すぎて読みにくい
- 読点が極端に少なくて読みにくい
- 改行を読点代わりに使っているようで読みにくい
- 「以前のクリップ系マクロ」の『以前の』が何を指すか曖昧
- 『機がするけど』と書かれている為、真剣さが感じられにくい

要は、人に読んでもらおうという配慮がやや足りていない文章、と見受けられます。

という意味が
> >>963
> 日本語でおk
に含まれていると思われます。
967名無しさん@お腹いっぱい。:2008/03/07(金) 22:32:33 ID:nx8GoockO
>>966質問よろなのになぜ指摘?
968名無しさん@お腹いっぱい。:2008/03/07(金) 22:44:17 ID:fNfiQ/zf0
>>965
バグ再現の為の最小コードは無いの?
969名無しさん@お腹いっぱい。:2008/03/08(土) 01:14:26 ID:yEZm3dsq0
>>967
文章がなってないから質問どころじゃないだろ、ってことだろう。
970名無しさん@お腹いっぱい。:2008/03/08(土) 04:33:59 ID:iDqnrSYIO
なめこ汁、おかわり
971名無しさん@お腹いっぱい。:2008/03/08(土) 19:31:32 ID:ATxlx9F60
秀丸みたいな追加コピー機能が欲しい今日この頃
マクロ使えばできるのかなあ
972名無しさん@お腹いっぱい。:2008/03/09(日) 00:33:59 ID:gyBe1CXX0
>>968

ほいよ
S_FileOpen("ファイル1")
S_SearchNext('検索ワード',16); // 次を検索
S_ReDraw(0)
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyPath()
//一旦サクラマクロを書くはここまでにして別スクリプトソフトでクリップボードの内容監視
//結果によってサクラマクロの内容を書き換える
//現在のファイル保存と次のファイル開いて検索するまで後をするマクロにサクラマクロを書き換える
//これを300ファイルほどやったら不定期にこける。
973名無しさん@お腹いっぱい。:2008/03/09(日) 00:35:24 ID:gyBe1CXX0
つづき

S_FileSaveAs("ファイル1",0,0)
S_FileClose()
S_FileOpen("ファイル2")
S_SearchNext('検索ワード',16); // 次を検索
S_ReDraw(0)
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyPath()

監視している中で新しいファイルなのに前回のファイル名が吐いて
スクリプトがこけることが分かったので書いた。S_CopyFilename()を減らすとそもそもS_CopyFilename()実行してないのかファイル名が取得できないタイミングで読みに言っているのか。
クリップボードに何もよこさないことが結構ある。
974名無しさん@お腹いっぱい。:2008/03/09(日) 18:58:05 ID:c2/Wu2kn0
凄く簡単な処理を、もの凄く遠回りな方法でやっているように見えるのだが・・・
975名無しさん@お腹いっぱい。:2008/03/09(日) 21:37:54 ID:79BATgSv0
>>974
確かに963の日本語はちょっと分かりにくいが、君がその「凄く簡単な処理」を書いてあげれば解決だ。
976名無しさん@お腹いっぱい。:2008/03/10(月) 00:26:41 ID:67VvDWBd0
問題はバグがあるかないかだから、彼には引き続きこのまま頑張ってもらいたい。
というわけで「凄く簡単な処理」を書いてあげなくてもおk。
977名無しさん@お腹いっぱい。:2008/03/10(月) 01:16:09 ID:L71qKIS9O
>>976
言い訳上手いなw
978名無しさん@お腹いっぱい。:2008/03/10(月) 03:59:02 ID:u+sjV1ig0
最後にwをつけるのは大抵陰険ですげーやな奴
979名無しさん@お腹いっぱい。:2008/03/10(月) 10:00:32 ID:L71qKIS9O
>>978
いやー、それほどでもww
980彼女のカレーでお腹いっぱい。:2008/03/10(月) 11:23:14 ID:uy6/qHkx0
クリップボードて、空に出来ないんじゃ? 空気と一緒で。

A1.TXT というファイルの編集画面で、hankaku.txt というファイルをマクロを使って開くとする。
[A1.MAC]
S_FileOpen("hankaku.txt");
S_FileClose(); // 閉じて無題に
S_InsertDate();
S_CopyFilename();
結果、クリップボードにはhankaku.txt、日付は無題に挿入
意見:クリップボードには無題が入らないから、一応開いたファイルの名前か?

[A3.MAC]
//S_FileOpen("hankaku.txt"); // 開かない
S_FileClose(); // 閉じて無題に
S_InsertDate();
S_CopyFilename();
結果、クリップボードにはA1.TXT、日付は無題に挿入
意見:クリップボードには無題が入らないから、一応前回のファイル名か?
981名無しさん@お腹いっぱい。:2008/03/10(月) 13:06:46 ID:EtNsutlk0
空気と一緒ってのがよく分からん。
982名無しさん@お腹いっぱい。:2008/03/10(月) 23:42:22 ID:L71qKIS9O
>>980
サクラエディタの処理の中で、ファイル名が無ければクリップボードへコピーしないとなってるみたいなので、多分それは正常。

で、>>973の言うクリップボードに何も寄越さない時というのはよく分からん。
クリップボードの中身が空なのかな。
983名無しさん@お腹いっぱい。:2008/03/11(火) 11:06:41 ID:VLZm6B7t0
>>887
マクロをタイプ別にして欲しいと要望を出したら
猛反対された経験あり

共通設定のマクロとタイプ別設定のマクロが両方欲しいんだよなぁ
984名無しさん@お腹いっぱい。:2008/03/11(火) 13:01:40 ID:5/QzKHOg0
>>973
ほいよ
S_FileOpen("ファイル1")

S_FileOpen の直前は、無題&0バイトですか?前庭が良く分からない。
985名無しさん@お腹いっぱい。:2008/03/11(火) 15:23:48 ID:yiF2auUk0
>>982

300程度のファイルに処理するとランダムに
○ファイル名のみしかよこさない(その後に記述されているフォルダ名+ファイル名をクリップによこすマクロが無視される、あるいはコケてる)
○フォルダ名+ファイル名のマクロまで正常に実行される(最後のマクロであるフォルダ名+ファイル名はクリップに返してくる)
○ファイル名もフォルダ名+ファイル名も返さないALLコケ。

いずれの場合も同一マクロ内に書き込んだファイルのクローズや別ファイルのオープンとそれに対する検索マクロは一切こけておらず正確に実行されている。
その後のクリップボード系マクロの動作だけ曖昧にしか実行されない。
一応980の話を参考にファイルを開くマクロの後
S_ReDraw(0)
をかませて見ても駄目だった。
600回近く連続して何度もマクロファイルを読ませると不具合でも出るだろうか。
まったくコケず処理終えることもある。
今日はまったく同じファイルでコケるな。
986名無しさん@お腹いっぱい。:2008/03/11(火) 17:06:35 ID:yiF2auUk0
追記
それならファイル名でなくて
キー割り当て一覧のコピーマクロでファイル名の取得やフォルダ名+ファイル名の取得マクロの代用にできないかとやってみた。
元々ファイル名の取得はサクラマクロ側の終了サインとして入れているだけなので
結果はやはりそれもコケた。
俺みたいに
1ファイルごとに2度マクロ書き換えて即実行という処理を連続してやる場合に出る症状かもしれないけど。
987984:2008/03/11(火) 17:40:11 ID:5/QzKHOg0
>>986
無題でかつ、0バイトで貼り付けると、オープンした対象ファイルに書き込むことになるから、
マクロを実行するファイルは0バイトでは、ないのですか?
988982:2008/03/11(火) 18:26:10 ID:au7WS/4ZO
>>985
クリップボードを監視するツールは自作?
これが長時間クリップボードを開いているという事は無いかな?

サクラエディタは、OpenClipboard()できなければそのままクリップボード処理を終了するので、クリップボードが前回値のままとなる状況はあり得る。

でもオープンしたがSetClipboardData()は実行しなかったといというのは難しい気がするので、クリップボードが空になる状況が良く分からん。

クリップボードをチェックするタイミングはどうなってるの?
マクロ終了後にチェックするくらいゆっくりにできる?
989名無しさん@お腹いっぱい。:2008/03/12(水) 02:58:48 ID:WAyMCnrw0
990名無しさん@お腹いっぱい。:2008/03/12(水) 11:34:26 ID:dFLYC60+0
正規表現で \r にマッチさせたいのですが、
\r\n にもマッチしてしまって困っています。
\r だけにマッチさせる方法はないのでしょうか。
991名無しさん@お腹いっぱい。:2008/03/12(水) 12:01:08 ID:JGAEJpIZ0
置換前→(.*)\r
....CR/LF
置換後→\1
....LF
992名無しさん@お腹いっぱい。:2008/03/12(水) 12:19:44 ID:dFLYC60+0
>>991
えっとそれは一体どういう…。
\r\n に混じっている \r を探し出したいのです。
993名無しさん@お腹いっぱい。:2008/03/12(水) 13:09:47 ID:JGAEJpIZ0
ああ、それなら。
置換前→\r
....CR/LF
置換後→cr
....crLF
994名無しさん@お腹いっぱい。:2008/03/12(水) 14:19:53 ID:K3MkvFJX0
>>988

ツールはUWSCだよ。
あまり詳しいことはわからんのだけど(分かってれば別の方法でサクラ使ってる)
UWSCのSENDSTRでクリップボードを空にする
サクラマクロを走らせる
【サクラマクロの内容』
特定のファイルオープン
特定の単語を検索
ファイル名をクリップボード入れる命令数行
その最後を示すフォルダ名+ファイル名をクリップボードに入れる命令
【終わり】
クリップボードの内容をUWSCのGETSTRで監視。それによって次に実行するサクラマクロを精製してサクラマクロに書きこむ。
UWSCのSENDSTRででクリップボードを空にする
サクラマクロを走らせる
【サクラマクロの内容】
現在開いているファイルを名前を付けて保存
現在開いているファイルを閉じて無題
次の特定ファイル開く
特定の単語を検索
ファイル名をクリップボード入れる命令数行
その最後を示すフォルダ名+ファイル名をクリップボードに入れる命令
【終わり】

これをファイル分繰り返す。
995984:2008/03/12(水) 14:52:10 ID:JGAEJpIZ0
最初の >サクラマクロを走らせる 【サクラマクロの内容』 特定のファイルオープン
の時に、無題 & not0バイト だと、クリップボードに何も入らないから、
最初の S_FileOpen("ファイル1"); よりも前に、S_FileClose(); を追加して、見るとか。
996名無しさん@お腹いっぱい。:2008/03/12(水) 15:54:07 ID:tbBcYjz00
埋めの季節ですね。
997名無しさん@お腹いっぱい。:2008/03/12(水) 16:11:21 ID:dFLYC60+0
>>993
済みません、意図が伝わってないようです。

\r\n
\r\n
\r
\r\n
\r\n

という風な感じで改行が並んでいる時に、
\r の改行だけを検索で見つけたいのです。
998名無しさん@お腹いっぱい。:2008/03/12(水) 16:24:57 ID:zkIMRKXQ0
前処理。
置換前→\r\n
....CR/LF
置換後→\n
....LF
999名無しさん@お腹いっぱい。:2008/03/12(水) 16:30:03 ID:tbBcYjz00
>>997
\r(?!\n)
1000名無しさん@お腹いっぱい。:2008/03/12(水) 16:33:23 ID:zkIMRKXQ0
>>999 GJ!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。