設定によりopenfile で新規ファイルが開かNo.08869
h-tom さん 05/12/04 14:10
 

h-tom です。

動作環境が
 ファイル−排他制御−秀丸エディタで同じファイルを開く場合
 −同じファイルを2つ開くことを禁止する
に設定されていると、filetype が grep、newの場合、以下のマクロで
新規ファイルが開きません。

//サンプルマクロ
openfile "";
message "result:" + str(result);
endmacro;

grep結果で実行:result:0
新規ファイル(変更なし)で実行:result:1
となり、新規ファイルは両方とも開きません。
openfile ""; を newfile; にすると、新規ファイルは開きます。
また、openfile "/n";などオプションを指定すると、新規ファイルが開きます。

秀丸:Version 5.12β1
OS:Windows2000SP4

あと、要望など・・・。
・田楽でよく使う(と思われる)機能を取り込み。
 本体に取り込めなくても、hidemaruapi.dllに入れるって事は無理ですかね?
 標準で添付されるのでありがたいです。(TKINFO.DLLみたいな扱い。)

・他の秀丸のキーワード取得。
 アクティブな秀丸を切り換えればできますが、バタバタと切り換えることに
 なり、ちょっと目に付きます。
 秀丸オーダーを切り換えない setactivehidemaru があればと、たまに思う。

[ ]
RE:08869 設定によりopenfile で新規ファNo.08872
秀丸担当 さん 05/12/05 12:12
 

> ファイル−排他制御−秀丸エディタで同じファイルを開く場合
> −同じファイルを2つ開くことを禁止する
>に設定されていると、filetype が grep、newの場合、以下のマクロで
>新規ファイルが開きません。

確認することができました。確かに設定により動作が違うのはおかしいと思うの
で修正さえていただきます。
openfile "";として新規作成するのは想定していなかったというか、newfile;で
はダメなのでしょうか。

[ ]
RE:08869 ネタNo.08873
IKKI さん 05/12/05 21:42
 
IKKI です。こんにちは。

> あと、要望など・・・。
この部分にだけ反応しますと…

> ・田楽でよく使う(と思われる)機能を取り込み。
>  本体に取り込めなくても、hidemaruapi.dllに入れるって事は無理ですかね?
>  標準で添付されるのでありがたいです。(TKINFO.DLLみたいな扱い。)

秀丸マクロは文字列変数の処理に弱いので、これがあったら助かります。
TKInfo.dll から秀丸メール専用な関数を取り除いたものを秀丸エディタに
同梱する、って感じでいいので、ぜひ検討してください。

> ・他の秀丸のキーワード取得。
>  アクティブな秀丸を切り換えればできますが、バタバタと切り換えることに
>  なり、ちょっと目に付きます。
>  秀丸オーダーを切り換えない setactivehidemaru があればと、たまに思う。

updated[] とか、たまに欲しくなりますね。

[ ]
RE:08873 ネタNo.08875
山紫水明 さん 05/12/05 22:43
 
>TKInfo.dll から秀丸メール専用な関数を取り除いたものを秀丸エディタに
>同梱する、って感じでいいので、ぜひ検討してください。

 例えば次のようなものは秀丸エディタでも手軽に使いたいですね。現在でも使
えるのですが,少し面倒です。

CurrentDate 現在日付/時刻の取り出し
FormatDate  日付文字列の形式の変換
ShiftDate   日付の足し算/引き算
SetAutoPushTimer/SetAutoPushTimerMilli  メッセージボックスなどでの自動ボ
                    タン押し
IsHidemaruMacroExecuting,IsHidemaruMailMacroExecuting
       秀丸メールまたは秀丸エディタがマクロ実行中かどうかの問い合わせ

     では, (^^)/~
                                        山紫水明
                                        SANSHISUIMEI

[ ]
RE:08875 ネタNo.08876
Iranoan さん 05/12/05 23:37
 
 山紫水明さん今日は、Iranoan です。
> CurrentDate 現在日付/時刻の取り出し
 これに関しては、date, time 等がありますよ。

[ ]
RE:08872 設定によりopenfile で新規ファNo.08877
h-tom さん 05/12/05 23:54
 

h-tom です。

>openfile "";として新規作成するのは想定していなかったというか、newfile;で
>はダメなのでしょうか。
newfile;でも問題ないです。

ただ、マクロのヘルプに
> openfile "" とすると、newfileと同じになります。
とありますし。

ちなみに、こんな使い方してます。
//タブモードでも新規ウィンドウ(タブグループ)で、新規ファイルを開く
$opt = "";
if(tabmode) $opt = "/i";
openfile $opt;

[ ]
RE:08877 設定によりopenfile で新規ファNo.08880
秀丸担当 さん 05/12/06 10:09
 

>newfile;でも問題ないです。
>
>ただ、マクロのヘルプに
>> openfile "" とすると、newfileと同じになります。
>とありますし。

そうでした。想定していないどころか、サポートしなければならない動作でした。
申し訳ありません。
サポートできるように修正します。

[ ]
RE:08876 ネタNo.08885
秀丸担当 さん 05/12/06 12:41
 

tkinfo.dllについては、社長と相談してみたところ、標準添付は個人的には反対
とのことです。
案として、tkinfoのソースコードを公開して、それを元にdllを作ってもらうか、
単にtkinfo.dllを別の名前に変更して、マクロに添付してもらうというのではど
うでしょうか。

> ・他の秀丸のキーワード取得。

については、setactivehidemaruでアクティブが切り替わらずにマクロが動作す
るのはいろいろと不都合がありそうです。
filename[]みたいに、他のめぼしいキーワードも角括弧で参照できるようにした
ほが妥当かもしれません。

[ ]
RE:08876 ネタNo.08886
山紫水明 さん 05/12/06 21:10
 
 Iranoanさん,こんばんは。

> これに関しては、date, time 等がありますよ。

 ええ,このほかにも year,month,day などがすでにあります。
 ただ,例えば,「2005年12月6日」などを表そうとすると一定の加工が必要で
す(現在はその加工をしていますが)。
CurrentDate 関数を使えば,
$s = dllfuncstr("CurrentDate", "YYYY年M月D日");
でフォーマットが簡単にできるので便利だと思った次第です。
 もちろん TKInfo.dll を呼び出すのは可能ですが,標準であれば手軽になるか
と。
     では, (^^)/~
                                        山紫水明
                                        SANSHISUIMEI

[ ]
RE:08885 ネタNo.08887
山紫水明 さん 05/12/06 21:24
 
 秀丸担当さん,

>tkinfo.dllについては、社長と相談してみたところ、標準添付は個人的には反
>対とのことです。

 tkinfo.dll そのものではなくて,秀丸エディタでも活用できる部分を抜萃し
て頂ければと思ったのですが,いずれにしても,添付しないという方針という
ことで了解です。
                                        山紫水明
                                        SANSHISUIMEI

[ ]
RE:08886 ネタNo.08889
Iranoan さん 05/12/06 23:50
 
 山紫水明さん今日は、Iranoan です。
>  ただ,例えば,「2005年12月6日」などを表そうとすると一定の加工が必要で
> す(現在はその加工をしていますが)。
> CurrentDate 関数を使えば,
> $s = dllfuncstr("CurrentDate", "YYYY年M月D日");
 成る程、仰りたいことは解りました。ただ秀丸メールではテンプレートでも
使用するためにこの様な関数は必要でしょうが、秀丸エディタでは敢えて増や
さず Simple is best. で良いと思います。他は有っても良いと思いますが。

[ ]
RE:08885 ネタNo.08890
IKKI さん 05/12/07 00:22
 
IKKI です。

> tkinfo.dllについては、社長と相談してみたところ、標準添付は個人的には反対
> とのことです。
> 案として、tkinfoのソースコードを公開して、それを元にdllを作ってもらうか、
> 単にtkinfo.dllを別の名前に変更して、マクロに添付してもらうというのではど
> うでしょうか。

話の発端からして、この要望は標準添付されること(どの環境でも追加インストール
なしに使えること)に意義があるのだと思います。

# 秀まるおさんはサポートの手間を心配してらっしゃるのかな?

ずっと昔にも「マクロ言語の機能を増やしてほしい」みたいな話が出て、
そのときは「言語はこれ以上大きくしたくないが、ユーティリティ DLL を添付する
ならいいかもしれない」という旨のご返答があったと記憶しています。

このアイディアは良かったと思うのですが…。

[ ]
RE:08890 ネタNo.08893
秀まるお さん 05/12/07 11:34
 
># 秀まるおさんはサポートの手間を心配してらっしゃるのかな?

 まさにそういうことで今回の方針になってしまいました。作る手間よりもサ
ポートの手間の方が何倍も大変なので。

>ずっと昔にも「マクロ言語の機能を増やしてほしい」みたいな話が出て、
>そのときは「言語はこれ以上大きくしたくないが、ユーティリティ DLL を添付する
>ならいいかもしれない」という旨のご返答があったと記憶しています。

 それはそれで、そういうアイデアというか、しいて今後マクロの関数をどっと
増やすとしたら、そういうDLL的な物で拡張すべきだろなぁとは思っています。

[ ]