機能: | 現カーソル位置の表示行番号を取得/設定します。 |
説明: |
表示行番号は、1から始まる一連の番号です。 これは、論理行番号ではないので、ご注意ください。 このプロパティから取得した値は、現カーソル位置の表示行番号になります。 このプロパティに数値を代入すると、その値の表示行番号へ、カーソルが移動します。 この代入値が 1 以下の時、先頭行へ移動します。 この代入値が最大表示行を超える時、最終行へ移動します。 移動後の桁位置は、可能なら移動前と同じになります。不可能ならそれに最も近い桁 (同じ近さなら左側の桁)になります。 フリーカーソル時は、行末を越える桁へ移動できます。 |
用例: | JScript の場合: Apsaly.CurLineNo = 100; これを実行すると、カーソルは、第 100 行目に移動します。 |
機能: | 現カーソル位置の表示桁番号を取得/設定します。 |
説明: |
表示桁番号は、1から始まる一連の番号です。 これは、行頭からのバイト数や字数ではないので、ご注意ください。 このプロパティから取得した値は、現カーソル位置の表示桁番号になります。 このプロパティに数値を代入すると、その値の表示桁番号へ、カーソルが移動します。 その時、行位置は変わりません。 代入された値の桁へ移動できない時は、それに最も近い桁(同じ近さなら左側の桁)へ 移動します。フリーカーソル時は、行末を越える桁へ移動できます。 |
用例: | JScript の場合: Apsaly.CurColumn = Apsaly.CurColumn + 8; これを実行すると、カーソルは、現桁位置よりも 8 桁右に移動します。 |
機能: | 現編集テキストの全表示行数を取得します。 |
説明: | このプロパティから取得した値は、 現編集テキストの全表示行数になります。このプロパティには代入できません。 |
機能: | 現編集テキストの折り返し桁数を取得/設定します。 |
説明: |
このプロパティから取得した値は、現在の折り返し桁数になります。 このプロパティに数値を代入すると、 現在の折り返し桁数が、その値に設定されます。その際、画面の表示が更新されます。 設定可能な範囲は、20 〜 1024 桁です。 |
用例: | JScript の場合: Apsaly.MaxColumn = 80; これを実行すると、折り返し桁数が、80 桁に設定されます。 |
機能: | 選択範囲の文字列を取得または設定します。 |
説明: |
このプロパティから取得した値は、選択範囲の文字列になります。
このプロパティに文字列を代入すると、
現選択範囲の文字列が、その代入文字列に置き換わります。その際、範囲選択の形態と方向は、
変わりません。 |
用例: | JScript の場合: Apsaly.SelText = "Hello, world"; を実行すると、選択範囲の文字列が、「Hello, world」に変わります。 また、矩形選択範囲が、 111222333 AAABBBCCC アアアイイイウウウ のようになっている時、 Apsaly.SelText = "--X--\n--Y--\n--Z--\n"; を実行すると、矩形選択範囲が次のように変わります。 111--X--333 AAA--Y--CCC アアア--Z--ウウウ |
機能: | 選択範囲の形態を取得/設定します。 |
説明: |
このプロパティから取得した値は、選択範囲の形態(あるいは状態)を示す下記の数値になります。 このプロパティに、上記の値を代入すると、現選択状態は、一旦解除されて、 その値に対応する新たな状態になります。これによって選択が開始された場合、 現カーソル位置が、その時点での選択範囲の始点と終点になります。 以降、カーソルを移動すると、選択範囲の形態と始点はそのままで、 選択範囲の終点がそのカーソル位置に変わります。 |
用例: | JScript の場合: Apsaly.CurLineNo = 100; Apsaly.SelType = 2; Apsaly.CurLineNo = 200; これを実行すると、100 行目から 200 行目までが、行範囲選択されます。 |
機能: | 選択範囲の始点の表示行番号を取得します。 |
説明: | このプロパティから取得した値は、 選択範囲の始点の表示行番号になります。範囲選択されていない時、この値は 0 になります。 このプロパティへの代入はできません。 選択範囲の終点の表示行番号は、現カーソル位置の表示行番号と同じです。 |
機能: | 選択範囲の始点の表示桁番号を取得します。 |
説明: | このプロパティから取得した値は、 選択範囲の始点の表示桁番号になります。範囲選択されていないか、または、行範囲が選択 されている時、この値は 0 になります。このプロパティへの代入はできません。 選択範囲の終点の表示桁番号は、現カーソル位置の表示桁番号と同じです。 |
機能: | 現カーソル位置の表示行の文字列を取得します。 |
説明: | このプロパティから取得した値は、 現カーソル位置の表示行の文字列になります。このプロパティへの代入はできません。 |
用例: | JScript の場合: Apsaly.SelType = 0; Apsaly.CurColumn = 1; Apsaly.Insert( Apsaly.CurLineText ); これを実行すると、現カーソル行が二重化されます。 |
機能: | 現カーソル位置の所定区間の文字列を取得します。 |
説明: | 現カーソル位置の文字が、 ・英単語構成文字( A-Z a-z 0-9 _ ) ・ひらかな ・カタカナ ・漢字 ・全角英数字 ・全角空白 ・半角空白 ・半角カタカナ のうちのどれかの場合、現カーソル位置の前後で、それと同種の文字が連続する範囲の文字列が、 このプロパティから取得されます。現カーソル位置の文字が、 ・半角括弧 ( ) { } [ ] < > 「 」 ・全角括弧 ( ){ }[ ]〈 〉「 」 〔 〕《 》『 』【 】<> のうちのどれかの場合、それに対応する括弧で囲まれる範囲の文字列が、 このプロパティから取得されます。もし、現カーソル位置の文字が、 上記以外の場合、空文字列が返されます。このプロパティへの代入はできません。 |
用例: | 例えば、 This is a pen. という文の pen の先頭部にカーソルがある時、Apsaly.CurTerm は、pen の文字列を 返します。また、 彼は「はい」と答えました。 という文の閉じ括弧の直前にカーソルがある時、 Apsaly.CurTerm は、「はい」の文字列を返します。 |
機能: | 現カーソル位置の文字を取得します。 |
説明: | このプロパティから取得した値は、 現カーソル位置にある1字の文字列になります。このプロパティへの代入はできません。 |
機能: | フリーカーソル状態を取得または設定します。 |
説明: |
フリーカーソル状態は、このプロパティから取得した値が、 0 なら OFF で、1 なら ON になっています。 このプロパティに、1 を代入すると、フリーカーソル状態になります。 0 を代入すると、フリーカーソル状態が解除されます。 |
用例: | JScript の場合: fc = Apsaly.FreeCursor; // 現状態を保管 Apsaly.FreeCursor = 1; // フリーカーソルにする ・・・・・ Apsaly.FreeCursor = fc; // 元の状態に戻す これで、・・・・・ での操作は、フリーカーソル状態で行なわれて、最後は元の状態に戻ります。 |
機能: | 現編集ファイルのフルパス名を取得します。 |
説明: | このプロパティから取得した値は、 現編集ファイルのフルパス名(絶対パス名)になります。このプロパティへの代入はできません。 |
用例: | JScript の場合: Apsaly.Insert( Apsaly.FileName ); これを実行すると、現カーソル位置に、現編集ファイルのフルパス名が挿入されます。 |
機能: | Undo ブロックを開始/終了します。または、 現在の Undo ブロックの状態を取得します。 |
説明: |
スクリプトの実行で、編集テキストの内容が変更された場合、 Undo で復元することができますが、Undo ブロックを設定していないと、 1回の Undo で、1箇所の変更だけが復元されます。 Undo ブロックを設定しておくと、その範囲内で行なわれた一連の変更が、 1回の Undo でまとめて復元されます。
Undo ブロックを開始するには、このプロパティに 1 を代入します。 現在の状態を取得するには、このプロパティの値を取得します。 それが、0 でなけれは、Undo ブロック内で、0 なら、Undo ブロック外になります。 |
用例: | JScript の場合: Apsaly.UndoBlock = 1; ・・・・・ Apsaly.UndoBlock = 0; ここで、・・・・・ で行なわれた変更は、1回の Undo で復元されます。 |
次に、Apsaly オブジェクトの各メソッドについて説明します。 以下の各メソッドの表題は、便宜上、引数を括弧で囲う形式になっていますが、 これは、必ずしも、実際の言語仕様を反映しているわけではありません。 また、引数名は、説明上、適当に付けているだけで、 言語仕様上の制約ではありません。 なお、以下のどのメソッドも、関数としての値は返しません。
機能: | 指定された表示行と表示桁へカーソルを移動します。 |
説明: | lineno は、移動先の表示行番号を指定します。
これは、論理行番号ではないので、ご注意ください。
lineno が 1 以下の時は、先頭行へ移動します。
lineno が最大表示行を超える時は、最終行へ移動します。 column は、移動先の表示桁番号を指定します。これは行頭からのバイト数や字数とは異なります。 column で指定された桁へ移動できない時は、それに最も近い桁(同じ近さなら左側の桁)へ 移動します。フリーカーソル時は、行末を越える桁へ移動できます。 |
用例: | カーソルを 100 行 20 桁へ移動するには、
次のようになります。 JScript の場合: Apsaly.MoveTo( 100, 20 ); VBScriptの場合: Apsaly.MoveTo 100, 20 |
機能: | 指定された文字列を現カーソル位置に自動字下げなしで挿入します。 |
説明: | text は、挿入する文字列を指定します。 このメソッドの実行時に、選択範囲があると、その範囲の文字列が削除されてから、 text の文字列が挿入されます。この挿入では、text の文字列内に改行コードがあっても、 それに対する自動字下げ(オートインデント)は行なわれません。 |
用例: | 現カーソル位置に「Hello, world」という文字列を
挿入するには、次のようになります。 JScript の場合: Apsaly.Insert( "Hello, world" ); VBScriptの場合: Apsaly.Insert "Hello, world" |
機能: | 指定された文字列を現カーソル位置に自動字下げを伴って挿入します。 |
説明: | text は、挿入する文字列を指定します。 このメソッドの実行時に、選択範囲があると、その範囲の文字列が削除されてから、 text の文字列が挿入されます。この挿入では、text の文字列内に改行コードがあると、 それに対応する自動字下げ(オートインデント)が行なわれます。 |
用例: |
例えば、次のようなテキストがあるとします。 if( A == B ) ┃ X = Y; このテキストの各行は、TAB インデントされていて、┃ は、現カーソル位置を示す ものとします。次に、JScript で、 Apsaly.InsertInd( "{\r\n\tA = 1;\r\n\tB = 2;\r\n}" );を実行すると、このテキストは、 if( A == B ) { A = 1; B = 2; }┃ X = Y; となります。ちなみに、 if( A == B ) ┃ X = Y; という状態で、同スクリプトを実行すると、 if( A == B ) { A = 1; B = 2; }┃ X = Y; となります。 |
機能: | 指定された文字列を現カーソル位置に矩形状に挿入します。 |
説明: | text は、挿入する文字列を指定します。 このメソッドの実行時に、選択範囲があると、その範囲の文字列が削除されてから、 text の文字列が矩形状に挿入されます。この挿入では、text の文字列内の改行コードを、 矩形内の各行の区切りとして扱います。この改行コードは、実際には挿入されません。 |
用例: |
例えば、次のようなテキストがあるとします。 111111 222222 333333 ここで、カーソルが、1 行 4 桁目にある時に、JScript で、 Apsaly.InsertRect( "--X--\n--Y--\n--Z--\n" );を実行すると、このテキストは、 111--X--111 222--Y--222 333--Z--333 となります。 |
機能: | 指定された文字列を現カーソル位置に上書きします。 |
説明: | text は、上書きする文字列を指定します。 このメソッドの実行時に、選択範囲があると、その範囲の文字列が削除されてから、 text の文字列が上書きされます。この上書きでは、 単純に上書きする文字と上書きされる文字を1字ごとに入れ替えるのではなく、 基本的に、上書き文字列の書き込みによって、それ以降の文字の表示位置が、 ズレないようになっています。 |
用例: |
例えば、次のようなテキストがあるとします。 あいうえお かきくけこ さしすせそ ここで、カーソルが、1 行 5 桁目(「う」の前 )にある時に、JScript で、 Apsaly.Overwrite( "-ABC-\n-XYZ-" );を実行すると、このテキストは、 あい-ABC- -XYZ- けこ さしすせそ となります。 |
機能: | 指定された番号のテキスト編集コマンドを実行します。 |
説明: | 本エディタの環境設定では、各種コマンドが機能割り当てできますが、 そのほとんどは、本メソッドで実行可能です。 引数 cmd には、実行するコマンドの識別番号を指定します。 この値は、MikoScript のインクルードファイル EditCmds.h から 判読できます。 |
用例: | JScript の場合:Apsaly.ExecCmd(80); // カーソルを上へ移動 Apsaly.ExecCmd(81); // カーソルを下へ移動 Apsaly.ExecCmd(82); // カーソルを左へ移動 Apsaly.ExecCmd(83); // カーソルを右へ移動 Apsaly.ExecCmd(180); // 切り取り Apsaly.ExecCmd(181); // コピー Apsaly.ExecCmd(184); // 貼り付け Apsaly.ExecCmd(201); // 次字を削除 Apsaly.ExecCmd(202); // 前字を削除 Apsaly.ExecCmd(203); // 現論理行を削除 Apsaly.ExecCmd(220); // 改行を挿入 Apsaly.ExecCmd(222); // 空行を挿入 ・・・・・ |
機能: | 指定された文字列をスクリプトコンソールウィンドウにプリントします。 |
説明: | このメソッドは、text で指定された文字列を、「スクリプト コンソールウィンドウ」のテキストの末尾に追加します。 このウィンドウは、デバッグ時等に、各種の内部情報やデータを プリントして確認する時に使うと便利です。このプリント出力は、現操作対象の編集テキストには 影響しません。 |
用例: |
次のスクリプトは、現編集ファイルのフルパス名、現カーソル位置の表示行と表示桁、
それに、選択範囲の文字列を、スクリプトコンソールウィンドウにプリントします。 JScript の場合: with( Apsaly ) { print( FileName + ": " + CurLineNo + " 行, " + CurColumn + " 桁\n" ); print( SelText ); } VBScript の場合: Set e = Apsaly e.print e.FileName & ": " e.print e.CurLineNo & " 行, " e.print e.CurColumn & " 桁" & vbCrLf e.print e.SelText |