hidemarudirは小文字?No.04560
EXZS さん 99/11/30 23:58
 

 EXZSです。

 この質問、マクロかな?と思いましたが、不具合なのか
 仕様で単なるマクロヘルプの誤記なのか判断がつかなか
 ったのでこちらに質問します。

 秀丸.exe の存在するフォルダの文字列を返すhidemarudir
 命令なのですが、マクロヘルプを読むと
 「hidemaru.exeのフォルダを表します。すべて小文字です。」
 とあるのですが、実際文字列を表示させてみると全て大文字
 になっています。

 出来れば全て小文字になって欲しいです。

 というのも、マクロフォルダのパスを特定したかったので
 (この設定を呼び出す命令があっても良いと思うのですが)
 マクロフォルダにあるマクロファイルから自身のマクロを
 呼び出した場合にのみ有効になるマクロを作ろうと
 思って 

  #max = strlen(hidemarudir);
  if(leftstr(directory,#max) == hidemarudir){

  としようとしたのですが、うまくいかずhidemarudir
 を表示させてみたら大文字だった……という訳です。

 これって一応不具合……ですよね?

[ ]
RE:04560 hidemarudirは小文字?No.04565
ひろ さん 99/12/01 14:02
 
 EXZS さん今日は、ひろです。
>  「hidemaru.exeのフォルダを表します。すべて小文字です。」
>  とあるのですが、実際文字列を表示させてみると全て大文字
>  になっています。
 確かに大文字ですね。おそらく help の記載ミスでしょう。

>  というのも、マクロフォルダのパスを特定したかったので
 そこでこの macro folder の特定ですが、次のような macro で出来ます。
subroutine にしてありますので適当に使ってください。なお最後に「\」を
つける仕様になっています。
main:
  call get_macro_path;
  message $$return;
  endmacro;

get_macro_path://秀丸のマクロ path を取得
  $$macro_path=getinistr("hidemaru.ini","Env","MacroPath");
  if($$macro_path=="")$$macro_path=hidemarudir;
  return $$macro_path+"\\";

[ ]
RE:04565 hidemarudirは小文字?No.04566
EXZS さん 99/12/01 23:16
 
 ひろさん、レスありがとうございます。

>subroutine にしてありますので適当に使ってください。なお最後に「\」を
>つける仕様になっています。
>main:
>  call get_macro_path;
>  message $$return;
>  endmacro;
>
>get_macro_path://秀丸のマクロ path を取得
>  $$macro_path=getinistr("hidemaru.ini","Env","MacroPath");
>  if($$macro_path=="")$$macro_path=hidemarudir;
>  return $$macro_path+"\\";

 なるほど、レジストリから直接拾ってくるという方法が
 あったのですね(キー名が変わった時が恐いですが(^^;))

 マクロパスに関してはこちらを使用させていただきます。

 ただ、本当はマクロを実行したファイルが秀丸のフォルダ
 にあればメンテナンス用のマクロが実行される……という
 ひねくれたマクロを書こうかと考えたもので(笑)
 そうすると、hidemarudirが大文字だとコンペアするのが
 大変だったのであのような質問になりました。

 

[ ]
RE:04560 hidemarudirは小文字?No.04575
秀丸担当 さん 99/12/03 16:55
 
> 秀丸.exe の存在するフォルダの文字列を返すhidemarudir
> 命令なのですが、マクロヘルプを読むと
> 「hidemaru.exeのフォルダを表します。すべて小文字です。」
> とあるのですが、実際文字列を表示させてみると全て大文字
> になっています。

これは、バグでした。
小文字にするようにします。
動作環境→ユーザーインターフェース→表示の「ファイル名を小文
字で表示」がonになっていると小文字になるのですが、それは仕様
と違うのでなおします。

[ ]
RE:04575 hidemarudirは小文字?No.04581
EXZS さん 99/12/03 23:48
 
>> 秀丸.exe の存在するフォルダの文字列を返すhidemarudir
>> 命令なのですが、マクロヘルプを読むと
>> 「hidemaru.exeのフォルダを表します。すべて小文字です。」
>> とあるのですが、実際文字列を表示させてみると全て大文字
>> になっています。
>
>これは、バグでした。
>小文字にするようにします。
>動作環境→ユーザーインターフェース→表示の「ファイル名を小文
>字で表示」がonになっていると小文字になるのですが、それは仕様
>と違うのでなおします。

ちなみに、マクロフォルダーのパスを調べるのに
直接レジストリの値を取得するのって
オフィシャル的には推奨されているのでしょうか?

なにぶん、設定値関連ってver3以降になってから
大幅に追加されているにもかかわらず、マクロ命令
としてはわずかしか追加されていないので……
(特にカラー設定関連は如何ともしがたいです)


[ ]
RE:04581 hidemarudirは小文字?No.04590
秀丸担当 さん 99/12/06 18:54
 
>ちなみに、マクロフォルダーのパスを調べるのに
>直接レジストリの値を取得するのって
>オフィシャル的には推奨されているのでしょうか?

推奨というほどではありませんが、レジストリの値を書き換えて
envchangedを呼ぶことを認めているので、値を取得するのも
かまいません。
動作環境の内容が将来変わったときに、レジストリ内容も変わる
ことがあるので、なるべくキーワードなどを使ったほうがいいで
す。


[ ]
RE:04590 hidemarudirは小文字?No.04591
EXZS さん 99/12/06 23:26
 

>推奨というほどではありませんが、レジストリの値を書き換えて
>envchangedを呼ぶことを認めているので、値を取得するのも
>かまいません。
>動作環境の内容が将来変わったときに、レジストリ内容も変わる
>ことがあるので、なるべくキーワードなどを使ったほうがいいで
>す。
>

 はい、なるべくキーワードを使用したいので
 ……追加してください、キーワード(^^;)

 取り敢えずマクロフォルダのパス取得
 結構、需要はあると思うのですが……


[ ]