文中の全角空白を削除したいのですがNo.06260
可愛村のたかし さん 09/11/20 23:22
 
文章の先頭に、下の文があります。

【上方落語メモ第10集】その470
箒  屋  娘

これを、[【上方落語メモ第10集】その470 箒屋娘]と整形したくて、マクロを作って
みましたが、結果は下のようになり、マクロが停止しません。

【上方落語メモ第10集】その470 箒屋  娘
========================================
gofiletop;
golineend;
insert " ";
delete;
right;
while(1){
  if(code == 0x8140){
   delete;
  else if (code >= "ぁ")
   right;
  else if (code == 0x0D)
   break;
 }
}
endmacro;

[屋]にカーソルが移動して動かなくなっているように見えます。どこに誤りがあるの
か教えてください。

(code >= "ぁ") でも (code <= "ぁ") でも結果が同じになるようです。これがよ
くわかりません。

[ ]
RE:06260 文中の全角空白を削除したいのでNo.06261
Iranoan さん 09/11/20 23:58
 
 可愛村のたかしさん今日は、Iranoan です。
>   if(code == 0x8140){
>    delete;
>   else if (code >= "ぁ")
>    right;
>   else if (code == 0x0D)
>    break;
 文字コードで比較するなら、末尾の方法にしないと駄目でしょうね。問題に
成りそうなのは、
・文字コードで比較するなら、「"」ではなく「'」で括る
・「{}」の位置がおかしい
・ハンカク空白やタブも消した放が良い?
・ファイル末尾の対処も必要でしょう
・カーソル移動は英数字でも移動する必要があるのでは?
でしょうか。
//------------------------------------------------------------
while(1){
  if( code == ' ' || code == ' ' || code == '\t' )delete;
  else if( code == 0x0D //可読性を考慮するなら、'\r' の方が良いかも
  || code == eof )break;
  else right;
}

[ ]
RE:06261 文中の全角空白を削除したいのでNo.06262
可愛村のたかし さん 09/11/21 19:13
 
 Iranoan さん、こんばんわ。深夜労働をさせたようですね。ありがとうございまし
た。問題が解決しました。

 これを参考に、以前作ったマクロの見直しを行いほぼ希望どおりの整形に近づきま
した。、

 「秀丸を百倍生かす強力マクロの使い方」を参考に考えていたのですが、「'」を
「"」だと思い込んでいました。見落としがあって、いっこうに進歩しません。

[ ]