計算マクロが切り下げNo.23410
ハシビロコウ さん 07/08/22 21:22
 
長年秀丸エディターを使わせて頂いております。
現在は最新の6.14の浮動小数点バージョンを入れています。
ここで相談してよいものか分からないのですが、
計算用のマクロを実行するとエラーが出ます。

優樹瞳夢さんの計算マクロ for 秀丸 Ver.1.50 は、以前正常に
動いていたのですが、何時からか計算結果が切り捨てた状態で
出てくるようになりました。

7桁以上になると末尾を切り捨ててくるようです。例えば次の
とおりです。
1+2=3
11+2=13
101+2=103
1001+2=1003
10001+2=10003
100001+2=100003
1000001+2=1000000
10000001+2=10000000
100000001+2=100000000

一方、Iranoanさんの計算マクロ Ver.1.07 は
そもそもエラーとなって動作しません。
手持ちのPC(Windows2000 XP)が全て同様の症状です。
解決策をご教示頂ければ、ありがたいです。
宜しくお願い致します。

[ ]
RE:23410 計算マクロが切り下げNo.23411
Iranoan さん 07/08/22 23:27
 
 ハシビロコウさん今日は、Iranoan です。
> 一方、Iranoanさんの計算マクロ Ver.1.07 は
> そもそもエラーとなって動作しません。
 どんなエラーになるでしょう。
 手元で使っているのが Ver.7.00βなので、何かまずいことをしているかも
しれません。.... そういえば、Ver.6.xx では秀丸メール同様 Ver.1.024
file:///D:/_Hiro/public_html/iranoan/hidemaru/macro/calculate1023.lzh
を使って頂く必要がある気がしてきましたm(__)m。

> 1000001+2=1000000
> 10000001+2=10000000
> 100000001+2=100000000
 取り敢えず、手元では問題なく動作しました。

[ ]
RE:23411 計算マクロが切り下げNo.23413
ハシビロコウ さん 07/08/23 11:10
 
今日はIranoan さん。
早速のコメントありがとうございます。

エラーの内容は、
「文法エラーです。」
と表示されるというものです。
範囲選択して実行と範囲選択なしで実行
末尾に=を付ける付けないの
いずれも同じ結果です。

なお恐縮ですが、
>file:///D:/_Hiro/public_html/iranoan/hidemaru/macro/calculate1023.lzh
は、どうもリンク切れになっているようです。

またv5.18の浮動小数点バージョンのファイルのみ上書きして実行しま
したが、やはり「文法エラーです。」と表示されるので、私の環境に
原因があるのかもしれません。

何か確認する方法がありましたらコメントして頂ければ、有り難いです。

[ ]
RE:23413 計算マクロが切り下げNo.23415
秀丸担当 さん 07/08/23 12:41
 

>優樹瞳夢さんの計算マクロ for 秀丸 Ver.1.50 は、以前正常に
>動いていたのですが、何時からか計算結果が切り捨てた状態で
>出てくるようになりました。

確認してみたところ、確かにその通りの動きになっていました。
通常版では大丈夫ですが、浮動小数点数版では以前からこうなってしまっていた
ようです。
V7.00βの浮動小数点数版(統合版)でsetfloatmode 1;をマクロに書き加えた状態
でも同じでした。
str()関数の精度が問題だったようです。とりえあずV7.00のほうで精度を上げる
ように修正してみようとおもいます。
もしV6.15を出す機会があれば、そちらでも修正してみようと思います。

Iranoanさんのマクロがエラーとなるのは、新しい文を使っていて、古いバージ
ョンでは認識できていないためではないかと思います。


ちなみにV7.00では、浮動小数点数版は統合版となり、通常版のマクロの互換性
が確保されるようになりました。
そのため、今までの浮動小数点数版用のマクロは、マクロ先頭にsetfloatmode
1;を書き加えていただく必要があります。
参照:
http://hide.maruo.co.jp/software/hidemaru7/new7.html


余談となりますが、計算マクロのように通常版と浮動小数点数版と両方で動くこ
とが想定されたマクロでは、V7.00のsetfloatmode 1;を書き加えるだけでは通常
版でエラーとなってしまいます。
そのため、今後両方で動くことを想定したマクロのためにも、何かキーワードを
追加することを検討したほうがよかったかもしれないです。
floatmodeflagsのようなキーワードで、setfloatmodeを使用可能かどうかなどを
取得できたほうがいいと思うので、V7.00正式間近ではありますが、検討したい
と思います。

[ ]
RE:23413 計算マクロが切り下げNo.23416
Iranoan さん 07/08/23 13:09
 
 ハシビロコウさん今日は、Iranoan です。
> は、どうもリンク切れになっているようです。
重ね重ねすいません。
http://homepage3.nifty.com/iranoan/hidemaru/macro/calculate1024.lzh
でした。

[ ]
RE:23415 計算マクロが切り下げNo.23418
ハシビロコウ さん 07/08/23 14:34
 
秀丸担当さん。
早々にご確認頂き、ありがとうございました。
それでは修正をお待ちすることに致します。
計算マクロを使う機会が多く、異常な結果に悩んでいたのですが、
早くこちらの会議室に相談すればよかったと、思っております。
これからも宜しくお願い致します。

[ ]
RE:23416 計算マクロが切り下げNo.23419
ハシビロコウ さん 07/08/23 14:41
 
Iranoan さん。
>http://homepage3.nifty.com/iranoan/hidemaru/macro/calculate1024.lzh
ダウンロードできました。
ありがとうございました。
確かにこちらでは動作しますね。
当面こちらを使わせて頂きます。

早速で恐縮ですが、桁数が多いときのE 表示を実数表示にできるオプション
を考えて頂ければ、私としては助かります。
今後とも宜しくお願い致します。

[ ]
RE:23419 計算マクロが切り下げNo.23422
Iranoan さん 07/08/23 15:07
 
 ハシビロコウさん今日は、Iranoan です。
> 桁数が多いときのE 表示を実数表示にできるオプション
> を考えて頂けれ
 申し訳有りませんが、その様なオプションは有りません。
 ただマクロ中に
> insert dllfuncstr( "Format", "%.17g", ##return )
という記述が 2 箇所有りますので、HideMath.dll を導入後、付属の
HideMath.txt を参考に書式を指定して頂ければ、好みの形式に出来ると思い
ます。

[ ]
RE:23422 計算マクロが切り下げNo.23423
ハシビロコウ さん 07/08/23 15:56
 
Iranoan さん。ハシビロコウです。
お世話になります。

おお、マクロを修正すればよいのですね。
マクロの作成・修正はやったことがないのですが、
挑戦してみたいと思います。
ありがとうございました。

[ ]
RE:23418 計算マクロが切り下げNo.23425
秀丸担当 さん 07/08/24 10:41
 

>余談となりますが、計算マクロのように通常版と浮動小数点数版と両方で動くこ
>とが想定されたマクロでは、V7.00のsetfloatmode 1;を書き加えるだけでは通常
>版でエラーとなってしまいます。
>そのため、今後両方で動くことを想定したマクロのためにも、何かキーワードを
>追加することを検討したほうがよかったかもしれないです。

余談で自己レスですが、この件はキーワード追加ではなく、通常版で
setfloatmode 1;したときもエラーメッセージを出さないように修正しようと思
います。
そうすれば従来通り、

if( 1/2 == 0 ) {
    message "整数バージョンです";
} else {
    message "浮動小数点数バージョンです";
}

という感じにしていたマクロも先頭にsetfloatmode 1;を追加するだけで使える
ことになるので。

[ ]
RE:23425 setfloatmode 文の結果コードNo.23426
Iranoan さん 07/08/24 13:23
 
 秀丸担当さん今日は、Iranoan です。
> setfloatmode 1;したときもエラーメッセージを出さないように修正しようと思
> います。
 result=0 になる点は、β21 と同じなのでしょうか?

[ ]
RE:23426 setfloatmode 文の結果コードNo.23427
秀丸担当 さん 07/08/24 14:07
 

> result=0 になる点は、β21 と同じなのでしょうか?

はい。それは同じです。

[ ]
RE:23426 setfloatmode 文の結果コードNo.23428
Iranoan さん 07/08/24 15:28
 
 秀丸担当さん今日は、Iranoan です。
>  result=0 になる点は、β21 と同じなのでしょうか?
 回答有り難うございました。

[ ]
RE:23423 計算マクロが切り下げNo.23462
ハシビロコウ さん 07/08/29 19:08
 
ハシビロコウです。
今回のベータ版に早速修正を盛り込んで頂いたのですね。
ありがとうございました。
とても助かります。
今後とも宜しくお願い致します。

[ ]