disabledraw; call insertTabBeforePage; while (##return == false){ call insertTabBeforePage; call isFileEnd; } enabledraw; endmacro; //ページ番号の前にTabを入れるサブルーチン insertTabBeforePage: call isLineEndNum; while(##return){ left; call isNum; if(##return == false){ //Page数が区切られている場合、"-"を前提とする。 if(code == 0x2D){ left; call isNum; } } } right; insert " "; down; return; //行の最後が数値化判定するサブルーチン isLineEndNum: //行の最後に移動する。 golineend; //行の最後の文字に移動する。 left; //文字が数値か判断する。 call isNum; return ##return; //カーソル位置の文字がアルファベットか判定するサブルーチン isAlphabet: if(code >= 0x41){ #r = true; }else{ #r = false; } return #r; //カーソル位置の文字が数値化判定するサブルーチン isNum: if(code >= 0x30 && code <= 0x39){ #r = true; }else{ #r = false; } return #r; //現在位置がファイルの最終行か判定するサブルーチン //行の移動はしない。 isFileEnd: #currentline = y; gofileend; #endline = y; moveto 0,#currentline; if(#currentline == #endline){ #r = true; }else{ #r = false; } return #r;