MMマクロ マアニュアル
Find();
現在の検索条件により文字列の検索をします。
戻り値:検索文字列が見つかった場合は0を、
見つからなかった場合は−1を返します。
備考:検索条件のセットは SetFind();
検索文字列のセットは SetFindS(); で行います。
FindNext();
次(↓)を検索
現在の検索条件により次(↓)の文字列の検索をします。
戻り値:検索文字列が見つかった場合は0を、
見つからなかった場合は−1を返します。
備考:Find(); での検索成功後、次(↓)の検索の実行に使用します。
FindPrev();
現在の検索条件により前(↑)の文字列の検索をします。
戻り値:検索文字列が見つかった場合は0を、
見つからなかった場合は−1を返します。
備考:Find();での検索成功後、前(↑)の検索の実行に使用します。
Replace();
現在の置換条件により文字列の置換をします。
戻り値:置換した文字列の数を返します。
備考:置換条件のセットは SetRep();
置換文字列のセットは SetRepS();で行います。
Top();
テキストの先頭行へ移動します。
戻り値:この関数に戻り値はありません。
備考:
GoLine(int line);
テキストの指定行へ移動します。
パラメータ:int line =移動する行No。を指定します。
戻り値:この関数に戻り値はありません。
備考:最終行より大きい行No。を指定すると最終行へ移動します。
Bottom();
テキストの最後行へ移動します。
戻り値:この関数に戻り値はありません。
備考:
Mark();
現在のカーソル位置をマークします。
戻り値:この関数に戻り値はありません。
備考:マークしたカーソル位置へは MarkJump();で移動します。
MarkJamp();
最後にマークしたカーソル位置へ移動します。
戻り値:この関数に戻り値はありません。
備考:マークしたカーソル位置は最大5個まで保存されます。
PrevCur();
直前のカーソル位置へ移動します。
戻り値:この関数に戻り値はありません。
備考:次のコマンドを実行するときそのカーソル位置が
[直前のカーソル位置]として記憶されます。
・テキストの先頭へ
・テキストの最後へ
・直前のカーソル位置へ
・カーソル位置マーク
・テキストの指定行へ
・マーク位置へジャンプ
Parent();
対応する ()、[]、{、<> へ移動します。
戻り値:この関数に戻り値はありません。
備考:現カーソル位置が該当するかっこ上になければ何もしません。
TagJamp();
タグジャンプを実行します。
現カーソル行よりテキストの最後までタグ行として認識できる文字列を探します。
タグ書式が見つかるとそのファイルをオーブンしタグ行へ移動します。
戻り値:この関数に戻り値はありません。
備考:タグ行として認識できる書式は次の通りです。
<ヘッダー> : .\を含まない任意の文字列
<パス名> : .\を含む文字列(ファイル名)
<行番号> : 10進数
Up();
カーソルを上(↑)へ移動します。
戻り値:この関数に戻り値はありません。
備考:
Down();
カーソルを下(↓)へ移動します。
戻り値:この関数に戻り値はありません。
備考:
Left();
カーソルを左(←)へ移動します。
戻り値:この関数に戻り値はありません。
備考:
Right();
カーソルを右(→)へ移動します。
戻り値:この関数に戻り値はありません。
備考:
Backward();
カーソルを1語左へ移動します。
戻り値:この関数に戻り値はありません。
備考:
Forward();
カーソルを1語右へ移動します。
戻り値:この関数に戻り値はありません。
備考:
LDEdge();
カーソルを表示行頭へ移動します。
戻り値:この関数に戻り値はありません。
備考:
RDEdge();
カーソルを表示行末へ移動します。
戻り値:この関数に戻り値はありません。
備考:
LEdge();
カーソルを論理行頭へ移動します。
戻り値:この関数に戻り値はありません。
備考:
REdge();
カーソルを論理行末へ移動します。
戻り値:この関数に戻り値はありません。
備考:
RollUp();
1行スクロールアップします。
戻り値:この関数に戻り値はありません。
備考:
RollDown();
1行スクロールダウンします。
戻り値:この関数に戻り値はありません。
備考:
PageUp();
1行ページアップします。
戻り値:この関数に戻り値はありません。
備考:
PageDown();
1行ページダウンします。
戻り値:この関数に戻り値はありません。
備考:
TopScr();
画面の上端へ移動します。
戻り値:この関数に戻り値はありません。
備考:
BotomScr();
画面の下端へ移動します。
戻り値:この関数に戻り値はありません。
備考:
GoBlok();
選択ブロックの先頭、最後へ移動します。
戻り値:この関数に戻り値はありません。
備考:
InsMode(int mode);
挿入モードを切り替えます。
パラメータ:int mode −1=トグル、0=OFF、1=ON
戻り値:この関数に戻り値はありません。
備考:
Ret();
リターンキーを入力します。
戻り値:この関数に戻り値はありません。
備考:
Bs();
BSキーを入力します。
戻り値:この関数に戻り値はありません。
備考:
Del();
DELキーを入力します。
戻り値:この関数に戻り値はありません。
備考:
DelBWord();
現カーソル位置の1つ前の文字より語の先頭までを削除します。
戻り値:この関数に戻り値はありません。
備考:
DelWord();
現カーソル位置の文字より語の終わりまでを削除します。
戻り値:この関数に戻り値はありません。
備考:
DelLine();
現カーソル行を1行削除します。
戻り値:この関数に戻り値はありません。
備考:
DelBefor();
現カーソル位置の1つ前の文字より行頭までを削除します。
戻り値:この関数に戻り値はありません。
備考:
DelAfter();
現カーソル位置の文字より行末までを削除します。
戻り値:この関数に戻り値はありません。
備考:
InsLine();
現カーソル行へ空行を1行挿入します。
戻り値:この関数に戻り値はありません。
備考:
PopChr();
最後に削除した文字を復活します。
戻り値:この関数に戻り値はありません。
備考:
PopLn();
最後に削除した行を復活します。
戻り値:この関数に戻り値はありません。
備考:
Tabs();
タブキーを入力します。
戻り値:この関数に戻り値はありません。
備考:
ConvWord();
半角アルファベット文字を1語、大/小文字変換します。
戻り値:この関数に戻り値はありません。
備考:現カーソル位置が、半角アルファベット文字上になければ何もしません。
Select1();
選択モードを行選択モードに設定します。
戻り値:この関数に戻り値はありません。
備考:
Select2();
選択モードを矩形選択モードに設定します。
戻り値:この関数に戻り値はありません。
備考:
BlokCut();
選択範囲のテキストを削除し、ブロックスタックへコピーします。
選択範囲のテキストの内容は失われます。
戻り値:この関数に戻り値はありません。
備考:
BlokCopy();
選択範囲のテキストをブロックスタックへコピーします。
選択範囲のテキストの内容は失われません。
戻り値:この関数に戻り値はありません。
備考:
BlokPast();
ブロックスタックよりテキストを貼り付けます。
貼り付けられるのは最後にブロックスタックへコピーされたテキストです。
ブロックスタックの内容は変わりません。
戻り値:貼り付けたバイト数を返します。
備考:
BlokIns();
ブロックスタックよりテキストを挿入します。
挿入されるのは最後にブロックスタックへコピーされたテキストです。
挿入したブロックスタックのテキストは失われます。
戻り値:この関数に戻り値はありません。
備考:
StackDel();
ブロックスタック内のすべてのテキストを削除します。
戻り値:この関数に戻り値はありません。
備考:
GetFindS();
カーソル位置の文字列を検索文字列として取得します。
戻り値:この関数に戻り値はありません。
備考:
Select(int mode);
選択モードをセットします。
パラメータ:int mode 0=非ブロック、1=行ブロック、2=文字ブロック、3=矩形ブロック
戻り値:この関数に戻り値はありません。
備考:
AIndent(int mode);
オートインデントモードを切り替えます。
パラメータ:int mode −1=トグル、0=OFF、1=ON
戻り値:この関数に戻り値はありません。
備考:
DispOff();
画面を非表示モードにします。
ステータスバー、ルーラーカーソルへの表示はします。
戻り値:この関数に戻り値はありません。
備考:
DispOff2();
画面を非表示モードにします。
ステータスバー、ルーラーカーソルへの表示も禁止します。
戻り値:この関数に戻り値はありません。
備考:
DispOn();
画面を表示モードにし再表示します。
戻り値:この関数に戻り値はありません。
備考:
GotoX(int x);
カーソルをxカラム位置へ移動します。
パラメータ:int x 移動するカラム位置を指定します。(左端は1)
戻り値:この関数に戻り値はありません。
備考:
GotoY(int y);
カーソルをy行目へ移動します。
パラメータ:int y 移動する行位置を指定します。(上端は1)
戻り値:この関数に戻り値はありません。
備考:
SetSakuzu();
罫線作図モードの切り替えます。
パラメータ:int mode −1=トグル、0=OFF、1=ON
トグルとは、現在の状態を反転(OFF -> ON, ON -> OFF)させることを言います。
戻り値:この関数に戻り値はありません。
備考:
SetSakuzuPen();
罫線作図での罫線の太さを切り替えます。
パラメータ:int mode −1=トグル、0=細線、1=太線
トグルとは、現在の状態を反転(細線 -> 太線 , 太線 -> 細線)させることを言います。
戻り値:この関数に戻り値はありません。
備考:
SetFind(int mode);
検索条件をセットします。
パラメータ:mode 各検索条件は1ビットづつに割り当てられています。
(int) 0ビット=検索方向 0=(↓)、1=(↑)
1ビット=大文字、小文字の区別 0=あり、 1=なし
2ビット=単語単位での検索 0=No、 1=Yes
3ビット=正規表現での検索 0=No、 1=Yes
4ビット=高度なあいまい検索での検索 0=No、 1=Yes
5ビット=\nを改行としての検索 0=No、 1=Yes
戻り値:この関数に戻り値はありません。
備考:この関数は検索実行時の検索条件を変更します。
例題:検索方向(↓)、大文字、小文字の区別=なし、
単語単位での検索=Yes、正規表現での検索=Noの条件で
高度なあいまい検索での検索=Noの条件で
文字列 PoPUp の検索を実行します
main()
{
SetFind(0x7);
SetFindS("PoPUp");
Find();
}
SetFindS(char *str);
検索文字列をセットします。
パラメータ:char *str 検索文字列のポインタをセットします。
戻り値:この関数に戻り値はありません。
備考:この関数は検索実行時の検索文字列を変更します。
例題:文字列 PoPUp の検索を実行します
main()
{
char *str;
str = "PoPUp";
SetFindS(str);
Find();
}
SetRep(int mode);
置換条件をセットします。
パラメータ:int mode
各検索条件は1ビットづつ(置換範囲は2ビット)に
割り当てられています。
0ビット=大文字、小文字の区別 0=あり、1=なし
1ビット=単語単位での検索 0=No、1=Yes
2ビット=一括置換か 0=個別、1=一括
3,4ビット=置換範囲
0=ALL、1=カーソル以降、2=カーソル以前
5ビット=置換終了後開始位置へ戻る 0=No、1=Yes
6ビット=一括置換、高速変換モード 0=No、1=Yes
7ビット=途中の置換件数表示 0=No、1=Yes
8ビット=\nを改行として検索、置換 0=No、1=Yes
戻り値:この関数に戻り値はありません。
備考:この関数は置換実行時の置換条件を変更します。
例題:大文字、小文字の区別=あり、単語単位での検索=Yes、一括置換か=一括
置換範囲=ALL、置換終了後開始位置へ戻る=No、一括置換、高速変換モード=Yesの条件で
文字列 PoPUp を Menu への置換を実行します
main()
{
SetRep(0x46);
SetFindS("PoPUp");
SetRepS("Menu");
Replace();
}
SetRepS(char *str);
置換文字列をセットします。
パラメータ:char *str 置換文字列のポインタをセットします。
戻り値:この関数に戻り値はありません。
備考:この関数は置換実行時の置換文字列を変更します。
例題:現在の置換条件で、文字列 PoPUp を Menu への置換を実行します
main()
{
SetFindS("PoPUp");
SetRepS("Menu");
Replace();
}
ClipCut();
選択範囲のテキストを削除し、クリップボードへコピーします。
選択範囲のテキストの内容は失われます。
戻り値:この関数に戻り値はありません。
備考:
ClipCopy();
選択範囲のテキストをクリップボードへコピーします。
選択範囲のテキストの内容は失われません。
戻り値:この関数に戻り値はありません。
備考:
ClipPast();
クリップボードよりテキストを貼り付けます。
貼り付けられるのは最後にクリップボードへコピーされたテキストです。
クリップボードの内容は変わりません。
戻り値:貼り付けたバイト数を返します。
備考:
Delete();
選択範囲のテキストを削除します。
戻り値:この関数に戻り値はありません。
備考:
PutSpace(int x int ,mode);
カーソル位置からxカラム目までをタブ、スペースで埋めます。
パラメータ:int x カラム位置を指定します。
int mode 0=タブ,スペース、1=スペースのみ
戻り値:この関数に戻り値はありません。
備考:この関数は置換実行時の置換条件を変更します。
例題:カーソル位置を1カラム目へ移動し、
そこから10カラム目までをスペースのみで埋めます。
main()
{
GotoX(1);
PutSpace(10, 1);
// PutSpace(10, 0); // タブ、スペースで埋めるならこちら
}
PutStr(char *str);
カーソル位置へ文字列 str を出力します。
パラメータ:char *str 出力する文字列のポインタを指定します。
戻り値:この関数に戻り値はありません。
備考:
例題:カーソル位置へ文字列 PoPUp を出力します。
main()
{
PutStr("PoPUp");
}
GetStr(char *title);
title のダイアログを表示して文字列を入力します。
入力した文字列は、配列 Strings[64] へセットされます。
パラメータ:char *title ダイアログのタイトル文字列のポインタを指定します。
戻り値: 0=文字列が入力された。
ー1=ESCが入力された。
ー2=改行が入力された。
以外=入力した文字列が表す数値。
備考:
例題:1−4のいずれかが選択されればそれぞれの処理を行います。
1−4、ESCのいずれが入力されるまで処理を続行します。
システム変数 Result はマクロ実行開始時に0に初期化されます。
main()
{
char *title;
while(Result < 1 || Result > 4)
{
title = "Menu: 1.SetUp 2.Input 3.Draw 4.Print";
GetStr(title);
if(Result == 1)
SetUp();
else if(Result == 2)
Input();
else if(Result == 3)
Draw();
else if(Result == 4)
Print();
else if(Result == -1)
break
else
Beep();
}
}
SetUp()
{
}
Input()
{
}
Draw()
{
}
Print()
{
}
GetStr2(char *title, char *defstr);
動作は GetStr(); と同じですがデフォルトの入力文字列として defstr を渡すことが
異なります。この関数を実行するとダイアログの文字列入力位置で defstr にセット
した文字列がデフォルトの入力文字列として反転表示します。
パラメータ:char *title ダイアログのタイトル文字列のポインタを指定します。
char *defstr デフォルト入力文字列のポインタを指定します。
戻り値: 0=文字列が入力された。
ー1=ESCが入力された。
ー2=改行が入力された。
以外=入力した文字列が表す数値。
備考:
例題:GetStr(); の例をご覧ください。
PutChr(int ch);
カーソル位置への文字の出力、又はコマンドキーの実行を行います。
パラメータ:int ch
・文字の出力の場合
半角文字=上位バイトは0、下位バイトへ文字コード
全角文字=シフトJISコードをセット
・コマンドキーの実行の場合
上位バイトにコマンドキーNo.下位バイトは0
戻り値:この関数に戻り値はありません。
備考:コマンドキーの実行では キーコマンド設定 AE_0046 メニューで登録できる
151個のコマンドが実行できます。
コマンドキーNo.は先頭(ファイル:新しく作成)が0、
最後(選択ツール10)が150の151種類です。
例題:
main()
{
int c:
// カーソル位置へ文字Aを出力します。
PutChr('A');
// コマンドキー30(検索:GREPの実行)を実行します。
PutChr(30 << 8);
// 同上
c = 30;
PutChr(c << 8);
}
StrChr(int code, char *str);
文字 code を文字列 str より検索します。
パラメータ:int code 検索する文字
char *str 検索される文字列
戻り値:0以上=見つかった位置(先頭は0)
−1=見つからなかった
備考:
例題:カーソル位置の文字を文字列 str より検索します。
見つかった場合 システム変数 Result には見つかった位置が、
見つからなかった場合には−1がはいります。
Code はシステム変数でカーソル位置の文字コードを保持します。
main()
{
char *str;
str = "0123456789";
StrChr(Code, str);
}
InKeyCmd();
文字、又はキーコマンドの入力を、入力があるまで待って受け取ります。
制御文字(20H以下の文字)は入力しません。
MMエディタ95 のすべてのウインドウのキーコマンド入力が対象です。
戻り値:・半角文字入力の場合
上位バイトは0、下位バイトへ文字コード
・全角文字入力の場合
シフトJISコード
・コマンドキー入力の場合
上位バイトにコマンドキーNo.下位バイトは0
備考:この関数はキーボード待ちの状態をつくりMMエディタ95 へのキーボード入力を
フック(横取り)して文字、又はキーコマンドの入力をします。
この関数でキーボード待ちの状態にあるときは、他のテキストウインドウを
アクティブにしてそこでキーボード入力をしてもこの関数がキーボード入力
を横取りしますのでご注意下さい。
例題:これは作表マクロの一部です。
終了キー(コマンドキー 10)が押されるまでMMエディタ95 の
すべてのキーを横取りしてそれぞれの処理をします。
main()
{
while(1)
{
InKeyCmd();
if(Result & 0xff) // 文字の入力
InMoji();
else
{
c = Result >> 8;
if(c == 10) // MMの終了キー(メニューへ戻る)
return;
else if(c == 49) // リターンキー(罫線の描画、消去)
DrawKei();
else if(c == 35 || c == 36) // 1語右へ、左へキー(サイズ変更)
HSize();
else if(c == 43 || c == 44) // ページアップ、ダウンキー(サイズ変更)
VSize();
else if(c >= 50 && c <= 60) // 行編集キー、BSキーからTABキーまで
InMoji();
else if(c == 66 || c == 67) // ブロックのペースト(張り付け、挿入)
InMoji();
else
PutChr(Result);
}
}
}
KBCut();
矩形ブロックを削除します。
戻り値:この関数に戻り値はありません。
備考:この関数はマクロプログラム blokcut.mac を
呼び出すことにより実現されています。
KBCopy();
矩形ブロックをコピーします。
戻り値:この関数に戻り値はありません。
備考:この関数はマクロプログラム blokcopy.mac を
呼び出すことにより実現されています。
KBIns();
矩形ブロックを挿入します。
戻り値:この関数に戻り値はありません。
備考:この関数はマクロプログラム blokins.mac を
呼び出すことにより実現されています。