MocaScript Peggy ビルトイン関数リファレンス

2008/10/30, Version 4.61

株式会社エスコア
〒674-0082 兵庫県明石市魚住町中尾337
TEL: 078-946-5609
FAX: 078-946-5552
anchor@anchorsystems.jp
http://www.anchorsystems.jp/

    目次

グローバル関数

グローバルプロパティ

Point オブジェクト

View クラス

View クラスのメソッド

Output オブジェクトのメソッド

Search オブジェクト

Event オブジェクト

プロジェクト関連クラス

Dialog クラス

DialogSheet クラス



グローバル関数

ファイル操作

分類 関数名 機能
ファイル newFile([template]) 新しい編集ウインドウを作成する。
openFile([filePath [, encoding]]) ファイルを開く。
saveAll([quiet [, ignoreUntitled]]) 変更しているすべてのファイルを保存する。
closeAll() 開いているすべて編集ウインドウを閉じる。
isFileOpened(filePath) ファイルを開いているかどうか調べる。
enumViews([aViewOrNull [, order]]) 開いている編集ウインドウの配列を返す。
print([direct]) 印刷する。
getActiveView() アクティブな編集ウインドウのViewオブジェクトを取得する。
getPeggyFolder() Peggy実行ファイルのあるフォルダのパスを取得する。
getShareFolder() shareフォルダのパスを取得する。
compareFiles(path1, path2 [, append]) 2つのファイル、またはフォルダを比較する。
newProject() 新規プロジェクトを作成する。
openProject(projectPath) プロジェクトを開く。
getMRU(type) 最近使ったファイル/フォルダ/プロジェクトのリストを取得する。
enumLanguages() すべての言語モードの識別名を収めた配列を返す。

ステータスバー

分類 関数名 機能
ステータスバー setStatusText(message) ステータスバーにメッセージを表示する。
setWarningStatusText(warningMessage) ステータスバーに警告メッセージを表示する。
setErrorStatusText(errorMessage) ステータスバーにエラーメッセージを表示する。

ダイアログボックスとメニュー

分類 関数名 機能
ダイアログボックスとメニュー alert(alertMessage) 警告メッセージボックスを表示する。
inputBox(title, message [, field1 [,field2...]]) 入力ボックスを表示してユーザからの入力を受け付る。
listBox(title, message, array [, initialSelect]) アイテムをリスト表示してユーザに選択してもらう。
messageBox(message [, flags]) メッセージボックスを表示する。
colorBox(title [,defaultColor]) カラー選択ダイアログボックスを表示する。
fileBox(title) ファイル選択ダイアログボックスを表示する。
folderBox([title [, initialFolder]]) フォルダ選択ダイアログボックスを表示する。
customBox(title, dialogTemplate) カスタムダイアログボックスを表示する。
popupMenu(itemArray [, aViewOrPosition]) ポップアップメニューを表示する。

その他

分類 関数名 機能
その他 error(errorMessage) エラーメッセージをステータスバーに表示しスクリプトの実行を終了する。
shellExecute(verb, file [, params [, folder [, cmd]]]) Win32 APIのShellExecute() 関数を実行する。
runCommand(cmd [, folder [, inpfile [, outfile [, outputPage]]]]) コマンドを実行し出力をアウトプットウインドウにリダイレクトする。
runScript(command) 他のスクリプトを実行する。
getCursorPos() マウスカーソルのスクリーン座標を取得する。
setCursorPos(x, y) マウスカーソルのスクリーン座標を設定する。
getMainWindow() Peggyのアプリケーションウインドウのハンドルを取得する。
exitPeggy() Peggyを終了する。
RGB(red, green, blue) 赤、緑、青からRGB値を作成する。
EP([fileLine [, index]]) 行とインデックスを指定してPointオブジェクトを作成する。
VP([viewLine [, column [, threshold]]]) 表示行とカラムを指定してPointオブジェクトを作成する。
getCopyHistory(index) コピー履歴から文字列を取得する。
getKeyboardMacro() キーボードマクロとして記録されている操作手順を取得する。
readRegistry(entry) レジストリから値を取得する。
writeRegistry(entry, value [, type]) レジストリに値を書き込む。
deleteRegistry(entry) レジストリのエントリ、またはキーを削除する。
openHelp(helpFilePath [, topicKeyword]) ヘルプファイルを開く。
getScriptButton(button) スクリプトボタンのコマンドを取得する。
getScriptButtonRect(button) スクリプトボタンの位置を取得する。
setScriptButton(button, command) スクリプトボタンにコマンドを設定する。
setScriptButtonImage(from, to [, bitmap [, offset]]) スクリプトボタンにイメージを設定する。
setDBToolButtonImage(from, to [, bitmap [, offset]]) DBツールボタンにイメージを設定する。
setToolButtonImage(from, to [, bitmap [, offset]]) ユーザ定義ツールボタンにイメージを設定する。
require(library [, forceLoad]) 必要に応じてライブラリをロードする。
setTimer(interval) Event.onTimer()を呼び出すタイマーを起動する。
showWindowTab([show]) ウインドウタブの表示/非表示を切り替える。
getFocusedWindowType() フォーカスのあるウインドウの種類を取得する。
sendMail() MAPI経由でメール作成機能を呼び出す。


グローバルオブジェクトのプロパティ

Peggyに組み込まれているMocaScriptのグローバルオブジェクトには、 以下のプロパティが予め定義されています。

プロパティ名
__PEGGY_NAME string Peggyの製品名 "Peggy"、"Peggy Pro"、"Peggy Pro for PHP"
__PEGGY_VERSION string Peggyのバージョン番号 "4.00"
__OS_VERSION string OSの名称とバージョン番号 "Windows NT 4.0"、"Windows 2000"、"Windows XP"、"Windows Vista"、"Windows Server 2003"、 "Windows 95"、"Windows 98"、"Windows Me"


alert() 関数
機能 警告メッセージボックスを表示します。
書式 alert(alertMessage)
引数 alertMessage ...... 警告メッセージ
戻り値 なし(undefined)
 
詳細

警告メッセージボックスにalertMessageを表示します。

 
alert("ファイルが見つかりません.");
 
参照 messageBox() 関数


closeAll() 関数
機能 すべての編集ウインドウを閉じます。
書式 closeAll()
引数 なし
戻り値 すべて閉じた場合はtrue、途中で中止した場合はfalse
 
詳細

開いている編集ウインドウをすべて閉じます。 変更されているファイルは、保存するかどうか問い合わせます。

 
// すべての編集ウインドウを閉じます。
closeAll();
 
参照 saveAll() 関数


colorBox() 関数
機能 カラー選択ダイアログボックスを表示します。
書式 colorBox(title [, defaultColor])
引数 title ...... ダイアログボックスのタイトル
defaultColor ...... RGB値
戻り値 RGB値、またはnull
 
詳細

カラー選択ダイアログボックスを表示して、RGB値を入力します。 defaultColorにより、デフォルトで選択されている色を指定できます。 色を選択するとRGB値(integer)、キャンセルするとnullを返します。

 
// お好きな色は?
var rgb = colorBox("お好きな色は?");


compareFiles() 関数
機能 2つのファイル、またはフォルダを比較します。
書式 compareFiles(path1, path2 [, append])
引数 path1path2 ...... 比較するファイルまたはフォルダのパス
append ...... 比較結果を追加することを指定する論理値
戻り値 比較に成功した場合はtrue、それ以外はfalse
 
詳細

path1path2を比較します。 path1path2がファイルであればファイル比較、 path1path2がフォルダであればフォルダ比較を行います。 ただし、ファイルとフォルダを混在させて指定することはできません。

appendtrueを指定すると、 現在ある比較結果の後へ追加出力します。 falseを指定するか省略すると、 古い比較結果をクリアしてから出力します。

比較に成功した場合はtrue、それ以外はfalseを返します。

 
// Readme.txt を比較
compareFiles("C:\\Program Files\\Anchor\\Peggy\\readme.txt", "C:\\Program Files\\Anchor\\PeggyPad\\readme.txt");


customBox() 関数
機能 カスタムダイアログボックスを表示します。
書式 customBox(title, dialogTemplate)
引数 title ...... ダイアログボックスのタイトル
dialogTemplate ...... ダイアログボックスのテンプレート
戻り値 [OK]ボタンがクリックされた場合は値を収めたArrayオブジェクト、それ以外はnull
 
詳細

dialogTemplateにより定義されたカスタムダイアログボックスを表示します。 ダイアログボックスの[OK]ボタンがクリックされた場合は、 各コントロールの値をArrayオブジェクトに取り出したものを返します。 どのような値が返されるかは、コントロールの種類によって異なります。 詳しくは、コントロールの値を参照してください。 それ以外の原因で終了した場合は、nullを返します。

この関数は、以下の処理と同等です。 自動的にダイアログボックステンプレートへ[OK]、[キャンセル]ボタンを追加します。 そのため、ダイアログボックステンプレート中にこれらのボタンを定義する必要はありません。

function customBox(title, template)
{
  var dialog = new Dialog(title, template);
  dialog.addOkCancel = Dialog.ADD_OKCANCELLINE;
  return dialog.open() == IDOK ? dialog.results : null;
}

もっと自由度の高いダイアログボックスが必要な場合は、 Dialogオブジェクトを直接作成/操作することで可能になります。

 
// シンプルなダイアログボックス
var template =
[
  { type: "EDIT", width: 100 },
  { type: "CHECK", label: "チェックボックスです" }
];
customBox("EDITとCHECK", template);
 
参照 Dialog クラスダイアログボックステンプレート


deleteRegistry() 関数
機能 レジストリのエントリ、またはキーを削除します。
書式 deleteRegistry(entry)
引数 entry ...... 削除するレジストリのキーまたはエントリ
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

entryで指定されたレジストリのエントリを削除します。 まず指定された名前のエントリがあれば、エントリを削除します。 エントリがない場合、指定された名前がサブキーであればサブキーを削除します。 ただしサブキーがさらにサブキーを持っている場合には削除できません。

【重要】
レジストリにはシステムの重要なデータも収められているため、 不用意に削除するとシステムが不安定になったり、起動しなくなることもあります。 そのため、十分に注意してこの関数を使うようにしてください。
【注意】
不用意な書き換えや削除を防ぐため、 [オプション設定]ダイアログボックス[編集]ページの[編集オプション]の最後にある [スクリプトからレジストリへの書き込みで警告を出す]をONにしておくことをお勧めします。 このオプションをセットしておくと、 MocaScriptからレジストリを削除する直前に警告ダイアログボックスが表示されるようになり、 正しい書き込みかどうかが確認できます。 このオプションは、デフォルトでONになっています。

 
// Peggyのインストールフォルダを取得します。
deleteRegistry("HKEY_CURRENT_USER\\Software\\
Anchor\\Peggy\\General\\UserName");
 
参照 その他関数readRegistry() 関数writeRegistry() 関数


enumLanguages() 関数
機能 すべての言語モードの識別名を収めた配列を返します。
書式 enumLanguages()
引数 なし
戻り値 文字列の配列
 
詳細

利用可能なすべての言語モードの言語識別名の配列を返します。

【注意】
将来のバージョンでは、Languageオブジェクトに配列を返すように変更する予定です。

 
// 利用可能な言語モードのリスト表示する。
var langs = enumLanguages();
listBox("言語モードリスト", "利用可能言語モードの一覧", langs);
 
参照 ファイル操作


enumViews() 関数
機能 開いている全編集ウインドウの配列を返します。
書式 enumViews([aViewOrNull [, order]])
引数 aViewOrNull ...... Viewオブジェクト
order ...... ウインドウの取得順序
戻り値 成功した場合はViewオブジェクトの配列、それ以外はnull
 
詳細

aViewOrNullを指定すると、同じファイルの編集ウインドウの配列を返します。

aViewOrNullがない、またはnullを指定した場合は、 開いているすべての編集ウインドウを表すViewオブジェクトの配列を返します。 編集ウインドウがまったく開いていない場合は、空の配列を返します。

orderは、取得するViewオブジェクトの順序を指定します。 "z"を指定すると、重なり順の上から配列に収めます。 "tab"を指定すると、ウインドウタブに表示されている順で取得します。 orderを指定しない場合の順序は不定です。

【注意】
同じファイルに複数の編集ウインドウを開いているときは、 配列にも複数のViewオブジェクトが格納されます。 また、縦/横ウインドウを分割表示しているときも、複数のViewオブジェクトが格納されます。 そのときの順序は、左上、右上、左下、右下となります。
【注意】
ウインドウタブ順での取得は、 ウインドウタブが表示されているときだけ可能です。 ウインドウタブが表示されていないとき、 order"tab"を指定するとnullを返します。

 
// すべての編集ウインドウを取得します。
var views = enumViews();


EP() 関数
機能 ファイル行とインデックスを指定してPointオブジェクトを作成します。
書式 EP([fileLine [, index]])
引数 fileLine ...... ファイル行番号(1 〜)
index ...... 行中の文字インデックス(0 〜)
戻り値 Pointオブジェクト
 
詳細

行とインデックスを指定してPointオブジェクトを作成します。

fileLineを省略すると先頭行(=1)、 indexを省略すると行頭(=0)と見なします。

 
// 10行の5文字目をPointオブジェクトを作成します。
var pt = EP(10, 4);
 
参照 VP() メソッドPoint() コンストラクタPointオブジェクト


error() 関数
機能 エラーメッセージをステータスバーに表示しスクリプトの実行を終了します。
書式 error(errorMessage)
引数 errorMessage ...... エラーメッセージ
戻り値 リターンしません。
 
詳細

エラーメッセージをステータスバーに表示しスクリプトの実行を終了します。

 
// ウインドウがない場合にエラー終了する。
if (!view) error("ウインドウが開いていません.");
 
参照 exit() 関数


exitPeggy() 関数
機能 Peggyを終了します。
書式 exitPeggy()
引数 なし
戻り値 戻りません。
 
詳細

スクリプトの実行を終了し、続いてPeggyを終了します。

 
// Peggyを終了します。
exitPeggy();
 
参照 exit() 関数abort() 関数


fileBox() 関数
機能 ファイル選択ダイアログボックスを表示します。
書式 fileBox([title [, forOpen [, defaultExt [, fileName [, filter]]]]])
引数 title ...... タイトル
forOpen ...... 開くときはtrue、保存はfalseを指定
defaultExt ...... デフォルト拡張子
fileName ...... ファイル名
filter ...... フィルタ
戻り値 選択したファイルのパス、キャンセルされた場合はnull
 
詳細

ファイル選択ダイアログボックスを表示します。

titleによりファイル選択ダイアログボックスのタイトルを変更できます。 ファイルを開く場合は、forOpentrue、 保存するためにファイルを選択する場合は、falseを指定します。

defaultExtを指定すると、 拡張子なしのファイル名を入力した場合にこのデフォルトの拡張子と見なされます。 fileNameにより、初期表示されるファイルを指定できます。 filterにより、フィルタを独自のものに変更できます。

 
// MocaScriptのファイルを探します。
var msfile = fileBox("MocaScriptソースを開く", true, "ms", "*.ms",
          "MocaScript (*.ms,*.msl)|*.ms;*.msl|すべてのファイル (*.*)|*.*||");
 
参照 folderBox() 関数


folderBox() 関数
機能 フォルダ選択ダイアログボックスを表示します。
書式 folderBox([title [, initialFolder]])
引数 title ...... タイトル
initialFolder ...... 初期フォルダ
戻り値 選択したフォルダのパス、キャンセルされた場合はnull
 
詳細

フォルダ選択ダイアログボックスを表示します。

titleによりフォルダ選択ダイアログボックスのタイトルを変更できます。 initialFolderにより、初期フォルダを指定します。

 
// フォルダを選択します。
var folder = folderBox();
 
参照 fileBox() 関数


getActiveView() 関数
機能 アクティブな編集ウインドウのViewオブジェクトを取得します。
書式 getActiveView()
引数 なし
戻り値 Viewオブジェクト、またはnull
 
詳細

アクティブな編集ウインドウのViewオブジェクトを取得します。 編集ウインドウがないときは、nullを返します。

 
// アクティブな編集ウインドウを取得します。
var activeView = getActiveView();
 
参照 View.activate() メソッド


getCopyHistory() 関数
機能 コピー履歴から文字列を取得します。
書式 getCopyHistory(index)
引数 index ...... コピー履歴のインデックス(0〜)
戻り値 成功した場合は文字列、それ以外はundefined
 
詳細

コピー履歴に保存されているindex番目の文字列を取得します。 indexは、0で先頭の履歴、1が次、...となります。

【注意】
ファイル全体をコピーした場合など、 非常に長いテキストを取得する可能性があるので注意してください。

 
// コピー履歴の0番に保存されている文字列を取得します。
var text = getCopyHistory(0);
 
参照 setClipboardText() 関数getClipboardText() 関数


getCursorPos() 関数
機能 マウスカーソルのスクリーン座標を取得します。
書式 getCursorPos()
引数 なし
戻り値 スクリーン座標を収めたArrayオブジェクト
 
詳細

マウスカーソルのスクリーン座標を取得し、それを収めたArrayオブジェクトを返します。 配列の要素0にはx座標、要素1にはy座標が整数で収められます。

 
// マウスカーソルのスクリーン座標を取得します。
var xy = getCursorPos();
 
参照 setCursorPos() 関数


getFocusedWindowType() 関数
機能 フォーカスのあるウインドウの種類を取得します。
書式 getFocusedWindowType()
引数 なし
戻り値 ウインドウの種類を表す整数値
 
詳細

フォーカスのあるウインドウの種類を以下の整数値として返します。

編集ウインドウ  1
アウトプットウインドウ  2
プロジェクト  3
ウインドウリスト  4
アウトライン  5
スクリプト  6
検索ツール  7
上記以外のウインドウ  0

 
// フォーカスのあるウインドウの種類を取得する。
var type = getFocusedWindowType();


getKeyboardMacro() 関数
機能 キーボードマクロとして記録されている操作手順を取得します。
書式 getKeyboardMacro()
引数 なし
戻り値 成功した場合は内部形式のキーボードマクロ情報を収めた配列、それ以外はnullを返します。
 
詳細

キーボードマクロの情報を内部形式のまま配列として取得します。

配列の1つの要素に1キーストローク分の情報が整数として収められています。 キーボードマクロが記録されていないときは、空の配列を返します。

【注意】
キーボードマクロ記録中に情報を取り出すことはできません。 記録中にこの関数を呼び出すと失敗し、nullを返します。

 
// キーボードマクロ情報を取得します。
var strokes = getKeyboardMacro();
 
参照 View.playKeyboardMacro() メソッド


getMainWindow() 関数
機能 Peggyのアプリケーションウインドウのハンドルを取得します。
書式 getMainWindow()
引数 なし
戻り値 成功した場合はPeggyアプリケーションウインドウのハンドル、それ以外は0
詳細

Peggyアプリケーションウインドウのハンドルを取得します。

【注意】
MocaScriptではハンドル型というデータ型が存在しないため、 ハンドル値を整数として扱います。

 
// Peggyウインドウのハンドルを取得します。
var handle = getMainWindow();
 
参照 getWindow() 関数


getMRU() 関数
機能 最近使ったファイル/フォルダ/プロジェクトのリストを取得します。
書式 getMRU([type])
引数 type ...... ファイル/フォルダ/プロジェクトの選択
戻り値 成功した場合は配列、それ以外はnull
詳細

最近使ったファイル、最近使ったフォルダ、最近使ったプロジェクトのリストを配列として取得します。 どれを取得するかは、typeで選択します。

省略最近使ったファイル
0
1最近使ったフォルダ
2最近使ったプロジェクト

 
// 最近使ったファイルリストを取得します。
var mruFiles = getMRU(0);
 
参照 openFile() 関数openProject() 関数


getPeggyFolder() 関数
機能 Peggy実行ファイルのあるフォルダのパスを取得します。
書式 getPeggyFolder()
引数 なし
戻り値 Peggyがインストールされてるフォルダのパス。
 
詳細

peggy.exe、peggypro.exeの実行ファイルがインストールされているフォルダのパスを取得します。

 
// インストールフォルダのパスを取り出す。
var folder = getPeggyFolder();
 
参照 getShareFolder() 関数


getScriptButton() 関数
機能 スクリプトボタンのコマンドを取得します。
書式 getScriptButton(button)
引数 button ...... スクリプトボタンの番号(1〜72)
戻り値 成功した場合は現在設定されているコマンド、それ以外はundefined
 
詳細

buttonで指定したスクリプトボタン(1〜72)にスクリプトコマンドを取得します。 スクリプトコマンドは、"<ファイル名>:コマンド名" 形式の文字列です。 何も設定されていないボタンは、空の文字列が返されます。

 
// スクリプトボタン1にコマンドを取得する。
var cmd = getScriptButton(1);
 
参照 setScriptButton() 関数getScriptButtonRect() 関数その他関数


getScriptButtonRect() 関数
機能 スクリプトボタンの位置を取得します。
書式 getScriptButtonRect(button)
引数 button ...... スクリプトボタンの番号(1〜72)
戻り値 成功した場合はスクリプトボタンの位置、それ以外はnull
 
詳細

buttonで指定したスクリプトボタン(1〜72)の位置をスクリーン座標で取得します。 スクリプトボタンがツールバーにないときは、nullを返します。

Arrayオブジェクトにはインデックス0〜3に4つの整数値が収められていて、 それぞれスクリプトボタンの左端x、上端y、右端x、下端y(ピクセル単位・スクリーン座標)を表しています。

 
// スクリプトボタン1の位置を取得する。
var pos = getScriptButtonRect(1);
 
参照 getScriptButton() 関数setScriptButton() 関数その他関数


getShareFolder() 関数
機能 shareフォルダのパスを取得します。
書式 getShareFolder()
引数 なし
戻り値 <share>フォルダのパス
 
詳細

Peggyのキーワードファイル<*.kwd>、各種設定ファイルが収められている<share>フォルダのパスを返します。

 
// shareフォルダのパスを取り出す。
var share = getShareFolder();
 
参照 getPeggyFolder() 関数


inputBox() 関数
機能 入力ボックスを表示してユーザからの入力を受け付けます。
書式 inputBox(title, message [, field1 [,field2...]])
引数 title ...... 入力ダイアログボックスのタイトル
message ...... プロンプトメッセージ
field1 ...... 入力欄1のラベルまたは配列
field2 ...... 入力欄2のラベルまたは配列
戻り値 各フィールドに入力された文字の配列
 
詳細

入力ボックスを表示してユーザからの入力を受け付けます。

titleには、表示されるダイアログボックスのタイトルを指定します。 messageには、入力を促すメッセージを設定します。 入力ダイアログボックスには、4行分のメッセージを表示するスペースがあります。 field1field2... には、 入力欄のラベル、または入力欄の諸パラメタを収めた配列を渡します。 入力欄は、最大20まで作成することができます。

入力欄に文字列を指定すると、そのまま入力欄のラベルとして表示されます。 さらに細かく指定したい場合は、ラベル文字列の代わりに以下の配列を渡します。

インデックス内容詳細
0入力欄のラベル入力欄のラベルとして表示される文字列
1デフォルト値(省略可)デフォルト値として最初から入力欄にセットされる文字列
2横幅(省略可)適切な横幅をドット単位で指定する

[OK]ボタンにより入力ダイアログボックスを閉じると、 各入力欄の文字列を収めた配列を返します。 また、[キャンセル]ボタンにより入力を中止すると、 nullを返します。

 
// 住所、名前、電話番号を入力する。
var address = inputBox("住所の入力", "住所、名前、電話番号を入力してください.",
          [ "住所(&A):", "兵庫県神戸市" ],
          [ "名前(&N):", , 150 ],
          [ "電話(&T):", "078-", 150 ]);
 
参照 listBox() 関数


isFileOpened() 関数
機能 ファイルを開いているかどうか調べます。
書式 isFileOpened(filePath)
引数 filePath ...... ファイルパス
戻り値 開かれていればViewオブジェクト、それ以外はnull
 
詳細

filePathが既に開いているかどうか調べます。

openFile()は、まだファイルが開かれていない場合そのファイルを開きますが、 isFileOpened()関数は、まだ開いていない場合はnullを返し、 ファイルを開くことはしません。

 
// "readme.txt"を開いているかどうか調べます。
isFileOpened("C:\\Program Files\\Anchor\\Peggy\\readme.txt");
 
参照 openFile() 関数


listBox() 関数
機能 アイテムをリスト表示してユーザに選択してもらいます。
書式 listBox(title, message, array [, initialSelect])
引数 title ...... ダイアログボックスのタイトル
message ...... プロンプトメッセージ
array ...... 選択アイテムを収めた配列
initialSelect ...... 最初に選択しているアイテムのインデックス
戻り値 選択されたアイテム、またはnull
 
詳細

アイテムをリスト表示してユーザに選択してもらいます。

titleには、ダイアログボックスのタイトルを指定します。 messageには、リストからの選択を促すメッセージを最大2行まで表示できます。 arrayは、選択肢を要素として持った配列です。 1つ1つがリストアイテムとして表示されますが、未定義(undefined)の要素は表示されません。 initialSelectに配列のインデックス(0 〜 array.length - 1)を指定すると、 デフォルトとしてそのアイテムを選択した状態でリストダイアログボックスが表示されます。

リストからアイテムが選択されると、配列中のこのアイテムが返されます。 また[キャンセル]ボタンがクリックされると、nullが返されます。

【注意】
配列中の選択肢としてnullがあると、 [OK]が押されたのか、キャンセルされたのかが区別しにくくなります。

 
// 好きな果物は?
var choice = listBox("好きな果物は?", "以下からお好きな果物を選んでください.",
          ["リンゴ", "オレンジ", "桃", "ブドウ", "バナナ"]);

 
参照 inputBox() 関数


messageBox() 関数
機能 メッセージボックスを表示します。
書式 messageBox(message [, flags])
引数 message ...... メッセージ
flags ...... ボタン、アイコンを指定するフラグ
戻り値 押されたボタンのID
 
詳細

メッセージボックスにメッセージmessageを表示します。

flagsにより、ボタン、アイコンを指定できます。 flagsの値は、グローバルスコープに登録されている以下のシンボルが使えます。 OR演算子(|)を使って複数指定することもできます。

シンボル機能
MB_OK[OK]ボタンを表示する
MB_OKCANCEL[OK]、[キャンセル]ボタンを表示する
MB_ABORTRETRYIGNORE[中止]、[再試行]、[無視]ボタンを表示する
MB_YESNOCANCEL[はい]、[いいえ]、[キャンセル]ボタンを表示する
MB_YESNO[はい]、[いいえ]ボタンを表示する
MB_RETRYCANCEL[再試行]、[キャンセル]ボタンを表示する
MB_ICONHAND手のアイコン
MB_ICONQUESTION?アイコン
MB_ICONEXCLAMATION!アイコン
MB_ICONASTERISK*アイコン
MB_DEFBUTTON1ボタン1をデフォルトにする
MB_DEFBUTTON2ボタン2をデフォルトにする
MB_DEFBUTTON3ボタン3をデフォルトにする

【注意】
実際のアイコンはシステムや設定によって異なります。

また、messageBox()は、クリックされたボタンのIDを返します。 ボタンのIDを下表に示します。

シンボルボタン
IDOK[OK]
IDCANCEL[キャンセル]
IDABORT[中止]
IDRETRY[再試行]
IDIGNORE[無視]
IDYES[はい]
IDNO[いいえ]

 
// メッセージボックスを表示します。
if (messageBox("続けますか?", MB_YESNO | MB_ICONQUESTION) != IDYES) break;
 
参照 alert() 関数


newFile() 関数
機能 新しい編集ウインドウを作成します。
書式 newFile([template])
引数 template ...... テンプレートの名前またはパス
戻り値 成功した場合はViewオブジェクト、それ以外はnull
 
詳細

新しい編集ウインドウを作成し、その編集ウインドウを表すViewオブジェクトを返します。 テンプレートの名前を指定すると、そのテンプレートを元に新規ファイルを作成します。 テンプレートを省略すると、ブランクの新規ファイルを作成します。

テンプレートファイルをフルパスで指定すると、任意のファイルをテンプレートとすることができます。 ファイル名と拡張子だけ指定すると、 <share\template>フォルダから名前に一致するテンプレートファイルを探します。 テンプレートファイルが見つからない場合は、 新規ファイルの作成に失敗し、nullを返します。

 
// 新しい編集ウインドウを作成します。
var newview = newFile();
 
参照 openFile() 関数


newProject() 関数
機能 新規プロジェクトを作成します。
書式 newProject()
引数 なし
戻り値 成功した場合はProjectオブジェクト、それ以外はnull
 
詳細

新しいプロジェクトを作成し、Projectオブジェクトを返します。 途中で中止したなどの理由により失敗した場合は、nullを返します。

【注意】
一度に開くことが出来るプロジェクトは、1つだけです。 現在開いているプロジェクトは、新しいプロジェクトを作成する前に閉じられます。

 
// 新しいプロジェクトを作成します。
var newproj = newProject();
 
参照 openProject() 関数


openFile() 関数
機能 ファイルを開きます。
書式 openFile([filePath [, encoding]])
引数 filePath ...... 開きたいファイルのパス
encoding ...... ファイルの漢字コード
戻り値 成功した場合はViewオブジェクト、それ以外はnull
 
詳細

filePathで指定されたファイルを開き、Viewオブジェクトを返します。 filePathを省略したときは、[開く]ダイアログボックスでファイルを選択できます。

encodingを指定すると、ファイルを指定した漢字コードと見なして開きます。 encodingの値は、 File.guessEncoding() メソッドを参照してください。

途中でキャンセルしたりファイルが見つからなかった場合は、nullを返します。

 
// ファイルを開きます。
var newview = openFile();
 
参照 newFile() 関数isFileOpened() 関数File.guessEncoding() メソッドopenProject() 関数getMRU() 関数


openHelp() 関数
機能 ヘルプファイルを開きます。
書式 openHelp(helpFilePath [, topicKeyword])
引数 helpFilePath ...... 開きたいヘルプファイルのパス
topicKeyword ...... 参照したいトピックのキーワード
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

helpFilePathのヘルプファイルを開きます。 Windowsヘルプファイル(.HLP)、HTMLヘルプファイル(.CHM と .COL)をヘルプファイルとして認識します。 それ以外の拡張子はヘルプファイルではないと見なし、失敗します。

topicKeywordが指定されていれば、 ヘルプファイルからキーワードを含んだトピックを検索します。

 
// Peggyのヘルプファイルを開きます。
openHelp("C:\\Program Files\\Anchor\\Peggy\\Peggy.hlp", "openHelp");
 
参照 その他メソッド


openProject() 関数
機能 プロジェクトを開きます。
書式 openProject(projectPath)
引数 projectPath ...... 開きたいプロジェクトファイルのパス
戻り値 成功した場合はProjectオブジェクト、それ以外はnull
 
詳細

projectPathで指定されたプロジェクトファイルを開き、Projectオブジェクトを返します。 途中でキャンセルしたりプロジェクトファイルが見つからなかった場合は、nullを返します。

【注意】
一度に開くことが出来るプロジェクトは、1つだけです。 現在開いているプロジェクトは、新しいプロジェクトを開く前に閉じられます。

 
// プロジェクトを開きます。
var newproj = openProject("D:\\Project\\myproj.peg");
 
参照 newProject() 関数openFile() 関数getMRU() 関数


popupMenu() 関数
機能 ポップアップメニューを表示します。
書式 popupMenu(itemArray [, aViewOrPosition])
引数 itemArray ...... メニュー項目を収めた配列
aViewOrPosition ...... ポップアップメニューを表示する場所
戻り値 成功すれば選択された項目の値、それ以外はnull
 
詳細

配列itemArrayに収められた項目をポップアップメニューとして表示します。 itemArrayの個々の要素を文字列に変換したものがメニュー項目として表示されます。 要素がundefinedまたはnullのときは、セパレータ(区切り線)となります。

itemArrayの要素が配列であった場合、 メニュー項目の内容を細かく制御することができます。 これを「メニュー項目配列」と呼ぶことにします。

メニュー項目配列の最初の要素(インデックス0)は、メニューに表示される文字列となります。 次の要素(インデックス1)は、その項目が選択されたときにpopupMenu()関数から返される値を指定できます。 これはオプションで、省略するとインデックス0の要素が戻り値となります。 3番目の要素(インデックス2)には、true、または下表のフラグを1つ以上OR演算して組み合わせたものを指定できます。 4番目の要素(インデックス3)には、ステータスバーに表示するメッセージを指定できます。

インデックス 内容
0 文字列へ変換してメニューに表示される
1 項目が選択されたときの戻り値。省略した場合は、インデックス0の値となる。
2 フラグ(trueMF_XXXを混ぜて指定することはできません)

true ........ メニュー項目にチェックを表示する
MF_CHECKED ......... メニュー項目にチェックを表示する
MF_GRAYED .......... メニュー項目を灰色で表示し無効にする
MF_MENUBREAK ....... メニューを水平に分割する
MF_MENUBARBREAK .... メニューを水平に分割して縦線を入れる

3 ポップアップメニューを表示してこの項目がハイライトされているとき、 ステータスバーに表示されるメッセージです。 省略すると、インデックス0の値がステータスバーに表示されます。

aViewOrPositionは、ポップアップメニューを表示する場所を指定します。 aViewOrPositionにViewオブジェクトを指定すると、 そのViewオブジェクトのカーソル位置にポップアップメニューを表示します。 aViewOrPositionに2つの数値を要素として持った配列を指定すると、 スクリーン上の[x, y]位置に表示します。 省略すると、マウスカーソルのある位置にポップアップメニューを表示します。

 
// カーソル位置にポップアップメニューを表示します。
var choice = popupMenu(["A", "B", "C"], view);
 
参照 listBox() 関数inputBox() 関数


readRegistry() 関数
機能 レジストリから値を取得します。
書式 readRegistry(entry)
引数 entry ...... 値を読み出したいレジストリのエントリ
戻り値 成功した場合はレジストリの値、それ以外はundefined
 
詳細

entryで指定されたレジストリの値を取得します。 REG_DWORD型は整数、 REG_SZREG_EXPAND_SZREG_BINARYは文字列を返します。

値が取得できなかった場合は、undefinedを返します。

 
// Peggyのインストールフォルダを取得します。
var folder = readRegistry("HKEY_CURRENT_USER\\Software\\Anchor\\Peggy\\General\\InstallFolder");
 
参照 その他関数writeRegistry() 関数 deleteRegistry() 関数


require() 関数
機能 必要に応じてライブラリをロードします。
書式 require(library [, forceLoad])
引数 library ...... 必要としているライブラリの名前
forceLoad ...... 強制的に再読み込みさせる
戻り値 なし
 
詳細

必要に応じてlibraryで指定されたライブラリを読み込みます。

ここで言う「ライブラリを読み込む」とは、 「ライブラリファイルをコンパイルして一度実行する」ということと同義です。 ライブラリが読み込まれると、 グローバルスコープのModuleオブジェクトにファイルのタイムスタンプ情報がNumber型として保存されます。

libraryは、絶対パスまたは相対パスで指定できます。 相対パスで指定した場合は、<share\script>からの相対と見なします。 また拡張子を省略した場合は、<.msl>と見なします。

同じライブラリの同じタイムスタンプのものは、一度しか読み込みません。 同じファイルでも更新されタイムスタンプが変化していれば、再度読み込みます。 また、forceLoadtrueが指定されていると、 何度でも強制的に読み込ませることができます。

【メモ】
#includeによりライブラリをファイルの一部としてインクルードする方法とは、 以下のような違いがあります。

#inlucde
#inlucdeは、コンパイル時に指定されたファイルを、 あたかもそこに記述しているかのように取り込みます。 そのため、あちこちのファイルから同じものをインクルードすると、 メモリ上にも重複して記憶されます。

require()関数
一方require()関数によるライブラリの読み込みは、 (コンパイル時ではなく)最初にrequire()関数が実行されたときに行われます。 また2回目以降は、ライブラリファイルのタイムスタンプが変化している場合だけ読み込みます。 これにより、同じコードが幾つもメモリ上へ確保されるのを防ぐことができます。
【注意】
require()を呼び出している側と、 require()によってコンパイル&実行されているライブラリ側のスコープは、 グローバルスコープを除いて分離されています。 従ってライブラリファイル中で定義されている関数・変数を、 require()を呼び出しているコンテキストから参照することはできません。

またその逆で、require()を実行しているスクリプトで定義している関数・変数を、 読み込んでいるライブラリ内部から参照することもできません。 つまり、あたかもライブラリが単独であるかのような状態で実行されるのです。 require()関数で読み込むライブラリは、 グローバルスコープなど実行終了後も残る場所へ関数や定数を登録するようにします。

 
// FTPライブラリを読み込みます。
require("FTP");
 
参照 #include文


RGB() 関数
機能 赤、緑、青からRGB値を作成します。
書式 RGB(red, green, blue)
引数 red ...... 赤(0 〜 255)
green ...... 緑(0 〜 255)
blue ...... 青(0 〜 255)
戻り値 RGB値
 
詳細

赤、緑、青からRGB値を作成します。



runCommand() 関数
機能 コマンドを実行し出力をアウトプットウインドウにリダイレクトします。
書式 (1) runCommand(command [, folder [, inpfile [, outfile [, outputPage [, encoding]]]]])
(2) runCommand(command [, folder [, inpfile [, outfile [, errfile]]]])
引数 command ...... 実行するコマンドとパラメタ
folder ...... 実行フォルダ
inpfile ...... 標準入力へリダイレクトするファイル
outfile ...... 標準出力をリダイレクトするファイル
outputPage ...... 出力をリダイレクトするアウトプットウインドウのページ(Peggy組み込み版)
encoding ...... コマンド出力の漢字コード(Peggy組み込み版)
errfile ...... 標準エラー出力をリダイレクトするファイル(コマンドライン版)
戻り値 コマンドの終了コード、またはエラーコード
 
詳細

runCommand() 関数は、Peggy組み込み版(書式(1))とコマンドライン版(書式(2))で少し異なります。 Peggy 組み込み版では、commandを隠れたDOS窓で実行し、コマンドからの出力をアウトプットウインドウへ表示します。 コマンドライン版では、commandを子プロセスとして実行します。 commandには、コマンド名とパラメタを含んだものを指定します。

folderを指定すると、コマンドをそのフォルダ中で実行します。 folderを省略、またはnullを指定した場合には、 カレントフォルダで実行します。

inpfileoutfileを指定すると、 それぞれコマンドの標準入力、標準出力をリダイレクトします。 inpfileを省略またはnullを指定すると、 空のデバイスNULが標準入力として割り当てられます。 Peggy 組み込み版でoutfileを省略またはnullとすると、 アウトプットウインドウのページにリダイレクトされます。 標準エラー出力は、常にアウトプットウインドウへ表示されます。

outputPage(書式(1) コマンドライン版のみ)を指定すると、そのページに出力が送られます。 outputPageを省略すると、[スクリプト]ページに出力されます。 そのときencoding(書式(1) コマンドライン版のみ)を指定しておくと、コマンドの出力が指定漢字コードであるとみなし、 Shift JISに変換してからアウトプットウインドウへリダイレクトします。 指定できる漢字コードは、以下の7種類です。

Shift JIS     File.ENCODING_SJIS (=3)
EUCFile.ENCODING_EUC (=4)
JISFile.ENCODING_JIS (=5)
UTF-7File.ENCODING_UTF7 (=8)
UTF-8File.ENCODING_UTF8 (=6)
UTF-8NFile.ENCODING_UTF8N (=9)
UnicodeFile.ENCODING_UNICODE (=7)

コマンドライン版では、outputPageの代わりにerrfile (書式(2))を指定することで、 標準エラー出力をファイルにリダイレクトできます。

コマンドが起動できたときは、そのコマンドの終了コードを返します。 コマンドが起動できなかったとき、 または起動できても途中でユーザにより停止された場合は、以下のエラーコードを返します。

エラーコードエラー原因
-1コマンドが見つからない
-2ユーザによりコマンド実行を中止した (Peggy 組み込み版のみ)
-3既に子プロセス実行中である(Peggy 組み込み版のみ・同時には1つしか実行できない)

【注意】
すでに何らかの子プロセス実行中にスクリプトを起動し、 その中からrunCommand()関数を使ってさらに別の子プロセスを実行することはできません。
【注意】
スクリプトから子プロセス実行中に、他のスクリプトコマンドを実行することはできません。

 
// cvs で変更箇所を調べる。
runCommand("cvs -q diff");
 
参照 shellExecute() 関数


runScript() 関数
機能 他のスクリプトを実行します。
書式 runScript(command)
引数 command ...... 実行するスクリプトのコマンド名
戻り値 戻りません。
 
詳細

現在実行しているスクリプトを終了し、commandで指定されたスクリプトを実行します。

同じスクリプトファイルでも別のスクリプトファイルでもかまいません。 コマンド名commandは、 "Sample.ms:Face.Smile"のようにファイル名を含む完全なコマンド名でなければなりません。

【注意】
指定コマンドが存在しない場合でも、このコマンドからはリターンしません。

 
// 笑顔を挿入する。
runScript("Sample.ms:Face.Smile");


saveAll() 関数
機能 変更しているすべてのファイルを保存します。
書式 saveAll([quiet [, ignoreUntitled]])
引数 quiet ...... 保存するかどうかをファイル毎に問い合わせません
ignoreUntitled ...... 無題のファイルを保存対象にしません
戻り値 最後まで保存した場合はtrue、それ以外はfalse
 
詳細

編集中のファイルで変更されているものをすべて保存します。

quiettrueを指定すると、 保存するかどうかの問い合わせを省略し、すべてを保存します。 quietを省略するかfalseを指定すると、 ファイル毎に保存するかどうかを選択できます。

ignoreUntitledtrueを指定すると、 まだ一度も保存されていないファイルを保存の対象から外します。

 
// 変更されているすべてのファイルを問い合わせなしで保存します。
saveAll(true);
 
参照 closeAll() 関数


sendMail() 関数
機能 MAPI経由でメール作成機能を呼び出します。
書式 sendMail([message])
引数 message ...... 作成するメッセージ情報を収めたオブジェクト
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

MAPI(Mail Application Program Interface)を使って送信メールを作成します。

どのようなメールを作成するかは、messageオブジェクトのプロパティで指定します。 messageオブジェクトの不要なプロパティは省略できます。 messageオブジェクト自体を省略すると、プロパティを何も指定しなかったのと同じです。

以下のプロパティをmessageオブジェクトに設定できます。

プロパティ 内容
to string
array
宛先を指定します。 宛先が1つだけのときは、そのまま文字列として設定できます。 宛先が複数ある場合は、文字列の配列としてセットします。 個々のメールアドレスは、以下の3通りの形式を指定できます。

"株式会社エスコア" <anchor@anchorsystems.jp>
<anchor@anchorsystems.jp>
anchor@anchorsystems.jp

これらの指定方法は、以下のccbccプロパティでも同じです。

cc string
array
コピー配布先を指定します。
指定方法はtoと同じです。
bcc string
array
表示しないコピー配布先
指定方法はtoと同じです。
subject string 表題とする文字列を指定します。
text string 本文を指定します。
attach string
array
添付ファイルを指定します。
複数添付したいときは、配列に入れてセットします。

【注意】
デフォルトで指定されているメーラーによって、正しく動作しない場合があります。

 
// メールを作成します。
var message = { };
message.to = "nobody@somecompany.co.jp";
message.subject = "テストです";
sendMail(message);


setCursorPos() 関数
機能 マウスカーソルのスクリーン座標を設定します。
書式 setCursorPos(x, y)
setCursorPos([x, y])
引数 x, y ...... マウスカーソルを移動するスクリーン座標
[x, y] ...... スクリーン座標を収めたArrayオブジェクト
戻り値 以前のスクリーン座標を収めたArrayオブジェクト
 
詳細

マウスカーソルをスクリーン座標xy、またはArrayオブジェクト[x, y]で指定された場所へ移動します。 戻り値は、移動前のマウスカーソル座標を収めたArrayオブジェクトです。

 
// マウスカーソルのスクリーン座標を(100, 100)に設定します。
setCursorPos(100, 100);
 
参照 getCursorPos() 関数


setDBToolButtonImage() 関数
機能 DBツールボタンにイメージを設定します。
書式 setDBToolButtonImage(from, to [, bitmap [, offset]])
引数 from ...... 設定する最初のDBツールボタン番号(1〜8)
to ...... 設定する最後のDBツールボタン番号(from〜8)
bitmap ...... ビットマップファイルのパス
offset ...... 何番目のボタンイメージから使うか(0〜)
戻り値 イメージを設定できたボタンの個数、失敗した場合は0
 
詳細

fromto番目のDBツールボタンに、 ビットマップファイルbitmapのイメージを設定します。 bitmapを相対パスで指定すると、<share>フォルダからの相対パスであると見なします。 ビットマップファイルbitmapを省略すると、 ボタンのイメージを元の状態へ戻します。

offsetには、ビットマップファイル中のボタンイメージの何番目から使うかを指定します。 最初のイメージが0です。省略したときは、0と見なします。

この関数によりセットしたボタンイメージは保存されるので、 Peggy を再起動しても失われることはありません。

【注意】
1つのボタンの大きさは、横16ドット×縦15ドットです。 1つのビットマップファイルには、複数のボタンイメージを収めることができます。 そのためビットマップファイル全体の大きさは、縦15ドット、横は16ドットの倍数としてください。 縦横ドット数が多少多くても読み込むことは可能ですが、それらのドットは使用されません。

色は16色(4-bit)、256色(8-bit)、65535/32768色(16-bit)、フルカラー(24-bit)のどれでもかまいません。 ただし、明るい灰色(ライトグレー: RGB=192,192,192)は背景色として扱われるので、 実際に描画されるときはシステムで選択されているボタン表面の色に変換されます。
【注意】
Peggyは、 ボタンを表示するのに必要なビットマップファイルを1回だけ読み込みます。 その後、そのファイルが更新されても再読み込みしません。 編集したビットマップファイルを再読み込みさせるには、Peggyを再起動してください。

 
// DBツールボタン1〜3にイメージを設定します。
setDBToolButtonImage(1, 3, "bitmap\\sample.bmp");
 
参照 setScriptButtonImage() 関数setToolButtonImage() 関数その他関数


setErrorStatusText() 関数
機能 ステータスバーにエラーメッセージを表示します。
書式 setErrorStatusText(errorMessage)
引数 errorMessage ...... エラーメッセージ
戻り値 なし(undefined)
 
詳細

ステータスバーにエラーメッセージを表示します。 背景が赤色になりエラーであることを強調します。

 
// ステータスバーに"Not found"と表示します。
setErrorStatusText("Not found");
 
参照 setStatusText() 関数setWarningStatusText() 関数


setScriptButton() 関数
機能 スクリプトボタンにコマンドを設定します。
書式 setScriptButton(button, command)
引数 button ...... スクリプトボタンの番号(1〜72)
command ...... スクリプトコマンド
戻り値 成功した場合は以前に設定されていたコマンド、それ以外はundefined
 
詳細

buttonで指定したスクリプトボタン(1〜72)にスクリプトコマンドcommandを設定します。

スクリプトコマンドcommandは、"<ファイル名>:コマンド名" 形式の文字列です。 スクリプトコマンドの長さは、255バイトまでに制限されています。 また、空の文字列を設定すると、スクリプトボタンが「未設定」になります。

 
// スクリプトボタン1にコマンドを設定します。
setScriptButton(1, "ifdef.ms:MarkIfdef");
 
参照 getScriptButton() 関数getScriptButtonRect() 関数その他関数


setScriptButtonImage() 関数
機能 スクリプトボタンにイメージを設定します。
書式 setScriptButtonImage(from, to [, bitmap [, offset]])
引数 from ...... 設定する最初のスクリプトボタン番号(1〜72)
to ...... 設定する最後のスクリプトボタン番号(from〜72)
bitmap ...... ビットマップファイルのパス
offset ...... 何番目のボタンイメージから使うか(0〜)
戻り値 イメージを設定できたボタンの個数、失敗した場合は0
 
詳細

fromto番目のスクリプトボタンに、 ビットマップファイルbitmapのイメージを設定します。 bitmapを相対パスで指定すると、<share>フォルダからの相対パスであると見なします。 ビットマップファイルbitmapを省略すると、 ボタンのイメージを元の状態へ戻します。

offsetには、ビットマップファイル中のボタンイメージの何番目から使うかを指定します。 最初のイメージが0です。省略したときは、0と見なします。

この関数によりセットしたボタンイメージは保存されるので、 Peggy を再起動しても失われることはありません。

【注意】
1つのボタンの大きさは、横16ドット×縦15ドットです。 1つのビットマップファイルには、複数のボタンイメージを収めることができます。 そのためビットマップファイル全体の大きさは、縦15ドット、横は16ドットの倍数としてください。 縦横ドット数が多少多くても読み込むことは可能ですが、それらのドットは使用されません。

色は16色(4-bit)、256色(8-bit)、65535/32768色(16-bit)、フルカラー(24-bit)のどれでもかまいません。 ただし、明るい灰色(ライトグレー: RGB=192,192,192)は背景色として扱われるので、 実際に描画されるときはシステムで選択されているボタン表面の色に変換されます。
【注意】
Peggyは、ボタンを表示するのに必要なビットマップファイルを1回だけ読み込みます。 その後、そのファイルが更新されても再読み込みしません。 編集したビットマップファイルを再読み込みさせるには、Peggyを再起動してください。

 
// スクリプトボタン1〜3にイメージを設定します。
setScriptButtonImage(1, 3, "bitmap\\sample.bmp");
 
参照 getScriptButton() 関数setScriptButton() 関数setToolButtonImage() 関数setDBToolButtonImage() 関数その他関数


setStatusText() 関数
機能 ステータスバーにメッセージを表示します。
書式 setStatusText(message)
引数 message ...... ステータスバーに表示するメッセージ
戻り値 なし(undefined)
 
詳細

ステータスバーにメッセージを表示します。

 
// ステータスバーに"Hello"と表示します。
setStatusText("Hello");
 
参照 setWarningStatusText() 関数setErrorStatusText() 関数


setTimer() 関数
機能 Event.onTimer()イベントハンドラを呼び出すタイマーを起動/停止します。
書式 setTimer(interval)
引数 interval ...... タイマーの間隔(秒単位)
戻り値 タイマーが起動した場合は非0の値、それ以外は0
 
詳細

intervalで指定した秒間隔でタイマーを起動します。 Event.onTimer()イベントハンドラがセットされていると、 ここで指定した時間間隔で呼び出されるようになります。

intervalに0を指定すると、タイマーを停止します。

 
// 1分間隔のタイマーを起動します。
setStatusText(60);
 
参照 Event オブジェクト


setToolButtonImage() 関数
機能 ユーザ定義ツールボタンにイメージを設定します。
書式 setToolButtonImage(from, to [, bitmap [, offset]])
引数 from ...... 設定する最初のユーザ定義ツールボタン番号(1〜24)
to ...... 設定する最後のユーザ定義ツールボタン番号(from〜24)
bitmap ...... ビットマップファイルのパス
offset ...... 何番目のボタンイメージから使うか(0〜)
戻り値 イメージを設定できたボタンの個数、失敗した場合は0
 
詳細

fromto番目のユーザ定義ツールボタンに、 ビットマップファイルbitmapのイメージを設定します。 bitmapを相対パスで指定すると、<share>フォルダからの相対パスであると見なします。 ビットマップファイルbitmapを省略すると、 ボタンのイメージを元の状態へ戻します。

offsetには、ビットマップファイル中のボタンイメージの何番目から使うかを指定します。 最初のイメージが0です。省略したときは、0と見なします。

【注意】
この関数によりセットしたボタンイメージは保存されません。 スクリプトやDBツールボタンと違い、Peggy を再起動すると失われますので注意してください。
【注意】
1つのボタンの大きさは、横16ドット×縦15ドットです。 1つのビットマップファイルには、複数のボタンイメージを収めることができます。 そのためビットマップファイル全体の大きさは、縦15ドット、横は16ドットの倍数としてください。 縦横ドット数が多少多くても読み込むことは可能ですが、それらのドットは使用されません。

色は16色(4-bit)、256色(8-bit)、65535/32768色(16-bit)、フルカラー(24-bit)のどれでもかまいません。 ただし、明るい灰色(ライトグレー: RGB=192,192,192)は背景色として扱われるので、 実際に描画されるときはシステムで選択されているボタン表面の色に変換されます。
【注意】
Peggyは、ボタンを表示するのに必要なビットマップファイルを1回だけ読み込みます。 その後、そのファイルが更新されても再読み込みしません。 編集したビットマップファイルを再読み込みさせるには、Peggyを再起動してください。

 
// ユーザ定義ツールボタン1〜3にイメージを設定します。
setToolButtonImage(1, 3, "bitmap\\sample.bmp");
 
参照 setScriptButtonImage() 関数setDBToolButtonImage() 関数その他関数


setWarningStatusText() 関数
機能 ステータスバーに警告メッセージを表示します。
書式 setWarningStatusText(warningMessage)
引数 warningMessage ...... 警告メッセージ
戻り値 なし(undefined)
 
詳細

ステータスバーに警告メッセージを表示します。 ステータスバーの背景色が警告色(黄色)になります。

 
// ステータスバーに"Look out!!"と表示します。
setWarningStatusText("Look out!!");
 
参照 setStatusText() 関数setErrorStatusText() 関数


shellExecute() 関数
機能 Win32 APIのShellExecute() 関数を実行します。
書式 shellExecute(verb, file [, params [, folder [, cmd]]])
引数 verb ...... 実行すべき操作、またはnull
file ...... 操作対象のファイル
params ...... パラメタ、またはnull
folder ...... 実行フォルダ、またはnull
cmd ...... アプリケーションの表示方法を指定するフラグ(SW_SHOWなど)
戻り値 ShellExecute Win32 APIの戻り値
 
詳細

Win32 APIのShellExecute関数を実行します。 詳細は、Win32 APIのマニュアルを参照してください。 親ウインドウのハンドルは、Peggyのフレームウインドウとなります。

 
// 関連付けされているアプリケーションでファイルを開きます。
shellExecute("open", "builtins.html");
 
参照 runCommand() 関数


showWindowTab() 関数
機能 ウインドウタブの表示/非表示を切り替えます。
書式 showWindowTab([show])
引数 show ...... ウインドウタブ表示/非表示の指定
戻り値 ウインドウタブが表示されたときはtrue、それ以外はfalse
 
詳細

ウインドウタブの表示/非表示を切り替えます。 showtrueを指定すると、ウインドウタブを表示します。 showfalseを指定すると、ウインドウタブを消します。 showを省略すると、表示/非表示を反転させます。

 
// ウインドウタブを表示します。
showWindowTab(true);


VP() 関数
機能 表示行とカラムを指定してPointオブジェクトを作成します。
書式 VP([viewLine [, column [, threshold]]])
引数 viewLine ...... 表示行番号(1 〜)
column ...... カラム位置(1 〜)
threshold ...... 文字の後と判定するしきい値
戻り値 Pointオブジェクト
 
詳細

表示行とカラムを指定してPointオブジェクトを作成します。

viewLineを省略すると先頭行(=1)、 columnを省略すると表示行頭(=1)と見なします。 thresholdを指定すると、 指定カラムが文字の途中を指していた場合に文字の前と判定するか後と判定するかのしきい値を設定できます。 詳しくは、Pointオブジェクトを参照してください。

 
// 100行目の10桁目を表すPointオブジェクトを作成します。
var pt = VP(100, 10);
 
参照 EP() メソッドPoint() コンストラクタPointオブジェクト


writeRegistry() 関数
機能 レジストリに値を書き込みます。
書式 writeRegistry(entry, value [, type])
引数 entry ...... 値を設定したいレジストリのエントリ
value ...... エントリに書き込む値
type ...... データ型 (1〜4)
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

entryで指定されたレジストリのエントリに値valueを書き込みます。 typeに以下の値を指定すると、そのデータ型で書き込みます。 typeを省略した場合は、 valueのデータ型がintegerかbooleanならばREG_DWORD、 それ以外は文字列に変換してREG_SZとして書き込みます。

1 ...... 文字列 (REG_SZ)
2 ...... 文字列 (REG_EXPAND_SZ)
3 ...... バイナリデータ (REG_BINARY)
4 ...... 整数 (REG_DWORD)

【重要】
レジストリにはシステムの重要なデータも収められているため、 不用意に書き換えるとシステムが不安定になったり、起動しなくなることもあります。 そのため、十分に注意してこの関数を使うようにしてください。
【注意】
不用意な書き換えを防ぐため、 [オプション設定]ダイアログボックス[編集]ページの[編集オプション]の最後にある [スクリプトからレジストリへの書き込みで警告を出す]をONにしておくことをお勧めします。 このオプションをセットしておくと、 MocaScriptからレジストリを書き換える直前に警告ダイアログボックスが表示されるようになり、 正しい書き込みかどうかが確認できます。 このオプションは、デフォルトでONになっています。

 
// Peggyのインストールフォルダを取得します。
writeRegistry("HKEY_CURRENT_USER\\Software\\Anchor\\Peggy\\General\\UserName", "Mark");
 
参照 その他関数readRegistry() 関数 deleteRegistry() 関数




Point オブジェクト

Pointオブジェクトは、Viewの編集対象となる位置を指定するための情報を収めたオブジェクトです。 Pointオブジェクトは、下表のプロパティすべてか、その一部を持っています。

プロパティ名 分類
line integer fileLine の別名 ファイル行/インデックス
fileLine integer ファイル行番号 (1 〜 )
index integer ファイル行中の文字インデックス (0 〜 )
viewLine integer 表示行番号 (1 〜 ) 表示行/カラム
column integer カラム (1 〜 )
threshold integer 次の文字と見なすカラム違いのしきい値 (1 〜 )

linefileLineindexは、 ファイル行を基準としたカーソル位置を示しています。 それに対してviewLinecolumnは、 表示行とカラムを基準としたカーソル位置を表します。

View.getCurrentPoint()メソッドなど、 幾つかのViewクラスメソッドは、引数として受け取ったり、 結果として返したりします。 Pointオブジェクトを返すメソッドでは、 できるだけすべてのプロパティに正しい値を入れて返します。 例えばView.getCurrentPoint()の場合、 カーソル位置のファイル行の何文字目にあるかを知ることができるのと同時に、 表示上何行目の何カラム目にあるかのも判ります。

Pointオブジェクトを受け取るメソッドは、 line、またはfileLineプロパティがあれば「ファイル行/文字インデックス」、 linefileLineのどちらもなく、viewLineがある場合は「表示行/カラム」基準と判断します。 両方ある場合は、「ファイル行/文字インデックス」基準が優先します。

プロパティ 解釈方法
line、またはfileLineがある ファイル行/文字インデックス基準
viewLineがある 表示行/カラム基準
どちらもない エラー

これを使い分けることにより、 同じメソッドでも都合のよい方の位置を指定することができます。 なお、indexプロパティ、columnプロパティは省略してもかまいません。 それぞれ、0(ファイル行の行頭)、1(表示行の行頭)と見なします。


    // 10行目の11文字目にカーソルを移動する。
    var p1 = new Object();
    p1.line = 10;
    p1.index = 10;
    gotoPoint(p1);

    // 表示100行目の20桁にカーソルを移動する。
    var p2 = new Object();
    p2.viewLine = 100;
    p2.column = 20;
    gotoPoint(p2);

【メモ】
Pointオブジェクトは、 EP()関数VP() 関数Point()コンストラクタを使って作成することができます。

しかし、編集位置を指定するためにいちいちPointオブジェクトを生成するのは手間です。 そのため、Pointオブジェクトを指定できる所には数値を渡すと、 その数値をファイル行番号と解釈し、 そのファイル行の行頭が指定されたと見なします。 つまりファイル行の行頭は、行番号だけで指定できることになります。


    // 50行の行頭にカーソルを移動する。
    var pt = new Object();
    pt.line = 50;
    pt.index = 0;
    gotoPoint(pt);

    // もっと簡単には、単に50でもOK。
    gotoPoint(50);

thresholdプロパティは、 表示行/カラムで示された場所が文字の途中になっている場合、 表示行/カラムからファイル行/インデックスへ変換するときに参照されます。 例えばタブや全角文字の場合に発生します。 指定したカラムと、そのカラムを含んでいる文字の先頭カラムの差がthresholdプロパティ以上であれば、 その文字の後と見なします。 threshold未満、またはthresholdプロパティが未定義の場合は、 文字の前と判定します。



Point() コンストラクタ
機能 Pointオブジェクトを生成して初期化します。
書式 (1) new Point(fileLine [, index])
(2) new Point(aView)
(3) new Point(aPoint)
(4) new Point()
引数 fileLine ...... ファイル行番号 (1 〜 )
index ...... 行中の文字インデックス (0 〜 )
aView ...... Viewオブジェクト
aPoint ...... Pointオブジェクト
戻り値 Pointオブジェクト
 
詳細

Pointオブジェクトを生成して初期化します。

書式(1)は、ファイル行番号fileLineとその行中の文字インデックスindexから、 Pointオブジェクトを作成します。 indexを省略すると、0と見なして作成します。

書式(2)は、編集ウインドウaViewのカーソル位置を取得して、それを表すPointオブジェクトを作成します。 書式(3)は、PointオブジェクトaPointのコピーを作成します。 書式(4)は、ファイル行1、文字インデックス0、つまりファイルの先頭を表すPointオブジェクトを作成します。

 
// 10行目の先頭を表すPointオブジェクトを生成します。
var pt = new Point(10);
 
参照 EP() 関数VP() 関数Pointオブジェクト




View クラス

Viewオブジェクトは、編集ウインドウを表すMocaScriptのオブジェクトです。 Viewオブジェクトには沢山のメソッドが用意してあり、 それらを使って編集機能を自由に拡張することができます。

Viewクラス - カーソル移動メソッド

分類 Viewメソッド 機能
カーソル移動 gotoPoint(aPoint [, extend]) 指定ポイントへカーソル移動する。
movePoint(aPoint [, numberOfCharacters]) ポイントを前後に移動させる。
charLeft([repeatCount [, extendSelection]]) 左へrepeatCount文字カーソル移動する。
charRight([repeatCount [, extendSelection]]) 右へrepeatCount文字カーソル移動する。
wordLeft([repeatCount [, extendSelection]]) 左へrepeatCount単語カーソル移動する。
wordRight([repeatCount [, extendSelection]]) 右へrepeatCount単語カーソル移動する。
wordBoundaryLeft([repeatCount [, extendSelection]]) 左の単語境界へrepeatCount回カーソル移動する。
wordBoundaryRight([repeatCount [, extendSelection]]) 右の単語境界へrepeatCount回カーソル移動する。
home([extendSelection]) 行頭または行の最初に非空白文字へカーソルを移動する。
end([extendSelection]) 行末へカーソルを移動する。
lineUp([repeatCount [, extendSelection]]) カーソルをrepeatCount行上に移動する。
lineDown([repeatCount [, extendSelection]]) カーソルをrepeatCount行下に移動する。
pageUp([repeatCount [, extendSelection]]) カーソルをrepeatCountページ(画面)上に移動する。
pageDown([repeatCount [, extendSelection]]) カーソルをrepeatCountページ(画面)下に移動する。
halfPageUp([repeatCount [, extendSelection]]) カーソルをrepeatCount回半ページ(半画面)上に移動する。
halfPageDown([repeatCount [, extendSelection]]) カーソルをrepeatCount回半ページ(半画面)下に移動する。
documentStart([extendSelection]) カーソルをファイルの先頭へ移動する。
documentEnd([extendSelection]) カーソルをファイルの最後へ移動する。
windowTopLine() カーソルを編集ウインドウの左上へ移動する。
windowBottomLine() カーソルを編集ウインドウの左下へ移動する。
windowCenterLine() カーソルを編集ウインドウの左中央へ移動する。
swapAnchorCurrent() アンカーポイントとカレントポイントを入れ替える。

Viewクラス - ジャンプメソッド

分類 Viewメソッド 機能
ジャンプ gotoLine([lineNumber]) 指定行へジャンプダイアログボックスを表示する
getBookmark(fileLine) ブックマークを取得する。
setBookmark(fileLine [, mark]) 指定ファイル行にブックマークを設定する。
toggleBookmark([markType]) カーソル行にブックマークを設定/解除する。
gotoNextBookmark() 次のブックマークへジャンプする。
gotoPreviousBookmark() 前のブックマークへジャンプする。
clearAllBookmarks() ファイルのすべてのブックマークをクリアする。
gotoLastModified() 最終変更箇所へジャンプする。
gotoMatchBrace([extendSelection [, ignoreSyntax]]) 対応する括弧へジャンプする。
gotoNextLabel() 次の見出し、ラベル、関数へジャンプする。
gotoPreviousLabel() 前の見出し、ラベル、関数へジャンプする。
gotoNextConditional() 次の対応する条件コンパイル文にジャンプする。
gotoPreviousConditional() 前の対応する条件コンパイル文にジャンプする。
gotoNextTouched() 次の変更行にジャンプする。
gotoPreviousTouched() 前の変更行にジャンプする。
clearAllTouched() 変更行情報をクリアする。

Viewクラス - 選択メソッド

分類 Viewメソッド 機能
選択 charSelectMode() 文字選択モードに切り替える。
blockSelectMode() 矩形選択モードに切り替える。
selectWord() カーソル位置の単語を選択する。
selectLine([fileOfView]) カーソルのある行を選択する。
selectBraces([outside]) カーソル位置を含む括弧を選択する。
selectComment([outside]) カーソル位置を含んだコメントを選択する。
selectAll() 編集中のテキスト全体を選択する。
outputSelection() 選択範囲をアウトプットウインドウのアクティブなページへ出力する。
getCurrentPoint() カーソル位置(カレントポイント)情報を取得する。
getAnchorPoint() 選択開始位置(アンカーポイント)情報を取得する。
getSelection() 選択範囲の情報を取得する。
setSelection(aPointArray) 選択範囲を設定する。
cancelSelection() 選択範囲をキャンセルする。
isExtending() 選択範囲の拡張をロックしているかどうかを調べる。

Viewクラス - テキスト取得メソッド

分類 Viewメソッド 機能
テキスト取得 getText([numberOfCharacters]) カーソル位置から指定文字数のテキストを取得する。
getTextAt(aPoint [, numberOfCharacters]) 指定位置から文字列を取得する。
getTextBetween(aPoint1, aPoint2) 指定した2ポイント間のテキストを取得する。
getSelectedText() 選択されているテキストを取得する。
getWord() 選択範囲または単語または文字を取得する。
getLine([fileLineNumber [, wantNewline]]) 行のテキストを取得する。
getLineLength([fileLineNumber [, wantNewline]]) 行の文字数を取得する。
getLineByteLength([fileLineNumber [, wantNewline]]) 行のバイト数を取得する。

Viewクラス - テキスト挿入メソッド

分類 Viewメソッド 機能
テキスト挿入 insertText(str1 [, str2...]) カーソル位置にテキストを挿入する。
insertTextAt(aPoint, str1 [, str2...]) 指定位置に文字列を挿入する。
insertControlCode() カーソル位置に制御コードを挿入する。
insertNewlines() 選択範囲の折り返し表示位置に改行コードを挿入する。
insertRGBValue() カーソル位置にRGB値を挿入する。
insertDate() カーソル位置に日時/日付/時間を挿入する。
fillToNextGuideline([spaceOnly]) 次のガイドライン位置まで空白文字を埋めながらカーソルを進める。
openLineAbove([repeatCount]) カーソルのある行の上に空白行を挿入する。
openLineBelow([repeatCount]) カーソルのある行の下に空白行を挿入する。
duplicateLine([repeatCount]) カーソルのある行を複製する。
insertComment() カーソル位置にコメントを挿入する。
commentWord() カーソル位置の単語をコメント化する。
commentLine() 選択している行をコメント化する。
completeKeyword() カーソル位置のヒントを元にキーワード補完する。
completeWord([direct [, lines]]) カーソル位置のヒントを元に単語補完を行います
insertMailQuote() 選択範囲の行頭にメール引用符を挿入する。

Viewクラス - テキスト削除メソッド

分類 Viewメソッド 機能
テキスト削除 removeMailQuote() 選択範囲の行頭のメール引用符を削除する。
backspace([repeatCount]) カーソル直前の文字を削除する。
deleteText([repeatCount]) カーソル位置の文字を削除する。
deleteTextAt(aPoint [, repeatCount]) 指定ポイントから文字を削除する。
deleteTextBetween(aPoint1, aPoint2) 指定2ポイント間の文字を削除する。
deleteAll() すべて削除する。
deleteWord([repeatCount]) カーソル位置の単語を削除する。
deleteWordToEnd() カーソル位置から行末に向かって単語を削除する。
deleteWordToBegin() カーソル位置から行頭に向かって単語を削除する。
deleteToEnd([viewOrFileLine]) カーソル位置から行末までを削除する。
deleteToHome([viewOrFileLine]) カーソル位置から行頭までを削除する。
deleteComment([how]) 選択範囲にあるコメントを削除する。
deleteNewlines() 選択範囲の改行コードを削除する。
deleteSpaces() 連続している空白文字を1つにまとめる。
deleteLine([repeatCount [, viewOrFileLine]]) カーソルのある行を削除する。
deleteBlankLines() 選択範囲の連続した空白行を1つにまとめる。
deleteTrailingSpaces() 選択範囲の行末の空白文字を削除する。

Viewクラス - テキスト編集メソッド

分類 Viewメソッド 機能
テキスト編集 enterUndoGroup() Undo操作のグループ化を開始する。
leaveUndoGroup([all]) Undo操作のグループ化を終了する。
undo([repeatCount]) 直前の編集操作を取り消す。
redo([repeatCount]) 直前に取り消した編集操作を再実行する。
cut([append]) 選択範囲を切り取りクリップボードへセットする。
cutWord([append]) カーソル位置の単語を切り取りクリップボードへセットする。
cutLine([append [, viewOrFileLine]]) カーソル位置の行を切り取りクリップボードへセットする。
copy([append]) 選択範囲をクリップボードへコピーする。
copyWord([append]) カーソル位置の単語をクリップボードへコピーする。
copyLine([append [, viewOrFileLine]]) カーソル位置の行をクリップボードへコピーする。
paste() クリップボードを内容を貼り付ける。
linePaste() クリップボードを内容を行として貼り付ける。
transposeChar() カーソル前後の文字を入れ替える。
transposeWord() カーソル前後の単語を入れ替える。
transposeLine() カーソルのある行と全行を入れ替える。
alignText(alignment) 選択範囲のテキストを左、右、中央揃える。
sortLines([reverse [, ignoreWhites]]) 選択範囲の行をソートする。
reverseLines() 選択範囲の行を逆順にする。
getIMEOpen() 仮名漢字変換がonかどうか調べる。
setIMEOpen([openOrClose]) 仮名漢字変換をon/offする。
getInsertMode() 挿入モード/上書きモードを取得する。
setInsertMode([insert]) 挿入モード/上書きモードを切り替える。

Viewクラス - 検索置換メソッド

分類 Viewメソッド 機能
検索置換 findForward(regexpOrString [, option [, fuzzy]]) テキストの終りに向かって文字列を検索する。
findBackward(regexpOrString [, option [, fuzzy]]) テキストの先頭に向かって文字列を検索する。
search(regexpOrString [, start [, stop [, opt [, fuzzy]]]]) 文字列を検索する。
replace(regexpOrString, stringOrFunction [, start [, stop [, opt[, fuzzy]]]]) 文字列を置換する。
replaceTextAt(aPoint, numberOfCharacters, str1 [, str2...]) 指定ポイントからテキストを置き換える。
replaceTextBetween(aPoint1, aPoint2, str1 [, str2...]) 指定2ポイント間のテキストを置き換える。
setHighlight(regexpOrString [, opt [, fuzzy]]) 検索強調表示を設定する。
clearHighlight() 検索強調表示をクリアする。

Viewクラス - 変換メソッド

分類 Viewメソッド 機能
変換メソッド upperCaseSelection() 選択範囲のASCII英小文字を大文字に変換する。
lowerCaseSelection() 選択範囲のASCII英大文字を小文字に変換する。
flipCaseSelection() 選択範囲のASCII英大文字/小文字を逆にする。
capitalizeSelection() 選択範囲のASCII英単語の頭文字を大文字に変換する。
upperCaseWord() 単語を大文字化する。
lowerCaseWord() 単語を小文字化する。
flipCaseWord() 単語の大文字/小文字を逆転する。
capitalizeWord() 単語の頭文字だけ大文字にする。
tabifySelection([bAll]) 選択範囲のスペースをタブに変換する。
untabifySelection([bAll]) 選択範囲のタブをスペースに変換する。
replaceNewlineWithSpace() 選択範囲の改行を1つのスペースに変換する。
indentSelection([repeatCount]) 選択範囲のインデントを1レベル深くする。
unindentSelection([repeatCount]) 選択範囲のインデントを1つ浅くする。
smartIndent() カーソル行のインデントを調整する。
smartIndentSelection([from [, to]]) 選択範囲または指定された行範囲のインデントを調整する
katakanaSelection() 選択範囲のひらかなをカタカナに変換する。
hirakanaSelection() 選択範囲の全角カタカナをひらかなに変換する。
zenkakuSelection([characterType]) 選択範囲の指定種類の半角文字を全角に変換する。
hankakuSelection([characterType]) 選択範囲の指定全角文字を半角に変換する。
convertSelection([encoding]) 選択範囲の漢字コードをShift JISに変換する。

Viewクラス - HTML編集メソッド

分類 Viewメソッド 機能
HTML編集 htmlBreakLine([repeatCount]) カーソル位置に<br>を挿入する。
htmlNextTag([selectTag]) カーソルを次のHTMLタグへ移動する。
htmlPreviousTag([selectTag]) カーソルを前のHTMLタグへ移動する。
htmlGoToMatching([selectTag]) 対応するHTMLタグへジャンプする。
htmlSelectTag() カーソル位置のHTMLタグを選択する。
htmlSelectText() カーソル位置を含んだHTMLタグ間のテキストを選択する。
htmlSelectTagPair() ペアとなるHTMLタグを選択する。
htmlDeleteTag() カーソル位置のHTMLタグを削除する。
htmlDeleteTagPair() カーソル位置のHTMLタグと対になるタグを削除する。
htmlUpperCaseElement() 選択範囲のエレメント名を大文字化する。
htmlLowerCaseElement() 選択範囲のエレメント名を小文字化する。
htmlConvertToEntity() 選択範囲の&、<、>、"などの文字をエンティティ化する。
htmlConvertFromEntity() 選択範囲の&amp;、&lt;、&gt;、&quot;などのエンティティを対応する文字に変換する。
convertHtmlToText() 選択範囲のHTMLをテキストに変換する。
htmlGetTag([aPoint]) 指定ポイントを含むHTMLタグの範囲を取得する。
htmlGetNextTag([aPoint [, elementName]]) 指定ポイントの次のHTMLタグの範囲を取得する。
htmlGetPreviousTag([aPoint [, elementName]]) 指定ポイントの前のHTMLタグの範囲を取得する。
htmlGetMatchingTag([aPoint]) 指定ポイントのHTMLタグと対になるタグの情報を取得する。
htmlGetTagPair([aPoint]) 指定ポイントを含むHTMLタグとそれと対になるタグの情報を取得する。

Viewクラス - 罫線メソッド

分類 Viewメソッド 機能
罫線 drawLineLeft([repeatCount]) 左へ向かって罫線を引く。
drawLineRight([repeatCount]) 右へ向かって罫線を引く。
drawLineUp([repeatCount]) 上に向かって罫線を引く。
drawLineDown([repeatCount]) 下に向かって罫線を引く。
eraseLineLeft([repeatCount]) 左に向かって文字罫線を消去する。
eraseLineRight([repeatCount]) 右に向かって文字罫線を消去する。
eraseLineUp([repeatCount]) 上に向かって文字罫線を消去する。
eraseLineDown([repeatCount]) 下に向かって文字罫線を消去する。
setLineType(lineType) 文字罫線の種類を設定する。

Viewクラス - 補完メソッド

分類 Viewメソッド 機能
補完メソッド getKeywordCandidates(hint) ヒントに一致するキーワード補完の候補を検索する。
getKeywordTooltip(keyword) キーワードのチップ文字列を取得する。
popupList(arrayOrAssoc [, hint [, ignoreCase]]) 補完ポップアップリストを表示する。
isPopupListOpened() 補完ポップアップリストが表示されているか調べる。

Viewクラス - ファイル操作メソッド

分類 Viewメソッド 機能
ファイル getReadOnly() 編集禁止かどうかを取得する。
setReadOnly([true_or_false]) 編集禁止をon/offする。
getEncoding() 漢字コードを取得する。
setEncoding(encoding) テキストの漢字コードを変更する。
getFilePath() ファイルのパスを取得する。
isModified() 変更されているかどうかを返す。
saveFile() 上書き保存する。
saveFileAs([saveAsName]) テキストを別名で保存する。
saveFileTo([saveToName]) テキストを別のファイルに保存する。
reopenFile([encoding [, forceReload]]) 漢字コードを指定してファイルを読み直す。
closeFile([forceClose]) ファイルを閉じる。
newWindow() 新しいウインドウを開く。
closeWindow([forceClose]) ウインドウを閉じる。

Viewクラス - 情報取得・設定メソッド

分類 Viewメソッド 機能
情報取得・設定 getLineCount() ファイル行数を取得する。
getViewLineCount() 表示行数を取得する。
getTabStop() タブ間隔を取得する。
setTabStop(tabStop) タブ間隔を設定する。
getNewline() 改行コードを取得する。
setNewline(newlineString) 改行コードを設定します。
getLanguageID() 設定されている言語モードの識別名を返す。
getLanguageName() 設定されている言語モードの名称を返す。
setLanguageMode([languageID]) 言語モードを設定する。
getContext([aPoint]) カーソル位置または指定位置のコンテキストを取得する。
getColorCode([aPoint]) カーソル位置または指定位置のカラーコードを取得する。
getColorSegments([line]) カーソル行または指定行を表示色に従って分解する。
getUndoList([insert [, maxlen [, undo [, redo]]]]) UNDOバッファ中の文字列リストを取得する。
getCommandNumber() 現在の編集コマンド番号を取得する。
getTitle() 編集ウインドウのタイトルを取得する。
setTitle(title) 編集ウインドウのタイトルを設定する。
isLineModified([fileLineNumber]) ファイルの行が変更されているかどうかを取得する。

Viewクラス - スクロールメソッド

分類 Viewメソッド 機能
スクロール scrollWindowLeft([repeatCount]) ウインドウを左へrepeatCount文字分スクロールする。
scrollWindowRight([repeatCount]) ウインドウを右へrepeatCount文字分スクロールする。
scrollWindowUp([repeatCount]) ウインドウをrepeatCount行スクロールアップする。
scrollWindowDown([repeatCount]) ウインドウをrepeatCount行スクロールダウンする。
scrollTwoWindowsLeft([repeatCount]) 2つのウインドウを左へrepeatCount文字分スクロールする。
scrollTwoWindowsRight([repeatCount]) 2つのウインドウを右へrepeatCount文字分スクロールする。
scrollTwoWindowsUp([repeatCount]) 2つのウインドウをrepeatCount行スクロールアップする。
scrollTwoWindowsDown([repeatCount]) 2つのウインドウをrepeatCount行スクロールダウンする。

Viewクラス - ウインドウ操作メソッド

分類 Viewメソッド 機能
ウインドウ update([center]) ウインドウを更新する。
ensureVisible() カーソル位置が見えるよう、必要に応じてウインドウをスクロールする。
activate() ウインドウをアクティブにする。
hasFocus() フォーカスを持っているかどうか調べる。
getFirstVisibleLine() 編集ウインドウ上端の表示行番号を返す。
setFirstVisibleLine(viewLine) 編集ウインドウの上端の表示行を設定する。
getFirstVisiblePoint() 編集ウインドウ左上隅を表すPointオブジェクトを返す。
setFirstVisiblePoint(aPoint) 編集ウインドウ左上隅の表示位置を設定する。
getLayoutWidth() ウインドウのレイアウト幅を返す。
setLayoutWidth([width]) ウインドウのレイアウト幅を設定する。
getWindowSize() ウインドウの大きさを行数・桁単位で取得する。
getWindowHandle() 編集ウインドウのハンドルを取得する。
maximize([trueOrFalse]) 編集ウインドウを最大化、または最大化を解除する。
minimize([trueOrFalse]) 編集ウインドウを最小化、または最小化を解除する。
isMaximized() 編集ウインドウが最大化されているかどうかを調べる。
isMinimized() 編集ウインドウが最小化されているかどうかを調べる。
isSibling(anotherView) 同じファイルを表示しているビューかどうかを調べる。
splitWindow([rows [, colss]]) ウインドウの分割を切り替える。

Viewクラス - その他メソッド

分類 Viewメソッド 機能
その他 analyzeOutline([modeOrArray [, ensureVisible]]) アウトライン解析を行う。
perform(commandId [, repeatCount]) コマンドIDを使って編集コマンドを実行する。
keyin(charCode [, ctrl [, shift [, repeatCount]]]) 文字入力をシミュレートする。
playKeyboardMacro(strokes [, update]) キーボードマクロとして記録されている操作手順を取得する。
背景色 clearLineBackground() すべての行の背景色をクリアする。
getLineBackground([fileLine]) 行の背景色番号を取得する。
setLineBackground(bgnum [, from [, to]]) 行の背景色番号を設定する。
ガイドライン clearAllGuidelines() すべてのガイドライン設定をクリアする。
getGuideline() ガイドライン情報を取得する。
setGuideline(array [, repeat]) ガイドラインを設定する。




View プロパティ


Viewクラスのプロパティ

プロパティ名 読み書き
LINETYPE_CHAR integer R/O アスキー罫線モードの値
LINETYPE_THIN integer R/O 細い罫線モードの値
LINETYPE_THICK integer R/O 太い罫線モードの値
ALIGN_LEFT integer R/O 左揃え
ALIGN_RIGHT integer R/O 右揃え
ALIGN_CENTER integer R/O 中央揃え
CONV_ALPHABET integer R/O アルファベットの半角/全角を変換
CONV_NUMBER integer R/O 数字の半角/全角を変換
CONV_KANA integer R/O カタカナの半角/全角を変換
CONV_SPACE integer R/O スペースの半角/全角を変換
CONV_PUNC integer R/O ASCII記号の半角/全角を変換
CONV_KANAPUNC integer R/O カナ記号の半角/全角を変換
showRuler boolean R/W ルーラーを表示する
showGuideline boolean R/W ガイドラインを表示する
showOuterArea boolean R/W テキスト外領域を表示する
showLineNumber integer R/W 行番号の表示/非表示と表示方法

0 ...... 表示しない
1 ...... 5, 10 行目だけ行番号を表示する
2 ...... 5, 10 行目と現在行の番号を表示する
3 ...... すべての行に行番号を表示する
4 ...... すべての行に0を付けて行番号を表示する
showTouchedMarker integer R/W 変更行の表示/非表示と表示方法

0 ...... 表示しない
1 ...... マーカー領域に表示する
2 ...... テキストの背景色を変えて表示する
3 ...... マーカーと背景色の両方で表示する
showLineCursor integer R/W 行カーソルの表示/非表示と表示方法

0 ...... 表示しない
1 ...... 下線
2 ...... ボックス
showColumnCursor integer R/W 桁カーソルの表示/非表示と表示方法

0 ...... 表示しない
1 ...... 縦線
2 ...... ボックス
showNewline boolean R/W 改行/EOF記号を表示する
showTab boolean R/W Tab文字を表示する
showSpace boolean R/W 半角スペースを表示する
showZenkakuSpace boolean R/W 全角スペースを表示する
insertMode boolean R/W 挿入モード(true)、上書きモード(false)
clearAllGuidelines function R/O すべてのガイドライン設定をクリアする関数
getInsertMode function R/O 挿入/上書きモードを取得する関数
setInsertMode function R/O 挿入/上書きモードを設定する関数


Viewオブジェクトのプロパティ

プロパティ名
CP Pointオブジェクト

カーソル位置情報を得るための以下のプロパティを持っています。

line ...... fileLine の別名
fileLine ...... ファイル行番号 (1 〜 )
index ...... ファイル行中の文字インデックス (0 〜 )
viewLine ...... 表示行番号 (1 〜 )
column ...... カラム (1 〜 )

linefileLineindexは、 ファイル行を基準としたカーソル位置を示しています。 それに対して、viewLinecolumnは、 表示行を基準としたカーソル位置を表します。

矩形選択モードでカーソル位置がテキストのない所にある場合、 fileLine(line)、indexには、 テキストのある最も近い行とその行中の文字インデックスが設定されます。

CPオブジェクトのこれらのプロパティは、常に自動的に更新されていて、 いつアクセスしても現在のカーソル位置を知ることができます。 しかし、これらのプロパティは読み出し専用なので、 値を代入してもカーソル位置を変えることはできません。

AP Pointオブジェクト アンカーポイント(選択範囲の開始位置)情報を持ったPointオブジェクトです。 内容はCPと同じです。 選択範囲のないときは、CPと同じ値になります。

このオブジェクトも常に更新されています。 このオブジェクトのプロパティに値を代入しても、 アンカーポイントを変えることはできません。

EOF Pointオブジェクト ファイルの最後を指しているPointオブジェクトです。 内容はCPと同じです。 このオブジェクトも常に更新されています。
view オブジェクト Viewオブジェクト自身を明示的に参照するためのプロパティです。



View メソッドリファレンス



View.activate() メソッド
機能 編集ウインドウをアクティブにします。
書式 [ aView. ] activate()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

編集ウインドウをアクティブにします。

 
// 編集ウインドウをアクティブにします。
activate();
 
参照 ウインドウ操作メソッドView.update() メソッドgetActiveView() 関数View.hasFocus() メソッドView クラス


View.alignText() メソッド
機能 選択範囲のテキストを左、右、中央揃えします。
書式 [ aView. ] alignText(alignment)
引数 aView ...... 編集ウインドウ(View)オブジェクト
alignment ...... アライメント
戻り値 なし(undefined)
 
詳細

選択範囲のテキストを左、右、中央揃えします。 alignmentには、 View.ALIGN_LEFTView.ALIGN_RIGHTView.ALIGN_CENTERが指定できます。

 
// 選択範囲のテキストを中央揃えします。
alignText(View.ALIGN_CENTER);
 
参照 テキスト編集メソッドView クラス


View.analyzeOutline() メソッド
機能 アウトライン解析を行います。
書式 [ aView. ] analyzeOutline([modeOrArray [, ensureVisible [, submatch]]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
modeOrArray ...... 解析のモードまたは正規表現の配列
ensureVisible ...... アウトプットページを見えるようにする
submatch ...... 正規表現のマッチした部分をラベルとして表示する
戻り値 アウトライン解析に成功した場合はtrue、それ以外はfalse
 
詳細

アウトライン解析を行います。結果はプロジェクトウインドウの[アウトライン]ページに表示されます。

modeOrArrayに整数の0〜3を指定すると、 予めPeggyに組み込まれている方法でアウトライン解析を行います。 modeOrArrayを省略すると、0と見なし、 ファイルの種類により適当な解析を試みます。

0 ........ ファイルの種類により1〜3の適当な解析を行います。
1 ........ プログラムとして解析を試みます。
2 ........ 文章として見出し解析を試みます。
3 ........ HTMLファイルとしてタグ解析を試みます。

modeOrArrayに正規表現の配列を指定することで、 任意のパターンによる見出し解析が可能です。 結果は配列の最初の正規表現が大見出し、次が中見出し、次が小見出し、...のようにツリー表示されます。

ensureVisibletrueを指定すると、 解析後にプロジェクトウインドウの[アウトライン]ページを見えるようにします。

submatch に整数値 0〜 を指定すると、 正規表現のサブパターン ( ) に一致した部分を抜き出し、アウトラインウインドウの表示ラベルとして使用します。 0 を指定すると、マッチした部分全体をラベルとします。 負の値を指定するか省略すると、行全体をラベルとして使用します。 modeOrArray が正規表現の配列ではないときは、無視されます。

 
// HTMLファイルを見出し解析します。
analyzeOutline([/<H1>/i, /<H2>/i, /<H3>/i, /<H4>/i, /<H5>/i, /<H6>/i], true);
 
参照 View.closeWindow() メソッドView クラス


View.backspace() メソッド
機能 カーソル直前の文字を削除します。
書式 [ aView. ] backspace([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

カーソル直前の文字を削除します。

 
// カーソル直前の10文字を削除します。
backspace(10);
 
参照 テキスト削除メソッドView クラス


View.blockSelectMode() メソッド
機能 矩形選択モードに切り替えます。
書式 [ aView. ] blockSelectMode()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 矩形選択モードがロックされた場合は2、それ以外は0を返します。
 
詳細

矩形選択モードに切り替えます。

 
// 矩形選択モードに切り替えます。
blockSelectMode();
 
参照 選択メソッドView.charSelectMode() メソッドView.isExtending() メソッドView クラス


View.cancelSelection() メソッド
機能 選択範囲をキャンセルします。
書式 [ aView. ] cancelSelection()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲をキャンセルします。

 
// 選択範囲をキャンセルします。
cancelSelection();
 
参照 選択メソッドView クラス


View.capitalizeSelection() メソッド
機能 選択範囲のASCII英単語の頭文字を大文字に変換します。
書式 [ aView. ] capitalizeSelection()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲のASCII英単語の頭文字を大文字に変換します。

 
// 選択範囲のASCII英単語の頭文字を大文字に変換します。
capitalizeSelection();
 
参照 変換メソッドView.upperCaseSelection() メソッドView.lowerCaseSelection() メソッドView クラス


View.capitalizeWord() メソッド
機能 単語の頭文字だけ大文字にします。
書式 [ aView. ] capitalizeWord()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

単語の頭文字だけ大文字にします。

 
// 単語の頭文字だけ大文字にします。
capitalizeWord();
 
参照 変換メソッドView.upperCaseWord() メソッドView.lowerCaseWord() メソッドView クラス


View.charLeft() メソッド
機能 カーソルを一文字左に移動します。
書式 [ aView. ] charLeft([repeatCount [, extendSelection]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
extendSelection ...... 選択範囲を拡大縮小するか。
戻り値 なし(undefined)
 
詳細

カーソルを一文字左に移動します。 repeatCountにより指定回数だけカーソルを左へ移動できます。 省略すると、1回移動します。

extendSelectiontrueを指定すると、 選択範囲を拡大/縮小しながらカーソルを左へ移動します。Shift+←キーと同じです。 falseを指定するとカーソルを左へ移動し選択範囲はなくなります。 extendSelectionを省略すると、 選択範囲の拡張がロックされているかどうかにより選択範囲を拡大縮小するか、 カーソルだけが移動するかが決まります。←キーと同じです。

 
// カーソルを5文字左に移動します。
charLeft(5);
 
参照 カーソル移動メソッドView.charRight() メソッドView クラス


View.charRight() メソッド
機能 カーソルを一文字右へ移動します。
書式 [ aView. ] charRight([repeatCount [, extendSelection]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
extendSelection ...... 選択範囲を拡大縮小するか。
戻り値 なし(undefined)
 
詳細

カーソルを一文字右へ移動します。 repeatCountにより指定回数だけカーソルを右へ移動できます。 省略すると、1回移動します。

extendSelectiontrueを指定すると、 選択範囲を拡大/縮小しながらカーソルを右へ移動します。Shift+→キーと同じです。

falseを指定するとカーソルを右へ移動し選択範囲はなくなります。 extendSelectionを省略すると、 選択範囲の拡張がロックされているかどうかにより選択範囲を拡大縮小するか、 カーソルだけが移動するかが決まります。→キーと同じです。

 
// カーソルを5文字右へ移動します。
charRight(5);
 
参照 カーソル移動メソッドView.charLeft() メソッドView クラス


View.charSelectMode() メソッド
機能 文字選択モードに切り替えます。
書式 [ aView. ] charSelectMode()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 文字選択モードにロックされた場合は1、それ以外は0を返します。
 
詳細

文字選択モードに切り替えます。

 
// 文字選択モードに切り替えます。
charSelectMode();
 
参照 選択メソッドView.blockSelectMode() メソッドView.isExtending() メソッドView クラス


View.clearAllBookmarks() メソッド
機能 ファイルのすべてのブックマークをクリアします。
書式 [ aView. ] clearAllBookmarks()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

ファイルのすべてのブックマークをクリアします。

 
// ファイルのすべてのブックマークをクリアします。
clearAllBookmarks();
 
参照 ジャンプメソッドView.toggleBookmark() メソッドView.gotoNextBookmark() メソッドView.gotoPreviousBookmark() メソッドView クラス


View.clearAllGuidelines() メソッド
機能 すべてのガイドライン設定をクリアします。
書式 View.clearAllGuidelines()
引数 View ...... Viewクラス
戻り値 なし(undefined)
 
詳細

すべての言語のすべてのガイドライン設定をクリアします。

【注意】
View.clearAllGuidelines()はクラスメソッドです。

 
// ファイルのすべてのブックマークをクリアします。
View.clearAllGuidelines();
 
参照 その他メソッドView.getGuideline() メソッドView.setGuideline() メソッドView.fillToNextGuideline() メソッドView クラス


View.clearAllTouched() メソッド
機能 変更行情報をクリアします。
書式 [ aView. ] clearAllTouched()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

変更行情報をクリアします。

 
// 変更行情報をクリアします。
clearAllTouched();
 
参照 ジャンプメソッドView.gotoNextTouched() メソッドView.gotoPreviousTouched() メソッドView クラス


View.clearHighlight() メソッド
機能 検索強調表示をクリアします。
書式 [ aView. ] clearHighlight()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

編集ウインドウaViewの検索強調表示をクリアします。

すべてのファイルの検索強調表示をクリアするには、 Search.clearHighlight()メソッドを使ってください。

 
// 検索強調表示をクリアします。
clearHighlight();
 
参照 検索置換メソッドView.setHighlight() メソッドView クラスSearch オブジェクトSearch.clearHighlight() メソッド


View.clearLineBackground() メソッド
機能 すべての行の背景色をクリアします。
書式 [ aView. ] clearLineBackground()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

ファイルの比較やsetLineBackground()メソッドで付けたすべての行の背景色をクリアします。

【注意】
行の背景色はサブ言語の背景色とは異なります。 このメソッドでサブ言語の背景色を消すことはありません。

 
// 行の背景色をクリアします。
clearLineBackground();
 
参照 その他メソッドView.getLineBackground() メソッドView.setLineBackground() メソッドView クラス


View.closeFile() メソッド
機能 ファイルを閉じます。
書式 [ aView. ] closeFile([forceClose])
引数 aView ...... 編集ウインドウ(View)オブジェクト
forceClose ...... 変更されているファイルでも強制的に閉じます
戻り値 ファイルを閉じた場合はtrue、それ以外はfalse
 
詳細

ファイルを閉じます。 forceCloseが省略されているかfalseが指定されていて、 かつファイルが変更されている場合は、保存するかどうかを問い合わせます。 forceClosetrueを指定すると、 変更の有無に関わらず強制的に閉じます。

【注意】
強制的に閉じると、変更内容は失われてしまいます。

 
// ファイルを閉じます。
closeFile();
 
参照 ファイル操作メソッドView.closeWindow() メソッドopenFile() 関数newFile() 関数View クラス


View.closeWindow() メソッド
機能 ウインドウを閉じます。
書式 [ aView. ] closeWindow([forceClose])
引数 aView ...... 編集ウインドウ(View)オブジェクト
forceClose ...... 変更が失われる可能性のあるときでも強制的に閉じる
戻り値 ウインドウを閉じた場合はtrue、それ以外はfalse
 
詳細

ウインドウを閉じます。 編集しているファイルの最後のウインドウであれば、ファイルも閉じます。

最後のウインドウを閉じるとき、 forceCloseが省略されているかfalseが指定してあると、 ファイルを保存するかどうか問い合わせてきます。 forceClosetrueが指定されていると、 変更内容を保存することなく強制的にウインドウを閉じます。

 
// ウインドウを閉じます。
closeWindow();
 
参照 ファイル操作メソッドView.newWindow() メソッド View.closeFile() メソッドView クラス


View.commentLine() メソッド
機能 選択している行をコメント化します。
書式 [ aView. ] commentLine()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択している行をコメント化します。

 
// 選択している行をコメント化します。
commentLine();
 
参照 テキスト挿入メソッドView.commentWord() メソッドView.insertComment() メソッドView クラス


View.commentWord() メソッド
機能 カーソル位置の単語をコメント化します。
書式 [ aView. ] commentWord()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソル位置の単語をコメント化します。

 
// カーソル位置の単語をコメント化します。
commentWord();
 
参照 テキスト挿入メソッドView.commentLine() メソッドView.insertComment() メソッドView クラス


View.completeKeyword() メソッド
機能 カーソル位置のヒントを元にキーワード補完を行います。
書式 [ aView. ] completeKeyword()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソル位置にあるタイプしかけの部分をヒントとして、 キーワードの残りの部分を補完入力します。 候補となるキーワードが複数ある場合は、 カーソル位置にポップアップメニューが表示されます。

 
// カーソル位置にあるタイプしかけのキーワードを補完します。
completeKeyword();
 
参照 View.completeWord() メソッドテキスト挿入メソッドView クラス


View.completeWord() メソッド
機能 カーソル位置のヒントを元に単語補完を行います。
書式 [ aView. ] completeWord([direct [, lines]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
direct ...... 候補となる単語を検索する方向
lines ...... 候補となる単語を検索する行数
戻り値 なし(undefined)
 
詳細

カーソル位置にあるタイプしかけの単語をヒントとして、単語の残りの部分を補完入力します。 候補となる単語が複数ある場合には、 カーソル位置にポップアップメニューが表示されます。

directは単語の探す方向を指定します。 以下の値が指定できます。省略すると、3と見なします。

1 ...... 補完候補をテキストの終りに向かって探します。
2 ...... 補完候補をテキストの先頭に向かって探します。
3 ...... 補完候補をテキストの先頭/終り両方に向かって探します。

linesは補完候補となる単語を探す行数を指定します。 以下の値が指定できます。省略すると、0と見なします。

負(マイナス)の値 ...... テキストの先頭/最後までを検索範囲とします。
0(ゼロ) ...... オプションにより設定されている行数を検索範囲とします。
正(プラス)の値 ...... この値で指定された行数だけ検索します。

 
// 入力しかけの単語の残りを補完入力します。
completeWord();
 
参照 テキスト挿入メソッドView.completeKeyword() メソッドView クラス


View.convertHtmlToText() メソッド
機能 選択範囲のHTMLをテキストに変換します。
書式 [ aView. ] convertHtmlToText()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲のHTMLをテキストに変換します。

 
// 選択範囲のHTMLをテキストに変換します。
convertHtmlToText();
 
参照 HTML編集メソッドView.htmlConvertToEntity() メソッドView.htmlConvertFromEntity() メソッドView クラス


View.convertSelection() メソッド
機能 選択範囲の漢字コードをShift JISに変換します。
書式 [ aView. ] convertSelection([encoding])
引数 aView ...... 編集ウインドウ(View)オブジェクト
encoding ...... 漢字コード
戻り値 なし(undefined)
 
詳細

選択範囲の漢字コードをShift JISに変換します。

encodingを省略するか0を指定すると、選択範囲の漢字コードを自動判定します。 encodingに以下の値を指定すると、選択範囲がその漢字コードであると見なして変換します。

4 または File.ENCODING_EUC ........ EUCと見なして変換
5 または File.ENCODING_JIS ........ JISと見なして変換
6 または File.ENCODING_UTF8 ....... UTF-8と見なして変換
7 または File.ENCODING_UNICODE .... Unicode (Little Endian)と見なして変換
8 または File.ENCODING_UTF7 ....... UTF-7と見なして変換
9 または File.ENCODING_UTF8N ...... UTF-8Nと見なして変換
10 または File.ENCODING_UNICODEBE .... Unicode (Big Endian)と見なして変換

【注意】
UTF-8Nの追加に伴い「Unicode (HL)と見なして変換」は、 Peggy Series バージョン 4.15以降、9から10に変更になりました。 ご注意ください。

 
// 選択範囲の漢字コード自動判定してShift JISに変換します。
convertSelection();
 
参照 変換メソッドView クラス


View.copy() メソッド
機能 選択範囲をクリップボードへコピーします。
書式 [ aView. ] copy([append])
引数 aView ...... 編集ウインドウ(View)オブジェクト
append ...... クリップボードへ追加
戻り値 なし(undefined)
 
詳細

選択範囲をクリップボードへコピーします。

appendtrueを指定すると、クリップボードへ追加コピーします。

 
// 選択範囲をクリップボードへコピーします。
copy();
 
参照 テキスト編集メソッドView.cut() メソッドView.paste() メソッドView クラス


View.copyLine() メソッド
機能 カーソル位置の行をクリップボードへコピーします。
書式 [ aView. ] copyLine([append [, viewOrFileLine]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
append ...... クリップボードへ追加
viewOrFileLine ...... ファイル行か表示行かの選択
戻り値 なし(undefined)
 
詳細

カーソル位置の行をクリップボードへコピーします。

appendtrueを指定すると、クリップボードへ追加コピーします。 viewOrFileLinetrueを指定すると、 表示行をコピーします。 viewOrFileLinefalseを指定すると、 ファイル行をコピーします。 viewOrFileLineを省略すると、 現在選択されている行番号モードによって、ファイル行か表示行をコピーします。

 
// カーソル位置の行をクリップボードへコピーします。
copyLine();
 
参照 テキスト編集メソッドView.cutLine() メソッドView.deleteLine() メソッドView.linePaste() メソッドView クラス


View.copyWord() メソッド
機能 カーソル位置の単語をクリップボードへコピーします。
書式 [ aView. ] copyWord([append])
引数 aView ...... 編集ウインドウ(View)オブジェクト
append ...... クリップボードへ追加
戻り値 なし(undefined)
 
詳細

カーソル位置の単語をクリップボードへコピーします。

appendtrueを指定すると、クリップボードへ追加コピーします。

 
// カーソル位置の単語をクリップボードへコピーします。
copyWord();
 
参照 テキスト編集メソッドView.copy() メソッドView.cutWord() メソッドView.selectWord() メソッドView クラス


View.cut() メソッド
機能 選択範囲を切り取りクリップボードへセットします。
書式 [ aView. ] cut([append])
引数 aView ...... 編集ウインドウ(View)オブジェクト
append ...... クリップボードへ追加
戻り値 なし(undefined)
 
詳細

選択範囲を切り取りクリップボードへセットします。 appendtrueを指定すると、クリップボードへ追加します。

 
// 選択範囲を切り取りクリップボードへ追加します。
cut(true);
 
参照 テキスト編集メソッドView.copy() メソッドView.paste() メソッドView クラス


View.cutLine() メソッド
機能 カーソル位置の行を切り取りクリップボードへセットします。
書式 [ aView. ] cutLine([append [, viewOrFileLine]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
append ...... クリップボードへ追加
viewOrFileLine ...... ファイル行か表示行かの選択
戻り値 なし(undefined)
 
詳細

カーソル位置の行を切り取りクリップボードへセットします。 appendtrueを指定すると、クリップボードへ追加します。

viewOrFileLinetrueを指定すると、 表示行を切り取ります。 viewOrFileLinefalseを指定すると、 ファイル行を切り取ります。 viewOrFileLineを省略すると、 現在選択されている行番号モードによって、ファイル行か表示行を切り取ります。

 
// カーソル位置の行を切り取りクリップボードへ追加します。
cutLine(true);
 
参照 テキスト編集メソッドView.copyLine() メソッドView クラス


View.cutWord() メソッド
機能 カーソル位置の単語を切り取りクリップボードへセットします。
書式 [ aView. ] cutWord([append])
引数 aView ...... 編集ウインドウ(View)オブジェクト
append ...... クリップボードへ追加
戻り値 なし(undefined)
 
詳細

カーソル位置の単語を切り取りクリップボードへセットします。 appendtrueを指定すると、クリップボードへ追加します。

 
// カーソル位置の単語を切り取りクリップボードへ追加します。
cutWord(true);
 
参照 テキスト編集メソッドView.copyWord() メソッドView クラス


View.deleteAll() メソッド
機能 すべて削除します。
書式 [ aView. ] deleteAll()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

すべて削除します。

 
// すべて削除します。
deleteAll();
 
参照 テキスト削除メソッドView.selectAll() メソッドView クラス


View.deleteBlankLines() メソッド
機能 選択範囲の連続した空白行を1つにまとめます。
書式 [ aView. ] deleteBlankLines()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲の連続した空白行を1つにまとめます。

 
// 選択範囲の連続した空白行を1つにまとめます。
deleteBlankLines();
 
参照 テキスト削除メソッドView クラス


View.deleteComment() メソッド
機能 選択範囲にあるコメントを削除します。
書式 [ aView. ] deleteComment([how])
引数 aView ...... 編集ウインドウ(View)オブジェクト
how ...... コメントの削除方法
戻り値 なし(undefined)
 
詳細

選択範囲にあるコメントをhowにより指定した方法で削除します。 howには以下の削除方法が指定できます。 howを省略すると、2と見なします。

1 ...... コメントを解除します。コメント内部の文字列は残ります。
2 ...... 全体を削除します(デフォルト)。
3 ...... コメントの内部だけを削除します。

 
// 選択範囲のコメントを削除します。
deleteComment();
 
参照 View.insertComment() メソッドテキスト削除メソッドView クラス


View.deleteLine() メソッド
機能 カーソルのある行を削除します。
書式 [ aView. ] deleteLine([repeatCount [, viewOrFileLine]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
viewOrFileLine ...... ファイル行か表示行か
戻り値 なし(undefined)
 
詳細

カーソルのある行を削除します。

viewOrFileLinetrueを指定すると、 表示行単位で削除します。 viewOrFileLinefalseを指定すると、 ファイル行単位で削除します。 viewOrFileLineを省略すると、 現在の行番号モードに従ってファイル行または表示行を削除します。

 
// カーソルのある行から3ファイル行を削除します。
deleteLine(3, false);
 
参照 テキスト削除メソッドView クラス


View.deleteNewlines() メソッド
機能 選択範囲の改行コードを削除します。
書式 [ aView. ] deleteNewlines()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 削除した改行の個数を返します。
 
詳細

選択範囲の改行コードを削除します。

【注意】
1行の長さは65000バイトまでです。

 
// 選択範囲の改行コードを削除します。
deleteNewlines();
 
参照 テキスト削除メソッドView クラス


View.deleteSpaces() メソッド
機能 連続している空白文字を1つにまとめます。
書式 [ aView. ] deleteSpaces()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

連続している空白文字を1つにまとめます。

 
// 連続している空白文字を1つにまとめます。
deleteSpaces();
 
参照 テキスト削除メソッドView クラス


View.deleteText() メソッド
機能 カーソル位置の文字を削除します。
書式 [ aView. ] deleteText([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

カーソル位置の文字を削除します。 Deleteキーと同じです。

 
// カーソル位置の10文字を削除します。
deleteText(10);
 
参照 テキスト削除メソッドView.deleteTextAt() メソッドView.deleteTextBetween() メソッドView クラス


View.deleteTextAt() メソッド
機能 指定ポイントから文字を削除します。
書式 [ aView. ] deleteTextAt(aPoint [, numberOfCharacters])
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint ...... Pointオブジェクト
numberOfCharacters ...... 削除する文字数
戻り値 成功すればtrue、それ以外はfalse
 
詳細

PointオブジェクトaPointで指定された位置から、 numberOfCharacters文字を削除します。 numberOfCharactersを省略した場合は、1と見なします。 また、numberOfCharactersに負の値を指定すると、指定位置以前の文字を削除します。

 
// 10行目の先頭から4文字削除します。
deleteTextAt(new Point(10, 0), 4);
 
参照 テキスト削除メソッドView.deleteText() メソッドView.deleteTextBetween() メソッドView クラスPointオブジェクト


View.deleteTextBetween() メソッド
機能 指定2ポイント間の文字を削除します。
書式 [ aView. ] deleteTextBetween(aPoint1, aPoint2)
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint1 ...... 削除開始ポイント
aPoint2 ...... 削除終了ポイント
戻り値 成功すればtrue、それ以外はfalse
 
詳細

指定2ポイント間の文字を削除します。
aPoint1aPoint2は、 どちらが前でも後ろでもかまいません。

 
// 指定2ポイント間の文字を削除します。
var p1 = new Point(10, 10);
var p2 = new Point(15, 10);
deleteTextBetween(p1, p2);
 
参照 テキスト削除メソッドView.deleteText() メソッドView.deleteTextAt() メソッドView クラスPointオブジェクト


View.deleteToEnd() メソッド
機能 カーソル位置から行末までを削除します。
書式 [ aView. ] deleteToEnd([viewOrFileLine])
引数 aView ...... 編集ウインドウ(View)オブジェクト
viewOrFileLine ...... ファイル行か表示行かの選択
戻り値 なし(undefined)
 
詳細

カーソル位置から行末までを削除します。

viewOrFileLinefalseが指定されると、 ファイル行の最後までを削除します。 viewOrFileLinetrueを指定すると、 表示行の行末までを削除します。 viewOrFileLineを省略すると、 現在の行番号モードに従って、ファイル行または表示行の行末までを削除します。

 
// カーソル位置から行末までを削除します。
deleteToEnd();
 
参照 テキスト削除メソッドView.deleteToHome() メソッドView クラス


View.deleteToHome() メソッド
機能 カーソル位置から行頭までを削除します。
書式 [ aView. ] deleteToHome([viewOrFileLine])
引数 aView ...... 編集ウインドウ(View)オブジェクト
viewOrFileLine ...... ファイル行か表示行かの選択
戻り値 なし(undefined)
 
詳細

カーソル位置から行頭までを削除します。

viewOrFileLinefalseが指定されると、 ファイル行の行頭までを削除します。 viewOrFileLinetrueを指定すると、 表示行の行頭までを削除します。 viewOrFileLineを省略すると、 現在の行番号モードに従って、ファイル行または表示行の行頭までを削除します。

 
// カーソル位置から行頭までを削除します。
deleteToHome();
 
参照 テキスト削除メソッドView.deleteToEnd() メソッドView クラス


View.deleteTrailingSpaces() メソッド
機能 選択範囲の行末の空白文字を削除します。
書式 [ aView. ] deleteTrailingSpaces()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲の行末の空白文字を削除します。

 
// 選択範囲の行末の空白文字を削除します。
deleteTrailingSpaces();
 
参照 テキスト削除メソッドView クラス


View.deleteWord() メソッド
機能 カーソル位置の単語を削除します。
書式 [ aView. ] deleteWord([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

カーソル位置の単語を削除します。

 
// カーソル位置の1単語を削除します。
deleteWord();
 
参照 テキスト削除メソッドView.deleteWordToBegin() メソッドView.deleteWordToEnd() メソッドView クラス


View.deleteWordToBegin() メソッド
機能 カーソル位置から行頭に向かって単語を削除します。
書式 [ aView. ] deleteWordToBegin()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソル位置から行頭に向かって単語を削除します。

 
// カーソル位置から行頭に向かって単語を削除します。
deleteWordToBegin();
 
参照 テキスト削除メソッドView.deleteWordToEnd() メソッドView クラス


View.deleteWordToEnd() メソッド
機能 カーソル位置から行末に向かって単語を削除します。
書式 [ aView. ] deleteWordToEnd()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソル位置から行末に向かって単語を削除します。

 
// カーソル位置から行末に向かって単語を削除します。
deleteWordToEnd();
 
参照 テキスト削除メソッドView.deleteWordToBegin() メソッドView クラス


View.documentEnd() メソッド
機能 カーソルをファイルの最後へ移動します。
書式 [ aView. ] documentEnd([extendSelection])
引数 aView ...... 編集ウインドウ(View)オブジェクト
extendSelection ...... 選択範囲を拡大縮小するか。
戻り値 なし(undefined)
 
詳細

カーソルをファイルの最後へ移動します。

extendSelectiontrueを指定すると、 選択範囲を拡大/縮小しながらカーソルをファイルの最後へ移動します。 Ctrl+Shift+Endキーと同じです。 falseを指定するとカーソルをファイルの最後へ移動し選択範囲はなくなります。 extendSelectionを省略すると、 選択範囲の拡張がロックされているかどうかにより選択範囲を拡大縮小するか、 カーソルだけが移動するかが決まります。 Ctrl+Endキーと同じです。

 
// カーソルをファイルの最後へ移動します。
documentEnd();
 
参照 カーソル移動メソッドView.documentStart() メソッドView クラス


View.documentStart() メソッド
機能 カーソルをファイルの先頭へ移動します。
書式 [ aView. ] documentStart([extendSelection])
引数 aView ...... 編集ウインドウ(View)オブジェクト
extendSelection ...... 選択範囲を拡大縮小するか。
戻り値 なし(undefined)
 
詳細

カーソルをファイルの先頭へ移動します。

extendSelectiontrueを指定すると、 選択範囲を拡大/縮小しながらカーソルをファイルの先頭へ移動します。 Ctrl+Shift+Homeキーと同じです。 falseを指定するとカーソルをファイルの先頭へ移動し選択範囲はなくなります。 extendSelectionを省略すると、 選択範囲の拡張がロックされているかどうかにより選択範囲を拡大縮小するか、 カーソルだけが移動するかが決まります。Ctrl+Homeキーと同じです。

 
// カーソルをファイルの先頭へ移動します。
documentStart();
 
参照 カーソル移動メソッドView.documentEnd() メソッドView クラス


View.drawLineDown() メソッド
機能 下に向かって罫線を引きます。
書式 [ aView. ] drawLineDown([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

下に向かって罫線を引きます。

 
// 下に向かって3行罫線を引きます。
drawLineDown(3);
 
参照 罫線メソッドView クラス


View.drawLineLeft() メソッド
機能 左へ罫線を引きます。
書式 [ aView. ] drawLineLeft([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

左へ罫線を引きます。

 
// 左へ10文字分文字罫線を引きます。
drawLineLeft(10);
 
参照 罫線メソッドView クラス


View.drawLineRight() メソッド
機能 右へ罫線を引きます。
書式 [ aView. ] drawLineRight([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

右へ罫線を引きます。

 
// 右へ10文字分文字罫線を引きます。
drawLineRight(10);
 
参照 罫線メソッドView クラス


View.drawLineUp() メソッド
機能 上に向かって罫線を引きます。
書式 [ aView. ] drawLineUp([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

上に向かって罫線を引きます。

 
// 上に向かって3行罫線を引きます。
drawLineUp(3);
 
参照 罫線メソッドView クラス


View.duplicateLine() メソッド
機能 カーソルのある行を複製します。
書式 [ aView. ] duplicateLine([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

カーソルのある行を複製します。 repeatCountを指定すると、その回数だけ複製します。

 
// カーソルのある行を2回複製します。
duplicateLine(2);
 
参照 テキスト挿入メソッドView.openLineAbove() メソッドView.openLineBelow() メソッドView クラス


View.end() メソッド
機能 行末へカーソルを移動します。
書式 [ aView. ] end([extendSelection [, viewOrFileLine]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
extendSelection ...... 選択範囲を拡大縮小するか。
viewOrFileLine ...... ファイル行末か表示行末か
戻り値 なし(undefined)
 
詳細

行末へカーソルを移動します。 extendSelectiontrueを指定すると、 選択範囲を拡大/縮小しながらカーソルを行末へ移動します。Shift+Endキーと同じです。

falseを指定するとカーソルを行末へ移動し選択範囲はなくなります。 extendSelectionを省略すると、 選択範囲の拡張がロックされているかどうかにより選択範囲を拡大縮小するか、 カーソルだけが移動するかが決まります。Endキーと同じです。

viewOrFileLineは、ファイル行の行末か表示行の行末かを指定します。 trueを指定すると表示行の行末、 falseはファイル行の行末、 省略するとその時点の行番号モードに従いファイル行か表示行の行末へ移動します。

 
// 行末へカーソルを移動します。
end();
 
参照 カーソル移動メソッドView.home() メソッドView クラス


View.ensureVisible() メソッド
機能 カーソル位置が見えるよう、必要に応じてウインドウをスクロールします。
書式 [ aView. ] ensureVisible()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソル位置が見えるよう、必要に応じてウインドウをスクロールします。

 
// カーソル位置が見えるよう、必要に応じてウインドウをスクロールします。
ensureVisible();
 
参照 ウインドウ操作メソッドView.update() メソッドView クラス


View.enterUndoGroup() メソッド
機能 Undo操作のグループ化を開始します。
書式 [ aView. ] enterUndoGroup()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 グループ化の深さ
 
詳細

Undo操作のグループ化を開始します。 一連の編集操作をenterUndoGroup()leaveUndoGroup()で囲むことにより、 それらを1つのUndo操作で取り消せるようになります。

enterUndoGroup()leaveUndoGroup()はネストできます。 enterUndoGroup()を呼び出した回数と同じだけleaveUndoGroup()を呼び出した時点で、 Undo操作のグループ化が終了します。

Undo操作をグループ化している途中でUndoコマンドを実行し、 Undo操作のグループ化を開始した状態を越えて前に戻ってしまった場合は、 グループ化が自動的に中止されます。

 
// Undo操作のグループ化します。
enterUndoGroup();
// 編集操作...
leaveUndoGroup();
 
参照 テキスト編集メソッドView.leaveUndoGroup() メソッドView クラス


View.eraseLineDown() メソッド
機能 下に向かって文字罫線を消去します。
書式 [ aView. ] eraseLineDown([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

下に向かって文字罫線を消去します。

 
// 下に向かって10行分文字罫線を消去します。
eraseLineDown(10);
 
参照 罫線メソッドView クラス


View.eraseLineLeft() メソッド
機能 左に向かって文字罫線を消去します。
書式 [ aView. ] eraseLineLeft([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

左に向かって文字罫線を消去します。

 
// 左に向かって10文字分文字罫線を消去します。
eraseLineLeft(10);
 
参照 罫線メソッドView クラス


View.eraseLineRight() メソッド
機能 右に向かって文字罫線を消去します。
書式 [ aView. ] eraseLineRight([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

右に向かって文字罫線を消去します。

 
// 右に向かって10文字分文字罫線を消去します。
eraseLineRight(10);
 
参照 罫線メソッドView クラス


View.eraseLineUp() メソッド
機能 上に向かって文字罫線を消去します。
書式 [ aView. ] eraseLineUp([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

上に向かって文字罫線を消去します。

 
// 上に向かって10行文字罫線を消去します。
eraseLineUp(10);
 
参照 罫線メソッドView クラス


View.fillToNextGuideline() メソッド
機能 次のガイドライン位置まで空白文字を埋めながらカーソルを進めます。
書式 [ aView. ] fillToNextGuideline([spaceOnly])
引数 aView ...... 編集ウインドウ(View)オブジェクト
spaceOnly ...... スペース文字だけを使う
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

現在の位置から次のガイドライン桁まで空白文字で埋め、カーソルを進めます。 ちょうどTabキーで次のタブ位置まで進めるのと同じです。

spaceOnlytrueを指定したときは、 スペース文字(ASCIIコード32)だけ使って埋めます。 spaceOnlyfalseを指定したときは、 タブ文字(ASCIIコード9)とスペース文字(ASCIIコード32)を組み合わせて埋めます。 spaceOnlyを省略したときは、言語のオプション設定[スペースでタブ位置まで進める]や、 全体のオプション設定に従います。

これ以上右にガイドラインが設定されていないときは、何も挿入せずにfalseを返します。

 
// 次のガイドライン位置まで空白文字を埋めながらカーソルを進めます。
fillToNextGuideline();
 
参照 その他メソッドView.getGuideline() メソッドView.setGuideline() メソッドView.clearAllGuidelines() メソッドView クラス


View.findBackward() メソッド
機能 テキストの先頭に向かって文字列を検索します。
書式 (1) [ aView. ] findBackward(regexp)
(2) [ aView. ] findBackward(string [, option [, fuzzy]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
regexp ...... 検索する正規表現
string ...... 検索する文字列
option ...... オプション
fuzzy ...... あいまい検索を指定する整数
戻り値 見つかれば一致した部分の文字数、見つからない場合は負の値
 
詳細

現在のカーソル位置からテキストの先頭に向かって文字列を検索します。 選択範囲があるときは、その最後(テキストの終りに近いほう)から検索を開始します。

書式(1)では、正規表現regexpに一致するパターンをテキストの先頭に向かって検索します。

書式(2)では、文字列stringそのものをテキストの先頭に向かって検索します。 また書式(2)では、文字列を単語として探すか、 大文字小文字を区別するか、 検索結果をRegExpクラスのプロパティに保存しない高速化や、あいまい検索などのオプションを組み合わせて指定可能です。

オプション検索動作
i大文字小文字を区別しない
w単語として探す
f高速化(検索結果をRegExpクラスのプロパティに保存しない)
C,Z,K,S,P,M,O,E,J,Aあいまい検索オプション文字

さらに書式(2)では、fuzzyを指定することで、あいまい検索を実行できます。 fuzzyに設定する値は、あいまい検索オプション数値を参照してください。 あいまい検索オプション文字(I,Z,K,S,P,M,O,E,J,A)と両方指定した場合は、 それらの条件を加えて検索します(OR)。

文字列を発見すると、見つけた部分を選択しその部分の文字数を返します。 選択範囲は、ViewオブジェクトのプロパティCPAPで知ることができます。

f(高速化)オプションを指定していない検索では、 RegExpクラスプロパティからさらに詳細な情報を得ることができます。 見つからなかった場合はカーソルや選択範囲はそのままで、負の整数を返します。

【注意】
キーボードからの検索のように、オプションによってテキストの最後に戻り検索を続けることはしません。
【注意】
0文字に一致する可能性のある正規表現を使って繰り返し検索を行う場合、 0文字にマッチが繰り返され先へ進めなくなってしまうことがあります。 そのような場合は、戻り値を調べ0ならば強制的に前の文字へ進める(charLeft()など)ようにしてください。
【注意】
一致しなかった場合は、負の値を返します。 負の値は条件式の中でtrueと判断されます。 かならず0か正(>= 0)として判定するようにしてください。
【注意】
f(高速化)オプションとあいまい検索は、Peggy 4.50、MocaScript 1.1.15以降でサポートされています。

 
// テキストの先頭に向かって文字列"Moca"を検索します。
if (findBackward("Moca") < 0) error("見つかりません.");
 
参照 View.findForward() メソッドView.search() メソッドView.replace() メソッドView クラス


View.findForward() メソッド
機能 テキストの終りに向かって文字列を検索します。
書式 (1) [ aView. ] findForward(regexp)
(2) [ aView. ] findForward(string [, option [, fuzzy]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
regexp ...... 検索する正規表現
string ...... 検索する文字列
option ...... オプション
fuzzy ...... あいまい検索を指定する整数
戻り値 見つかれば一致した部分の文字数、見つからない場合は負の値
 
詳細

現在のカーソル位置からテキストの終りに向かって文字列を検索します。 選択範囲があるときは、その最初(テキストの先頭に近いほう)から検索を開始します。

書式(1)では、正規表現regexpに一致するパターンをテキストの終りに向かって検索します。

書式(2)では、文字列stringそのものをテキストの終りに向かって検索します。 また書式(2)では、文字列を単語として探すか、 大文字小文字を区別するか、 検索結果をRegExpクラスのプロパティに保存しない高速化や、あいまい検索などのオプションを組み合わせて指定可能です。

オプション検索動作
i大文字小文字を区別しない
w単語として探す
f高速化(検索結果をRegExpクラスのプロパティに保存しない)
C,Z,K,S,P,M,O,E,J,Aあいまい検索オプション文字

さらに書式(2)では、fuzzyを指定することで、あいまい検索を実行できます。 fuzzyに設定する値は、あいまい検索オプション数値を参照してください。 あいまい検索オプション文字(I,Z,K,S,P,M,O,E,J,A)と両方指定した場合は、 それらの条件を加えて検索します(OR)。

文字列を発見すると、見つけた部分を選択しその部分の文字数を返します。 選択範囲は、ViewオブジェクトのプロパティCPAPで知ることができます。

f(高速化)オプションを指定していない検索では、 RegExpクラスプロパティからさらに詳細な情報を得ることができます。 見つからなかった場合はカーソルや選択範囲はそのままで、負の整数を返します。

【注意】
キーボードからの検索のように、オプションによってテキストの先頭に戻り検索を続けることはしません。
【注意】
0文字に一致する可能性のある正規表現を使って繰り返し検索を行う場合、 0文字にマッチが繰り返され先へ進めなくなってしまうことがあります。 そのような場合は、戻り値を調べ0ならば強制的に次の文字へ進める(charRight()など)ようにしてください。
【注意】
一致しなかった場合は、負の値を返します。 負の値は条件式の中でtrueと判断されます。 かならず0か正(>= 0)として判定するようにしてください。
【注意】
f(高速化)オプションとあいまい検索は、Peggy 4.50、MocaScript 1.1.15以降でサポートされています。

 
// テキストの終りに向かって文字列"Moca"を検索します。
if (findForward("Moca") < 0) error("見つかりません.");
 
参照 View.findBackward() メソッドView.search() メソッドView.replace() メソッドView クラス


View.flipCaseSelection() メソッド
機能 選択範囲のASCII英大文字/小文字を逆にします。
書式 [ aView. ] flipCaseSelection()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲のASCII英大文字/小文字を逆にします。

 
// 選択範囲のASCII英大文字/小文字を逆にします。
flipCaseSelection();
 
参照 変換メソッドView クラス


View.flipCaseWord() メソッド
機能 単語の大文字/小文字を逆転させます。
書式 [ aView. ] flipCaseWord()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

単語の大文字/小文字を逆転させます。

 
// 単語の大文字/小文字を逆転させます。
flipCaseWord();
 
参照 変換メソッドView クラス


View.getAnchorPoint() メソッド
機能 選択開始位置(アンカーポイント)を表すPointオブジェクトを生成します。
書式 [ aView. ] getAnchorPoint()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 Pointオブジェクト
 
詳細

選択開始位置(アンカーポイント)を表すPointオブジェクトを生成して返します。

 
// 選択開始位置(アンカーポイント)情報を取得します。
var ap = getAnchorPoint();
 
参照 選択メソッドPointオブジェクトView.getCurrentPoint() メソッドView クラスPointオブジェクト


View.getBookmark() メソッド
機能 指定ファイル行に設定されているブックマークを取得します。
書式 [ aView. ] getBookmark(fileLine)
引数 aView ...... 編集ウインドウ(View)オブジェクト
fileLine ...... ファイル行番号(1 〜 )
戻り値 指定行に設定されているブックマーク番号(1〜3)、設定されていない場合は0
 
詳細

fileLineで指定された行に設定されているブックマークの種類を整数(1〜3)として取得します。 ブックマークが設定されていないか、fileLineが正しい範囲にない場合は0を返します。

 
// 100行に設定されているブックマークを取得する。
var mark = getBookmark(100);
 
参照 ジャンプメソッドView.setBookmark() メソッドView クラス


View.getColorCode() メソッド
機能 カーソル位置または指定位置のカラーコードを取得します。
書式 [ aView. ] getColorCode([aPoint])
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint ...... カラーコードを取得したい位置を示すPointオブジェクト
戻り値 カラーコード(integer型)
 
詳細

ポイントオブジェクトaPointで示された位置のカラーコードを取得します。

aPointを省略すると、カーソル位置のカラーコードを取得します。 カラーコードは文法に対応した色を表す0〜59の整数で、実際のRGB値ではありません。 カラーコードにより指定ポイントがコメントの中か、文字列のなかかなどを調べることができます。 CRECで指定するカラーと対応しています。

カラーコードCREC名称表示色
0FgText文法 - 一般の文字
1FgComment文法 - コメント
2FgString文法 - 文字列
3FgCharacter文法 - 文字
4FgHTMLTag文法 - HTML タグ内テキスト
6FgNumber文法 - 数値定数
7FgIdentifier文法 - 識別子/変数/関数/ラベル
8FgKeyword文法 - キーワード
9FgInstruction文法 - CPUインストラクション
10FgRegister文法 - CPUレジスタ
11FgPreprocessor文法 - プリプロセッサ命令
12FgUserKeyword1文法 - ユーザ定義キーワード1
13FgUserKeyword2文法 - ユーザ定義キーワード2
16FgHTMLElementName文法 - HTML エレメント名
17FgHTMLAttributeName文法 - HTML アトリビュート名
18FgHTMLDelimiter文法 - HTML タグデリミタ
19FgHTMLURL文法 - HTML URL
20FgHTMLEntity文法 - HTML エンティティ
21FgSystemCall文法 - システムコール
22FgSystemType文法 - システムデータ型
23FgSystemSymbol文法 - システムシンボル
24FgBuiltinFunction文法 - 組み込み関数
25FgPredefinedSymbol文法 - 定義済み変数
26FgRegularExpression文法 - 正規表現
27FgSequenceNumber文法 - シーケンス番号
28FgHTMLIllegalCharacter文法 - HTML 不正テキスト文字
30FgAux1文法 - 予備1
31FgAux2文法 - 予備2
32FgAux3文法 - 予備3
33FgAux4文法 - 予備4
34FgAux5文法 - 予備5
35FgAux6文法 - 予備6
36FgAux7文法 - 予備7
37FgAux8文法 - 予備8
38FgAux9文法 - 予備9
39FgAux10文法 - 予備10
40FgAux11文法 - 予備11
41FgAux12文法 - 予備12
42FgAux13文法 - 予備13
43FgAux14文法 - 予備14
44FgAux15文法 - 予備15
45FgAux16文法 - 予備16
46FgAux17文法 - 予備17
47FgAux18文法 - 予備18
48FgAux19文法 - 予備19
49FgAux20文法 - 予備20
50FgAuxComment1文法 - 予備コメント1
51FgAuxComment2文法 - 予備コメント2
52FgAuxComment3文法 - 予備コメント3
53FgAuxComment4文法 - 予備コメント4
54FgAuxComment5文法 - 予備コメント5
55FgAuxString1文法 - 予備文字列1
56FgAuxString2文法 - 予備文字列2
57FgAuxString3文法 - 予備文字列3
58FgAuxString4文法 - 予備文字列4
59FgAuxString5文法 - 予備文字列5

 
// カーソル位置のカラーコードを取得します。
var code = getColorCode();
 
参照 View クラスPointオブジェクトView.getContext() メソッドView.getColorSegments() メソッド


View.getColorSegments() メソッド
機能 カーソル行、または指定行を表示色に従って分解します。
書式 [ aView. ] getColorSegments([line])
引数 aView ...... 編集ウインドウ(View)オブジェクト
line ...... 表示色に分解したい行の行番号
戻り値 成功した場合は配列、それ以外は undefined
 
詳細

line で指定した行のテキストをカラー表示に従って分解した配列を返します。 配列の個々の要素は、指定行の同じ色で表示される一続き部分に関する情報を集めたオブジェクトで、以下のプロパティを持っています。

プロパティ
text string 表示されるテキスト
index integer テキスト開始部分の文字インデックス
length integer テキストの文字数
fgcolor integer 文字色
bgcolor integer 背景色
bold boolean 太字

fgcolorbgcolor の値は、0〜7 ビットが赤、8〜15 ビットが緑、16〜23 ビットが青のRGB値です。

 
// カーソル行を表示色に従って分解します。
var segments = getColorSegments();
for (var i = 0; i < segments.length; i++)
{
    var seg = segments[i];
    printf("%06X: %s\n", seg.fgcolor, seg.text);
}
 
参照 View クラスPointオブジェクトView.getContext() メソッドView.getColorCode() メソッド


View.getCommandNumber() メソッド
機能 現在の編集コマンド番号を取得します。
書式 [ aView. ] getCommandNumber()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 コマンド番号(integer)
 
詳細

現在のコマンド番号を取得します。 コマンド番号とは、一連の編集操作コマンドに付けられた整数です。 コマンドを1つ発行すると+1、Undoすると-1されます。

 
// 現在のコマンド番号を取得します。
var cmdnum = view.getCommandNumber();
 
参照 View クラス


View.getContext() メソッド
機能 カーソル位置または指定位置のコンテキストを取得します。
書式 [ aView. ] getContext([aPoint])
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint ...... コンテキストを取得したい位置を示すPointオブジェクト
戻り値 コンテキスト番号(integer型)
 
詳細

ポイントオブジェクトaPointで示された位置のコンテキスト番号を取得します。 aPointを省略すると、カーソル位置のコンテキスト番号を取得します。

コンテキスト番号は、0〜1023の整数です。コンテキスト番号を128で割ると、 その位置でのサブ言語(0〜7)を知ることができます。

 
// カーソル位置のコンテキストを取得します。
var context = getContext();
 
参照 View クラスPointオブジェクトView.getColorCode() メソッドView.getColorSegments() メソッド


View.getCurrentPoint() メソッド
機能 カーソル位置のPointオブジェクトを生成します。
書式 [ aView. ] getCurrentPoint()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 Pointオブジェクト
 
詳細

カーソル位置を表すPointオブジェクトを生成して返します。

 
// カーソル位置(カレントポイント)を取得します。
var cp = getCurrentPoint();
 
参照 選択メソッドPointオブジェクトView.getAnchorPoint() メソッドView クラスPointオブジェクト


View.getEncoding() メソッド
機能 テキストの漢字コードを取得します。
書式 [ aView. ] getEncoding()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 成功した場合はファイルの漢字コード、それ以外はnull
 
詳細

テキストの漢字コードを取得します 成功した場合は、漢字コードを表す整数値を返します。

整数値と漢字コードの対応は、File.guessEncoding()メソッドを参照してください。

 
// 漢字コードがShift JISかどうかテストします。
if (getEncoding() == File.ENCODING_SJIS) { ... };
 
参照 ファイル操作メソッドView.setEncoding() メソッドView クラス


View.getFirstVisibleLine() メソッド
機能 編集ウインドウ上端の表示行番号を返します。
書式 [ aView. ] getFirstVisibleLine()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 編集ウインドウ上端の表示行番号(1〜)
 
詳細

編集ウインドウ上端の表示行番号(1〜)を返します。 ウインドウが既に閉じられているなどの理由により上端の表示行番号が取得できないときは、0を返します。

 
// ウインドウ上端の表示行番号を調べる。
var firstLine = getFirstVisibleLine();
 
参照 ウインドウ操作メソッドView.getFirstVisiblePoint() メソッドView.setFirstVisibleLine() メソッドView.setFirstVisiblePoint() メソッドView クラス


View.getFirstVisiblePoint() メソッド
機能 編集ウインドウ左上隅を表すPointオブジェクトを返します。
書式 [ aView. ] getFirstVisiblePoint()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 Pointオブジェクト
 
詳細

編集ウインドウ左上隅を表すPointオブジェクトを返します。 ウインドウが既に閉じられているなどの理由により上端の表示行番号が取得できないときは、 nullを返します。

 
// ウインドウ左上のポイントを取得する。
var nePoint = getFirstVisiblePoint();
 
参照 ウインドウ操作メソッドView.getFirstVisibleLine() メソッドView.setFirstVisibleLine() メソッドView.setFirstVisiblePoint() メソッドView クラスPointオブジェクト


View.getFilePath() メソッド
機能 ファイルのパスを取得します。
書式 [ aView. ] getFilePath()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 ファイルのパス
 
詳細

ファイルのパスを取得します。 まだ一度も保存していない新規ファイルの場合は、空の文字列を返します。

 
// ファイルのパスを取得します。
var path = getFilePath();
 
参照 ファイル操作メソッドView クラス


View.getGuideline() メソッド
機能 ガイドライン情報を取得します。
書式 [ aView. ] getGuideline()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 成功した場合はArrayオブジェクト、それ以外はnull
 
詳細

編集ウインドウの言語に設定されているガイドラインの情報を取得します。 結果は、ガイドラインが設定されているカラム位置(1〜)の配列です。

繰り返しガイドラインは、配列にrepeatプロパティとして設定されます。 繰り返しガイドラインがない場合、repeat0になります。

 
// ガイドライン情報を取得します。
var columns = getGuideline();
 
参照 その他メソッドView.setGuideline() メソッドView.clearAllGuidelines() メソッドView.fillToNextGuideline() メソッドView クラス


View.getIMEOpen() メソッド
機能 仮名漢字変換がONかどうかを調べます。
書式 [ aView. ] getIMEOpen()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 仮名漢字変換がONであればtrue、それ以外はfalse
 
詳細

編集ウインドウの仮名漢字変換がONであるかどうかを調べ、 ONであればtrue、 それ以外の場合はfalseを返します。

 
// 仮名漢字変換の状態を調べる。
if (getIMEOpen()) { ... }
 
参照 テキスト編集メソッドView.setIMEOpen() メソッドView クラス


View.getInsertMode() メソッド
機能 挿入モード/上書きモードを取得します。
書式 View.getInsertMode()
引数 View ...... Viewクラス
戻り値 挿入モードならtrue、上書きモードならfalse
 
詳細

挿入モードかを上書きモードかを取得します。

【注意】
View.getInsertMode()はクラスメソッドです。

 
// 挿入モードかどうか調べる。
if (View.getInsertMode()) { ... }
 
参照 View.setInsertMode() メソッドテキスト編集メソッドView クラス


View.getKeywordCandidates() メソッド
機能 ヒントに一致するキーワード補完の候補を検索します。
書式 [ aView. ] getKeywordCandidates(hint)
引数 aView ...... 編集ウインドウ(View)オブジェクト
hint ...... 補完ヒント
戻り値 補完候補の配列
 
詳細

ヒントに一致するキーワード補完の候補を検索し、 条件に一致したものを収めた配列を返します。

HTML、JavaScriptのように1つのファイルに複数のサブ言語が含まれている場合、 現在のカーソル位置のサブ言語によって補完候補となるキーワードは変化します。

 
// getで始まりキーワードのリストを取得します。
var candidates = getKeywordCandidates("get");
 
参照 補完メソッドView クラス


View.getKeywordTooltip() メソッド
機能 キーワードのチップ文字列を取得します。
書式 [ aView. ] getKeywordTooltip(keyword)
引数 aView ...... 編集ウインドウ(View)オブジェクト
keyword ...... キーワード
戻り値 成功すればキーワードチップ文字列、それ以外は空の文字列
 
詳細

キーワードのチップ文字列を取得します。

HTML、JavaScriptのように1つのファイルに複数のサブ言語が含まれている場合、 現在のカーソル位置のサブ言語によってキーワードチップ文字列は変わります。

 
// "function"のチップ文字列を取得します。
var tip = getKeywordTooltip("function");
 
参照 補完メソッドView クラス


View.getLanguageID() メソッド
機能 設定されている言語モードの識別名を返します。
書式 [ aView. ] getLanguageID()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

設定されている言語モードの識別名を返します。

例えば、編集中のファイルがC言語に設定されている場合、"C"を返します。 編集中にステータスバーに表示されている文字列です。

 
// 設定されている言語モードの識別名を返します。
var langID = getLanguageID();
 
参照 setLanguageMode([languageID])情報取得・設定メソッドView クラス


View.getLanguageName() メソッド
機能 設定されている言語モードの名称を返します。
書式 [ aView. ] getLanguageName()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

設定されている言語モードの名称を返します。 言語モードの名称とは、拡張子マップなどで表示される言語モードの名称です。

 
// 設定されている言語モードの名称を返します。
var langName = getLanguageName();
 
参照 setLanguageMode([languageID])情報取得・設定メソッドView クラス


View.getLayoutWidth() メソッド
機能 ウインドウのレイアウト幅を返します。
書式 [ aView. ] getLayoutWidth()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 レイアウト幅
 
詳細

折り返し表示の基準であるレイアウト幅を返します。 折り返し表示がOFFの場合は、0となります。 ウインドウが既に閉じられているなどの理由により上端の表示行番号が取得できないときは、-1を返します。

 
// ウインドウのレイアウト幅を調べる。
var width = getLayoutWidth();
 
参照 ウインドウ操作メソッドView.getWindowSize() メソッドView クラス


View.getLine() メソッド
機能 指定したファイル行のテキストを取得します。
書式 [ aView. ] getLine([fileLineNumber [, wantNewline]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
fileLineNumber ...... ファイル行番号(1 〜 )
wantNewline ...... 改行コードも取得するかどうかの論理値
戻り値 取り出した行のテキスト
 
詳細

指定したファイル行のテキストを取得します。 fileLineNumberを省略すると、カーソルのある行を取得します。 wantNewlinetrueを指定すると、 改行コードも含めて取得します。 wantNewlinefalseを指定するか、 省略すると、改行コードを取得しません。

 
// 10行目のテキストを取得します。
var text = getLine(10);
 
参照 テキスト取得メソッドView クラス


View.getLineBackground() メソッド
機能 行の背景色番号を取得します。
書式 [ aView. ] getLineBackground([fileLine])
引数 aView ...... 編集ウインドウ(View)オブジェクト
fileLine ...... ファイル行番号
戻り値 成功したときは行の背景色番号(0〜7)、それ以外は未定義値(undefined)
 
詳細

指定ファイル行fileLineに設定されている行の背景色番号を取得します。 fileLineを省略すると、現在行の背景色番号を取得します。 指定行が行範囲を超えているような場合は、未定義値(undefined)を返します。

【注意】
行の背景色はサブ言語の背景色とは異なります。 このメソッドでサブ言語の背景色を取得することはできません。

 
// 10行の背景色番号を取得します。
var bg = getLineBackground(10);
 
参照 その他メソッドView.clearLineBackground() メソッドView.setLineBackground() メソッドView クラス


View.getLineByteLength() メソッド
機能 行のバイト数を取得します。
書式 [ aView. ] getLineByteLength([fileLineNumber [, wantNewline]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
fileLineNumber ...... ファイル行番号(1 〜 )
wantNewline ...... 改行のバイト数も加えるか?
戻り値 指定行のバイト数
 
詳細

行のバイト数を取得します。 fileLineNumberを省略した場合は、カーソルのある行の長さを取得します。 文字数ではないので、注意してください。 wantNewlinetrueを指定すると、 改行のバイト数も加算します。

 
// 10行のバイト数を取得します。
var bytelen = getLineByteLength(10);
 
参照 テキスト取得メソッドView クラス


View.getLineCount() メソッド
機能 ファイル行数を取得します。
書式 [ aView. ] getLineCount()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

ファイル行数を取得します。

 
// ファイル行数を取得します。
var nlines = getLineCount();
 
参照 情報取得・設定メソッドView クラス


View.getLineLength() メソッド
機能 行の文字数を取得します。
書式 [ aView. ] getLineLength([fileLineNumber [, wantNewline]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
fileLineNumber ...... ファイル行番号(1 〜 )
wantNewline ...... 改行もカウントするか?
戻り値 指定行の文字数
 
詳細

行の文字数を取得します。

fileLineNumberを省略した場合は、カーソルのある行の長さを文字単位で取得します。 wantNewlinetrueを指定すると、 改行もカウントします。ただし、改行コードがCR-LFのように2バイトであっても1とカウントします。

 
// 10行の文字数を取得します。
var len = getLineLength(10);
 
参照 テキスト取得メソッドView クラス


View.getNewline() メソッド
機能 改行コードを取得します。
書式 [ aView. ] getNewline()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

改行コードを取得します。 編集中のテキストにより、"\r\n"、"\n"、"\r"を返します。

 
// 改行コードを取得します。
var lineEnd = getNewline();
 
参照 View.setNewline() メソッド情報取得・設定メソッドView クラス


View.getReadOnly() メソッド
機能 編集禁止かどうかを取得します。
書式 [ aView. ] getReadOnly()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 編集禁止であればtrue、それ以外はfalse
 
詳細

編集中のテキストが編集禁止かどうかを取得します。

【注意】
そのファイルの書き込み禁止属性ではないので注意してください。

 
// 編集禁止かどうかを取得します。
if (getReadOnly()) { .... }
 
参照 ファイル操作メソッドView.setReadOnly() メソッドView クラス


View.getSelectedText() メソッド
機能 選択範囲のテキストを取得します。
書式 [ aView. ] getSelectedText()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 選択範囲のテキスト
 
詳細

選択範囲のテキストを取得します。 矩形選択のときは、矩形部分のそれぞれの行に改行コードを挿入して連結した文字列が返されます。

 
// 選択範囲のテキストを取得します。
var text = getSelectedText();
 
参照 テキスト取得メソッドView クラス


View.getSelection() メソッド
機能 選択範囲の情報を取得します。
書式 [ aView. ] getSelection()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 選択範囲を収めたPointオブジェクトの配列
 
詳細

選択範囲の情報を取得します。

選択情報とは、選択開始位置と終了位置を表す2つのPointオブジェクトを要素とする配列です。 要素[0]がファイルの先頭に近いポイント、 要素[1]がファイルの終りに近いポイントを表します。 選択範囲がない場合は、要素[0]=要素[1]となります。

さらにこの配列には、以下の3つのプロパティが追加されています。

プロパティ名
direction integer 選択の方向
0 ならば、選択範囲なし(要素[0] = 要素[1])
1 ならば、要素[0]がアンカーポイントで要素[1]の位置にカーソルがある。
-1 ならば、要素[1]がアンカーポイントで要素[0]の位置にカーソルがある。
block boolean 矩形選択モードであればtrue、それ以外はfalse
extendLock boolean 選択範囲の拡張をロックしている、 つまりShiftキーを押さないで矢印キーで選択範囲を拡大縮小できる状態であれば、 true、それ以外はfalse

 
// 選択範囲の情報を取得します。
var pPointArray = getSelection();
 
参照 選択メソッドView.setSelection() メソッドView クラスPointオブジェクト


View.getTabStop() メソッド
機能 タブ間隔を取得します。
書式 [ aView. ] getTabStop()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

タブ間隔を取得します。

 
// タブ間隔を取得します。
var tabstop = getTabStop();
 
参照 情報取得・設定メソッドView.setTabStop() メソッドView クラス


View.getText() メソッド
機能 カーソル位置から指定文字数のテキストを取得します。
書式 [ aView. ] getText([numberOfCharacters])
引数 aView ...... 編集ウインドウ(View)オブジェクト
numberOfCharacters ...... 取得する文字数
戻り値 取り出した文字列
 
詳細

カーソル位置からnumberOfCharacters文字のテキストを取得します。

numberOfCharactersを省略すると、1文字とみなします。 numberOfCharactersにマイナスの値を指定すると、カーソル位置以前の文字を取得します。

【注意】
CR-LFのような2バイト改行も1文字としてカウントします。

 
// カーソル位置から5文字取得します。
var text = getText(5);
 
参照 テキスト取得メソッドView クラス


View.getTextAt() メソッド
機能 指定位置から文字列を取得します。
書式 [ aView. ] getTextAt(aPoint [, numberOfCharacters])
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint ...... ポイントオブジェクト
numberOfCharacters ...... 取得する文字数
戻り値 取得したテキスト
 
詳細

PointオブジェクトaPointにより指定位置から、 numberOfCharacters文字取得します。

numberOfCharactersを省略すると、1文字とみなします。 numberOfCharactersにマイナスの値を指定すると、指定位置以前の文字を取得できます。

【注意】
CR-LFのような2バイト改行も1文字としてカウントします。

 
// ファイルの先頭から10文字取得します。
var text = getTextAt(new Point(1, 0), 10);
 
参照 テキスト取得メソッドView クラスPointオブジェクト


View.getTextBetween() メソッド
機能 指定した2ポイント間のテキストを取得します。
書式 [ aView. ] getTextBetween(aPoint1, aPoint2)
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint1 ...... Pointオブジェクト1
aPoint2 ...... Pointオブジェクト2
戻り値 取得したテキスト
 
詳細

指定した2つのポイント間のテキストを取得します。 aPoint1aPoint2は、どちらが前でも後ろでもかまいません。

 
// 2つのポイント間のテキストを取得します。
var p1 = new Point(10, 10);
var p2 = new Point(12, 0);
var text = getTextBetween(p1, p2);
 
参照 テキスト取得メソッドView クラスPointオブジェクト


View.getTitle() メソッド
機能 編集ウインドウのタイトルを取得します。
書式 [ aView. ] getTitle()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 成功した場合は取得したタイトル、それ以外はnull
 
詳細

編集ウインドウのタイトルを取得します。 成功した場合は取得したタイトル、それ以外はnullを返します。

 
// 編集ウインドウのタイトルを取得します。
var title = getTitle();
messageBox(title);
 
参照 情報取得・設定メソッドView.setTitle() メソッドView クラス


View.getUndoList() メソッド
機能 UNDOバッファ中の文字列リストを取得します。
書式 [ aView. ] getUndoList([insert [, maxlen [, undo [, redo]]]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
insert ...... 挿入文字列/削除文字列どちらを取得するか?
maxlen ...... 個々の文字列の長さ制限バイト数
undo ...... UNDO側から最大何個まで取り出すか
redo ...... REDO側から最大何個まで取り出すか
戻り値 成功した場合は文字列の配列、それ以外はundefined
 
詳細

成功した場合は、UNDOバッファ内に記録されている削除・挿入文字列を集めた配列を返します。 UNDOに何も記録されていないときは、空の配列を返します。 失敗した場合は、undefinedを返します。

配列には、最後に行った挿入/削除文字列が先頭(インデックス=0)、 より古い挿入/削除になるに従いインデックス=1、2、...の順で文字列が格納されます。

inserttrueを指定すると、 UNDOバッファ内に記録されている挿入された文字列リストを取得します。 insertfalseを指定するか省略すると、 UNDOバッファ内に記録されている削除された文字列リストを取得します。

maxlenは、取り出す個々の挿入/削除文字列の長さをバイト単位で制限します。 UNDO情報の文字列には非常に長いものもあるので、 maxlenで制限することにより思いがけないメモリ消費を防ぐことが可能です。 0を指定すると無制限、省略すると256バイトと見なします。

undoは、UNDO側、すなわち[元に戻す]コマンドで使われる情報の新しいものから最大何個まで取得するかを指定します。 同様にredoは、REDO側から最大何個まで取得するかを指定します。 undoredoを省略すると、「バッファ内すべて」と見なします。

【注意】
UNDOバッファはファイル毎に独立しています。
【注意】
矩形削除、挿入、置換、一括置換されたテキストは対象外です。

 
// UNDOバッファ中の削除文字列を取り出します。
var list = getUndoList();
listBox("削除文字列", "UNDOバッファ中の削除文字列です.", list);
 
参照 情報取得・設定メソッドView クラス


View.getViewLineCount() メソッド
機能 表示行数を取得します。
書式 [ aView. ] getViewLineCount()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

表示行数を取得します。

 
// 表示行数を取得します。
var nViewLines = getViewLineCount();
 
参照 情報取得・設定メソッドView クラス


getWindowHandle() メソッド
機能 編集ウインドウのハンドルを取得します。
書式 [ aView. ] getWindowHandle()
引数 なし
戻り値 成功した場合は編集ウインドウのハンドル、それ以外は0
詳細

編集ウインドウのハンドルを取得します。

【注意】
MocaScriptではハンドル型というデータ型が存在しないため、 ハンドル値を整数として扱います。

 
// 編集ウインドウのハンドルを取得します。
var handle = getWindowHandle()
 
参照 getWindow() 関数


View.getWindowSize() メソッド
機能 ウインドウの大きさを行数・桁単位で取得します。
書式 [ aView. ] getWindowSize()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 Arrayオブジェクト
 
詳細

ウインドウの大きさを行数・桁単位で取得します。

結果は、[ width, height ]形式のArrayオブジェクトとなります。 ウインドウが既に閉じられているなどの理由により上端の表示行番号が取得できないときは、 nullを返します。

 
// ウインドウ大きさを調べる。
var size = getWindowSize();
 
参照 ウインドウ操作メソッドView.getLayoutWidth() メソッドView クラス


View.getWord() メソッド
機能 選択範囲または単語または文字を取得します。
書式 [ aView. ] getWord()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 取得したテキスト
 
詳細

選択範囲があり、それが1行の中であれば、選択範囲を取得します。 そうでない場合は、カーソル位置にある単語を取得します。 カーソル位置に単語がない場合は、カーソル位置の1文字を取得します。

 
// 選択範囲または単語または文字を取得します。
var word = getWord();
 
参照 テキスト取得メソッドView クラス


View.gotoLastModified() メソッド
機能 最終変更箇所へジャンプします。
書式 [ aView. ] gotoLastModified()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

最終変更箇所へジャンプします。

 
// 最終変更箇所へジャンプします。
gotoLastModified();
 
参照 ジャンプメソッドView クラス


View.gotoLine() メソッド
機能 [指定行へジャンプ]ダイアログボックスを表示します。
書式 [ aView. ] gotoLine()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

[指定行へジャンプ]ダイアログボックスを表示してジャンプします。

 
// [指定行へジャンプ]ダイアログボックスでジャンプする。
gotoLine();
 
参照 ジャンプメソッドView クラス


View.gotoMatchBrace() メソッド
機能 対応する括弧へジャンプします。
書式 [ aView. ] gotoMatchBrace([extendSelection [, ignoreSyntax]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
extendSelection ...... 選択範囲を拡大縮小する
ignoreSyntax ...... 文法を無視して対応括弧を探す
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

対応する括弧へジャンプします。 extendSelectiontrueを指定すると、 選択範囲を拡張しながら対応括弧へジャンプします。 ignoreSyntaxtrueを指定すると、 文法を無視して対応括弧を探します。 falseを指定するか省略した場合は、 文法に従って対応する括弧を探します。

 
// 対応する括弧へジャンプします。
gotoMatchBrace();
 
参照 ジャンプメソッドView クラス


View.gotoNextBookmark() メソッド
機能 次のブックマークへジャンプします。
書式 [ aView. ] gotoNextBookmark()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

次のブックマークへジャンプします。

 
// 次のブックマークへジャンプします。
gotoNextBookmark();
 
参照 ジャンプメソッドView クラス


View.gotoNextConditional() メソッド
機能 次の対応する条件コンパイル文にジャンプします。
書式 [ aView. ] gotoNextConditional()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

次の対応する条件コンパイル文にジャンプします。

 
// 次の対応する条件コンパイル文にジャンプします。
gotoNextConditional();
 
参照 ジャンプメソッドView クラス


View.gotoNextLabel() メソッド
機能 次の見出し、ラベル、関数へジャンプします。
書式 [ aView. ] gotoNextLabel()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

次の見出し、ラベル、関数へジャンプします。 何を見出しとするかは、設定されている言語モードに依存します。

 
// 次の見出し、ラベル、関数へジャンプします。
gotoNextLabel();
 
参照 ジャンプメソッドView クラス


View.gotoNextTouched() メソッド
機能 次の変更行にジャンプします。
書式 [ aView. ] gotoNextTouched()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

次の変更行にジャンプします。

 
// 次の変更行にジャンプします。
gotoNextTouched();
 
参照 ジャンプメソッドView クラス


View.gotoPoint() メソッド
機能 指定位置にカーソルを移動します。
書式 [ aView. ] gotoPoint(aPoint [, extend])
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint ...... Pointオブジェクト
extend ...... trueならば選択範囲を拡張
戻り値 成功すればtrue、それ以外はfalse
 
詳細

指定位置にカーソルを移動します。
extendtrueを指定すると、 アンカーポイントからaPointまでを選択します。

 
// カーソルを10行目の先頭に移動します。
var pt = new Point(10, 0);
gotoPoint(pt);
 
参照 カーソル移動メソッドView.movePoint() メソッドView クラスPointオブジェクト


View.gotoPreviousBookmark() メソッド
機能 前のブックマークへジャンプします。
書式 [ aView. ] gotoPreviousBookmark()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

前のブックマークへジャンプします。

 
// 前のブックマークへジャンプします。
gotoPreviousBookmark();
 
参照 ジャンプメソッドView クラス


View.gotoPreviousConditional() メソッド
機能 前の対応する条件コンパイル文にジャンプします。
書式 [ aView. ] gotoPreviousConditional()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

前の対応する条件コンパイル文にジャンプします。

 
// 前の対応する条件コンパイル文にジャンプします。
gotoPreviousConditional();
 
参照 ジャンプメソッドView クラス


View.gotoPreviousLabel() メソッド
機能 前の見出し、ラベル、関数へジャンプします。
書式 [ aView. ] gotoPreviousLabel()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

前の見出し、ラベル、関数へジャンプします。 何を見出しとするかは、設定されている言語モードに依存します。

 
// 前の見出し、ラベル、関数へジャンプします。
gotoPreviousLabel();
 
参照 ジャンプメソッドView クラス


View.gotoPreviousTouched() メソッド
機能 前の変更行にジャンプします。
書式 [ aView. ] gotoPreviousTouched()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

前の変更行にジャンプします。

 
// 前の変更行にジャンプします。
gotoPreviousTouched();
 
参照 ジャンプメソッドView クラス


View.halfPageDown() メソッド
機能 カーソルを半ページ(半画面)下に移動します。
書式 [ aView. ] halfPageDown([repeatCount [, extendSelection]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
extendSelection ...... 選択範囲を拡大縮小するか。
戻り値 なし(undefined)
 
詳細

カーソルを半ページ(半画面)下に移動します。

repeatCountにより指定半ページ数だけカーソルを下へ移動できます。

extendSelectiontrueを指定すると、 選択範囲を拡大/縮小しながらカーソルを移動します。 falseを指定するとカーソルを半ページ下に移動し選択範囲はなくなります。 extendSelectionを省略すると、 選択範囲の拡張がロックされているかどうかにより選択範囲を拡大縮小するか、 カーソルだけが移動するかが決まります。

 
// カーソルを半ページ(半画面)下に移動します。
halfPageDown();
 
参照 カーソル移動メソッドView クラス


View.halfPageUp() メソッド
機能 カーソルを半ページ(半画面)上に移動します。
書式 [ aView. ] halfPageUp([repeatCount [, extendSelection]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
extendSelection ...... 選択範囲を拡大縮小するか。
戻り値 なし(undefined)
 
詳細

カーソルを半ページ(半画面)上に移動します。

repeatCountにより指定半ページ数だけカーソルを上へ移動できます。

extendSelectiontrueを指定すると、 選択範囲を拡大/縮小しながらカーソルを移動します。 falseを指定するとカーソルを半ページ上に移動し選択範囲はなくなります。 extendSelectionを省略すると、 選択範囲の拡張がロックされているかどうかにより選択範囲を拡大縮小するか、 カーソルだけが移動するかが決まります。

 
// カーソルを半ページ(半画面)上に移動します。
halfPageUp();
 
参照 カーソル移動メソッドView クラス


View.hankakuSelection() メソッド
機能 選択範囲の指定全角文字を半角に変換します。
書式 [ aView. ] hankakuSelection([characterType])
引数 aView ...... 編集ウインドウ(View)オブジェクト
characterType ...... 半角に変換する文字の種類
戻り値 なし(undefined)
 
詳細

選択範囲の指定種類の全角文字を半角に変換します。 変換する文字の種類characterTypeを指定した場合は、 それに該当する文字のみ半角に変換します。 指定できる文字の種類は、 Viewクラスのプロパティを参照してください。 OR演算子(|)を使って複数の文字種を一度に指定することもできます。

characterTypeを省略した場合は、 変換の種類を入力するダイアログボックスが表示されます。

 
// 選択範囲の英数空白を半角に変換します。
hankakuSelection(View.CONV_ALPHABET | View.CONV_NUMBER | View.CONV_SPACE);
 
参照 変換メソッドView クラス


View.hasFocus() メソッド
機能 Viewがフォーカスを持っているかどうか調べます。
書式 [ aView. ] hasFocus()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 フォーカスを持っていればtrue、それ以外はfalse
 
詳細

aViewで指定される編集ウインドウがキーボードフォーカスを持っていればtrue、 それ以外はfalseを返します。

 
// フォーカスがなければ終了する。
if (!hasFocus()) exit();
 
参照 ウインドウ操作メソッドView.activate() メソッドView クラス


View.hirakanaSelection() メソッド
機能 選択範囲の全角カタカナをひらかなに変換します。
書式 [ aView. ] hirakanaSelection()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲の全角カタカナをひらかなに変換します。

 
// 選択範囲の全角カタカナをひらかなに変換します。
hirakanaSelection();
 
参照 変換メソッドView クラス


View.home() メソッド
機能 行頭または行の最初の非空白文字へカーソルを移動します。
書式 [ aView. ] home([extendSelection [, viewOrFileLine]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
extendSelection ...... 選択範囲を拡大縮小するか。
viewOrFileLine ...... ファイル行頭か表示行頭か
戻り値 なし(undefined)
 
詳細

行頭または行の最初の非空白文字へカーソルを移動します。

extendSelectiontrueを指定すると、 選択範囲を拡大/縮小しながらカーソルを行頭へ移動します。Shift+Homeキーと同じです。 falseを指定するとカーソルを行頭へ移動し選択範囲はなくなります。 extendSelectionを省略すると、 選択範囲の拡張がロックされているかどうかにより選択範囲を拡大縮小するか、 カーソルだけが移動するかが決まります。Homeキーと同じです。

viewOrFileLineは、ファイル行の先頭か表示行の先頭かを指定します。 trueを指定すると表示行の先頭、 falseはファイル行の先頭、 省略するとその時点の行番号モードに従いファイル行か表示行の先頭へ移動します。

 
// 行頭または行の最初の非空白文字へカーソルを移動します。
home();
 
参照 カーソル移動メソッドView クラス


View.htmlBreakLine() メソッド
機能 カーソル位置に<br>を挿入します。
書式 [ aView. ] htmlBreakLine([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

カーソル位置に<br>を挿入します。

 
// カーソル位置に<br>を2個挿入します。
htmlBreakLine(2);
 
参照 HTML編集メソッドView クラス


View.htmlConvertFromEntity() メソッド
機能 選択範囲の&amp;、&lt;、&gt;、&quot;などのエンティティを対応する文字に変換します。
書式 [ aView. ] htmlConvertFromEntity()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲の&amp;、&lt;、&gt;、&quot;などのエンティティを対応する文字に変換します。

 
// 選択範囲の&amp;、&lt;、&gt;、&quot;などのエンティティを対応する文字に変換します。
htmlConvertFromEntity();
 
参照 HTML編集メソッドView クラス


View.htmlConvertToEntity() メソッド
機能 選択範囲の&、<、>、"などの文字をエンティティ化します。
書式 [ aView. ] htmlConvertToEntity()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲の&、<、>、"などの文字をエンティティ化します。

 
// 選択範囲の&、<、>、"などの文字をエンティティ化します。
htmlConvertToEntity();
 
参照 HTML編集メソッドView クラス


View.htmlDeleteTag() メソッド
機能 カーソル位置のHTMLタグを削除します。
書式 [ aView. ] htmlDeleteTag()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソル位置のHTMLタグを削除します。

 
// カーソル位置のHTMLタグを削除します。
htmlDeleteTag();
 
参照 HTML編集メソッドView クラス


View.htmlDeleteTagPair() メソッド
機能 カーソル位置のHTMLタグと対になるタグを削除します。
書式 [ aView. ] htmlDeleteTagPair()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソル位置のHTMLタグと対になるタグを削除します。

 
// カーソル位置のHTMLタグと対になるタグを削除します。
htmlDeleteTagPair();
 
参照 HTML編集メソッドView クラス


View.htmlGetMatchingTag() メソッド
機能 指定ポイントのHTMLタグと対になるタグの情報を取得します。
書式 [ aView. ] htmlGetMatchingTag([aPoint])
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint ...... タグ中の位置を示すPointブジェクト
戻り値 HTMLタグがあればその先頭と末尾を表すPointオブジェクトの配列、それ以外はnull
 
詳細

PointオブジェクトaPointが示す位置を含んだHTMLタグと対になるタグを探して、 あればそのHTMLタグの開始と終了位置を示すPointオブジェクトの配列を返します。

aPointを省略すると、カーソル位置とみなします。 aPoint以降にHTMLタグを見つけることができなかった場合には、 nullを返します。

配列のインデックス0の要素がHTMLタグの開始位置(<の直前)を表すPointオブジェクト、 配列のインデックス1の要素がHTMLタグの終了位置(>の直後)を表すPointオブジェクトです。 配列には他に2つのタグ情報を収めたプロパティがあります。

プロパティ名
elementName string エレメント名
type integer エレメントの種類
1・・・開始タグ
2・・・終了タグ
3・・・自己完結タグ(メモ参照)

このメソッドは、カーソルを移動させたり選択範囲を変更することはしません。

【メモ】
自己完結タグとは、<img src="..."/>のようなタグのことです。
【注意】
このメソッドは言語モードがHTML/XMLのときだけ利用できます。

 
// 対応するHTMLタグの情報を取得します。
var tag = htmlGetMatchingTag();
 
参照 HTML編集メソッドView クラスPointオブジェクト


View.htmlGetNextTag() メソッド
機能 指定ポイントの次のHTMLタグの範囲を取得します。
書式 [ aView. ] htmlGetNextTag([aPoint [, elementName]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint ...... タグ中の位置を示すPointブジェクト
elementName ...... タグ名
戻り値 HTMLタグがあればその先頭と末尾を表すPointオブジェクトの配列、それ以外はnull
 
詳細

PointオブジェクトaPointが示す位置から後に向かってHTMLを探し、 あればそのHTMLタグの開始と終了位置を示すPointオブジェクトの配列を返します。

elementNameを指定すると、同じエレメント名を持った次のタグを探します。 aPointを省略すると、カーソル位置とみなします。 aPoint以降にHTMLタグを見つけることができなかった場合には、 nullを返します。

配列のインデックス0の要素がHTMLタグの開始位置(<の直前)を表すPointオブジェクト、 配列のインデックス1の要素がHTMLタグの終了位置(>の直後)を表すPointオブジェクトです。 配列には他に2つのタグ情報を収めたプロパティがあります。

プロパティ名
elementName string エレメント名
type integer エレメントの種類
1・・・開始タグ
2・・・終了タグ
3・・・自己完結タグ(メモ参照)

このメソッドは、カーソルを移動させたり選択範囲を変更することはしません。

【メモ】
自己完結タグとは、<img src="..."/>のようなタグのことです。
【注意】
このメソッドは言語モードがHTML/XMLのときだけ利用できます。

 
// カーソル位置以降のHTMLタグの情報を取得します。
var tag = htmlGetNextTag();
 
参照 HTML編集メソッドView クラスPointオブジェクト


View.htmlGetPreviousTag() メソッド
機能 指定ポイントの前のHTMLタグの範囲を取得します。
書式 [ aView. ] htmlGetPreviousTag([aPoint [, elementName]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint ...... タグ中の位置を示すPointブジェクト
elementName ...... タグ名
戻り値 HTMLタグがあればその先頭と末尾を表すPointオブジェクトの配列、それ以外はnull
 
詳細

PointオブジェクトaPointが示す位置から前に向かってHTMLを探し、 あればそのHTMLタグの開始と終了位置を示すPointオブジェクトの配列を返します。

elementNameを指定すると、同じエレメント名を持った次のタグを探します。 aPointを省略すると、カーソル位置とみなします。 aPoint以前にHTMLタグを見つけることができなかった場合には、 nullを返します。

配列のインデックス0の要素がHTMLタグの開始位置(<の直前)を表すPointオブジェクト、 配列のインデックス1の要素がHTMLタグの終了位置(>の直後)を表すPointオブジェクトです。 配列には他に2つのタグ情報を収めたプロパティがあります。

プロパティ名
elementName string エレメント名
type integer エレメントの種類
1・・・開始タグ
2・・・終了タグ
3・・・自己完結タグ(メモ参照)

このメソッドは、カーソルを移動させたり選択範囲を変更することはしません。

【メモ】
自己完結タグとは、<img src="..."/>のようなタグのことです。
【注意】
このメソッドは言語モードがHTML/XMLのときだけ利用できます。

 
// カーソル位置以前のHTMLタグの情報を取得します。
var tag = htmlGetPreviousTag();
 
参照 HTML編集メソッドView クラスPointオブジェクト


View.htmlGetTag() メソッド
機能 指定ポイントを含むHTMLタグの範囲を取得します。
書式 [ aView. ] htmlGetTag([aPoint])
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint ...... タグ中の位置を示すPointブジェクト
戻り値 HTMLタグがあればその先頭と末尾を表すPointオブジェクトの配列、それ以外はnull
 
詳細

PointオブジェクトaPointが示す位置を含んでいるHTMLタグの開始と終了位置を示すPointオブジェクトの配列を返します。 aPointを省略すると、カーソル位置とみなします。 aPointがHTMLタグの先頭または途中にないときは、 nullを返します。

配列のインデックス0の要素がHTMLタグの開始位置(<の直前)を表すPointオブジェクト、 配列のインデックス1の要素がHTMLタグの終了位置(>の直後)を表すPointオブジェクトです。 配列には他に2つのタグ情報を収めたプロパティがあります。

プロパティ名
elementName string エレメント名
type integer エレメントの種類
1・・・開始タグ
2・・・終了タグ
3・・・自己完結タグ(メモ参照)

このメソッドは、カーソルを移動させたり選択範囲を変更することはしません。

【メモ】
自己完結タグとは、<img src="..."/>のようなタグのことです。
【注意】
このメソッドは言語モードがHTML/XMLのときだけ利用できます。

 
// カーソル位置を含んでいるHTMLタグ情報を取得します。
var tag = htmlGetTag();
 
参照 HTML編集メソッドView クラスPointオブジェクト


View.htmlGetTagPair() メソッド
機能 指定ポイントを含むHTMLタグとそれと対になるタグの情報を取得します。
書式 [ aView. ] htmlGetTagPair([aPoint])
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint ...... タグ中の位置を示すPointブジェクト
戻り値 見つかればPointオブジェクトの配列、それ以外はnull
 
詳細

PointオブジェクトaPointが示す位置がHTMLの先頭か内部であれば、 そのHTMLの先頭と末尾を表すPointオブジェクト、 さらにそれと対になるタグを探してその先頭と末尾を表すPointオブジェクトを収めた配列を返します。

aPointがHTMLタグの先頭または途中にないときは、 nullを返します。

配列のインデックス0の要素が開きHTMLタグの開始位置(<の直前)を表すPointオブジェクト、 配列のインデックス1の要素が開きHTMLタグの終了位置(>の直後)を表すPointオブジェクト、 配列のインデックス2の要素が閉じHTMLタグの開始位置(<の直前)を表すPointオブジェクト、 配列のインデックス3の要素が閉じHTMLタグの終了位置(>の直後)を表すPointオブジェクトです。 対応するタグが見つからなかった場合は、インデックス2、3は未定義(undefined)です。

このメソッドは、カーソルを移動させたり選択範囲を変更することはしません。

【注意】
このメソッドは言語モードがHTML/XMLのときだけ利用できます。

 
// カーソル位置を含んでいるHTMLタグペアの情報を取得します。
var tag = htmlGetTagPair();
 
参照 HTML編集メソッドView クラスPointオブジェクト


View.htmlGoToMatching() メソッド
機能 対応するHTMLタグへジャンプします。
書式 [ aView. ] htmlGoToMatching([selectTag])
引数 aView ...... 編集ウインドウ(View)オブジェクト
selectTag ...... タグを選択
戻り値 成功するとtrue、それ以外はfalse
 
詳細

対応するHTMLタグへジャンプします。

selectTagtrueを指定すると、 移動後にタグを選択します。 falseの場合はタグの先頭にカーソル移動します。 selectTagを省略すると、 オプション設定によりタグを選択するかどうかが決まります。

【注意】
このメソッドは言語モードがHTML/XMLのときだけ利用できます。

 
// 対応するHTMLタグへジャンプし選択します。
htmlGoToMatching(true);
 
参照 HTML編集メソッドView クラス


View.htmlLowerCaseElement() メソッド
機能 選択範囲のエレメント名を小文字化します。
書式 [ aView. ] htmlLowerCaseElement()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲のエレメント名を小文字化します。

【注意】
このメソッドは言語モードがHTML/XMLのときだけ利用できます。

 
// 選択範囲のエレメント名を小文字化します。
htmlLowerCaseElement();
 
参照 HTML編集メソッドView クラス


View.htmlNextTag() メソッド
機能 カーソルを次のHTMLタグへ移動させます。
書式 [ aView. ] htmlNextTag([selectTag])
引数 aView ...... 編集ウインドウ(View)オブジェクト
selectTag ...... タグを選択
戻り値 成功するとtrue、それ以外はfalse
 
詳細

カーソルを次のHTMLタグへ移動させます。

selectTagtrueを指定すると、 移動後にタグを選択します。 falseの場合はタグの先頭にカーソル移動します。 selectTagを省略すると、 オプション設定によりタグを選択するかどうかが決まります。

【注意】
このメソッドは言語モードがHTML/XMLのときだけ利用できます。

 
// カーソルを次のHTMLタグへ移動し選択します。
htmlNextTag(true);
 
参照 HTML編集メソッドView クラス


View.htmlPreviousTag() メソッド
機能 カーソルを前のHTMLタグへ移動させます。
書式 [ aView. ] htmlPreviousTag([selectTag])
引数 aView ...... 編集ウインドウ(View)オブジェクト
selectTag ...... タグを選択
戻り値 成功するとtrue、それ以外はfalse
 
詳細

カーソルを前のHTMLタグへ移動させます。

selectTagtrueを指定すると、 移動後にタグを選択します。 falseの場合はタグの先頭にカーソル移動します。 selectTagを省略すると、 オプション設定によりタグを選択するかどうかが決まります。

【注意】
このメソッドは言語モードがHTML/XMLのときだけ利用できます。

 
// カーソルを前のHTMLタグへ移動し選択します。
htmlPreviousTag(true);
 
参照 HTML編集メソッドView クラス


View.htmlSelectTag() メソッド
機能 カーソル位置のHTMLタグを選択します。
書式 [ aView. ] htmlSelectTag()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 成功するとtrue、それ以外はfalse
 
詳細

カーソル位置のHTMLタグを選択します。

【注意】
このメソッドは言語モードがHTML/XMLのときだけ利用できます。

 
// カーソル位置のHTMLタグを選択します。
htmlSelectTag();
 
参照 HTML編集メソッドView クラス


View.htmlSelectTagPair() メソッド
機能 ペアとなるHTMLタグ間を選択します。
書式 [ aView. ] htmlSelectTagPair([outside])
引数 aView ...... 編集ウインドウ(View)オブジェクト
outside ...... 内部のテキストかタグも選択するかの区別
戻り値 成功するとtrue、それ以外はfalse
 
詳細

ペアとなるHTMLタグ間を選択します。

【注意】
このメソッドは言語モードがHTML/XMLのときだけ利用できます。

 
// ペアとなるHTMLタグ間を選択します。
htmlSelectTagPair();
 
参照 HTML編集メソッドView クラス


View.htmlSelectText() メソッド
機能 カーソル位置を含んだHTMLタグ間のテキストを選択します。
書式 [ aView. ] htmlSelectText()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 成功するとtrue、それ以外はfalse
 
詳細

カーソル位置を含んだHTMLタグ間のテキストを選択します。

【注意】
このメソッドは言語モードがHTML/XMLのときだけ利用できます。

 
// カーソル位置を含んだHTMLタグ間のテキストを選択します。
htmlSelectText();
 
参照 HTML編集メソッドView クラス


View.htmlUpperCaseElement() メソッド
機能 選択範囲のエレメント名を大文字化します。
書式 [ aView. ] htmlUpperCaseElement()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲のエレメント名を大文字化します。

【注意】
このメソッドは言語モードがHTML/XMLのときだけ利用できます。

 
// 選択範囲のエレメント名を大文字化します。
htmlUpperCaseElement();
 
参照 HTML編集メソッドView クラス


View.indentSelection() メソッド
機能 選択範囲のインデントを1つ深くします。
書式 [ aView. ] indentSelection([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

選択範囲のインデントを1つ深くします。 repeatCountを指定すると、指定レベル深くすることができます。

 
// 選択範囲のインデントを2つ深くします。
indentSelection(2);
 
参照 変換メソッドView クラス


View.insertComment() メソッド
機能 カーソル位置にコメントを挿入します。
書式 [ aView. ] insertComment([commentType])
引数 aView ...... 編集ウインドウ(View)オブジェクト
commentType ...... コメントの種類
戻り値 なし(undefined)
 
詳細

カーソル位置にコメントを挿入します。 commentTypeによって挿入するコメントの種類を指定できます。 指定したコメントタイプによって実際に挿入されるコメントは、言語モードにより異なります。 指定したコメントタイプがない言語モードでは、他のタイプのコメントを挿入します。

コメントの種類
0、または省略行コメント1// コメント
1行コメント2# コメント
2ブロックコメント/* コメント */

 
// カーソル位置に行コメント1を挿入します。
insertComment(0);
 
参照 View.deleteComment() メソッドテキスト挿入メソッドView クラス


View.insertControlCode() メソッド
機能 カーソル位置に制御コードを挿入します。
書式 [ aView. ] insertControlCode()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソル位置に制御コードを挿入します。

 
// カーソル位置に制御コードを挿入します。
insertControlCode();
 
参照 テキスト挿入メソッドView クラス


View.insertDate() メソッド
機能 カーソル位置に日時/日付/時間を挿入します。
書式 [ aView. ] insertDate([dateAndOrTime])
引数 aView ...... 編集ウインドウ(View)オブジェクト
dateAndOrTime ...... 日時/日付/時間の選択
戻り値 なし(undefined)
 
詳細

dateAndOrTimeの指定により、カーソル位置に日付、時間、またはその両方を挿入します。 挿入される日付/時間の形式は、メニューの[編集]-[挿入]-[日付]/[時間]/[日付と時間]と同じです。

dateAndOrTimeの値挿入されるもの
0、または省略日付と時間
1日付
2時間

 
// カーソル位置に日付と時間を挿入します。
insertDate();
 
参照 テキスト挿入メソッドView クラス


View.insertMailQuote() メソッド
機能 選択範囲の行頭にメール引用符を挿入します。
書式 [ aView. ] insertMailQuote()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲の行頭にメール引用符を挿入します。

 
// 選択範囲の行頭にメール引用符を挿入します。
insertMailQuote();
 
参照 テキスト挿入メソッドView クラス


View.insertNewlines() メソッド
機能 選択範囲の折り返し表示位置に改行コードを挿入します。
書式 [ aView. ] insertNewlines()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲の折り返し表示位置に改行コードを挿入します。

 
// 選択範囲の折り返し表示位置に改行コードを挿入します。
insertNewlines();
 
参照 テキスト挿入メソッドView クラス


View.insertRGBValue() メソッド
機能 カーソル位置にRGB値を挿入します。
書式 [ aView. ] insertRGBValue()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソル位置にRGB値を挿入します。

 
// カーソル位置にRGB値を挿入します。
insertRGBValue();
 
参照 テキスト挿入メソッドView クラス


View.insertText() メソッド
機能 カーソル位置にテキストを挿入します。
書式 [ aView. ] insertText(str1 [, str2...])
引数 aView ...... 編集ウインドウ(View)オブジェクト
str1str2... ...... 挿入する文字列
戻り値 成功すればtrue、それ以外はfalse
 
詳細

引数をすべて文字列に変換して、カーソル位置にテキストを挿入します。 選択範囲があれば、その範囲の文字と置き換わります。 ちょうどキーボードから文字をタイプしたのと同じ結果になります。

【注意】
編集禁止のドキュメントには挿入できません。

 
// カーソル位置に文字列helloを挿入します。
insertText("hello");
 
参照 テキスト挿入メソッドView クラス


View.insertTextAt() メソッド
機能 指定位置に文字列を挿入します。
書式 [ aView. ] insertTextAt(aPoint, str1 [, str2...])
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint ...... Pointオブジェクト
str1str2... ...... 挿入する文字列
戻り値 成功すればtrue、それ以外はfalse
 
詳細

PointオブジェクトaPointで示された位置に、 文字列str1str2...を挿入します。

【注意】
編集禁止のドキュメントには挿入できません。

 
// 5行目の先頭にhelloを挿入します。
insertTextAt(Point(5, 0), "hello");
 
参照 テキスト挿入メソッドView クラスPointオブジェクト


View.isExtending() メソッド
機能 選択範囲の拡張をロックしているかどうかを調べます。
書式 [ aView. ] isExtending()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 矩形選択でロックされていれば2、文字選択でロックされている場合は1、ロックされていないときは0を返す。
 
詳細

選択モードがロックされているかどうかを調べ、 ロックされていなければ0、 文字選択モードでロックされていれば1、 矩形選択モードでロックされている場合は2を返します。

ロック状態でView.charLeft()メソッドなどによりカーソル移動を行うと、 移動した部分を選択します。

 
// 現在の選択ロック状態かどうか調べる。
if (isExtending()) { ... }
 
参照 View.charSelectMode() メソッドView.blockSelectMode() メソッドView.getSelection() メソッドView クラス


View.isLineModified() メソッド
機能 ファイルの行が変更されているかどうかを取得します。
書式 [ aView. ] isLineModified([fileLineNumber])
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 行が変更されているときはtrue、それ以外はfalse
 
詳細

fileLineNumberにより指定した行が変更されているかどうかを調べ、 変更されていればtrue、それ以外はfalseを返します。

「行が変更されている行」とは、編集ウインドウに変更行マークが付いている行のことです。

 
// 10行目が変更されているかどうか調べる。
if (isLineModified(10)) { ... }
 
参照 View.isModified() メソッドView クラス


View.isMaximized() メソッド
機能 編集ウインドウが最大化されているかどうかを調べます。
書式 [ aView. ] isMaximized()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 編集ウインドウが最大化されていればtrue、それ以外はfalse
 
詳細

編集ウインドウが最大化されているかどうかを調べます。 アウトプットウインドウに対してこのメソッドを使うと、常にfalseを返します。

 
// 最大化されているかどうか調べる。
if (isMaximized()) { ... }
 
参照 View.maximize() メソッドView.minimize() メソッドView.isMinimized() メソッドView クラス


View.isMinimized() メソッド
機能 編集ウインドウが最小化されているかどうかを調べます。
書式 [ aView. ] isMinimized()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 編集ウインドウが最小化されていればtrue、それ以外はfalse
 
詳細

編集ウインドウが最小化(アイコン化)されているかどうかを調べます。 アウトプットウインドウに対してこのメソッドを使うと、常にfalseを返します。

 
// 最小化されているかどうか調べる。
if (isMinimized()) { ... }
 
参照 View.maximize() メソッドView.minimize() メソッドView.isMaximized() メソッドView クラス


View.isModified() メソッド
機能 変更されているかどうかを返します。
書式 [ aView. ] isModified()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 変更されていればtrue、それ以外はfalse
 
詳細

変更されているかどうかを返します。

 
// 変更されているかどうかを返します。
if (isModified()) { ... }
 
参照 ファイル操作メソッドView クラス


View.isPopupListOpened() メソッド
機能 補完ポップアップリストが開いているかどうかを返します。
書式 [ aView. ] isPopupListOpened()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 この編集ウインドウ上に補完ポップアップリストが開いていればtrue、それ以外はfalse
 
詳細

編集ウインドウ上に補完ポップアップリストが開かれているかどうかを返します。

 
// 補完ポップアップリストが開かれているかどうかを返します。
if (isPopupListOpened()) { ... }
 
参照 補完メソッドView クラスpopupList()メソッド


View.isSibling() メソッド
機能 同じファイルを表示しているビューかどうかを調べます。
書式 [ aView. ] isSibling(anotherView)
引数 aView ...... 編集ウインドウ(View)オブジェクト
anotherView ...... 別の編集ウインドウ(View)オブジェクト
戻り値 aViewanotherViewが同じファイルを表示しているときはtrue、それ以外はfalse
 
詳細

aViewanotherViewが同じファイルを表示しているかどうかを調べ、 同じファイルであればtrue、それ以外の場合にはfaluseを返します。 aViewanotherViewが同じ編集ウインドウでも、 trueを返します。

 
//view2 は同じ編集ウインドウか?
if (isSibling(view2)) { ... }
 
参照 ウインドウ操作メソッドView クラス


View.katakanaSelection() メソッド
機能 選択範囲のひらかなをカタカナに変換します。
書式 [ aView. ] katakanaSelection()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲のひらかなをカタカナに変換します。

 
// 選択範囲のひらかなをカタカナに変換します。
katakanaSelection();
 
参照 変換メソッドView クラス


View.keyin() メソッド
機能 キーボードマクロ再生のために文字入力をシミュレートします。
書式 [ aView. ] keyin(charCode [, ctrl [, shift [, repeatCount]]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
charCode ...... 文字コード
ctrl ...... Ctrlキーが押されている
shift ...... Shiftキーが押されている
repeatCount ...... 繰り返し回数(1〜65535)
戻り値 なし(undefined)
 
詳細

キーボードのTabキー、Enterキーなどは、 選択範囲の有無、編集禁止かどうかなどの条件により動作が異なっています。 keyin()メソッドは、キーボードマクロをスクリプトに変換した場合でも これらの動作を正確に再現できるよう、キーボードからの文字入力をシミュレートします。

charCodeには、キーボードから入力された文字コード。 ctrlshiftは、 それぞれ文字が入力されたときCtrlキー、Shiftキーが押されていたかどうかの論理値。 repeatCountは繰り返し回数を指定します。

ctrlshiftが省略された場合はfalserepeatCountが省略された場合は1とみなします。

 
// Enterキーをシミュレートします。
keyin(13);
 
参照 perform() メソッドその他メソッドView クラス


View.leaveUndoGroup() メソッド
機能 Undo操作のグループ化を終了します。
書式 [ aView. ] leaveUndoGroup([all])
引数 aView ...... 編集ウインドウ(View)オブジェクト
all ...... Undo操作のグループ化を強制終了するフラグ
戻り値 グループ化の深さ
 
詳細

Undo操作のグループ化を終了します。 一連の編集操作をenterUndoGroup()leaveUndoGroup()で囲むことにより、 それらを1つのUndo操作で取り消せるようになります。

enterUndoGroup()leaveUndoGroup()はネストできます。 enterUndoGroup()を呼び出した回数と同じだけleaveUndoGroup()を呼び出した時点で、 Undo操作のグループ化が終了します。

alltrueを指定すると、 入れ子の深さに関わらず強制的にUndo操作のグループ化を解除できます。

Undo操作をグループ化している途中でUndoコマンドを実行し、 Undo操作のグループ化を開始した状態を越えて前に戻ってしまった場合は、 グループ化が自動的に中止されます。

 
// Undo操作のグループ化します。
enterUndoGroup();
// 編集操作...
leaveUndoGroup();
 
参照 テキスト編集メソッドView クラス


View.lineDown() メソッド
機能 カーソルを1行下に移動します。
書式 [ aView. ] lineDown([repeatCount [, extendSelection]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
extendSelection ...... 選択範囲を拡大縮小するか。
戻り値 なし(undefined)
 
詳細

カーソルを1行下に移動します。 repeatCountにより指定回数だけカーソルを下の行へ移動できます。 extendSelectiontrueを指定すると、 選択範囲を拡大/縮小しながらカーソルを下の行へ移動します。Shift+↓キーと同じです。

falseを指定するとカーソルを下の行へ移動し選択範囲はなくなります。 extendSelectionを省略すると、 選択範囲の拡張がロックされているかどうかにより選択範囲を拡大縮小するか、 カーソルだけが移動するかが決まります。↓キーと同じです。

 
// カーソルを10行下に移動します。
lineDown(10);
 
参照 カーソル移動メソッドView クラス


View.linePaste() メソッド
機能 クリップボードの内容を行として貼り付けます。
書式 [ aView. ] linePaste()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

クリップボードの内容を行として貼り付けます。

 
// クリップボードの内容を行として貼り付けます。
linePaste();
 
参照 テキスト編集メソッドView クラス


View.lineUp() メソッド
機能 カーソルを1行上に移動します。
書式 [ aView. ] lineUp([repeatCount [, extendSelection]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
extendSelection ...... 選択範囲を拡大縮小するか。
戻り値 なし(undefined)
 
詳細

カーソルを1行上に移動します。 repeatCountにより指定回数だけカーソルを上の行へ移動できます。 extendSelectiontrueを指定すると、 選択範囲を拡大/縮小しながらカーソルを上の行へ移動します。Shift+↑キーと同じです。

falseを指定するとカーソルを上の行へ移動し選択範囲はなくなります。 extendSelectionを省略すると、 選択範囲の拡張がロックされているかどうかにより選択範囲を拡大縮小するか、 カーソルだけが移動するかが決まります。↑キーと同じです。

 
// カーソルを10行上に移動します。
lineUp(10);
 
参照 カーソル移動メソッドView クラス


View.lowerCaseSelection() メソッド
機能 選択範囲のASCII英大文字を小文字に変換します。
書式 [ aView. ] lowerCaseSelection()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲のASCII英大文字を小文字に変換します。

 
// 選択範囲のASCII英大文字を小文字に変換します。
lowerCaseSelection();
 
参照 変換メソッドView クラス


View.lowerCaseWord() メソッド
機能 単語を小文字化します。
書式 [ aView. ] lowerCaseWord()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

単語を小文字化します。

 
// 単語を小文字化します。
lowerCaseWord();
 
参照 変換メソッドView クラス


View.maximize() メソッド
機能 編集ウインドウを最大化、または最大化を解除します。
書式 [ aView. ] maximize([trueOrFalse])
引数 aView ...... 編集ウインドウ(View)オブジェクト
trueOrFalse ...... 最大化するかどうかを指定
戻り値 なし(undefined)
 
詳細

編集ウインドウを最大化、または最大化を解除します。 trueOrFalsetrueを指定したときは、 編集ウインドウを最大化します。 falseを指定すると、最大化を解除します。 trueOrFalseを省略すると、最大化されている状態を交互に切り替えます。

 
// 編集ウインドウを最大化する。
maximize(true);
 
参照 View.minimize() メソッドView.isMaximized() メソッドView.isMinimized() メソッドView クラス


View.minimize() メソッド
機能 編集ウインドウを最小化、または最小化を解除します。
書式 [ aView. ] minimize([trueOrFalse])
引数 aView ...... 編集ウインドウ(View)オブジェクト
trueOrFalse ...... 最小化するかどうかを指定
戻り値 なし(undefined)
 
詳細

編集ウインドウを最小化、または最小化を解除します。 trueOrFalsetrueを指定したときは、 編集ウインドウを最小化します。 falseを指定すると、最小化を解除します。 trueOrFalseを省略すると、最小化されている状態を交互に切り替えます。

 
// 編集ウインドウを最小化する。
minimize(true);
 
参照 View.maximize() メソッドView.isMaximized() メソッドView.isMinimized() メソッドView クラス


View.movePoint() メソッド
機能 ポイントを前後に移動させます。
書式 [ aView. ] movePoint(aPoint [, numberOfCharacters])
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint ...... Pointオブジェクト
numberOfCharacters ...... 移動させる文字数
戻り値 成功すればaPoint、それ以外はnull
 
詳細

PointオブジェクトaPointを前後にnumberOfCharacters文字移動させます。
numberOfCharactersを省略すると、1とみなします。

成功すると、aPointそのものを返します。 aPointの代わりに行番号などPointオブジェクトではないものが渡された場合は、 Pointオブジェクトを作成して返します。

 
// ポイントを10文字後へ移動させます。
var pt = getCurrentPoint();
movePoint(pt, 10);
 
参照 カーソル移動メソッドView.gotoPoint() メソッドView クラスPointオブジェクト


View.newWindow() メソッド
機能 新しいウインドウを開きます。
書式 [ aView. ] newWindow()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 成功した場合は開いたウインドウの編集ウインドウ(View)オブジェクト、それ以外はnull
 
詳細

編集ウインドウaViewを表示する別のウインドウを新規に作成し、 新しく作成した編集ウインドウを表すViewオブジェクトを返します。 失敗した場合は、nullを返します。

 
// ウインドウをもう1つ開きます。
var vw2 = newWindow();
 
参照 ファイル操作メソッドView.closeWindow() メソッドView クラス


View.openLineAbove() メソッド
機能 カーソルのある行の上に空白行を挿入します。
書式 [ aView. ] openLineAbove([repeatCount])
repeatCount ...... 繰り返し回数(1 〜 65535)。
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソルのある行の上に空白行を挿入します。 repeatCountを指定すると、その数だけ空白行を挿入します。

 
// カーソルのある行の上に空白行を5行挿入します。
openLineAbove(5);
 
参照 テキスト挿入メソッドView クラス


View.openLineBelow() メソッド
機能 カーソルのある行の下に空白行を挿入します。
書式 [ aView. ] openLineBelow([repeatCount])
repeatCount ...... 繰り返し回数(1 〜 65535)。
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソルのある行の下に空白行を挿入します。 repeatCountを指定すると、その数だけ空白行を挿入します。

 
// カーソルのある行の下に空白行を5行挿入します。
openLineBelow(5);
 
参照 テキスト挿入メソッドView クラス


View.outputSelection() メソッド
機能 選択範囲をアウトプットウインドウのアクティブなページへ出力します。
書式 [ aView. ] outputSelection()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲をアウトプットウインドウのアクティブなページへ出力します。

 
// 選択範囲をアウトプットウインドウのアクティブなページへ出力します。
outputSelection();
 
参照 選択メソッドView クラス


View.pageDown() メソッド
機能 カーソルを1ページ(1画面)下に移動します。
書式 [ aView. ] pageDown([repeatCount [, extendSelection]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
extendSelection ...... 選択範囲を拡大縮小するか。
戻り値 なし(undefined)
 
詳細

カーソルを1ページ(1画面)下に移動します。

repeatCountにより指定ページ数だけカーソルを下へ移動できます。 extendSelectiontrueを指定すると、 選択範囲を拡大/縮小しながらカーソルを移動します。Shift+PageDownキーと同じです。

falseを指定するとカーソルを下のページへ移動し選択範囲はなくなります。 extendSelectionを省略すると、 選択範囲の拡張がロックされているかどうかにより選択範囲を拡大縮小するか、 カーソルだけが移動するかが決まります。PageDownキーと同じです。

 
// カーソルを2ページ(1画面)下に移動します。
pageDown(2);
 
参照 カーソル移動メソッドView クラス


View.pageUp() メソッド
機能 カーソルを1ページ(1画面)上に移動します。
書式 [ aView. ] pageUp([repeatCount [, extendSelection]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
extendSelection ...... 選択範囲を拡大縮小するか。
戻り値 なし(undefined)
 
詳細

カーソルを1ページ(1画面)上に移動します。

repeatCountにより指定ページ数だけカーソルを上へ移動できます。 extendSelectiontrueを指定すると、 選択範囲を拡大/縮小しながらカーソルを移動します。Shift+PageUpキーと同じです。

falseを指定するとカーソルを上のページへ移動し選択範囲はなくなります。 extendSelectionを省略すると、 選択範囲の拡張がロックされているかどうかにより選択範囲を拡大縮小するか、 カーソルだけが移動するかが決まります。PageUpキーと同じです。

 
// カーソルを2ページ(1画面)上に移動します。
pageUp(2);
 
参照 カーソル移動メソッドView クラス


View.perform() メソッド
機能 コマンドIDを使って編集コマンドを実行します。
書式 [ aView. ] perform(commandId [, repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
commandId ...... コマンドID (0x8000〜0xffff)
repeatCount ...... 繰り返し回数(1〜65535)
戻り値 なし(undefined)
 
詳細

コマンドID(識別番号)を使って任意の編集コマンドを実行します。 perform()メソッドを使うことで、 メソッドが用意されていない編集コマンドも実行することができます。

コマンドIDの範囲は、0x8000〜0xffffです。 実際のコマンドIDは、<share\script\cmdid.msl>を参照してください。 未定義のコマンドを実行しても、何も起こりません。

repeatCountは、コマンドの繰り返し回数を指定します。 repeatCountを省略すると、コマンドを1回実行します。

【注意】
このメソッドは、キーボードマクロをスクリプトに変換して実行できるようにするために用意されました。 すぺてのコマンドがスクリプトからの実行に適しているとは限りません。 動作に問題があった場合は、そのコマンドを使わないようにしてください。

 
// コマンドID=35464 「再変換」を実行します。
perform(35464);
 
参照 View.keyin() メソッド その他メソッドView クラス


View.paste() メソッド
機能 クリップボードの内容を貼り付けます。
書式 [ aView. ] paste()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

クリップボードの内容を貼り付けます。

 
// クリップボードの内容を貼り付けます。
paste();
 
参照 テキスト編集メソッドView クラス


View.playKeyboardMacro() メソッド
機能 配列に記憶されているキーボードマクロを再生します。
書式 [ aView. ] playKeyboardMacro(strokes [, update])
引数 aView ...... 編集ウインドウ(View)オブジェクト
strokes ...... キーボードマクロを保存した配列
update ...... 1ステップ再生毎に画面を更新するかどうか
戻り値 再生したストローク数
 
詳細

配列strokesに保存されているキーボードマクロを再生します。 updatetrueが指定されていると、 1ストローク再生する毎に画面を更新します。 updateを省略するかfalseが指定してあると、 すべてのストロークを再生してから画面を更新します。

【注意】
必ずgetKeyboardMacro()関数で取得した キーボードマクロを再生するようにしてください。 配列に不正な値が含まれていた場合、Peggyは予測不可能な動作をする可能性があります。

 
// キーボードマクロを10回再生します。
var strokes = getKeyboardMacro();
for (var i = 0; i < 10; i++)
    playKeyboardMacro(strokes);
 
参照 テキスト編集メソッドView クラスgetKeyboardMacro()関数


View.popupList() メソッド
機能 カーソル位置に補完ポップアップリストを表示します。
書式 [ aView. ] popupList(arrayOrAssoc [, hint [, ignoreCase]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
arrayOrAssoc ...... 補完候補を収めた配列または連想配列
hint ...... 補完候補のヒント文字列
ignoreCase ...... 大文字小文字を無視する
戻り値 補完ポップアップリストの表示に成功した場合はtrue、それ以外はfalse
 
詳細

編集ウインドウのカーソル位置に補完ポップアップリストを表示します。 このメソッドは、補完の完了を待ちません。 補完を終了させるには、キーボードやマウスを使って候補を選択する必要があります。 そのため、popupList()メソッドを呼び出した後は、できるだけ速やかにスクリプトを終了するようにしてください。

arrayOrAssocによりリストに表示される補完候補を指定します。 配列を指定した場合は、配列の要素がそのまま補完候補となります。 連想配列(Object)を指定した場合は、 連想配列のキーが補完候補となり、値が補完候補の説明文として表示されます。 補完候補は、表示前にソートされます。

候補文字列の中に特殊なDEL文字(ASCIIコード 7F、\x7f)を埋め込むと、補完後にカーソルをその場所へセットします。 DEL文字が2つ埋め込まれていると、補完後その間を選択します。DEL文字自体は挿入されません。 また、改行文字\nなどに続けてSOH文字(ASCIIコード 01、\x01)を埋め込むと、 補完開始行のインデントと同じ空白文字に置き換えられます。 この機能を利用すれば、複数行に渡る補完入力を異なる深さのインデント部分で利用できます。

hintは、補完候補のすべてに共通する入力済みの先頭文字列を指定します。 hintには、カーソル位置の直前にすでに入力されている文字を指定するようにしてください。 arrayOrAssocにある補完候補でも、先頭部分がhintに一致しないものはリストに表示されません。 hintを省略するか、空の文字列を指定すると、arrayOrAssocのすべての候補が表示されます。

ignoreCasetrueを指定すると、大文字/小文字を区別しません。 省略するか、falseを指定すると、大文字小文字を区別します。

【重要】
popupList()メソッドを実行して補完ポップアップリストを表示した後、 スクリプトからテキストを編集するコマンドを実行しないようにしてください。 カーソル位置が変わったり、カーソル位置の文字が変わると、補完ポップアップリストとの整合性がとれなくなります。
【注意】
popupList()は、編集可能でキーボードフォーカスのあるウインドウでのみ表示できます。 表示中でもフォーカスを失ったり、スクロールやウインドウサイズの変更、移動が発生したときは、自動的に閉じられます。
【注意】
補完候補にDEL文字(ASCIIコード 7F、\x7f)、SOH文字(ASCIIコード 01、\x01)を埋め込んでいるとき、 補完開始行の補完開始位置より前にある文字数がhintより短い場合、候補を選択しても何も挿入されませんので注意してください。

 
// 補完ポップアップリストを表示します。
var list = [ "Peggy", "Peggy \x7fPro\x7f", "Peggy \x7fPro for PHP\x7f", "Peggy \x7fPad\x7f" ];
popupList(list, "Peggy");
 
参照 補完メソッドView クラスisPopupListOpened()メソッド


View.print() メソッド
機能 印刷します。
書式 [ aView. ] print([direct])
引数 aView ...... 編集ウインドウ(View)オブジェクト
direct ...... 印刷ダイアログボックスを省略して即座に印刷します。
戻り値 印刷が最後まで完了した場合はtrue、それ以外はfalse
 
詳細

編集ウインドウを印刷します。

directtrueを指定した場合は、 印刷ダイアログボックスをスキップして即座に印刷を開始します。 directfalseを指定するか省略した場合は、 印刷ダイアログボックスが現れます。 印刷が最後まで完了した場合はtrue、 印刷に失敗したり、途中で[キャンセル]ボタンにより中止したときはfalseを返します。

【注意】
directtrueを指定して即座に印刷を開始する場合、 編集ウインドウの一部分を選択していると、その部分だけが印刷されます。 全体を印刷するには、View.cancelSelection()などで 予め選択範囲をキャンセルしてください。

 
// 編集ウインドウの内容を印刷します。
print();
 
参照 ファイル操作メソッド


View.redo() メソッド
機能 直前に取り消した編集操作を再実行します。
書式 [ aView. ] redo([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

直前に取り消した編集操作を再実行します。

 
// 直前に取り消した編集操作3つを再実行します。
redo(3);
 
参照 テキスト編集メソッドView クラス


View.removeMailQuote() メソッド
機能 選択範囲の行頭のメール引用符を削除します。
書式 [ aView. ] removeMailQuote()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲の行頭のメール引用符を削除します。

 
// 選択範囲の行頭のメール引用符を削除します。
removeMailQuote();
 
参照 テキスト削除メソッドView クラス


View.reopenFile() メソッド
機能 漢字コードを指定してファイルを読み直します。
書式 [ aView. ] reopenFile([encoding [, forceReload]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
encoding ...... 漢字コード
forceReload ...... trueで強制再読み込み
戻り値 保存した場合はtrue、それ以外はfalse
 
詳細

漢字コードを指定してファイルを読み直します。

encodingには、エンコーディングを指定します。 省略するか0を指定すると、現在と同じ漢字コードで再読み込みします。 forceReloadは、 同じ漢字コードでも強制的に再読み込みした場合にtrueを指定してください。

 
// ファイルをEUCとして強制的に読み直します。
reopenFile(File.ENCODING_EUC, true);
 
参照 ファイル操作メソッドView クラス


View.replace() メソッド
機能 指定範囲内で文字列を置換します。
書式 (1) [ aView. ] replace(regexp, string_or_function [, start [, stop]])
(2) [ aView. ] replace(string, string_or_function [, start [, stop [, opt [, fuzzy]]]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
regexp ...... 検索する正規表現パターン
string ...... 検索する文字列
string_or_function ...... 置換する文字列、または置換文字列を返す関数
start ...... 置換開始位置を表すPointオブジェクト、またはファイル行番号
stop ...... 置換終了位置を表すPointオブジェクト、またはファイル行番号
opt ...... オプション
fuzzy ...... あいまい検索を指定する整数
戻り値 最後に置換した部分の範囲情報、一度も置換しなかった場合はnull
 
詳細

指定範囲内で文字列を置換します。 regexpは、置換する部分を指定する正規表現です。 正規表現の代わりに文字列stringで指定することもできます。

文字列で指定した場合はオプションoptにより、 大文字小文字を区別するか、単語として検索するか、1回だけ置換するかすべて置換するかを選択できます。 検索オプションの詳細は、View.findForward() メソッドを参照してください。 さらにfuzzyを指定することで、あいまい検索を実行できます。 fuzzyに設定する値は、あいまい検索オプション数値を参照してください。 あいまい検索オプション文字と数値を両方指定した場合は、それらの条件を加えて検索します(OR)。

startstopにより、 置換の範囲を指定することができます。 省略するかnullを指定した場合、 それぞれテキストの先頭、最後と見なします。

正規表現にグローバルオプションが付いている(/.../g)、 または文字列の検索でoptに"g"が指定されている場合は、 指定範囲内のすべての文字列を置換します。 グローバルオプションがない場合は、1つだけ置換して終了します。

regexpまたは、stringに一致する部分が見つかると、 string_or_functionで置換します。 正規表現でマッチした部分を文字列で置換するとした場合、 置換する文字列中のドル記号($)とそれに続く1文字に特別な意味があり、 下表のようにマッチ結果のいろいろな部分を取り出すことが可能です。

文字 置換内容
$1, $2, ... , $9 ※メモ参照 regexpの括弧で指定されたサブ文字列
$01, $02, ... , $99 regexpの括弧で指定されたサブ文字列
$& regexpにマッチした部分
$$ ドル記号($)そのもの

【メモ】
$1のような指定の直後に数字が続く場合は、$01のように2桁でサブ文字列を指定してください。
【注意】
以下の置き換え文字は、Peggy 4.27から廃止されました。

$+ ... regexpの最後の括弧にマッチしたサブ文字列
$ ... regexpにマッチした部分
\$ ... ドル記号($)そのもの 【注意】
regexpの代わりに文字列stringを使って検索した場合は、 ドル記号($)を特別に解釈することはしません。
【注意】
String.replace()メソッドでは、 $'(マッチした部分より右の文字列)、 $`(マッチした部分より左の文字列)が使えますが、 View.replace()メソッドでは使えません。 Stringオブジェクトでは、元の文字列をそのままにしておいて置換しながら新しい文字列を作成しますが、 Viewオブジェクトでは、元の文字列そのものを変更するので、 結果の予想が難しくなるためです。

string_or_functionに関数を指定すると、さらに柔軟な置換が可能になります。 正規表現にマッチする部分が見つかると、 マッチした部分を最初の引数、 2番目以降にはそれぞれ括弧にマッチした部分の文字列を引数として関数が呼び出されます。 関数内では、それらの引数を使って置き換えたい文字列を作成し、 関数の戻り値として返すと、その文字列に置き換えられます。 任意の文字列を合成できるので、非常に強力な置換が可能です。

1つ以上の置換を行うと、 最後に置換した部分の先頭と末尾を表す2つのPointオブジェクトを要素とした配列を返します。 この配列にはプロパティcountがあり、何箇所一致したかの回数が入っています。

また、正規表現のf(高速化)オプションが指定されていないときは、 RegExpクラスのプロパティにも、 最後にマッチした文字列の情報が残されます。 まったく置換しなかった場合は、nullを返します。

【メモ】
このメソッドは、カーソル位置や選択範囲を変更しません。 それらとは無関係に文字列検索・置換を行います。
【重要】
関数で置換する文字列を作成する場合、 呼び出された関数からViewオブジェクトへアクセスすることはできません。 Viewは処理途中の未完了状態であるためです。 必要な文字列などは、予めViewオブジェクトから取り出しておいてください。 同じ理由により、置換文字列を作成するために呼び出された関数から、 入力ボックスなどのダイアログボックスを使うこともできません。
【注意】
f(高速化)オプションとあいまい検索は、Peggy 4.50、MocaScript 1.1.15以降でサポートされています。

 
// すべて識別子を大文字化します。
replace(/\w+/g, function($0) { return $0.toUpperCase(); });
 
参照 View.findForward() メソッドView.findBackward() メソッドView.search() メソッドString.replace() メソッドView クラスPointオブジェクト


View.replaceNewlineWithSpace() メソッド
機能 選択範囲の改行を1つのスペースに変換します。
書式 [ aView. ] replaceNewlineWithSpace()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 スペースに変換した改行の個数を返します。
 
詳細

選択範囲の改行を1つのスペースに変換します。 英文などの改行を削除して行を連結するのに便利です。

 
// 選択範囲の改行を1つのスペースに変換します。
replaceNewlineWithSpace();
 
参照 変換メソッドView クラス


View.replaceTextAt() メソッド
機能 指定ポイントから文字を置き換えます。
書式 [ aView. ] replaceTextAt(aPoint, numberOfCharacters, str1 [, str2...])
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint ...... Pointオブジェクト
numberOfCharacters ...... 置き換えられる文字数
str1str2... ...... 置き換える文字列
戻り値 成功すればtrue、それ以外はfalse
 
詳細

PointオブジェクトaPointからnumberOfCharacters文字を、 str1str2... で置き換えます。

 
// ptから10文字を"hello"に置き換えます。
var pt = new Point(100, 10);
replaceTextAt(pt, 10, "Hello");
 
参照 View.replaceTextBetween() メソッドView クラスPointオブジェクト


View.replaceTextBetween() メソッド
機能 指定2ポイント間のテキストを置き換えます。
書式 [ aView. ] replaceTextBetween(aPoint1, aPoint2, str1 [, str2...])
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint1 ...... 置換開始ポイント
aPoint2 ...... 置換終了ポイント
str1str2... ...... 置き換える文字列
戻り値 成功すればtrue、それ以外はfalse
 
詳細

指定2ポイント間のテキストをstr1str2... で置き換えます。

 
// 指定2ポイント間のテキストを置き換えます。
var p1 = new Point(100, 10);
var p2 = new Point(100, 15); replaceTextBetween(p1, p2, "I'm replacing you.");
 
参照 View.replaceTextAt() メソッドView クラスPointオブジェクト


View.reverseLines() メソッド
機能 選択範囲の行順を逆転させます。
書式 [ aView. ] reverseLines()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲の行順序を逆転させます。

 
// 選択範囲の行順序を逆転させます。
reverseLines();
 
参照 テキスト編集メソッドView.sortLine() メソッドView クラス


View.saveFile() メソッド
機能 上書き保存します。
書式 [ aView. ] saveFile()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 保存した場合はtrue、それ以外はfalse
 
詳細

上書き保存します。

 
// 上書き保存します。
saveFile();
 
参照 ファイル操作メソッドView クラス


View.saveFileAs() メソッド
機能 テキストを別名で保存します。
書式 [ aView. ] saveFileAs([saveAsName])
引数 aView ...... 編集ウインドウ(View)オブジェクト
saveAsName ...... 別名で保存するファイルパス
戻り値 保存した場合はtrue、それ以外はfalse
 
詳細

テキストを別名で保存します。 saveAsNameを指定すると、その名前で保存します。 saveAsNameを省略すると、 [名前を付けて保存]ダイアログボックスが現れて、保存するファイルを選択できます。

 
// テキストを別名で保存します。
saveFileAs();
 
参照 ファイル操作メソッドView クラス


View.saveFileTo() メソッド
機能 テキストを別のファイルに保存します。
書式 [ aView. ] saveFileTo([saveToName])
引数 aView ...... 編集ウインドウ(View)オブジェクト
saveToName ...... 保存するファイルの名前
戻り値 保存した場合はtrue、それ以外はfalse
 
詳細

テキストを別のファイルに保存します。 saveToNameを指定すると、編集中のテキストの内容をそのファイルへ保存します。 saveToNameを省略すると、[別ファイルへ保存]ダイアログボックスが現れ、 保存するファイルを選択できます。

このメソッドで別のファイルへ保存しても、編集中のテキストの状態は変化しません。 つまり、元のファイルを続けて編集している状態のままです。 また、保存したファイルの漢字コードは、常にShift JISとなります。

 
// テキストを別のファイルに保存します。
saveFileTo("TempFile.txt");
 
参照 ファイル操作メソッドView クラス


View.scrollTwoWindowsDown() メソッド
機能 2つのウインドウを下にスクロールします。
書式 [ aView. ] scrollTwoWindowsDown([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

2つのウインドウを下にスクロールします。

repeatCountにより指定行数だけ下にスクロールできます。

 
// 2つのウインドウを10行下にスクロールします。
scrollTwoWindowsDown(10);
 
参照 スクロールメソッドView クラス


View.scrollTwoWindowsLeft() メソッド
機能 2つのウインドウを左へスクロールします。
書式 [ aView. ] scrollTwoWindowsLeft([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

2つのウインドウを左へスクロールします。

repeatCountにより指定文字数だけ左へスクロールできます。

 
// 2つのウインドウを左へ10文字分スクロールします。
scrollTwoWindowsLeft(10);
 
参照 スクロールメソッドView クラス


View.scrollTwoWindowsRight() メソッド
機能 2つのウインドウを右へスクロールします。
書式 [ aView. ] scrollTwoWindowsRight([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

2つのウインドウを右へスクロールします。

repeatCountにより指定文字数だけ右へスクロールできます。

 
// 2つのウインドウを右へ10文字分スクロールします。
scrollTwoWindowsRight(10);
 
参照 スクロールメソッドView クラス


View.scrollTwoWindowsUp() メソッド
機能 2つのウインドウを上にスクロールします。
書式 [ aView. ] scrollTwoWindowsUp([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

2つのウインドウを上にスクロールします。

repeatCountにより指定行数だけ上にスクロールできます。

 
// 2つのウインドウを10行上にスクロールします。
scrollTwoWindowsUp(10);
 
参照 スクロールメソッドView クラス


View.scrollWindowDown() メソッド
機能 ウインドウを下にスクロールします。
書式 [ aView. ] scrollWindowDown([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

ウインドウを下にスクロールします。

repeatCountにより指定行数だけ下にスクロールできます。

 
// ウインドウを下に10行スクロールします。
scrollWindowDown(10);
 
参照 スクロールメソッドView クラス


View.scrollWindowLeft() メソッド
機能 ウインドウを左へスクロールします。
書式 [ aView. ] scrollWindowLeft([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

ウインドウを左へスクロールします。

repeatCountにより指定文字数だけ左へスクロールできます。

 
// ウインドウを左へ10文字分スクロールします。
scrollWindowLeft(10);
 
参照 スクロールメソッドView クラス


View.scrollWindowRight() メソッド
機能 ウインドウを右へスクロールします。
書式 [ aView. ] scrollWindowRight([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

ウインドウを右へスクロールします。

repeatCountにより指定文字数だけ左へスクロールできます。

 
// ウインドウを右へ10文字分スクロールします。
scrollWindowRight(10);
 
参照 スクロールメソッドView クラス


View.scrollWindowUp() メソッド
機能 ウインドウを上にスクロールします。
書式 [ aView. ] scrollWindowUp([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

ウインドウを上にスクロールします。

repeatCountにより指定行数だけ上にスクロールできます。

 
// ウインドウを上に10行スクロールします。
scrollWindowUp(10);
 
参照 スクロールメソッドView クラス


View.search() メソッド
機能 指定範囲内で文字列を検索します。
書式 (1) [ aView. ] search(regexp [, start [, stop]])
(2) [ aView. ] search(string [, start [, stop [, opt [, fuzzy]]]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
regexp ...... 検索する正規表現パターン
string ...... 検索する文字列
start ...... 検索開始位置を表すPointオブジェクト、またはファイル行番号
stop ...... 検索終了位置を表すPointオブジェクト、またはファイル行番号
opt ...... オプション
fuzzy ...... あいまい検索を指定する整数
戻り値 見つかれば範囲情報、それ以外はnull
 
詳細

指定範囲startからstop内で文字列を検索します。 指定範囲を省略するかnullを指定すると、それぞれテキストの先頭、 テキストの最後と見なします。

検索する対象は、正規表現regexp、 または文字列stringを指定できます。

文字列を指定したときはオプションoptにより、大文字小文字の区別や単語検索、あいまい検索を指定できます。 オプションの詳細は、View.findForward() メソッドを参照してください。

さらにfuzzyを指定することで、あいまい検索を実行できます。 fuzzyに設定する値は、あいまい検索オプション数値を参照してください。 あいまい検索オプション文字と数値を両方指定した場合は、それらの条件を加えて検索します(OR)。

検索に成功した場合は、一致した部分の先頭と末尾を表す2つのPointオブジェクトを要素とした配列を返します。

正規表現のf(高速化)オプションが指定されていないときは、 RegExpクラスのプロパティにも、 一致した部分の情報がセットされます。 何も一致しなかった場合は、nullを返します。

【メモ】
このメソッドは、カーソル位置や選択範囲を変更しません。 それらとは無関係に文字列検索を行います。
【注意】
f(高速化)オプションとあいまい検索は、Peggy 4.50、MocaScript 1.1.15以降でサポートされています。

 
// 名前を先頭から検索します。
var area = search(/\w+/);
 
参照 View.findForward() メソッドView.findBackward() メソッドView.replace() メソッドString.search() メソッドRegExp クラスView クラスPointオブジェクト


View.selectAll() メソッド
機能 編集中のテキスト全体を選択します。
書式 [ aView. ] selectAll()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

編集中のテキスト全体を選択します。

 
// 編集中のテキスト全体を選択します。
selectAll();
 
参照 選択メソッドView クラス


View.selectBraces() メソッド
機能 カーソル位置を含む括弧の内部または外側を選択します。
書式 [ aView. ] selectBraces([outside])
引数 aView ...... 編集ウインドウ(View)オブジェクト
outside ...... 外側を選択する指定
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

outsidetrueであれば、 現在のカーソル位置を含んでいる最も内側の括弧の内部と括弧を選択します。 outsidefalseか省略されている場合は、 括弧の内側だけを選択します。

 
// カーソル位置を含む括弧の内部を選択します。
selectInsideBraces();
 
参照 選択メソッドView クラス


View.selectComment() メソッド
機能 カーソル位置を含んだコメントを選択します。
書式 [ aView. ] selectComment([outside])
引数 aView ...... 編集ウインドウ(View)オブジェクト
outside ...... 外側を選択する指定
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

outsidetrueを指定すると、 カーソル位置を含んでいるコメント全体を選択します。 outsidefalseを指定するか省略すると、 コメント内部のテキストだけを選択します。

 
// カーソル位置を含んだコメント全体を選択します。
selectComment(true);
 
参照 選択メソッドView クラス


View.selectLine() メソッド
機能 カーソルのある行を選択します。
書式 [ aView. ] selectLine([viewOrFileLine])
引数 aView ...... 編集ウインドウ(View)オブジェクト
viewOrFileLine ...... ファイル行か表示行か
戻り値 なし(undefined)
 
詳細

カーソルのある行を選択します。 viewOrFileLineを省略すると、 現在の行番号表示モードに従ってファイル行、または表示行を選択します。 trueを指定すると、表示行を選択します。 falseを指定すると、ファイル行を選択します。

 
// カーソルのある行を選択します。
selectLine();
 
参照 選択メソッドView クラス


View.selectWord() メソッド
機能 カーソル位置の単語を選択します。
書式 [ aView. ] selectWord()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

カーソル位置にある単語を選択します。 成功した場合はtrue、それ以外はfalseを返します。

 
// カーソル位置の単語を選択します。
selectWord();
 
参照 選択メソッドView クラス


View.setEncoding() メソッド
機能 テキストの漢字コードを変更します。
書式 [ aView. ] setEncoding(encoding)
引数 aView ...... 編集ウインドウ(View)オブジェクト
encoding ...... 漢字コード
戻り値 成功した場合は以前に設定されていた漢字コード、失敗するとnull
 
詳細

テキストの漢字コードを変更します。

encodingには、漢字コードを表す整数値を指定します。 整数値と漢字コードの対応は、File.guessEncoding()メソッドを参照してください。 このメソッドで設定できる漢字コードは、 File.ENCODING_SJIS(=3)からFile.ENCODING_UTF8N(=9)の範囲です。

 
// 漢字コードをEUCに変更します。
setEncoding(File.ENCODING_EUC);
 
参照 ファイル操作メソッドView.getEncoding() メソッドView クラス


View.setFirstVisibleLine() メソッド
機能 編集ウインドウの上端の表示行を設定します。
書式 [ aView. ] setFirstVisibleLine(viewLine)
引数 aView ...... 編集ウインドウ(View)オブジェクト
viewLine ...... 編集ウインドウの上端の行にする表示行番号
戻り値 成功すればtrue、それ以外はfalse
 
詳細

編集ウインドウ上端の表示行番号(1〜)を設定します。

 
// 100行から表示する。
setFirstVisibleLine(100);
 
参照 ウインドウ操作メソッドView.setFirstVisiblePoint() メソッドView.getFirstVisibleLine() メソッドView.getFirstVisiblePoint() メソッドView クラス


View.setFirstVisiblePoint() メソッド
機能 編集ウインドウ左上隅の表示位置を設定します。
書式 [ aView. ] setFirstVisiblePoint(aPoint)
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPoint ...... 編集ウインドウの左上隅を指定するPointオブジェクト
戻り値 成功すればtrue、それ以外はfalse
 
詳細

編集ウインドウの左上隅の表示開始位置を指定します。

 
// ウインドウ左上のポイントを指定します。
setFirstVisiblePoint(VP(100, 10));
 
参照 ウインドウ操作メソッドView.setFirstVisibleLine() メソッドView.getFirstVisibleLine() メソッドView.getFirstVisiblePoint() メソッドView クラスPointオブジェクト


View.setGuideline() メソッド
機能 ガイドラインを設定します。
書式 [ aView. ] setGuideline(array [, repeat])
引数 aView ...... 編集ウインドウ(View)オブジェクト
array ...... ガイドライン位置の配列、またはnull
repeat ...... 繰り返しガイドライン間隔
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

編集ウインドウの言語にガイドラインを設定します。

arrayには、ガイドラインを設定したいカラム(1〜)の配列を指定します。 ガイドライン設定をクリアしたいときは、代わりにnullを指定してください。 配列arrayrepeatプロパティに1以上の数値が設定されていると、 arrayで指定した最後のガイドライン位置からrepeat間隔で繰り返しガイドラインを表示します。

繰り返しガイドラインは、repeatでも指定できます。 両方指定されている場合は、repeatが優先します。 繰り返し間隔に0を指定すると、繰り返しガイドライン表示がクリアされます。

 
// ガイドラインを10桁、20桁、30桁、その後5桁間隔に設定します。
setGuideline([10, 20, 30], 5);
 
参照 その他メソッドView.getGuideline() メソッドView.clearAllGuidelines() メソッドView.fillToNextGuideline() メソッドView クラス


View.setHighlight() メソッド
機能 検索強調表示を設定します。
書式 (1) [ aView. ] setHighlight(regexp)
(2) [ aView. ] setHighlight(string [, opt [, fuzzy]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
regexp ...... 正規表現
string ...... 文字列
opt ...... オプション文字列
fuzzy ...... あいまい検索を指定する整数
戻り値 なし(undefined)
 
詳細

ファイル中のregexp、 またはstringに一致するすべての部分にアンダーンを引いて強調表示します。

書式2を使い文字列stringを検索強調表示するときは、 オプション条件optに文字列"i"を指定すると、英大文字小文字を区別しません。 "w"を指定すると、単語として検索します。 あいまい検索オプション文字を組み合わせることも可能です。

さらにfuzzyを指定することで、あいまい検索を使った強調表示ができます。 fuzzyに設定する値は、あいまい検索オプション数値を参照してください。 あいまい検索オプション文字と数値を両方指定した場合は、それらの条件を加えて検索します(OR)。

setHighlight()メソッドは、検索強調表示機能のON/OFFに関わらず強調表示します。 検索強調表示がONになっているときだけ強調表示させるには、 Searchオブジェクトのhighlightメソッドを調べるようにしてください。

【注意】
あいまい検索は、Peggy 4.50以降でサポートされています。

 
// 単語 function を強調表示します。
setHighlight(/\<function\>/);
 
参照 検索置換メソッドView.clearHighlight() メソッドView クラスSearch オブジェクト


View.setIMEOpen() メソッド
機能 仮名漢字変換をON/OFFします。
書式 [ aView. ] setIMEOpen([openOrClose])
引数 aView ...... 編集ウインドウ(View)オブジェクト
openOrClose ...... 仮名漢字変換を有効にするかどうか
戻り値 このメソッドを呼び出す直前に仮名漢字変換が有効であればtrue、それ以外はfalse
 
詳細

仮名漢字変換(IME)のON/OFFを切り替えます。 openOrCloseを省略するかtrueを指定すると、 仮名漢字変換がONになり、falseを指定するとOFFになります。

【注意】
アウトプットウインドウや編集禁止ウインドウで仮名漢字変換をONにすることはできません。

 
// 仮名漢字変換をONにします。
setIMEOpen(true);
 
参照 テキスト編集メソッドView.getIMEOpen() メソッドView クラス


View.setInsertMode() メソッド
機能 挿入モード/上書きモードを切り替えます。
書式 View.setInsertMode([insert])
引数 View ...... Viewクラス
insert ...... 挿入モードにするか?
戻り値 このメソッドを呼び出す直前が挿入モードならtrue、 上書きモードならfalse
 
詳細

挿入モード/上書きモードを切り替えます。

inserttrueが指定されていると挿入モード、 falseが指定されていると上書きモードになります。 insertを省略すると、挿入モード/上書きモードを交互に切り替えます。

【注意】
View.setInsertMode()はクラスメソッドです。
【注意】
オプション設定により挿入モードか上書きモードに固定されているときは、 この関数から切り替えることはできません。

 
// 挿入モードに設定します。
View.setInsertMode(true);
 
参照 View.getInsertMode() メソッドテキスト編集メソッドView クラス


View.setLanguageMode() メソッド
機能 言語モードを設定します。
書式 [ aView. ] setLanguageMode([languageID])
引数 aView ...... 編集ウインドウ(View)オブジェクト
languageID ...... 言語モードの識別名
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

ドキュメントの言語モードをlanguageIDで指定した言語に設定します。 成功した場合はtrue、それ以外はfalseを返します。

このメソッドで設定した言語モードは一時的なもので、ファイルを閉じると消えてしまいます。 プロジェクトに登録してあるファイルの言語モードを恒久的に変更するには、 プロジェクトのFileItemのlanguageプロパティに言語モードの識別名を設定してください。

 
// 言語モードをJ2SEに設定します。
setLanguageMode("J2SE");
 
参照 getLanguageID() メソッドgetLanguageName() メソッド情報取得・設定メソッドView クラス


View.setLayoutWidth() メソッド
機能 折り返し表示のレイアウト幅を設定します。
書式 [ aView. ] setLayoutWidth([width])
引数 aView ...... 編集ウインドウ(View)オブジェクト
width ...... レイアウト幅
戻り値 成功した場合は以前設定されていたレイアウト幅、それ以外は-1
 
詳細

width折り返しのレイアウト幅を何桁にするかを設定します。 widthに0を指定すると、折り返しなしになります。 widthを省略すると、 aViewのウインドウ幅に合わせて折り返し表示します。

設定可能なレイアウト幅は、10〜2500(NT4/2000/XP)、10〜1000(98/Me)の範囲です。 範囲を越える幅を指定しても、この範囲に収まるよう調整されます。

成功した場合は、以前設定されていたレイアウト幅を返します。 ウインドウが既に閉じられているなどの理由により上端の表示行番号が取得できないときは、-1を返します。

【注意】
アウトプットウインドウのレイアウト幅を変えることはできません。

 
// 折り返しのレイアウト幅を80桁に設定します。
setLayoutWidth(80);
 
参照 ウインドウ操作メソッドView.getLayoutWidth() メソッドView クラス


View.setLineBackground() メソッド
機能 行の背景色番号を設定します。
書式 [ aView. ] setLineBackground(bgnum [, from [, to]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
bgnum ...... 背景色番号(0〜7)
from ...... 設定開始ファイル行番号
to ...... 設定終了ファイル行番号
戻り値 なし(undefined)
 
詳細

設定開始ファイル行番号fromから設定終了ファイル行番号toまでの行の背景色を、背景色番号bgnum(0〜7)で指定したものに変更します。 ただし背景色番号0は、「背景色なし」を意味します。 toを省略すると、開始行1行だけの背景色を設定します。 fromも省略すると、現在行とみなします。 fromtoは、逆転していてもかまいません。

背景色番号に対応する色は、[オプション設定]ダイアログボックス[表示色]ページの、 [背景 - 行背景1]、[背景 - 行背景2]、[背景 - 行背景7]から設定できます。 背景色番号3、4、5、6に対応する色は、 [比較 - 削除行の背景 (行背景3)]、[比較 - 挿入行の背景 (行背景4)]、[比較 - 変化した行の背景 (行背景5)]、 [基本 - タグジャンプ行の背景 (行背景6)]と共用なので、これらの色の設定を変更してください。

【注意】
行の背景色はサブ言語の背景色とは異なります。 このメソッドでサブ言語の背景色を変更することはできません。 また、このメソッドで指定した背景色は、サブ言語の背景色に優先します。

 
// 10〜20行の背景色を背景色番号2に設定します。
setLineBackground(2, 10, 20);
 
参照 その他メソッドView.clearLineBackground() メソッドView.getLineBackground() メソッドView クラス


View.setLineType() メソッド
機能 文字罫線の種類を設定します。
書式 [ aView. ] setLineType([lineType])
引数 aView ...... 編集ウインドウ(View)オブジェクト
lineType ...... 罫線文字の種類
戻り値 なし(undefined)
 
詳細

文字罫線の種類を設定します。

lineTypeには、 View.LINETYPE_CHARView.LINETYPE_THINView.LINETYPE_THICKが指定できます。

lineTypeを省略すると、 文字罫線、細い罫線、太い罫線を順番に切り替えます。

 
// 太い文字罫線を設定します。
setLineType(View.LINETYPE_THICK);
 
参照 罫線メソッドView クラス


View.setNewline() メソッド
機能 改行コードを設定します。
書式 [ aView. ] setNewline(newlineString)
引数 aView ...... 編集ウインドウ(View)オブジェクト
newlineString ...... 改行コード
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

ファイル全体の改行コードをnewlineStringに設定します。 newlineStringは、 "\r\n""\n""\r"のいずれかでなければなりません。

 
// 改行コードをLFにします。
setNewline("\n");
 
参照 View.getNewline() メソッド情報取得・設定メソッドView クラス


View.setReadOnly() メソッド
機能 編集禁止をON/OFFします。
書式 [ aView. ] setReadOnly([true_or_false])
引数 aView ...... 編集ウインドウ(View)オブジェクト
true_or_false ...... 編集禁止にするか
戻り値 以前の編集禁止状態
 
詳細

編集禁止をON/OFFします。
trueまたは省略すると編集禁止になります。 falseを指定すると、編集可能状態になります。

【注意】
アウトプットウインドウは編集可能にはできません。

 
// 編集禁止にします。
setReadOnly(true);
 
参照 ファイル操作メソッドView.getReadOnly() メソッドView クラス


View.setSelection() メソッド
機能 指示に従って選択範囲を設定します。
書式 (1) [ aView. ] setSelection(aPointArray)
(2) [ aView. ] setSelection(aPoint1, aPoint2 [, block])
引数 aView ...... 編集ウインドウ(View)オブジェクト
aPointArray ...... 選択情報を収めた配列
aPoint1 ...... 選択開始ポイント
aPoint2 ...... 選択終点ポイント
block ...... 矩形選択フラグ
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

テキストの指定範囲を選択します。

書式(1)では、配列aPointArrayに収められた範囲情報にしたがってテキストを選択します。 範囲情報のフォーマットは、 View.getSelection()メソッドが返す形式と同じものです。

書式(2)では、ポイントaPoint1からaPoint2の間を選択します。 この2ポイント間を矩形として選択したい場合は、 blocktrueを指定してください。

 
// aPointArrayに従って選択範囲を設定します。
setSelection(aPointArray);
 
参照 選択メソッドView.getSelectedText() メソッドView クラス


View.setTabStop() メソッド
機能 タブ間隔を設定します。
書式 [ aView. ] setTabStop(tabStop)
引数 aView ...... 編集ウインドウ(View)オブジェクト
tabStop ...... タブ間隔
戻り値 成功した場合は以前のタブ間隔、それ以外は0
 
詳細

編集しているファイルのタブ間隔をtabStopに設定します。 設定できる範囲は、2〜32です。 setTabStop()メソッドにより設定されたタブ間隔は一時的なもので、 ファイルを閉じると失われます。

成功すると以前設定されていたタブ間隔を返します。 それ以外の場合は、0を返します。

 
// タブ間隔を5にします。
setTabStop(5);
 
参照 情報取得・設定メソッドView.getTabStop() メソッドView クラス


View.setTitle() メソッド
機能 編集ウインドウのタイトルを設定します。
書式 [ aView. ] setTitle(title)
引数 aView ...... 編集ウインドウ(View)オブジェクト
title ...... タイトル
戻り値 成功した場合は取得した旧タイトル、それ以外はnull
 
詳細

編集ウインドウのタイトルを設定します。 成功した場合は取得した直前まで設定されていたタイトル文字列、 それ以外はnullを返します。

 
// 編集ウインドウのタイトルを設定します。
var oldtitle = setTitle("New Title");
messageBox(oldtitle + " を New Title に変更しました.");
 
参照 情報取得・設定メソッドView.getTitle() メソッドView クラス


View.sortLines() メソッド
機能 選択範囲の行をソートします。
書式 [ aView. ] sortLines([reverse [, ignoreWhites]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
reverse ...... 降順にソートするか
ignoreWhites ...... 行頭の空白文字を無視するか
戻り値 なし(undefined)
 
詳細

選択範囲の行をソートします。 reversetrueを指定すると降順に、 reversefalseを指定するか省略すると昇順にソートします。

ignoreWhitestrueを指定すると 行頭の空白文字を無視してソートします。 ignoreWhitesfalseを指定すると 行頭の空白文字も考慮してソートします。 ignoreWhitesを省略すると、現在の設定に従って行頭の空白を無視するかどうかが決まります。 現在の設定は、[編集]-[行順序]-[先頭の空白を無視]で確認できます。

 
// 選択範囲の行を逆順にソートします。
sortLines(true, false);
 
参照 テキスト編集メソッドView.reverseLine() メソッドView クラス


View.splitWindow() メソッド
機能 ウインドウの分割を切り替えます。
書式 [ aView. ] splitWindow([rows [, colss]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
rows ...... 上下の分割数(1又は2)
cols ...... 左右の分割数(1又は2)
戻り値 成功した場合は分割しているウインドウのViewオブジェクトを集めた配列、それ以外はnull
 
詳細

編集ウインドウを分割、または分割を解除します。 rowscolsでそれぞれ上下、左右の分割数を指定します。 分割数は1、または2でなければなりません。 また特別の値として0を指定すると、その方向の分割状態をそのまま変更しません。 rowscolsを省略すると0、つまり分割を変更しないと見なします。

分割を解除するときは、aViewが属していない側の列または桁のViewが削除されます。 従って分割を解除しても、aViewが無効になることはありません。

分割、または分割の解除に成功すると、 大きさ4のArrayオブジェクトを返します。 配列の各要素には、分割しているViewオブジェクトがセットされています。 該当するViewが無い場合、その要素はundefined(未定義)となります。

要素0 .... 左上ペインのViewオブジェクト
要素1 .... 左下ペインのViewオブジェクト
要素2 .... 右上ペインのViewオブジェクト
要素3 .... 右下ペインのViewオブジェクト

配列の要素に加えてプロパティrowscolumnsがあり、 それぞれ上下、左右の分割数(1または2)がセットされています。

 
// 編集ウインドウを上下に分割します。
splitWindow(2);
 
参照 ウインドウ操作メソッドView.closeWindow() メソッドView クラス


View.smartIndent() メソッド
機能 カーソル行のインデントを調整します。
書式 [ aView. ] smartIndent()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

カーソル行のインデントをスマートインデント機能によって調整します。

このメソッドは、スマートインデントをサポートしている言語でのみ有効です。 スマートインデントをサポートしていない言語の編集ウインドウでこのメソッドを呼び出すと、 何もせずfalseを返します。

 
smartIndent(); // カーソル行をインデントします。
 
参照 変換メソッドView クラス


View.smartIndentSelection() メソッド
機能 選択範囲または指定された行範囲のインデントを調整します。
書式 [ aView. ] smartIndentSelection([from [, to]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
from ...... 開始行のファイル行番号
to ...... 終了行のファイル行番号
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

ファイル行番号で指定した範囲(fromto)を スマートインデント機能を使って指定範囲のインデントを調整します。 toを省略した場合は、fromで指定された1行、 両方とも省略された場合は現在の選択範囲と見なします。

このメソッドは、スマートインデントをサポートしている言語でのみ有効です。 スマートインデントをサポートしていない言語の編集ウインドウでこのメソッドを呼び出すと、 何もせずfalseを返します。

 
smartIndentSelection(); // 選択範囲のインデントを調整します。
 
参照 変換メソッドView クラス


View.swapAnchorCurrent() メソッド
機能 アンカーポイントとカレントポイントを入れ替えます。
書式 [ aView. ] swapAnchorCurrent()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

アンカーポイント(選択範囲の開始位置)とカレントポイント(選択範囲の終了位置=カーソル位置)を入れ替えます。

 
swapAnchorCurrent();
 
参照 カーソル移動メソッドView クラスPointオブジェクト


View.tabifySelection() メソッド
機能 選択範囲のスペースをタブに変換します。
書式 [ aView. ] tabifySelection([bAll])
引数 aView ...... 編集ウインドウ(View)オブジェクト
bAll ...... すべて変換
戻り値 なし(undefined)
 
詳細

選択範囲のスペースをタブに変換します。

bAlltrueを指定すると、 行中の全てのスペースが変換の対象となります。 bAllを省略するかfalseを指定すると、 行頭のスペースに限定してタブ文字へ変換します。

 
// 選択範囲の行頭スペースをタブに変換します。
tabifySelection(false);
 
参照 変換メソッドView クラス


View.toggleBookmark() メソッド
機能 カーソル行にブックマークを設定/解除します。
書式 [ aView. ] toggleBookmark([markType])
引数 aView ...... 編集ウインドウ(View)オブジェクト
markType ...... ブックマークの種類
戻り値 なし(undefined)
 
詳細

カーソル行にブックマークを設定/解除します。

markTypeを省略または0の場合は、「ブックマーク1→2→3→なし」と順番に切り替わります。 markTypeに1〜3を指定した場合は、その種類のブックマークをON/OFFします。

 
// カーソル行にブックマーク1を設定/解除します。
toggleBookmark(1);
 
参照 ジャンプメソッドView クラス


View.setBookmark() メソッド
機能 指定ファイル行にブックマークを設定します。
書式 [ aView. ] setBookmark(fileLine [, mark])
引数 aView ...... 編集ウインドウ(View)オブジェクト
fileLine ...... ファイル行番号(1 〜 )
mark ...... ブックマークの種類
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

fileLineで指定された行にmark(1〜3)で指定された種類のブックマークを設定します。 markに0を指定すると、ブックマークをクリアします。 また、markを省略すると、1が指定されたとみなします。

【注意】
アウトプットウインドウのブックマークは、1つの種類(1)しか指定できません。

 
// 100行にブックマーク3を設定する。
setBookmark(100, 3);
 
参照 ジャンプメソッドView.getBookmark() メソッド、、 View クラス


View.transposeChar() メソッド
機能 カーソル前後の文字を入れ替えます。
書式 [ aView. ] transposeChar()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソル前後の文字を入れ替えます。

 
// カーソル前後の文字を入れ替えます。
transposeChar();
 
参照 テキスト編集メソッドView クラス


View.transposeLine() メソッド
機能 カーソルのある行と前行を入れ替えます。
書式 [ aView. ] transposeLine()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソルのある行と前行を入れ替えます。

 
// カーソルのある行と前行を入れ替えます。
transposeLine();
 
参照 テキスト編集メソッドView クラス


View.transposeWord() メソッド
機能 カーソル前後の単語を入れ替えます。
書式 [ aView. ] transposeWord()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソル前後の単語を入れ替えます。

 
// カーソル前後の単語を入れ替えます。
transposeWord();
 
参照 テキスト編集メソッドView クラス


View.undo() メソッド
機能 直前の編集操作を取り消します。
書式 [ aView. ] undo([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

直前の編集操作を取り消します。 Undo操作をグループ化している途中でUndoコマンドを実行し、 Undo操作のグループ化を開始した状態を越えて前に戻ってしまった場合は、 グループ化が自動的に中止されます。

 
// 直前の編集操作3つを取り消します。
undo(3);
 
参照 テキスト編集メソッドView クラス


View.unindentSelection() メソッド
機能 選択範囲のインデントを1つ浅くします。
書式 [ aView. ] unindentSelection([repeatCount])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
戻り値 なし(undefined)
 
詳細

選択範囲のインデントを1つ浅くします。 repeatCountを指定すると、指定レベル浅くすることができます。

 
// 選択範囲のインデントを2つ浅くします。
unindentSelection(2);
 
参照 変換メソッドView クラス


View.untabifySelection() メソッド
機能 選択範囲のタブをスペースに変換します。
書式 [ aView. ] untabifySelection([bAll])
引数 aView ...... 編集ウインドウ(View)オブジェクト
bAll ...... すべて変換
戻り値 なし(undefined)
 
詳細

選択範囲のタブをスペースに変換します。 bAlltrueを指定すると、 行中のすべてのタブ文字を等価なスペースに変換します。 bAllを省略するかfalseを指定すると、 行頭のタブに限定してスペースに変換します。

 
// 選択範囲の行頭のタブをスペースに変換します。
untabifySelection(false);
 
参照 変換メソッドView クラス


View.update() メソッド
機能 ウインドウの表示を更新します。
書式 [ aView. ] update([center])
引数 aView ...... 編集ウインドウ(View)オブジェクト
center ...... カーソルが画面の中央に来るようスクロールする
戻り値 なし(undefined)
 
詳細

ウインドウの表示を更新します。 centertrueを指定すると、 カーソルが画面の上下方向の中央に来るよう必要に応じてスクロールします。

 
// ウインドウの表示を更新します。
update();
 
参照 ウインドウ操作メソッドView クラス


View.upperCaseSelection() メソッド
機能 選択範囲のASCII英小文字を大文字に変換します。
書式 [ aView. ] upperCaseSelection()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

選択範囲のASCII英小文字を大文字に変換します。

 
// 選択範囲のASCII英小文字を大文字に変換します。
upperCaseSelection();
 
参照 変換メソッドView クラス


View.upperCaseWord() メソッド
機能 単語を大文字化します。
書式 [ aView. ] upperCaseWord()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

単語を大文字化します。

 
// 単語を大文字化します。
upperCaseWord();
 
参照 変換メソッドView クラス


View.windowBottomLine() メソッド
機能 カーソルを編集ウインドウの左下へ移動します。
書式 [ aView. ] windowBottomLine()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソルを編集ウインドウの左下へ移動します。

 
windowBottomLine();
 
参照 カーソル移動メソッドView.windowTopLine() メソッドView.windowBottomLine() メソッドView クラス


View.windowCenterLine() メソッド
機能 カーソルを編集ウインドウの左中央へ移動します。
書式 [ aView. ] windowCenterLine()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソルを編集ウインドウの左中央へ移動します。

 
windowCenterLine();
 
参照 カーソル移動メソッドView.windowTopLine() メソッドView.windowCenterLine() メソッドView クラス


View.windowTopLine() メソッド
機能 カーソルを編集ウインドウの左上へ移動します。
書式 [ aView. ] windowTopLine()
引数 aView ...... 編集ウインドウ(View)オブジェクト
戻り値 なし(undefined)
 
詳細

カーソルを編集ウインドウの左上へ移動します。

 
windowTopLine();
 
参照 カーソル移動メソッドView.windowCenterLine() メソッドView.windowBottomLine() メソッドView クラス


View.wordBoundaryLeft() メソッド
機能 カーソルを左の単語境界へ移動します。
書式 [ aView. ] wordBoundaryLeft([repeatCount [, extendSelection]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
extendSelection ...... 選択範囲を拡大縮小するか。
戻り値 なし(undefined)
 
詳細

カーソルを左の単語境界へ移動します。 repeatCountにより指定回数だけカーソルを左の単語境界へ移動できます。 省略すると、1つ左の単語境界へ移動します。

extendSelectiontrueを指定すると、 選択範囲を拡大/縮小しながらカーソルを左の単語境界へ移動します。 falseを指定するとカーソルを左の単語境界へ移動し選択範囲はなくなります。

extendSelectionを省略すると、 選択範囲の拡張がロックされているかどうかにより選択範囲を拡大縮小するか、 カーソルだけが移動するかが決まります。

 
// カーソルを4つ左の単語境界へ移動します。
wordBoundaryLeft(4);
 
参照 カーソル移動メソッドView クラス


View.wordBoundaryRight() メソッド
機能 カーソルを右の単語境界へ移動します。
書式 [ aView. ] wordBoundaryRight([repeatCount [, extendSelection]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
extendSelection ...... 選択範囲を拡大縮小するか。
戻り値 なし(undefined)
 
詳細

カーソルを右の単語境界へ移動します。 repeatCountにより指定回数だけカーソルを右の単語境界へ移動できます。 省略すると、1つ右の単語境界へ移動します。

extendSelectiontrueを指定すると、 選択範囲を拡大/縮小しながらカーソルを右の単語境界へ移動します。 falseを指定するとカーソルを右の単語境界へ移動し選択範囲はなくなります。

extendSelectionを省略すると、 選択範囲の拡張がロックされているかどうかにより選択範囲を拡大縮小するか、 カーソルだけが移動するかが決まります。

 
// カーソルを4つ右の単語境界へ移動します。
wordBoundaryRight(4);
 
参照 カーソル移動メソッドView クラス


View.wordLeft() メソッド
機能 カーソルを一単語左へ移動します。
書式 [ aView. ] wordLeft([repeatCount [, extendSelection]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
extendSelection ...... 選択範囲を拡大縮小するか。
戻り値 なし(undefined)
 
詳細

カーソルを一単語左へ移動します。 repeatCountにより指定回数だけカーソルを左の単語へ移動できます。 省略すると、1単語左へ移動します。

extendSelectiontrueを指定すると、 選択範囲を拡大/縮小しながらカーソルを左の単語へ移動します。Ctrl+Shift+←キーと同じです。 falseを指定するとカーソルを左の単語へ移動し選択範囲はなくなります。

extendSelectionを省略すると、 選択範囲の拡張がロックされているかどうかにより選択範囲を拡大縮小するか、 カーソルだけが移動するかが決まります。Ctrl+←キーと同じです。

 
// カーソルを3単語左へ移動します。
wordLeft(3);
 
参照 カーソル移動メソッドView クラス


View.wordRight() メソッド
機能 カーソルを一単語右へ移動します。
書式 [ aView. ] wordRight([repeatCount [, extendSelection]])
引数 aView ...... 編集ウインドウ(View)オブジェクト
repeatCount ...... 繰り返し回数(1 〜 65535)。
extendSelection ...... 選択範囲を拡大縮小するか。
戻り値 なし(undefined)
 
詳細

カーソルを一単語右へ移動します。 repeatCountにより指定回数だけカーソルを右の単語へ移動できます。 省略すると、1単語右へ移動します。

extendSelectiontrueを指定すると、 選択範囲を拡大/縮小しながらカーソルを右の単語へ移動します。Ctrl+Shift+→キーと同じです。 falseを指定するとカーソルを右の単語へ移動し選択範囲はなくなります。

extendSelectionを省略すると、 選択範囲の拡張がロックされているかどうかにより選択範囲を拡大縮小するか、 カーソルだけが移動するかが決まります。Ctrl+→キーと同じです。

 
// カーソルを3単語右へ移動します。
wordRight(3);
 
参照 カーソル移動メソッドView クラス


View.zenkakuSelection() メソッド
機能 選択範囲の指定種類の半角文字を全角に変換します。
書式 [ aView. ] zenkakuSelection([characterType])
引数 aView ...... 編集ウインドウ(View)オブジェクト
characterType ...... 全角に変換する文字の種類
戻り値 なし(undefined)
 
詳細

選択範囲の指定種類の半角文字を全角に変換します。 変換する文字の種類characterTypeを指定した場合は、 それに該当する文字のみ全角に変換します。

指定できる文字の種類は、 Viewクラスのプロパティを参照してください。 OR演算子(|)を使って複数の文字種を一度に指定することもできます。

characterTypeを省略した場合は、 変換の種類を入力するダイアログボックスが表示されます。

 
// 選択範囲のカタカナとカナ記号を全角に変換します。
zenkakuSelection(View.CONV_KANA | View.CONV_KANAPUNC);
 
参照 変換メソッドView クラス




Output オブジェクト

Output オブジェクト - 出力メソッド

分類 Outputメソッド 機能
出力 write(str) アウトプットウインドウへ文字列を出力する。
writeln(str) アウトプットウインドウへ文字列を出力して改行する。
printf(format [, values...]) 値をフォーマットしアウトプットウインドウへ出力する。
visitTag() カーソル行を解析してタグジャンプする。
visitNextTag() 次のタグ情報を探してジャンプする。
visitPreviousTag() 前のタグ情報を探してジャンプする。
copyOutputWindow() 内容をコピーした編集ウインドウを作成する。

Output オブジェクト - その他

分類 Outputメソッド 機能
その他 clear() アウトプットウインドウをクリアする。
output.select(page [, activate]) アウトプットウインドウのページを選択する。
output.show([visible]) アウトプットウインドウの表示/非表示を切り替える。
setGrepText(findText [, matchCase [, matchWord [, regexp [, fuzzy]]]]) ファイルから検索に使った検索条件をセットする。


Output.clear() メソッド
機能 アウトプットウインドウをクリアします。
書式 anOutput.clear()
引数 anOutput ...... アウトプットウインドウ(Output)オブジェクト
戻り値 なし(undefined)
 
詳細

アウトプットウインドウをクリアします。

 
// 実行結果ページをクリアします。
output[1].clear();
 
参照 Outputオブジェクト


Output.copyOutputWindow() メソッド
機能 アウトプットウインドウの内容をコピーした編集ウインドウを作成します。
書式 anOutput.copyOutputWindow()
引数 anOutput ...... アウトプットウインドウ(Output)オブジェクト
戻り値 成功した場合は、作成した編集ウインドウのViewオブジェクト、それ以外はnull
 
詳細

アウトプットウインドウの内容をコピーした編集ウインドウを作成します。

 
// 実行結果ページをクリアします。
var copy = output[1].copyOutputWindow();
 
参照 Outputオブジェクト


Output.printf() メソッド
機能 値をフォーマットしアウトプットウインドウへ出力します。
書式 anOutput.printf(format [, values...])
引数 anOutput ......アウトプットウインドウ(Output)オブジェクト
format ...... 書式指定文字列(printf形式)
values ...... フォーマットする値
戻り値 出力した文字列
 
詳細

valuesformatに従ってフォーマットし、 アウトプットウインドウへ出力します。
フォーマット文字列は、C言語のprintfと同じものです。

 
// 値を16進数でフォーマットし実行結果ページへ出力します。
output[1].printf("0x%08X", value);
 
参照 Output.write() メソッドOutput.writeln() メソッドOutputオブジェクト


Output.visitTag() メソッド
機能 カーソル行を解析してタグジャンプします。
書式 anOutput.visitTag()
引数 anOutput ......アウトプットウインドウ(Output)オブジェクト
戻り値 成功すればtrue、それ以外はfalse
 
詳細

anOutputで指定されたアウトプットウインドウページのカーソル行を解析し、 タグジャンプを試みます。 成功すればtrue、 タグ形式の行ではない、またはファイルがないなどの理由によりタグジャンプできなかった場合は、 falseを返します。

 
// 実行結果のカーソル行を解析してタグジャンプします。
output[1].visitTag();
 
参照 Output.visitNextTag() メソッドOutput.visitPreviousTag() メソッドOutputオブジェクト


Output.visitNextTag() メソッド
機能 次のタグ情報を探してジャンプします。
書式 anOutput.visitNextTag()
引数 anOutput ......アウトプットウインドウ(Output)オブジェクト
戻り値 成功すればtrue、それ以外はfalse
 
詳細

anOutputで指定されたアウトプットウインドウページのカーソル行から次のタグ形式の行を検索し、 タグジャンプを試みます。 ちょうどF4キーでタグジャンプを行うのと同じです。 成功すればtrue、 タグジャンプできなかった場合はfalseを返します。

 
// 次のタグが示すファイル/行ジャンプします。
output[1].visitNextTag();
 
参照 Output.visitTag() メソッドOutput.visitPreviousTag() メソッドOutputオブジェクト


Output.visitPreviousTag() メソッド
機能 前のタグ情報を探してジャンプします。
書式 anOutput.visitPreviousTag()
引数 anOutput ......アウトプットウインドウ(Output)オブジェクト
戻り値 成功すればtrue、それ以外はfalse
 
詳細

anOutputで指定されたアウトプットウインドウページのカーソル行から前のタグ形式の行を検索し、 タグジャンプを試みます。 ちょうどF4キーでタグジャンプを行うのと同じです。 成功すればtrue、 タグジャンプできなかった場合はfalseを返します。

 
// 次のタグが示すファイル/行ジャンプします。
output[1].visitPreviousTag();
 
参照 Output.visitTag() メソッドOutput.visitNextTag() メソッドOutputオブジェクト


Output.write() メソッド
機能 アウトプットウインドウへ文字列を出力します。
書式 anOutput.write(str)
引数 anOutput ...... アウトプットウインドウ(Output)オブジェクト
str ...... 出力する文字列
戻り値 なし(undefined)
 
詳細

アウトプットウインドウへ文字列strを出力します。

 
// スクリプトページへ文字列を出力します。
output[7].write("これはスクリプトページかな?");
 
参照 Output.writeln() メソッドOutput.printf() メソッドOutputオブジェクト


Output.writeln() メソッド
機能 アウトプットウインドウへ文字列を出力して改行します。
書式 anOutput.writeln(str)
引数 anOutput ...... アウトプットウインドウ(Output)オブジェクト
str ...... 出力する文字列
戻り値 なし(undefined)
 
詳細

アウトプットウインドウへ文字列strを出力して改行します。

 
// 実行結果ページへへ文字列を出力して改行します。
output[1].writeln("実行結果ページです。");
 
参照 Output.write() メソッドOutput.printf() メソッドOutputオブジェクト


output.select() メソッド
機能 アウトプットウインドウのページを選択します。
書式 output.select(page [, activate])
引数 output ...... アウトプットウインドウの配列
page ...... ページ番号(1〜7)
activate ...... アクティブ化するか
戻り値 アウトプットウインドウ(Output)オブジェクト
 
詳細

pageで指定したアウトプットウインドウのページを選択します。 activatetrueを指定すると、 選択したページをアクティブ化します。 activateを省略するかfalseを指定すると、 アウトプットウインドウのページをアクティブ化することなくページだけを切り替えます。

【注意】
selectは、アウトプットウインドウの配列outputのメソッドです。 アウトプットウインドウオブジェクトのメソッドではないので注意してください。

 
// 実行結果ページを選択します。
output.select(1);
 
参照 View.activate() メソッドoutput.show() メソッドOutputオブジェクト


output.show() メソッド
機能 アウトプットウインドウの表示/非表示を切り替えます。
書式 output.show([visible])
引数 output ...... アウトプットウインドウの配列
visible ...... 表示するかどうかの論理値
戻り値 アウトプットウインドウが表示状態になった場合はtrue、それ以外はfalse
 
詳細

アウトプットウインドウの表示/非表示を切り替えます。 visibletrueを指定したときは、 アウトプットウインドウを表示し、 falseを指定すると非表示にします。 visibleを省略すると、表示/非表示状態を交互に切り替えます。

 
// アウトプットウインドウを表示します。
output.show(true);
 
参照 View.activate() メソッドoutput.select() メソッドOutputオブジェクト


output.setGrepText() メソッド
機能 ファイルから検索に使った検索条件をセットします。
書式 output.setGrepText(findText [, matchCase [, matchWord [, regexp [, fuzzy]]]])
引数 output ...... アウトプットウインドウの配列
findText ...... 検索文字列
matchCase ...... 大文字小文字を区別する
matchWord ...... 単語として検索する
regexp ...... findTextを正規表現パターンとして検索する
fuzzy ...... あいまい検索を指定する整数
戻り値 アウトプットウインドウの[ファイルから検索]ページに検索条件をセットできたときはtrue、 それ以外はfalse
 
詳細

アウトプットウインドウの[ファイルから検索]ページへ検索条件をセットします。 検索条件をセットしてから[ファイルから検索]ページへタグジャンプ可能な形式の検索結果が出力されると、 以後のタグジャンプのとき、セットされた検索条件を使ってジャンプ先行のマッチした文字列を選択します。 これにより、タグジャンプの結果が見やすくなります。

findTextには検索する文字列、 matchCasematchWordregexpにはそれぞれ、 大文字小文字の区別、単語として検索するか、 正規表現検索かどうかを示す論理値(truefalse)を指定します。 matchCasematchWordregexpは省略できます。 省略すると、falseと見なされます。

fuzzyは、あいまい検索を指定します。 省略すると、あいまい検索OFFとなります。 あいまい検索オプションの値は、Search オブジェクトfuzzyOptionプロパティを参照してください。

アウトプットウインドウの[ファイルから検索]ページへ複数の検索結果を追加出力するような場合、 それぞれの検索前にその検索条件をセットすることができます。 Peggyは設定された検索条件が[ファイルから検索]ページの何行目からのものであるかを記憶していて、 タグジャンプに従い自動的に適切な検索条件を選び、ジャンプ先行の文字列を選択表示します。

【注意】
検索条件の設定は、アウトプットウインドウの[ファイルから検索]へ検索結果を出力する前に行ってください。
【注意】
selectは、アウトプットウインドウの配列outputのメソッドです。 アウトプットウインドウオブジェクトのメソッドではないので注意してください。

 
// 検索ツールの条件を[ファイルから検索]にセットします。
output.setGrepText(Search.text, Search.matchCase, Search.matchWord, Search.regexp);
 
参照 Outputオブジェクト




Search オブジェクト

Searchオブジェクトは、検索ツールなどの検索条件にアクセスするためのオブジェクトです。 Searchオブジェクトにより、検索テキスト、大文字小文字の区別、 単語として検索などの検索条件を取り出し・設定が行えます。 また、getHistory()clearHistory()メソッドにより、 検索履歴の取得やクリアも可能です。

Searchオブジェクト - プロパティ一覧

プロパティ名 読み書き 意味
text string R/W 検索する文字列
matchCase boolean R/W 大文字小文字を区別する
matchWord boolean R/W 単語として検索する
regexp boolean R/W 正規表現
fuzzy boolean R/W あいまい検索
fuzzyOption integer R/W あいまい検索オプション(以下のビットの組み合わせ)

bit-0 大文字・小文字を区別しない
bit-1 全角・半角を区別しない
bit-2 ひらかな・カタカナを区別しない
bit-3 小さい仮名(ぁぃぅッ)と大きい仮名を区別しない
bit-4 仮名句読点(。、)と(.,)を区別しない
bit-5 マイナス(−)と長音(ー)を区別しない
bit-6 旧仮名(ゐゑ)を区別しない
bit-7 IBM拡張漢字を区別しない
bit-8 異字体を区別しない
bit-9〜31 予約(0にしてください)
ijitaiFile string R/W 異字体定義ファイルのパス
【メモ】RegExp.setIjitaiFile() メソッドを使って設定することもできます。
highlight boolean R/W 検索強調表示をする
replace string R/W 置換文字列
folder string R/W ファイルから検索のフォルダ
fileType string R/W ファイルタイプ
recursive boolean R/W サブフォルダも検索
exclude string R/W 除外フォルダ
grepFolder boolean R/W 指定したフォルダのファイルを検索する
grepProject integer R/W プロジェクトから検索する(0:しない、1:グループ、2:グループ以下、3:プロジェクト全体)
getHistory() function - 検索履歴を取得する
clearHistory() function - 検索履歴をクリアする
clearHighlight() function - 検索強調表示をクリアする
getFindToolRect() function - 検索ツールのスクリーン座標を取得する


Search.getHistory() メソッド
機能 検索履歴を取得します。
書式 Search.getHistory()
引数 なし
戻り値 検索履歴を収めたArrayオブジェクト
 
詳細

[文字列の検索]ダイアログボックスから選択できる過去の検索文字列の履歴を、 Arrayオブジェクトに入れたものを返します。

 
var history = Search.getHistory();
 
参照 Search オブジェクト


Search.clearHistory() メソッド
機能 検索履歴をクリアします。
書式 Search.clearHistory()
引数 なし
戻り値 なし
 
詳細

[文字列の検索]ダイアログボックス、検索ツールの履歴をクリアします。

 
Search.clearHistory();
 
参照 Search オブジェクト


Search.clearHighlight() メソッド
機能 検索強調表示をクリアします。
書式 Search.clearHighlight()
引数 なし
戻り値 なし
 
詳細

検索の結果、ヒットした文字列にアンダーラインを引いて表示する「検索強調表示」をクリアします。 開いているすべてのファイルの検索強調表示がクリアされます。

 
Search.clearHighlight();
 
参照 Search オブジェクト


Search.getFindToolRect() メソッド
機能 検索ツールのスクリーン座標を取得します。
書式 Search.getFindToolRect()
引数 なし
戻り値 成功した場合は検索ツールのスクリーン座標を収めた配列、それ以外はnull
 
詳細

検索ツールがツールバー上に配置されているときは、そのスクリーン座標を取得し、配列として返します。 配列の要素0から順番に、左、上、右、下の座標がセットされます。

検索ツールが配置されていないときは、nullを返します。

 
var rect = Search.getFindToolRect();
 
参照 Search オブジェクト




Event オブジェクト

Eventオブジェクトに予め定められた名前で関数オブジェクトを登録しておくと、 そのイベントが発生したとき自動的に呼び出されます。 Event.onEnter()Event.onHelp()Event.onDropFiles()Event.onDoubleClick()Event.onEnterOutput()Event.onDoubleClickOutput()を除くイベントハンドラの戻り値は無視されます。 ハンドラの登録は、Startup.ms などで行うと便利です。 ハンドラを登録するには、関数をEventオブジェクトのプロパティとして代入します。 代入文なので、最後にセミコロン(;)を付けるのを忘れないでください。

Event.onEnter = function(theView)
{
    // Enterキーをタイプするとビープ音を鳴らします。
    beep();
    return false;
};

以下に、イベントとイベントハンドラの関数名と引数の一覧を示します。

Event オブジェクト - イベントとハンドラ関数

イベント 関数名 引数の説明 用途
Peggyの終了直前 Event.onExit() なし 次回のPeggy起動まで残して起きたいデータの保存など
新規編集を始めた直後 Event.onFileNew(theView) theView .... 編集ウインドウ 新規作成した編集ウインドウに何か追加の設定などをしたい場合
ファイルを開いた直後 Event.onFileOpen(theView) ファイルを開いた直後に何かの追加処理をしたいとき
ファイルを保存する直前 Event.onFileSave(theView) ファイルを保存する直前に何かの追加処理をしたいとき
ファイルを保存した直後 Event.onFileSaved(theView) ファイルの保存に成功した直後に何かの追加処理をしたいとき
ファイルを閉じる直前 Event.onFileClose(theView) ファイルを閉じる直前に何かの追加処理をしたいとき
編集ウインドウでEnterキーが押されたとき Event.onEnter(theView) 編集ウインドウでEnterキーが押されたタイミングで何か処理をしたいとき
Event.onEnter()からfalseが返されると、 改行など通常のEnterキーの処理をしますが、 trueが返されるとEnterキーの処理が完了したとみなし何もしません。 これにより、Enterキーの動作を完全に置き換えることができます。
編集ウインドウでF1キー(ヘルプ)が押されたとき Event.onHelp(theView) 編集ウインドウでF1キー(ヘルプ)が押されたタイミングで何か処理をしたいとき呼び出されます。 Event.onHelp()からfalseが返されると、 通常の状況依存ヘルプとして処理を続けますが、 trueが返されるとヘルプ処理が完了したとみなし何もしません。 これにより、言語モードやカーソル位置の状況を判断しながら柔軟なヘルプの呼び出しが可能になります。
編集ウインドウにフォーカスがセットされたとき Event.onSetFocus(theView) 編集ウインドウにフォーカスがセットされた後に呼び出されます。
【注意】複数回呼び出されることがあるので注意してください。
編集ウインドウのテキストエリアがダブルクリックされたとき Event.onDoubleClick(theView, point) theView .... 編集ウインドウ
point .... マウスの位置
編集ウインドウのテキストエリアがダブルクリックされたとき、 ダブルクリックによるテキスト選択を行った直後に呼び出されます。 これによりダブルクリックの動作をカスタマイズできます。
編集ウインドウ上へファイルがドロップされたとき Event.onDropFiles(theView, files) theView .... 編集ウインドウ
files .... ファイルパスの配列
編集ウインドウ上にCtrlキーを押しながらファイルをドロップしたときに呼び出されます。 これによりドロップされたファイルパスを加工してから編集ウインドウへ挿入することができます。
編集ウインドウで単語補完コマンドが実行されたとき Event.onCompleteWord(theView, hint) theView .... 編集ウインドウ
hint .... 補完ヒント文字列
配列を返すと、配列の要素が単語補完候補として追加されます。 また連想配列を返すと、連想配列のキーが単語補完候補として追加されます。
タグジャンプに成功したとき Event.onTagJump(theView, outputPage) theView .... 編集ウインドウ
outputPage .... アウトプットウインドウのページ
アウトプットウインドウからのタグジャンプが成功したときに呼び出されます。
ただし、比較によるジャンプでは呼び出されません。 編集ウインドウからジャンプしたときは、 thePageが未定義(undefined)になります。
アウトプットウインドウでEnterキーが押されたとき Event.onEnterOutput(outputPage) outputPage ... アウトプットウインドウのページ
アウトプットウインドウでEnterキーが押されたタイミングで何か処理をしたいとき
Event.onEnterOutput()からfalseが返されると、 改行など通常のEnterキーの処理をしますが、 trueが返されるとEnterキーの処理が完了したとみなし何もしません。 これにより、Enterキーの動作を完全に置き換えることができます。
アウトプットウインドウがダブルクリックされたとき Event.onDoubleClickOutput(outputPage, point) outputPage ... アウトプットウインドウのページ
point ... マウスの位置
アウトプットウインドウがダブルクリックされたときに呼び出されます。
Event.onDoubleClickOutput()からfalseが返されると、 改行など通常のダブルクリック処理をしますが、 trueが返されるとダブルクリック処理が完了したとみなし何もしません。 これにより、Enterキーの動作を完全に置き換えることができます。
新規プロジェクトを作成した直後 Event.onProjectNew(theProject) theProject .... Projectオブジェクト 新規プロジェクト作成と同時に何かの追加処理をしたいとき
プロジェクトを開いた直後 Event.onProjectOpen(theProject) プロジェクトを開いた直後に何かの追加処理をしたいとき
プロジェクトを保存する直前 Event.onProjectSave(theProject) プロジェクトを保存する直前に何かの追加処理をしたいとき
プロジェクトを閉じる直前 Event.onProjectClose(theProject) プロジェクトを閉じる直前に何かの追加処理をしたいとき
文字列検索をする直前 Event.onFind(theView) theView .... 編集ウインドウ
編集ウインドウで検索を行う直前に何かの追加処理をしたいとき
文字列検索でヒットしたとき Event.onFound(theView) 編集ウインドウで検索を行いヒットしたとき
ファイルから検索を始める直前 Event.onGrep() なし ファイルから検索を実行する直前に何かの処理をしたいとき
フォルダ/ファイル比較をする直前 Event.onDiff() なし フォルダ/ファイル比較をする直前に何かの処理をしたいとき
アウトラインンのプログラム解析結果の表示直前 Event.onOutlineProgram() theView ...... アウトラインの対象となった編集ウインドウ
root ...... アウトライン解析結果を収めた配列
アウトライン表示をカスタマイズしたいとき
一定時間ごと Event.onTimer() なし setTimer()グローバル関数で指定した一定時間間隔に何らかの処理を実行したいとき

【重要】
コールバック中から同じファイル、または同じプロジェクトに対して、 保存、開く、閉じるなどの操作を行わないでください。
【注意】
イベントハンドラの実行中には、スクリプトスコープ、Viewスコープが見えません。 これは、ユーザ操作の結果イベントハンドラが呼ばれた場合と、 スクリプト実行中にイベントハンドラが呼ばれた場合の実行環境を同じにするためです。 詳しくは、スコープを参照してください。
【注意】
イベントハンドラではスクリプトスコープが存在しないため、 宣言なしで使った変数はグローバルオブジェクト内に作成されます。 グローバルオブジェクトとそのプロパティは、Peggyが終了するまで生存するので注意が必要です。 イベントハンドラの実行中だけ必要な変数は、必ずvarにより宣言するようにしてください。
【注意】
コールバック関数呼び出し中は、他のコールバック関数の呼び出しが抑止されます。 例えば、Event.onFileClose()が呼び出されているときに他のファイルを閉じても、 さらにEvent.onFileClose()が呼び出されることはありません。


Event.onCompleteWord() イベントハンドラ
機能 編集ウインドウで単語補完コマンドを実行したときに呼び出されます。
書式 Event.onCompleteWord(theView, hint)
引数 theView ...... 単語補完コマンドを実行したViewオブジェクト
hint ...... 補完のヒントとなる単語の先頭文字列
戻り値 配列、連想配列、null、またはundefined
 
詳細

編集ウインドウで単語補完コマンドが実行されたときに呼び出されます。 theViewは編集ウインドウに対応するViewオブジェクト、 hintは補完入力しようとしている単語の既に入力されている先頭部分です。

このイベントハンドラで配列を返すと、配列の要素が補完候補としてリストに追加されます。 また連想配列を返すと、連想配列のキーが補完候補としてリストに追加されます。 それ以外のデータを返すと無視されます。

【注意】
配列の要素、連想配列のキーのうち、先頭部分がhintに一致しないものは補完候補として認められないため、捨てられます。
【注意】
配列に同じ文字列が2つ以上あっても、1つしか追加されません。
【注意】
表示前にソートされるため、配列内の順番は意味がありません。

 
参照 Event オブジェクト


Event.onDoubleClick() イベントハンドラ
機能 編集ウインドウのテキストエリアがダブルクリックされたときに呼び出されます。
書式 Event.onDoubleClick(theView, point)
引数 theView ...... ダブルクリックされたViewオブジェクト
point ...... 編集画面のマウス位置を収めた配列
戻り値 ダブルクリック処理を終りにしたいときはtrue、継続したいときはfalse
 
詳細

編集ウインドウのテキストエリアがダブルクリックされたとき、 ダブルクリックによるテキスト選択を行った直後に呼び出されます。 theViewは編集ウインドウに対応するViewオブジェクト、 pointはダブルクリックした編集ウインドウに対するマウス位置を収めた配列です。 point[0]にX座標、point[1]にY座標が入っています。

このハンドラからfalseが返されると、 通常のダブルクリック動作を継続します。 trueを返すとダブルクリックの操作が終了したとみなし、 ダブルクリックの処理を終了します。 ただしfalseを返した場合でも、 その時点で左マウスボタンが放されていたら、 ダブルクリックの処理を終了します。

 
// URLのダブルクリックでブラウザを起動する。
Event.onDoubleClick = function(theView, point)
{
  var text = vw.getSelectedText();
  if (text.search(/^(https?|ftp|file):\/\/[\w\-+.~:@\/?=%|\\&#]+$/) == 0)
  {
    shellExecute(null, text);
    return true;
  }
}; // <-- セミコロン(;)を忘れずに!!
 
参照 Event オブジェクト


Event.onDropFiles() イベントハンドラ
機能 編集ウインドウ上へファイルがドロップされたとき呼び出されます
書式 Event.onDropFiles(theView, files)
引数 theView ...... ファイルがドロップされたViewオブジェクト
completely ...... ドロップされたファイルパスの配列
戻り値 加工したパスを挿入したいときはtrue、それ以外はfalse
 
詳細

エクスプローラやプロジェクトウインドウからファイルをドラッグし、 Ctrlキーを押しながら編集ウインドウ上へドロップしたときに呼び出されるイベントハンドラです。 theViewは、ファイルがドロップされた編集ウインドウのViewオブジェクト、 filesは、ドロップされたファイル(複数可)が収められた文字列の配列です。

ハンドラ内でfilesに収められたファイルパスを加工することができます。 ドロップしたファイルパスを修正してから編集ウインドウへ挿入するには、 まず配列filesに収められたパスを加工し同じ配列へ戻します。 これをドロップされたファイル数だけ繰り返してください。 最後に関数からtrueを返すと、 すべての配列要素が文字列へ変換され、そのまま連続して挿入されます。 このときPeggyに設定されている[フルパスで挿入]などのオプションは無視されます。

falseを返すと、 もともとPeggyに設定されているオプションに従ってファイルパスを加工し、挿入します。

配列の要素の数を変えると、挿入するファイルパスの数も変更できます。 例えば、 files.length = 1; とすることで、 1つしか挿入しないようにしたり、 メニューを表示して選択されたファイルだけを挿入するようにすることが可能です。 ただし、元の個数より増やすことはできません。

【ヒント】
Event.onDropFiles()イベントハンドラは、 Peggy起動時に自動実行される<StartUp.ms>で登録するようにしておけば便利です。
【ヒント】
HTMLファイルにイメージやスクリプトファイルをドロップしたとき、 自動的にタグを付けるサンプルとして<script\OnDrop.msl>があります。 これを<StartUp.ms>からインクルードするだけでHTMLファイルの作成が便利になります。

 
// ドロップされたファイルを加工するイベントハンドラを登録する
Event.onDropFiles = function(theView, files)
{
  // HTMLファイルのときだけ加工する。
  var path = theView.getFilePath();
  if (path.search(/\.html?$/i) < 0)
    return;

  for (var i = 0; i < files.length; i++)
  {
    path = files[i];
    if (path.search(/\.(jpe?g|gif|png)$/i) >= 0)
      files[i] = "<img src=\"" + path + "\">";
    else if ((path.search(/\.html?$/i) >= 0))
      files[i] = "<a href=\"" + path + "\"></a>";
  }
  return true;
}; // <-- セミコロン(;)を忘れずに!!
 
参照 Event オブジェクト


Event.onOutlineProgram() イベントハンドラ
機能 アウトラインのプログラム解析を表示する直前に呼び出されます。
書式 Event.onOutlineProgram(theView, root)
引数 theView ...... アウトラインの対象となった編集ウインドウ
root ...... アウトライン解析結果を収めた配列
戻り値 rootの順で表示したいときはtrue、 アウトラインオプションで指定されている順番で表示したいときはfalse
詳細

アウトラインのプログラム解析を表示する直前に呼び出されます。 rootを変更することにより、アウトライン表示の内容をカスタマイズできます。

rootは、このイベントハンドラを定義していないときにアウトラインウインドウへ表示されるのと同じツリーを収めた配列です。 rootはツリーの根の部分、つまりファイルを表しています。 ファイルの子として表示されるクラス、関数、変数、#defineは、rootの配列要素として収められています。

【例】
root[0] // ファイル直下の最初の項目
root[1] // ファイル直下の2番目の項目
...

それぞれの項目も配列です。 さらに子がある場合は、子の配列要素(孫)となります。 例えば、クラスのメンバ変数、メンバ関数などです。

【例】
root[5] // クラスを表す項目
root[5][0] // クラスの最初のメンバ
root[5][1] // クラスの2番目のメンバ
...

すべての配列には、3つのプロパティtextimagelineがあります。 これらのプロパティを変更すると、アウトラインウインドウに表示される項目の文字列やアイコンをカスタマイズできます。

プロパティ読み書き内容
textstringR/Wアウトラインウインドウへ表示される文字列
imageintegerR/Wアウトラインウインドウへ表示されるアイコン (0〜15)
lineintegerR/W項目をダブルクリックしたときにジャンプする行番号
lineプロパティがない、または負の値のときはジャンプしません。

戻り値としてtrueを返すと、rootに収められているそのままの順序で表示します。 falseを返すと、アウトラインウインドウのオプションで「名前でソート」が選択されている場合は、文字列順に並べ替えて表示します。

【メモ】
サンプルは、株式会社エスコアホームページのMocaScriptライブラリに登録されています。 <OnOutline.msl>をダウンロードしてください。

【メモ】
表示したくない項目を削除するには、MocaScriptの delete 演算子を使います。
【例】 delete root[3]; // 4番目の項目を削除

【メモ】
プロパティだけでなく、ツリーの構造を変えることもできます。 部分的に構想を変えたり、rootの要素をすべて削除し、まったく新しく作り直したりすることも可能です。

【注意】
このイベントハンドラ内でソートしtrueを返すことにより独自の順番で表示できますが、 その後アウトラインウインドウのポップアップメニューから[名前でソート]、[行順でソート]を選択すると、名前や行番号順に変更されてしまいます。

【注意】
イベントハンドラが呼び出されるのは、プログラム解析のみです。 見出し解析、HTML解析では呼び出されないので注意してください。

参照 Event オブジェクト




プロジェクト

Peggyのプロジェクトには、グループ、文字列検索、ファイルから検索などファイル以外のものも登録できます。 MocaScriptからプロジェクトへアクセスするときにも、 ファイル、グループなどに応じたMocaScriptのオブジェクトを使います。 以下がプロジェクトアイテムの種類と、MocaScriptのクラスの関係です。

アイテムの種類アイテムのクラス
ファイルFileItem
グループGroupItem
プロジェクトProject
ゴミ箱TrashItem
文字列検索FindItem
ファイルから検索GrepItem
ファイル・フォルダの比較DiffItem
キーボードマクロKeyboardMacro

さらにオブジェクト指向の考えに基づき、クラスを親子関係とプロトタイプによる継承を使って、 親クラスのメソッドを共用するようになっています。 またそのために、実際には使わないProjectItemやToolItemを作成してクラスを分類し、 メソッドの継承を系統立てています。 C++/Javaのようなオブジェクト指向言語の「仮想クラス」に相当します。 以下がプロジェクトアイテムのクラス階層です。


            プロジェクトアイテムのクラス階層

                       Object
                         ┃
                         ┃
                     ProjectItem
                         ┃
         ┏━━━━━━━╋━━━━━━━┓
         ┃              ┃              ┃
      FileItem       GroupItem        ToolItem
                         ┃              ┃
                   ┏━━┻━━┓        ┃
                   ┃          ┃        ┃
                Project     TrashItem    ┃
                                         ┃
                       ┏━━━━━┳━━┻━━┳━━━━━┓
                       ┃          ┃          ┃          ┃
                    FindItem    GrepItem    DiffItem   KeyboardMacroItem

ProjectItemは、MocaScriptのObjectクラスから派生し、すべてのプロジェクトアイテムの基礎となるクラスです。 ProjectItemのプロトタイプには、getName()getNextItem()getPreviousItem()といった基本的なメソッドが定義されていて、 派生したすべてのアイテムからでも利用できるようになっています。 同様にGroupItemのプロトタイプで定義されているメソッドは、 それを継承しているProjectやTrashクラスでも呼び出すことができます。

クラスProjectのオブジェクトは、プロジェクトの全体を表しています。 プロジェクトウインドウでは、[プロジェクト - ○○○]と表示されている先頭の部分です。 Projectオブジェクトは1プロジェクトに1つだけ存在し、 グローバル変数projectを使って参照できます。 また、プロジェクトはその下にファイルやグループを登録できる一種の「グループ」でもあります。 そのためクラス階層では、GroupItemクラスから派生する形となっています。 これにより、projectに対して、ProjectItem、GroupItem、Projectのメソッドが使えます。 プロジェクトが開かれていないときは、projectnullになります。

以下から各クラスを参照できます。





Project オブジェクト

Projectクラスのオブジェクトは、プロジェクトに1つだけ存在し、プロジェクト全体を表しています。 プロジェクトウインドウでは、先頭行に[プロジェクト - ○○○]と表示されているアイテムのことです。 現在開いているプロジェクトのオブジェクトには、グローバル変数projectを使って参照することができます。

Projectは、GroupItemProjectItemから派生しているので、 これらのクラスのメソッドも利用できます。 Projectには、以下のメソッドとプロパティがあります。

Projectオブジェクト - メソッド一覧

分類 Projectメソッド 機能
プロジェクト
ファイル
close() 現在開いているプロジェクトを閉じる。
save() プロジェクトを保存する。
アイテム検索 identify(path) 指定ファイルに対応するプロジェクト中のアイテムを特定する。
ゴミ箱 emptyTrash() プロジェクトのゴミ箱を空にする。
表示切替 select(page) プロジェクトの表示ページを切り替える。
show([trueOrFalse]) プロジェクトウインドウの表示/非表示を切り替える。

Projectオブジェクト - プロパティ一覧

プロパティ名 読み書き 意味
child アイテムオブジェクト R/O 最初の子アイテムオブジェクト、子アイテムがない場合はnull
expand boolean R/W プロジェクトを展開するか折り畳んで表示するか
fullPath boolean R/W ファイルアイテムをフルパスで表示するか
ignorePattern string R/W プロジェクト固有のドロップしたとき無視するファイル・フォルダのパターン
length integer R/O 子アイテムの個数
name string R/O プロジェクトの名称(プロジェクトウインドウに表示されている文字列)
path string R/O プロジェクトファイルのフルパス、まだ保存されていないプロジェクトは空の文字列
searchPath string R/W [ダイレクトオープン]コマンドで開くファイルを探すパス
selected アイテムオブジェクト R/O 現在選択されているアイテム、選択アイテムがない場合はnull
tagPattern string R/W プロジェクトに特有な特殊タグジャンプパターン
tags integer R/W TAGSの対象にするかどうかの切り替え: 0=しない、1=する
trash アイテムオブジェクト R/O ゴミ箱アイテム
userData string R/W ユーザが設定した文字列
【注意】 プロジェクトに登録されていないアイテムオブジェクトのプロパティ値は、 すべてundefinedとなります。

【参照】プロジェクトクラス



Project.close() メソッド
機能 現在開いているプロジェクトを閉じます。
書式 project.close()
引数 project ...... プロジェクト
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

現在開いているプロジェクトを閉じます。 プロジェクトが変更されている場合は、変更を保存するかどうかを問い合わせます。

プロジェクトを閉じることに成功した場合はtrueを返します。 プロジェクトが開かれていない、または中止した場合は、falseを返します。

 
// プロジェクトを閉じます。
project.close();
 
参照 Project オブジェクトProject メソッド一覧Project.save() メソッドnewProject() 関数openProject() 関数


Project.emptyTrash() メソッド
機能 プロジェクトのゴミ箱を空にします。
書式 project.emptyTrash()
引数 project ...... プロジェクト
戻り値 なし
 
詳細

プロジェクトのゴミ箱にあるアイテムをすべて削除します。 ゴミ箱から削除したアイテムを復活させることはできません。

 
// ゴミ箱を空にします。
project.emptyTrash();
 
参照 Project オブジェクトProject メソッド一覧


Project.identify() メソッド
機能 指定ファイルに対応するプロジェクト中のアイテムを特定する。
書式 project.identify(path)
引数 project ...... プロジェクト
path ...... ファイルのフルパス
戻り値 アイテムを特定できた場合はFileItemオブジェクト、それ以外はnull
 
詳細

プロジェクトからファイルpathに対応したFileItemオブジェクトを特定します。 対応するアイテムが存在しない場合は、nullを返します。

プロジェクトには同じファイルが重複して登録されている可能性があります。 その場合identify()メソッドは、 ファイルを開くために最後に使われたFileItemオブジェクトを取得します。

 
// 編集中のウインドウに対応するアイテムを特定し選択する。
var item = project.identify(view);
if (item)
    item.select();
 
参照 Project オブジェクトProject メソッド一覧


Project.save() メソッド
機能 プロジェクトを保存します。
書式 project.save()
引数 project ...... プロジェクト
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

プロジェクトを保存します。 成功した場合はtrue、 プロジェクトが開かれていない、または保存を中止した場合はfalseを返します。

 
// プロジェクトを保存します。
project.save();
 
参照 Project オブジェクトProject メソッド一覧Project.close() メソッドnewProject() 関数openProject() 関数


Project.select() メソッド
機能 プロジェクトの表示ページを切り替えます。
書式 Project.select(page)
引数 Project ...... プロジェクトクラス
page ...... ページ番号(1〜4)
戻り値 なし
 
詳細

プロジェクトウインドウに表示されているページを切り替えます。

1 .... プロジェクト
2 .... ウインドウリスト
3 .... アウトライン
4 .... スクリプト

【注意】
select()は、Projectクラスの静的メソッドです。

 
// スクリプトページを表示します。
Project.select(4);
 
参照 Project オブジェクトProject メソッド一覧Project.show() メソッド


Project.show() メソッド
機能 プロジェクトウインドウの表示/非表示を切り替えます。
書式 Project.show([trueOrFalse])
引数 Project ...... プロジェクトクラス
trueOrFalse ...... 表示するかどうか
戻り値 プロジェクトウインドウが表示されればtrue、それ以外はfalse
 
詳細

プロジェクトウインドウの表示/非表示を切り替えます。 trueOrFalsetrueを指定するとプロジェクトウインドウを表示し、 falseを指定すると非表示にします。 また、trueOrFalseを省略すると、 表示/非表示状態を反転します。

【注意】
show()は、Projectクラスの静的メソッドです。

 
// プロジェクトウインドウを表示します。
Project.show(true);
 
参照 Project オブジェクトProject メソッド一覧Project.select() メソッド




ProjectItem オブジェクト

ProjectItemクラスは、プロジェクトに登録されているすべてのアイテムの基礎となるクラスです。 しかし、プロジェクト中にProjectItemそのもののオブジェクトは存在しません。 ProjectItemから派生したクラスに共通する機能を提供するのが目的です。 ProjectItemには、以下のメソッドがあります。

ProjectItemオブジェクト - メソッド一覧

分類 ProjectItemメソッド 機能
コンストラクタ new ProjectItem() ProjectItemオブジェクトを生成する。
アイテムの位置 where() プロジェクトのルートからアイテムまでの道順を取得する。
getPosition() アイテムの画面上の位置を取得する。
表示 select() プロジェクトのアイテムを選択する。
ensureVisible() アイテムが見えるようにスクロールする。
挿入削除 insert(item) プロジェクトにアイテムを登録する。
remove([completely]) アイテムをプロジェクトから削除する。
テスト isTrashed() プロジェクトアイテムがゴミ箱に入れられているかどうか調る。
isValid() プロジェクトアイテムが有効かどうかを調る。

【参照】プロジェクトクラス



ProjectItem() コンストラクタ
機能 プロジェクトのProjectItemオブジェクトを生成します(実際には使いません)。
書式 new ProjectItem()
引数 なし
戻り値 ProjectItemオブジェクト
 
詳細

一応ProjectItem()コンストラクタによりProjectItemオブジェクトを作成することはできますが、 実際には直接ProjectItemオブジェクトを生成して使うことはありません。 プロジェクトの各種アイテムをまとめて扱うためのクラスProjectItemのための形式上のコンストラクタと考えてください。

ProjectItemのプロトタイプオブジェクトには、 FileItem、GroupItemなどプロジェクトアイテムから共通に使えるメソッドが定義されています。

 
参照 ProjectItem オブジェクトProjectItem メソッド一覧ProjectItem.insert() メソッド


ProjectItem.ensureVisible() メソッド
機能 アイテムが見えるようにスクロールします。
書式 aProjectItem.ensureVisible()
引数 aProjectItem ...... プロジェクトの任意のアイテム
戻り値 なし
 
詳細

プロジェクトのアイテムaProjectItemが見えるようにスクロールします。

 
// プロジェクトのルートが見えるようにスクロールします。
project.ensureVisible();
 
参照 ProjectItem オブジェクトProjectItem メソッド一覧


ProjectItem.getPosition() メソッド
機能 アイテムの画面上の位置を取得します。
書式 aProjectItem.getPosition()
引数 aProjectItem ...... プロジェクトの任意のアイテム
戻り値 成功した場合はx, y位置を収めた配列、プロジェクトウインドウが表示されていない、またはプロジェクトページが選択されていない場合は undefined、アイテムが見えていない場合はnull
 
詳細

プロジェクトのアイテムaProjectItemの位置(x,y)を配列として返します。 座標はモニターの左上を(0,0)とするスクリーン座標です。 配列の要素0にx、1にy座標がセットされます。 アイテムがウインドウの外へスクロールして見えないときは、 ウインドウの最も近い座標を返します。

プロジェクトウインドウが非表示、またはプロジェクトページが選択されていない場合はundefinedを返します。 アイテムが見えないときは、nullを返します。

 
// 選択しているアイテムの位置を調べます。
var pt = project.selected.getPosition();
 
参照 ProjectItem オブジェクトProjectItem メソッド一覧


ProjectItem.insert() メソッド
機能 プロジェクトにアイテムを登録します。
書式 aProjectItem.insert(item)
aProjectItem.insert(path)
引数 aProjectItem ...... プロジェクトの任意のアイテム
item ...... 登録するアイテムオブジェクト
path ...... 登録するファイルのパス
戻り値 登録に成功した場合はアイテムオブジェクト、それ以外はnull
 
詳細

ProjectItemから派生しているすべてのアイテムでinsert()メソッドが使えます。 ただし、GroupItem、Projectか、それ以外のアイテムかによって挿入方法が変わります。 GroupItem、Projectオブジェクトに対してinsert()メソッドを呼び出したときは、 そのグループの最後に登録します。 それ以外のアイテムに対してinsert()メソッドを呼び出したときは、 aProjectItemの直前に挿入します。 これは、Windowsエクスプローラからファイルをドラッグしグループ上にドロップしたとき、 グループの最後に登録されるのと同じです。

itemは、まだプロジェクトに登録されていない任意のオブジェクトです。 既に登録済みのアイテムを指定した場合はエラーになり、何もせずnullを返します。

グループを挿入するには、GroupItemのオブジェクトを作成してinsert()メソッドに渡します。 同じようにFileItemのオブジェクトを作成してinsert()すると、ファイルを登録できます。

ファイルを挿入するときは、特別にパスpathを渡すこともできます。 この場合、insert()メソッド内部でFileItemオブジェクトが作成されます。 ファイルパスは、絶対パスでも相対パスでも構いませんが、すべて絶対パスに変換してから登録されます。 ただし、該当するファイルが見つからない場合はエラーとなり、登録されずにnullを返します。 必ず存在するファイルだけをプロジェクトに登録するようにしてください。

【メモ】
ゴミ箱の中へ新規にアイテムを登録することはできません。

 
// プロジェクトにグループとファイルを挿入します。
var group = project.insert(new GroupItem("最初のグループ"));
group.insert(new FileItem("C:\\Program Files\\Anchor\\Peggy\\readme.txt"));
 
参照 ProjectItem オブジェクトProjectItem メソッド一覧ProjectItem() コンストラクタFileItem() コンストラクタGroupItem() コンストラクタFindItem() コンストラクタGrepItem() コンストラクタDiffItem() コンストラクタKeyboardMacroItem() コンストラクタProjectItem.remove() メソッド


ProjectItem.isTrashed() メソッド
機能 プロジェクトアイテムがゴミ箱に入れられているかどうか調べます。
書式 aProjectItem.isTrashed()
引数 aProjectItem ...... プロジェクトの任意のアイテム
戻り値 ゴミ箱に入っているアイテムであればtrue、それ以外はfalse
 
詳細

アイテムがゴミ箱に入れられているかどうかを調べて、 入っていればtrue、それ以外はfalseを返します。

 
参照 ProjectItem オブジェクトProjectItem メソッド一覧ProjectItem.isValid() メソッド


ProjectItem.isValid() メソッド
機能 プロジェクトアイテムが有効かどうかを調べます。
書式 aProjectItem.isValid()
引数 aProjectItem ...... プロジェクトの任意のアイテム
戻り値 プロジェクトアイテムが有効であればtrue、それ以外はfalse
 
詳細

プロジェクトアイテムが有効かどうかを調べます。 「プロジェクトアイテムが有効である」とは、プロジェクトに登録されているということです。 プロジェクトに登録されていないアイテムは、有効ではありません。

例えば、new FileItem("ABC")で生成したけれどもまだ登録していないアイテムとか、 プロジェクトに登録されていたけれどもremove()メソッドで削除したようなアイテムが無効アイテムです。

このようなオブジェクトが存在することはできますが、 オブジェクトに対してメソッドを呼び出しても何も起こらず、エラーを示す戻り値が返されます。

 
参照 ProjectItem オブジェクトProjectItem メソッド一覧ProjectItem.isTrashed() メソッド


ProjectItem.remove() メソッド
機能 アイテムをプロジェクトから削除します。
書式 aProjectItem.remove([completely])
引数 aProjectItem ...... プロジェクトの任意のアイテム
completely ...... 完全に削除するかどうか
戻り値 成功したときはtrue、それ以外はfalse
 
詳細

プロジェクトのアイテムaProjectItemをプロジェクトから削除します。 completelytrueを指定したときは、 アイテムをゴミ箱に移さず完全に削除します。 completelyfalseを指定するか省略すると、 aProjectItemをゴミ箱に移動します。 すでにゴミ箱に入っているアイテムに対してdelete()メソッドを呼び出した場合は、 completelyの指定に関わらず完全に削除します。

アイテムがGroupItemであった場合、そのグループに登録されているアイテムや入れ子になったアイテムすべてが削除対象となります。 Projectアイテムは削除できません。

 
// 選択しているアイテムを削除します。
var item = project.getSelectedItem();
if (item)
    item.remove();
 
参照 ProjectItem オブジェクトProjectItem メソッド一覧ProjectItem.insert() メソッド


ProjectItem.select() メソッド
機能 プロジェクトのアイテムを選択します。
書式 aProjectItem.select()
引数 aProjectItem ...... プロジェクトの任意のアイテム
戻り値 なし
 
詳細

プロジェクトのアイテムaProjectItemを選択します。

 
// プロジェクト全体を表すルートを選択します。
project.select();
 
参照 ProjectItem オブジェクトProjectItem メソッド一覧


ProjectItem.where() メソッド
機能 プロジェクトのルートからアイテムまでの道順を取得します。
書式 aProjectItem.where()
引数 aProjectItem ...... プロジェクトの任意のアイテム
戻り値 成功した場合は途中のグループ名を収めたArrayオブジェクト、それ以外はnull
 
詳細

プロジェクトのルートからアイテムaProjectItemに至るまでの間に存在するGroupItemの名前を取得し、Arrayオブジェクトに入れて返します。 ルートであるProjectアイテムと、aProjectItem自身の名前は含まれません。 途中に存在するGroupItemオブジェクトの名前のみです。

aProjectItemがプロジェクトに登録されていない無効オブジェクトである場合は、 nullを返します。

 
// 選択されているアイテムはどこにある?
var item = project.getSelectedItem();
if (item)
    messageBox(item.where());
 
参照 ProjectItem オブジェクトProjectItem メソッド一覧




FileItem オブジェクト

FileItemオブジェクトは、プロジェクトに登録されているファイルアイテムを表すオブジェクトです。 FileItemには、以下のメソッドがあります。

FileItemオブジェクト - メソッド一覧

分類 FileItemメソッド 機能
コンストラクタ new FileItem(path) FileItemオブジェクトを生成する。
ファイル操作 open() プロジェクトのファイルアイテムに相当するファイルを開く。
close([forceClose]) プロジェクトのファイルアイテムに該当するファイルを閉じる。
execute() プロジェクトのファイルアイテムに該当するスクリプトファイル、実行ファイルを実行する。
isOpened() プロジェクトのファイルアイテムに該当するファイルが開いているかどうか調る。
漢字コード
言語情報
getEffectiveEncoding() ファイルアイテムからファイルを開くときの漢字コードを取得する。
getEffectiveLanguage() ファイルアイテムからファイルを開くときの言語モードの識別名を取得する。

FileItemオブジェクト - プロパティ一覧

プロパティ名 読み書き 意味
name string R/O ファイルアイテムの名称(プロジェクトウインドウに表示されている文字列)
label string R/W プロジェクトウインドウに表示される表示ラベル。 無指定(空の文字列)のときはファイル名またはフルパスが表示される。
next アイテムオブジェクト R/O 次のアイテム、ない場合はnull
parent アイテムオブジェクト R/O 登録されているグループアイテム
path string R/O ファイルのフルパス
previous アイテムオブジェクト R/O 前のアイテム、ない場合はnull
type integer R/W ファイルタイプ

0    テキストファイル
1    スクリプトファイル
2    アプリケーションデータ
3    実行ファイル

encoding integer R/W 漢字コード

自動(学習なし)    -2
自動(学習あり)    -1
Shift JIS       File.ENCODING_SJIS (=3)
EUC          File.ENCODING_EUC (=4)
JIS           File.ENCODING_JIS (=5)
UTF-8         File.ENCODING_UTF8 (=6)
UTF-16        File.ENCODING_UNICODE (=7)
UTF-7         File.ENCODING_UTF7 (=8)

【メモ】
ファイルアイテムに設定されている漢字コードはファイルを開くときに参照されるもので、 ファイルがすでに開かれている場合、必ずしもその漢字コードと一致しているとは限りません。 開いているファイルの漢字コードを調べたいときは、 ViewオブジェクトのgetEncoding()メソッドを使ってください。
【注意】
ファイルアイテムでは、漢字コードのUTF-8、UTF-8Nを同じものと見なすため、 UTF-8Nを指定してもUTF-8が設定されます。

language string R/W 言語モードID(空の文字列はデフォルト)
tabstop integer R/W タブ間隔(0はデフォルト、2〜32)
mouseAction integer R/W マウスでダブルクリックしたときの動作

0    何もしない
1    エディタで開く
2    アプリケーションで開く
3    実行する

toolAction integer R/W ツールとして実行されたときの動作

0    何もしない
1    エディタで開く
2    アプリケーションで開く
3    実行する

toolNumber integer R/W ツール番号(1〜24、0は割り当てなし)
command string R/W スクリプトファイルとして実行するためのコマンド
argument string R/W コマンドまたはスクリプトファイルとして実行するときの引数
folder string R/W コマンドまたはスクリプトファイルとして実行するときのフォルダ
redirect boolean R/W 出力をアウトプットウインドウへリダイレクトする
outputEncoding integer R/W 出力をアウトプットウインドウへリダイレクトする際、コマンドが出力する文字列の漢字コードを指定します。 以下の漢字コードが指定できます。 0を指定すると、このファイルと同じコードで出力されるとみなします。

ファイルと同じ      0 (デフォルト)
編集中ファイルと同じ  1
Shift JIS         File.ENCODING_SJIS (=3)
EUC            File.ENCODING_EUC (=4)
JIS             File.ENCODING_JIS (=5)
UTF-7           File.ENCODING_UTF7 (=8)
UTF-8           File.ENCODING_UTF8 (=6)
UTF-8N           File.ENCODING_UTF8N (=9)
Unicode          File.ENCODING_UNICODE (=7)

【メモ】
編集中ファイルと同じ(1)は、引数に$a(アクティブドキュメントのフルパス)などを使って編集中のスクリプトを実行させたいときに便利です。
【注意】
ツール出力漢字コードではUTF-8、UTF-8Nを同じものと見なすため、 UTF-8Nを指定してもUTF-8が設定されます。
【注意】
.exeなどのバイナリファイルや、Unicode(UTF-16)ファイルに0が設定されている場合、 出力の漢字コードはShift JISとなります。

userData string R/W ユーザが設定した文字列

【注意】
ファイルアイテムのencodingtabstoplanguageプロパティに設定した漢字コードとタブ間隔は、 ファイルを開くときに参照されるもので、 すでに開かれている編集ウインドウは変更できません。 開いているファイルの漢字コード、タブ間隔を設定したいときは、 ViewオブジェクトのsetEncoding()setTabStop()メソッドを使ってください。 【注意】
プロジェクトに登録されていないアイテムオブジェクトのプロパティ値は、 すべてundefinedとなります。

【参照】プロジェクトクラス



FileItem() コンストラクタ
機能 プロジェクトのFileItemオブジェクトを生成します。
書式 new FileItem(path)
引数 path ...... ファイルアイテムが表すファイルのパス
戻り値 FileItemオブジェクト
 
詳細

pathで指定されたファイルをプロジェクトに挿入するために、 FileItemオブジェクトを生成します。 このコンストラクタにより作成したオブジェクトは、 ProjectItem.insert() メソッドでプロジェクトに挿入できます。

new演算子により生成されたFileItemオブジェクトは、 プロジェクトに挿入されて初めて有効になります。 プロジェクトに挿入するまでは、 open()close()などFileItemのメソッドを使うことはできません。 プロジェクト登録前にそれらのメソッドを実行した場合は失敗し、それぞれで定義されているエラー値を返します。

 
// プロジェクトにファイルアイテムを挿入します。
var item = project.getSelectedItem();
item.insert(new FileItem("C:\\Program Files\\Anchor\\Peggy\\readme.txt"));
 
参照 FileItem オブジェクトFileItem メソッド一覧ProjectItem.insert() メソッド


FileItem.close() メソッド
機能 プロジェクトのファイルアイテムに該当するファイルを閉じます。
書式 aFileItem.close([forceClose])
引数 aFileItem ...... FileItemオブジェクト
forceClose ...... ファイルに変更があっても破棄して強制的に閉じる
戻り値 ファイルを閉じることに成功した場合はtrue、それ以外はfalse
 
詳細

プロジェクトのファイルアイテムaFileItemに対応するファイルを開いていれば、 閉じます。 forceCloseを省略するかfalseを指定した場合、 そのファイルに未保存の変更があれば、閉じる前に保存するかどうかを問い合わせます。 forceClosetureを指定すると、 変更の有無に関わらず強制的に閉じます。 ファイルを閉じることに成功した場合はtrue、それ以外はfalseを返します。

【注意】
close()メソッドは、 FileItemオブジェクトがプロジェクトに登録されているときのみ有効です。 プロジェクトに登録されていないFileItemオブジェクトに対するclose()メソッド呼び出しは、常に失敗します。

 
// プロジェクトのルートに登録されているファイルをすべて閉じる
var items = project.enumItems();
for (var i = 0; i < items.length; i++)
{
  if (items[i] instanceof FileItem)
    items[i].close();
}

 
参照 FileItem オブジェクトFileItem メソッド一覧FileItem.open() メソッドFileItem.isOpened() メソッドFileItem.execute() メソッド


FileItem.execute() メソッド
機能 プロジェクトのファイルアイテムに該当するスクリプトファイル、実行ファイルを実行します。
書式 aFileItem.execute()
引数 aFileItem ...... FileItemオブジェクト
戻り値 実行ファイル、スクリプトファイルの起動に成功した場合はtrue、それ以外はfalse
 
詳細

アイテムaFileItemが表している実行ファイル、スクリプトファイルを実行します。 プロジェクトウインドウのスクリプトファイル、実行ファイルを右マウスクリックして[実行]を選択するのと同じで、 そのファイルアイテムのプロパティから指定されている方法で実行します。 実行できた場合はtrue、それ以外はfalseを返します。

【注意】
execute()メソッドは、 FileItemオブジェクトがプロジェクトに登録されているときのみ有効です。 プロジェクトに登録されていないFileItemオブジェクトに対するexecute()メソッド呼び出しは、常に失敗します。

 
// プロジェクトのルートに登録されているファイルアイテムを実行する。
var items = project.enumItems();
for (var i = 0; i < items.length; i++)
{
  if (items[i] instanceof FileItem)
    items[i].execute();
}

 
参照 FileItem オブジェクトFileItem メソッド一覧FileItem.open() メソッドFileItem.close() メソッドFileItem.isOpened() メソッド


FileItem.getEffectiveEncoding() メソッド
機能 ファイルアイテムからファイルを開くときの漢字コードを取得します。
書式 aFileItem.getEffectiveEncoding()
引数 aFileItem ...... FileItemオブジェクト
戻り値 このアイテムからファイルを開いたときの漢字コード、 FileItemオブジェクトがプロジェクトに登録されていないときは0
 
詳細

aFileItemを開くときに使う漢字コードを取得します。 aFileItemのプロパティに漢字コードが設定されているときは、その漢字コード、 設定されていないときは、学習している漢字コードを返します。 「学習しない」になっているときは、0(漢字コード不明)を返します。 また、aFileItemがプロジェクトに登録されていないときも、0(不明)を返します。 漢字コードの詳細は、 File.guessEncoding() メソッドを参照してください。

 
// 選択しているファイルアイテムを開くときの漢字コードを取得します。
var item = project.selected;
var encoding = item.getEffectiveEncoding();
messageBox(encoding);
 
参照 FileItem オブジェクトFileItem メソッド一覧FileItem.open() メソッドFile.guessEncoding() メソッド


FileItem.getEffectiveLanguage() メソッド
機能 ファイルアイテムからファイルを開くときの言語モードの識別名を取得します。
書式 aFileItem.getEffectiveLanguage()
引数 aFileItem ...... FileItemオブジェクト
戻り値 このアイテムからファイルを開いたときの言語モードの識別名、 FileItemオブジェクトがプロジェクトに登録されていないときはundefined
 
詳細

aFileItemを開くときに使われる言語モードの識別名を取得します。 ファイルを開くときと同じ手順で、 アイテム→グループ→...→プロジェクト→拡張子マップの順に言語モードを決定します。 aFileItemがプロジェクトに登録されていないときは、undefinedを返します。

 
// アイテムを開いたときの言語モードを取得します。
var item = project.selected;
var lang = item.getEffectiveLanguage();
messageBox(lang);
 
参照 FileItem オブジェクトFileItem メソッド一覧FileItem.getEffectiveEncoding() メソッド


FileItem.isOpened() メソッド
機能 プロジェクトのファイルアイテムに該当するファイルが開いているかどうか調べます。
書式 aFileItem.isOpened()
引数 aFileItem ...... FileItemオブジェクト
戻り値 ファイルが開かれている場合はそのViewオブジェクト、それ以外はnull
 
詳細

ファイルアイテムaFileItemが開いていれば、 その編集ウインドウのViewオブジェクトを返します。 それ以外の場合はnullを返します。

【注意】
isOpened()メソッドは、 FileItemオブジェクトがプロジェクトに登録されているときのみ有効です。 プロジェクトに登録されていないFileItemオブジェクトに対するisOpened()メソッド呼び出しは、常に失敗します。

 
// プロジェクトのルートに登録されているファイルで開いているものをカウントする
var count = 0;
var items = project.enumItems();
for (var i = 0; i < items.length; i++)
{
  if ((items[i] instanceof FileItem) && items[i].isOpened())
    count++;
}

 
参照 FileItem オブジェクトFileItem メソッド一覧FileItem.open() メソッドFileItem.close() メソッドFileItem.execute() メソッド


FileItem.open() メソッド
機能 プロジェクトのファイルアイテムに相当するファイルを開きます。
書式 aFileItem.open()
引数 aFileItem ...... FileItemオブジェクト
戻り値 ファイルを開くことに成功した場合はViewオブジェクト、 それ以外はnull
 
詳細

プロジェクトのファイルアイテムaFileItemを開きます。 ファイルを開くのに成功した、または既に開かれていた場合は、そのViewオブジェクトを返します。 それ以外の場合は、nullを返します。

【注意】
open()メソッドは、 FileItemオブジェクトがプロジェクトに登録されているときのみ有効です。 プロジェクトに登録されていないFileItemオブジェクトに対するopen()メソッド呼び出しは、常に失敗します。

 
// プロジェクトのルートに登録されているファイルをすべて開く。
var items = project.enumItems();
for (var i = 0; i < items.length; i++)
{
  if (items[i] instanceof FileItem)
    items[i].open();
}

 
参照 FileItem オブジェクトFileItem メソッド一覧FileItem.close() メソッドFileItem.isOpened() メソッドFileItem.execute() メソッド




GroupItem オブジェクト

GroupItemオブジェクトは、プロジェクト中のグループを表すオブジェクトです。 GroupItemには、以下のメソッドがあります。

GroupItemオブジェクト - メソッド一覧

分類 GroupItemメソッド 機能
コンストラクタ new GroupItem(groupName) GroupItemオブジェクトを生成する。
アイテム操作 enumItems([deep [, type [, pattern]]]) グループに登録されているアイテムを条件に従って列挙します。
getItem([group1, [ group2, ... ,]] name) 名前を指定してグループ中のアイテムを取得する
その他 guessFolder() グループに対応するフォルダを推測します。
sort([deep [, reverse]]) グループに登録されているアイテムをソートします。

GroupItemオブジェクト - プロパティ一覧

プロパティ名 読み書き 意味
child アイテムオブジェクト R/O 最初の子アイテムオブジェクト、子アイテムがない場合はnull
expand boolean R/W グループを展開するか折り畳んで表示するか
length integer R/O 子アイテムの個数
name string R/W グループアイテムの名称(プロジェクトウインドウに表示される文字列)
next アイテムオブジェクト R/O 次のアイテム、ない場合はnull
parent アイテムオブジェクト R/O 登録されているグループアイテム
previous アイテムオブジェクト R/O 前のアイテム、ない場合はnull
tags integer R/W TAGSの対象にするかどうかの切り替え: 0=しない、1=する、2=継承する
userData string R/W ユーザが設定した文字列
【注意】
プロジェクトに登録されていないアイテムオブジェクトのプロパティ値は、 すべてundefinedとなります。

【参照】プロジェクトクラス



GroupItem() コンストラクタ
機能 プロジェクトのGroupItemオブジェクトを生成します。
書式 new GroupItem(groupName)
引数 groupName ...... グループ名
戻り値 GroupItemオブジェクト
 
詳細

GroupItemオブジェクトを生成します。 このコンストラクタにより作成したオブジェクトを、 ProjectItem.insert() メソッドでプロジェクトに挿入することにより、 プロジェクトに新規グループを挿入できます。

new演算子により生成されたGroupItemオブジェクトは、 プロジェクトに挿入されて初めて有効になります。 プロジェクトに挿入するまでは、 expand()enumItems()などGroupItemのメソッドを使うことはできません。 実行した場合は失敗し、それぞれのメソッドで定義されているエラー値を返します。

 
// プロジェクトのルートにグループに「テキスト」と「画像」を挿入します。
project.insert(new GroupItem("テキスト"));
project.insert(new GroupItem("画像"));
 
参照 GroupItem オブジェクトGroupItem メソッド一覧ProjectItem.insert() メソッド


GroupItem.enumItems() メソッド
機能 グループに登録されているアイテムを条件に従って列挙します。
書式 aGroupItem.enumItems([deep [, type [, pattern]]])
引数 aGroupItem ...... GroupItemオブジェクト
deep ...... 入れ子になったグループ内も検索するかどうか
type ...... アイテムの種類
pattern ...... アイテム名の文字列パターン、または正規表現
戻り値 成功した場合は見つかったアイテムを収めたArrayオブジェクト、それ以外はnull
 
詳細

プロジェクトのグループaGroupItemに登録されているアイテムを条件に従って検索し、 一致したものを収めたArrayオブジェクトを返します。

deeptrueを指定すると、 入れ子になったグループの中まですべてのアイテムを検索します。 falseまたは省略した場合は、 aGroupItem直下のアイテムのみが検索対象となります。

typeにはアイテムのクラス(プロジェクトアイテムオブジェクトのコンストラクタ関数、 または下表の整数値)を指定します。 クラス(または整数)を指定すると、指定したクラスとそのサブクラスのアイテムが検索対象となります。 typeを省略するかnullを指定すると、 すべての種類のアイテムが検索対象となります。

 0、nullProjectItem ...... すべての種類のアイテムオブジェクト
 1、FileItem ...... FileItemオブジェクト
 2、GroupItem ...... GroupItemオブジェクト
 3、Project ...... Projectオブジェクト(注1)
 4、ToolItem ...... ToolItemのサブクラス(FindItem、GrepItem、DiffItem、KeyboardMacroItem)のオブジェクト
 5、FindItem ...... FindItemオブジェクト
 6、GrepItem ...... GrepItemオブジェクト
 7、DiffItem ...... DiffItemオブジェクト
 8、KeyboardMacroItem ...... KeyboardMacroItemオブジェクト

patternは、アイテムの名前を指定する文字列、または正規表現を指定します。 正規表現を指定すると、そのパターンに一致したアイテムを取得します。 FileItemオブジェクトに対しては、patternがフルパスに対してマッチするかどうかをテストします。 例えば、*.h、*.cファイルを検索するためには、/\.[ch]$/iのように記述してください。 patternを省略すると、すべて名前が一致したと見なします。

【注意】
enumItems()メソッドは、 GroupItemオブジェクトがプロジェクトに登録されているときのみ有効です。 プロジェクトに登録されていないGroupItemオブジェクトに対するenumItems()メソッド呼び出しは、 常に失敗しnullを返します。

 
// プロジェクトに登録されているすべての*.txtファイルを取得する
var items = project.enumItems(true, FileItem, /\.txt$/i);
 
参照 GroupItem オブジェクトGroupItem メソッド一覧GroupItem.getItem() メソッド


GroupItem.getItem() メソッド
機能 名前を指定してグループ中のアイテムを取得する。
書式 aGroupItem.getItem([group1, [ group2, ... ,]] name)
aGroupItem.getItem(nameArray)
引数 aGroupItem ...... GroupItemオブジェクト
group1group2 ...... アイテムに至るグループ
name ...... アイテム名
nameArray ...... 経路を収めた名前の配列
戻り値 アイテムが見つかった場合はそのアイテムオブジェクト、それ以外はnull
 
詳細

グループaGroupItemから初めて、 group1group2...の中のアイテムnameを取得します。 グループを指定しなかったときは、aGroupItem直下のアイテムを取得します。

nameArrayは、 group1group2、...、nameが収められている配列です。 どちらの方法でも同じようにアイテムを取得できます。
group1group2...は、大文字小文字を区別します。 最後のアイテム名nameが一致しているかどうかの判定は、以下のルールに従います。

  1. FileItemでないアイテムに関しては、大文字小文字を区別しすべて一致していなければなりません。
  2. FileItemで、nameがフルパスで指定されている場合は、大文字小文字を区別せずにフルパスすべてを比較します。
  3. FileItemで、nameがファイル名と拡張子だけの場合は、アイテムもファイル名の部分を取り出して大文字小文字を区別せずに比較します。

【注意】
getItem()メソッドは、 GroupItemオブジェクトがプロジェクトに登録されているときのみ有効です。 プロジェクトに登録されていないGroupItemオブジェクトに対するgetItem()メソッド呼び出しは、 常に失敗しnullを返します。
【注意】
Peggyのプロジェクトには、同じグループ内に同じ名前のアイテムが複数存在することがあります。 そのような場合、getItem()メソッドは名前が一致した最初のアイテムを取得します。

 
// グループ "日記" の中の "2002" の中の 01.txt アイテムを取得する。
var item = project.getItem("日記", "2002", "01.txt");
 
参照 GroupItem オブジェクトGroupItem メソッド一覧GroupItem.enumItems() メソッド


GroupItem.guessFolder() メソッド
機能 グループに対応するフォルダを推測します。
書式 aGroupItem.guessFolder()
引数 aGroupItem ...... GroupItemオブジェクト
戻り値 フォルダの推測に成功した場合はフォルダのパス、それ以外はundefined
 
詳細

プロジェクトのグループは、ファイルシステムのフォルダには直接対応していません。 しかしドラッグ&ドロップによりフォルダごとプロジェクトに登録したような場合、 グループとフォルダは非常に近い関係となります。 このメソッドは、以下のルールによりグループ中に登録されているファイルからグループに対応しているフォルダを推測します。

  1. グループ中に登録されているファイルがすべて同じフォルダにあれば、 そのフォルダがグループに対応していると推測します。
  2. グループ中に複数のファイルが登録されていてすべてのフォルダが同一ではない場合、 [フォルダ選択]ダイアログボックスを表示し、ユーザに選択してもらいます。 [フォルダ選択]ダイアログボックスには、ファイルの多い順にフォルダが並んで表示されています。 フォルダを選択して[OK]ボタンをクリックするとそのフォルダのパス、 [キャンセル]をクリックすると、undefinedを返します。
  3. グループ中にファイルがまったく登録されていない場合は、 順番に子グループ、孫グループ、ひ孫グループ中のファイルからフォルダを推測します。 それでもファイルが見つからないときは、 対応フォルダが推測できないと判断してundefinedを返します。

【注意】
guessFolder()メソッドは、 GroupItemオブジェクトがプロジェクトに登録されているときのみ有効です。 プロジェクトに登録されていないGroupItemオブジェクトに対するguessFolder()メソッド呼び出しは、 常に失敗しundefinedを返します。

 
// プロジェクトのルートに対応するフォルダを推測します。
var rootFolder = project.guessFolder();
 
参照 GroupItem オブジェクトGroupItem メソッド一覧


GroupItem.sort() メソッド
機能 グループに登録されているアイテムをソートします。
書式 aGroupItem.sort([deep [, reverse]])
引数 aGroupItem ...... GroupItemオブジェクト
deep ...... 入れ子になっているグループすべてをソートする
reverse ...... 逆順にソートする
戻り値 なし
 
詳細

グループaGroupItemに登録されているアイテムをソートします。

deeptrueを指定すると、 入れ子になっているグループもすべてソートします。 deepfalseを指定するか省略すると、 aGroupItem直下のアイテムだけをソートします。 reversetrueを指定すると降順に、 falseを指定すると昇順、 省略すると降順・昇順を逆転させてソートします。

【注意】
sort()メソッドは、 GroupItemオブジェクトがプロジェクトに登録されているときのみ有効です。 プロジェクトに登録されていないGroupItemオブジェクトにsort()メソッド呼び出しても、なにも起こりません。

 
// プロジェクト全体を昇順にソートする
project.sort(true, false);
 
参照 GroupItem オブジェクトGroupItem メソッド一覧




TrashItem オブジェクト

TrashItemオブジェクトは、プロジェクトのゴミ箱を表すオブジェクトです。 プロジェクトが開かれているときは、project.trashで参照できます。 TrashItemには以下のプロパティがあります。

TrashItemオブジェクト - プロパティ一覧

プロパティ名 読み書き 意味
child アイテムオブジェクト R/O ゴミ箱の最初の子アイテムオブジェクト、子アイテムがない場合はnull
expand boolean R/W ゴミ箱を展開するか折り畳んで表示するか
length integer R/O 子アイテムの個数
name string R/O ゴミ箱の名称(常に「ゴミ箱」)
userData string R/W ユーザが設定した文字列
【注意】 プロジェクトに登録されていないアイテムオブジェクトのプロパティ値は、 すべてundefinedとなります。

【参照】プロジェクトクラス



ToolItem オブジェクト

ToolItemは、FindItem、GrepItem、DiffItem、KeyboardMacroItemなどのツールの基礎クラスです。 プロジェクト中にToolItemそのものが存在することはありません。 あくまでFindItemなどのツールアイテムに共通する機能をまとめるためのクラスです。

ToolItemには以下のメソッドがあり、このクラスから継承したクラスすべてから呼び出すことができます。

ToolItemオブジェクト - メソッド一覧

分類 GroupItemメソッド 機能
ツールのリストア restore() ツールの状態をリストアする。

【参照】プロジェクトクラス



ToolItem.restore() メソッド
機能 ツールアイテムに保存されている各種条件をリストアします。
書式 aToolItem.restore()
引数 aToolItem ...... ToolItemから継承しているクラスのオブジェクト
戻り値 リストアできた場合はtrue、それ以外はfalse
 
詳細

ToolItemから派生したオブジェクトaToolItem (FindItem、GrepItem、DiffItem、KeyboardMacroItem)に保存されている情報をリストアします。 それぞれ、テキスト検索、ファイルから検索、ファイル・フォルダの比較、キーボードマクロがリストアされます。

 
// アイテムの情報をリストアする。
var item = project.selected;
if (item instanceof ToolItem)
    item.restore();
 
参照 ToolItem オブジェクトToolItem メソッド一覧




FindItem オブジェクト

FindItemオブジェクトは、プロジェクト中のファイルから検索アイテムを表すオブジェクトです。

FindItemオブジェクト - メソッド一覧

分類 FindItemメソッド 機能
コンストラクタ new FindItem(findText [, case [, word [, regexp [, bookmarkType [, fuzzy]]]]]) FindItemオブジェクトを生成する。
検索実行 findNext() 検索条件に従ってアクティブなドキュメントから次の文字列を探す。
findPrevious() 検索条件に従ってアクティブなドキュメントから前の文字列を探す。
setBookmark() 検索条件に従ってアクティブなドキュメントにブックマークを設定する。

FindItemオブジェクト - プロパティ一覧

プロパティ名 読み書き 意味
name string R/W 文字列検索アイテムの名称(プロジェクトウインドウに表示される文字列)
next アイテムオブジェクト R/O 次のアイテム、ない場合はnull
parent アイテムオブジェクト R/O 登録されているグループアイテム
previous アイテムオブジェクト R/O 前のアイテム、ない場合はnull
text string R/W 検索対象のテキスト
matchCase boolean R/W 大文字小文字を区別する
matchWord boolean R/W 単語として検索する
regexp boolean R/W 正規表現として検索する
fuzzy boolean R/W あいまい検索
fuzzyOption integer R/W あいまい検索オプション
【参照】Search オブジェクト
bookmark integer R/W ブックマークの種類(1〜3)
userData string R/W ユーザが設定した文字列
【注意】 プロジェクトに登録されていないアイテムオブジェクトのプロパティ値は、 すべてundefinedとなります。

【参照】プロジェクトクラス



FindItem() コンストラクタ
機能 プロジェクトの文字列検索オブジェクトを生成します。
書式 new FindItem(findText [, case [, word [, regexp [, bookmarkType [, fuzzy]]]]])
引数 findText ...... 検索する文字列
case ...... 大文字小文字を区別して検索
word ...... 単語として検索
regexp ...... 正規表現であるとして検索
bookmarkType ...... ブックマークの種類
fuzzy ...... あいまい検索を指定する整数
戻り値 FindItemオブジェクト
 
詳細

FindItem(検索アイテム)オブジェクトを作成します。 検索条件を[検索]-[条件保存]-[文字列検索]でプロジェクトに保存したときと同じように、 プロジェクトに検索条件を作成・保存できます。

findTextには、検索する文字列を指定します。
casetrueを指定すると、大文字小文字を区別して検索します。 falseか省略すると、大文字小文字を区別しません。
wordtrueを指定すると、単語として検索します。 falseか省略すると、単語の一部であっても一致します。
regexptrueを指定すると、findTextを正規表現であるとして検索します。 falseか省略すると、文字列として検索します。
bookmarkTypeには、1〜3の整数でブックマークの種類を指定します。
fuzzyは、あいまい検索を指定します。省略すると、あいまい検索はOFFとなります。あいまい検索オプションの値は、Search オブジェクトfuzzyOptionプロパティを参照してください。

このコンストラクタにより作成したオブジェクトは、 ProjectItem.insert() メソッドでプロジェクトに挿入できます。 new演算子により生成されたFindItemオブジェクトは、 プロジェクトに挿入されて初めて有効になります。

 
// プロジェクトに単語「Peggy」を探す検索アイテムを挿入します。
var item = project.getSelectedItem();
item.insert(new FindItem("Peggy", true, true));
 
参照 FindItem オブジェクトFindItem メソッド一覧ProjectItem.insert() メソッド


FindItem.findNext() メソッド
機能 アイテムの検索条件に従ってアクティブなドキュメントから次の文字列を探します。
書式 aFindItem.findNext()
引数 aFindItem ...... FindItemオブジェクト
戻り値 文字列が見つかった場合はtrue、それ以外はfalse
 
詳細

aFindItemオブジェクトに設定されている検索条件に従い、 アクティブな編集ウインドウを終りに向かって検索します。 文字列が見つかった場合はtrue、それ以外はfalseを返します。

 
// アイテムに保存されている条件に従って検索する
var item = project.selected;
if (item instanceof FindItem)
    item.findNext();
 
参照 FindItem オブジェクトFindItem メソッド一覧


FindItem.findPrevious() メソッド
機能 アイテムの検索条件に従ってアクティブなドキュメントから前の文字列を探します。
書式 aFindItem.findPrevious()
引数 aFindItem ...... FindItemオブジェクト
戻り値 文字列が見つかった場合はtrue、それ以外はfalse
 
詳細

aFindItemオブジェクトに設定されている検索条件に従い、 アクティブな編集ウインドウを先頭に向かって検索します。 文字列が見つかった場合はtrue、それ以外はfalseを返します。

 
// アイテムに保存されている条件に従って検索する
var item = project.selected;
if (item instanceof FindItem)
    item.findPrevious();
 
参照 FindItem オブジェクトFindItem メソッド一覧


FindItem.setBookmark() メソッド
機能 アイテムの検索条件に従ってアクティブなドキュメントにブックマークを設定します。
書式 aFindItem.setBookmark()
引数 aFindItem ...... FindItemオブジェクト
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

aFindItemオブジェクトに設定されている検索条件に従い、 アクティブな編集ウインドウの検索でヒットした行にブックマークを設定します。

 
// アイテムに保存されている条件に従ってブックマークを付ける
var item = project.selected;
if (item instanceof FindItem)
    item.setBookmark();
 
参照 FindItem オブジェクトFindItem メソッド一覧




GrepItem オブジェクト

GrepItemオブジェクトは、プロジェクト中の文字列検索アイテムを表すオブジェクトです。

GrepItemオブジェクト - メソッド一覧

分類 GrepItemメソッド 機能
コンストラクタ new GrepItem(findText, case, word, regexp, folder [, types [, deep [, exclude [, fuzzy]]]]) GrepItemオブジェクトを生成する。
検索実行 execute([append]) アイテムの検索条件に従ってファイルから文字列を検索する。

GrepItemオブジェクト - プロパティ一覧

プロパティ名 読み書き 意味
name string R/W ファイルから検索アイテムの名称(プロジェクトウインドウに表示される文字列)
next アイテムオブジェクト R/O 次のアイテム、ない場合はnull
parent アイテムオブジェクト R/O 登録されているグループアイテム
previous アイテムオブジェクト R/O 前のアイテム、ない場合はnull
text string R/W 検索対象の文字列
fileType string R/W ファイルの種類 (例: *.h *.c)
folder string R/W 検索フォルダ
recursive boolean R/W サブフォルダも再帰的に検索する
exclude string R/W 検索除外フォルダ名
group integer R/W プロジェクトのグループから検索する
0 - しない
1 - グループから検索する
2 - グループ以下から検索する
3 - プロジェクト全体から検索する
matchCase boolean R/W 大文字小文字を区別する
matchWord boolean R/W 単語単位で検索する
regexp boolean R/W 正規表現として検索する
fuzzy boolean R/W あいまい検索
fuzzyOption integer R/W あいまい検索オプション
【参照】Search オブジェクト
userData string R/W ユーザが設定した文字列
【注意】 プロジェクトに登録されていないアイテムオブジェクトのプロパティ値は、 すべてundefinedとなります。

【参照】プロジェクトクラス



GrepItem() コンストラクタ
機能 プロジェクトのファイルから検索オブジェクトを生成します。
書式 new GrepItem(findText, case, word, regexp, folder [, types [, deep [, exclude [, fuzzy]]]])
引数 findText ...... 検索する文字列
case ...... 大文字小文字を区別して検索
word ...... 単語として検索
regexp ...... 正規表現であるとして検索
folder ...... ファイルを検索するフォルダ
types ...... ファイルの拡張子の種類
deep ...... サブフォルダを再帰的に検索するか
exclude ...... 除外するファイル
fuzzy ...... あいまい検索を指定する整数
戻り値 GrepItemオブジェクト
 
詳細

GrepItem(ファイルから検索アイテム)オブジェクトを作成します。 検索条件を[検索]-[条件保存]-[ファイルから検索]でプロジェクトに保存したときと同じように、 プロジェクトにファイルから検索の条件を作成・保存できます。

findTextには、検索する文字列を指定します。
casetrueを指定すると、大文字小文字を区別して検索します。 falseを指定すると、大文字小文字を区別しません。
wordtrueを指定すると、単語として検索します。 falseを指定すると、単語の一部であっても一致します。
regexptrueを指定すると、 findTextを正規表現であるとして検索します。 falseを指定すると、文字列として検索します。
folderには、検索するフォルダのパスを指定します。 typesには、検索するファイルの種類をワイルドカードを使って指定します。 *.h *.cのようにスペースで区切って複数指定することもできます。 typesを省略すると、すべてのファイルを検索します。
deeptrueを指定すると、 サブフォルダも含めて検索します。 falseか省略すると、直下のファイルのみを検索します。
excludeは、サブフォルダも含めて検索するときに除外するフォルダです。 スペースで区切って複数指定することもできます。 省略すると、すべてのサブフォルダを検索します。
fuzzyは、あいまい検索を指定します。省略すると、あいまい検索はOFFとなります。あいまい検索オプションの値は、Search オブジェクトfuzzyOptionプロパティを参照してください。

このコンストラクタにより作成したオブジェクトは、 ProjectItem.insert() メソッドでプロジェクトに挿入できます。 new演算子により生成されたGrepItemオブジェクトは、 プロジェクトに挿入されて初めて有効になります。

 
// プロジェクトに単語「Peggy」を探すファイルから検索アイテムを挿入します。
var item = project.getSelectedItem();
item.insert(new GrepItem("Peggy", true, true, false,
    "C:\\Program Files\\Anchor\\Peggy", "*.txt"));
 
参照 GrepItem オブジェクトGrepItem メソッド一覧ProjectItem.insert() メソッド


GrepItem.execute() メソッド
機能 アイテムの検索条件に従ってファイルから文字列を検索します。
書式 aGrepItem.execute([append])
引数 aGrepItem ...... GrepItemオブジェクト
append ...... 追加検索
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

aGrepItemに保存されている検索条件に従って、 ファイルから文字列を検索します。

 
// アイテムに保存されている条件に従ってファイルから検索を実行する
var item = project.selected;
if (item instanceof GrepItem)
    item.execute();
 
参照 GrepItem オブジェクトGrepItem メソッド一覧




DiffItem オブジェクト

DiffItemオブジェクトは、プロジェクト中のファイル・フォルダの比較アイテムを表すオブジェクトです。

DiffItemオブジェクト - メソッド一覧

分類 DiffItemメソッド 機能
コンストラクタ new DiffItem(left, right [, deep [, name]]) DiffItemオブジェクトを生成する。
比較実行 execute([append]) アイテムの比較条件に従ってファイルまたはフォルダを比較する。

DiffItemオブジェクト - プロパティ一覧

プロパティ名 読み書き 意味
name string R/W ファイル・フォルダの比較アイテムの名称(プロジェクトウインドウに表示される文字列)
next アイテムオブジェクト R/O 次のアイテム、ない場合はnull
parent アイテムオブジェクト R/O 登録されているグループアイテム
previous アイテムオブジェクト R/O 前のアイテム、ない場合はnull
matchCase boolean R/W 大文字小文字を区別する
recursive boolean R/W サブフォルダも比較する
path1 string R/W 比較ファイルまたはフォルダのパス1
path2 string R/W 比較ファイルまたはフォルダのパス2
compareFolders boolean R/W フォルダ比較か
ignoreAllSpaces boolean R/W すべての空白を無視して比較する
ignoreSpaceChange boolean R/W 空白の変化を無視して比較する
layoutHorizontally boolean R/W 比較ウインドウを横に並べる
userData string R/W ユーザが設定した文字列
【注意】 プロジェクトに登録されていないアイテムオブジェクトのプロパティ値は、 すべてundefinedとなります。

【参照】プロジェクトクラス



DiffItem() コンストラクタ
機能 プロジェクトのファイル比較オブジェクトを生成します。
書式 new DiffItem(left, right [, deep [, name]])
引数 left ...... 比較するファイルまたはフォルダ(左または上)
right ...... 比較するファイルまたはフォルダ(右または下)
deep ...... サブフォルダも比較する
name ...... アイテム名
戻り値 DiffItemオブジェクト
 
詳細

DiffItem(ファイル・フォルダの比較アイテム)オブジェクトを作成します。 比較条件を[検索]-[条件保存]-[ファイル比較]でプロジェクトに保存したときと同じように、 プロジェクトにファイルとフォルダの比較条件を作成・保存できます。

leftrightには、比較するファイルまたはフォルダを指定します。 両方ともファイルのときはファイル比較、フォルダのときはフォルダ比較となります。 ファイルとフォルダを比較することはできません。 比較結果はleftが左または上、 rightが右または下に表示されます。 フォルダ比較の場合、deeptrueを指定すると、 サブフォルダ内も比較します。 falseか省略すると、 leftright直下のファイルだけを比較します。 nameによりプロジェクトアイテムに任意の名前を付けることができます。 省略すると、ファイルやフォルダ名から自動的に作成します。

このコンストラクタにより作成したオブジェクトは、 ProjectItem.insert() メソッドでプロジェクトに挿入できます。 new演算子により生成されたDiffItemオブジェクトは、 プロジェクトに挿入されて初めて有効になります。

 
// Peggy と Peggy Padのreadme.txtを比較するアイテムを挿入します。
var item = project.getSelectedItem();
item.insert(new DiffItem("C:\\Program Files\\Anchor\\Peggy\\readme.txt",
    "C:\\Program Files\\Anchor\\PeggyPad\\readme.txt"));
 
参照 DiffItem オブジェクトDiffItem メソッド一覧ProjectItem.insert() メソッド


DiffItem.execute() メソッド
機能 アイテムの比較条件に従ってファイルまたはフォルダを比較します。
書式 aDiffItem.execute([append])
引数 aDiffItem ...... DiffItemオブジェクト
append ...... 追加検索
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

aDiffItemに保存されている比較条件に従って、 ファイルまたはフォルダを比較します。

 
// 保存されている条件に従って比較を実行する
var item = project.selected;
if (item instanceof DiffItem)
    item.execute();
 
参照 DiffItem オブジェクトDiffItem メソッド一覧




KeyboardMacroItem オブジェクト

KeyboardMacroItemオブジェクトは、プロジェクト中のキーボードマクロアイテムを表すオブジェクトです。

KeyboardMacroItemオブジェクト - メソッド一覧

分類 KeyboardMacroItemメソッド 機能
コンストラクタ new KeyboardMacroItem(strokes [, name]) KeyboardMacroItemオブジェクトを生成する。
再生 replay() アイテムに保存されているキーボードマクロを再生する。

KeyboardMacroItemオブジェクト - プロパティ一覧

プロパティ名 読み書き 意味
name string R/W キーボードマクロアイテムの名称(プロジェクトウインドウに表示される文字列)
next アイテムオブジェクト R/O 次のアイテム、ない場合はnull
parent アイテムオブジェクト R/O 登録されているグループアイテム
previous アイテムオブジェクト R/O 前のアイテム、ない場合はnull
userData string R/W ユーザが設定した文字列
【注意】 プロジェクトに登録されていないアイテムオブジェクトのプロパティ値は、 すべてundefinedとなります。

【参照】プロジェクトクラス



KeyboardMacroItem() コンストラクタ
機能 キーボードマクロオブジェクトを生成します。
書式 new KeyboardMacroItem(strokes [, name])
引数 strokes ...... キーストロークを収めた配列
name ...... アイテム名
戻り値 KeyboardMacroItemオブジェクト
 
詳細

KeyboardMacroItem(キーボードマクロアイテム)オブジェクトを作成します。 キーボードマクロを[ツール]-[キーボードマクロ]-[プロジェクトへ保存]したとき同じように作成・保存できます。

strokesは、キーのストローク情報を集めた配列です。 getKeyboardMacro()関数などにより、 現在設定されているキーボードマクロのキーストローク情報を取得できます。 nameによりプロジェクトアイテムに任意の名前を付けることができます。

このコンストラクタにより作成したオブジェクトは、 ProjectItem.insert() メソッドでプロジェクトに挿入できます。 new演算子により生成されたKeyboardMacroItemオブジェクトは、 プロジェクトに挿入されて初めて有効になります。

 
// 現在のキーボードマクロを保存する。
var item = project.getSelectedItem();
var strokes = getKeyboardMacro(); item.insert(new KeyboardMacroItem(strokes));
 
参照 KeyboardMacroItem オブジェクトKeyboardMacroItem メソッド一覧ProjectItem.insert() メソッドgetKeyboardMacro() 関数


KeyboardMacroItem.replay() メソッド
機能 アイテムに保存されているキーボードマクロを再生します。
書式 aKeyboardMacroItem.replay()
引数 aKeyboardMacroItem ...... KeyboardMacroItemオブジェクト
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

aKeyboardMacroItemに保存されているキーボードマクロを再生します。

 
// 保存されているキーボードマクロを再生する。
var item = project.selected;
if (item instanceof KeyboardMacroItem)
    item.replay();
 
参照 KeyboardMacroItem オブジェクトKeyboardMacroItem メソッド一覧




Dialog オブジェクト

Dialogオブジェクトを使うと、色々なコントロールを組み合わせた独自のダイアログボックスを作成し、表示することができます。

Dialogオブジェクト - メソッド一覧

分類 Dialogメソッド 機能
コンストラクタ new Dialog([title [, template]]) Dialogオブジェクトを生成する。
表示 open([position]) ダイアログボックスを表示する。
close([closeCode]) ダイアログボックスを閉じる。
getSize() ダイアログボックス全体をサイズを取得する。
setSize(size) ダイアログボックス全体をサイズを設定する。
コントロール enableControl(controlOrNameOrID [, trueOrFalse [, index]]) コントロールの有効/無効を切り替える。
showControl(controlOrNameOrID [, trueOrFalse [, index]]) コントロールの表示/非表示を切り替える。
getControlPosition(controlOrNameOrID) コントロールのスクリーン座標を取得する。
getLabel(controlOrNameOrID) ボタンコントロールのラベルを取得する。
setLabel(controlOrNameOrID, label) ボタンコントロールのラベルを設定する。
値の取得と設定 setTitle(title) ダイアログボックスのタイトルを設定する。
getValue(controlOrNameOrID [, byIndex]) コントロールの値を取得する。
setValue(controlOrNameOrID, value [, byIndex]) コントロールへ値を設定する。
saveValues() 各コントロールの値を収めた配列を作成する。
リストボックス
チェックリスト
コンボボックス
ツリーリスト
addItem(controlOrNameOrID, item [, index]) リストボックス、チェックリスト、コンボボックス、ツリーリストにアイテムを追加する。
getItem(controlOrNameOrID, index) リストボックス、チェックリスト、コンボボックス、ツリーリストの指定アイテムを取得する。
deleteItem(controlOrNameOrID, index) リストボックス、チェックリスト、コンボボックス、ツリーリストのアイテムを削除する。
getCount(controlOrNameOrID) リストボックス、チェックリスト、コンボボックス、ツリーリストのアイテム数を取得する。
expandItem(controlOrNameOrID, expand, index) ツリーリストのアイテムを展開・折り畳む。
resetContent(controlOrNameOrID) リストボックス、チェックリスト、コンボボックス、ツリーリストのアイテムをすべて削除する。
getCheck(controlOrNameOrID, index) チェックリスト、ツリーリストの指定アイテムのチェック状態を取得する。
setCheck(controlOrNameOrID, index, trueOrFalse) チェックリスト、ツリーリストの指定アイテムのチェック状態を設定する。
getCurSel(controlOrNameOrID) リストボックス、チェックリスト、コンボボックス、ツリーリスト、エディットの選択アイテムや範囲を取得する。
setCurSel(controlOrNameOrID, index) リストボックス、チェックリスト、コンボボックス、ツリーリスト、エディットの選択アイテムや範囲を設定する。
キーボード
フォーカス
gotoControl(controlOrNameOrID) 指定コントロールにキーボードフォーカスを設定する。
gotoNextControl() 次のコントロールにキーボードフォーカスを移動する。
gotoPreviousControl() 前のコントロールにキーボードフォーカスを移動する。
タイマー

コールバック
setTimer([interval]) タイマーを起動または停止する。
onTimer() タイマーイベント発生時に呼び出される。
onOpen() ダイアログボックスが表示される直前に呼び出される。
onOK() [OK]ボタンがクリックされたときに呼び出される。
onCancel() [キャンセル]ボタンがクリックされたときに呼び出される。
その他 onHelp() [ヘルプ]ボタンがクリックされたときに呼び出される。

【参照】
Controlオブジェクト
コントロールの値
コントロールのスタイル



Dialog オブジェクトのプロパティ


プロパティ名
title string ダイアログボックスのタイトルバーに表示される文字列
template array ダイアログのデザイン。Controlオブジェクトを収めたArrayオブジェクト
addOkCancel integer 自動的に[OK]、[キャンセル]ボタンをダイアログボックスの下に追加します。 DialogクラスのプロパティDialog.ADD_OKDialog.ADD_CANCELDialog.ADD_OKCANCELDialog.ADD_LINEDialog.ADD_HELPDialog.ADD_OKCANCELDialog.ADD_OKCANCELLINEを指定できます。

【注意】
ただし、ダイアログテンプレート中にIDがIDOKIDCANCELのプッシュボタンが含まれている場合は、自動追加しません。

timer integer タイマーイベントの間隔(単位: ミリ秒)
onOpen function ダイアログボックス表示直前に呼ばれるコールバックメソッド
onTimer function タイマーイベントで呼び出されるコールバックメソッド
onOK function [OK]ボタンがクリックされたときに呼び出されるコールバックメソッド
onCancel function [キャンセル]ボタンがクリックされたときに呼び出されるコールバックメソッド
onHelp function [ヘルプ]ボタンがクリックされたときに呼び出されるコールバックメソッド
controls object コントロールの名前(nameプロパティ)、識別番号(idプロパティ)をキー、 Controlオブジェクトが値となる連想配列
results array [OK]ボタンが押されたときに各コントロールの値を収めたArrayオブジェクト

【メモ】controlsはダイアログボックスが表示されるとき、 resultsは[OK]ボタンがクリックされたときに自動的に作成されるプロパティです。 詳しくは、結果の取り出しを参照してください。

【参照】
Controlオブジェクト
コントロールの値
コントロールのスタイル



Dialog クラスのプロパティ


プロパティ名 意味
ADD_OK integer 1 ダイアログボックスの左下に[OK]ボタンを追加する。
ADD_CANCEL integer 2 ダイアログボックスの左下に[キャンセル]ボタンを追加する。
ADD_HELP integer 8 ダイアログボックスの左下に[ヘルプ]ボタンを追加する。
ADD_LINE integer 4 [OK]、[キャンセル]ボタンを水平線で区切る。
ADD_OKCANCEL integer 3 ダイアログボックスの左下へ[OK]、[キャンセル]ボタンを追加する。
ADD_OKCANCELLINE integer 7 ダイアログボックスの左下へ[OK]、[キャンセル]ボタンを水平線で区切って追加する。

【メモ】これらの値は、 DialogオブジェクトのaddOkCancelプロパティに設定するためのものです。 OR演算子(|)によって複数指定してもかまいません。


Dialog() コンストラクタ
機能 Dialog オブジェクトを作成します。
書式 new Dialog([title [, template]])
引数 title ...... タイトルバーに表示される文字列
template ...... ダイアログボックステンプレート(デザイン)
戻り値 Dialog オブジェクト
 
詳細

Dialog オブジェクトを生成します。 titletemplateが指定されていると、 それぞれ作成されたDialogオブジェクトのtitletemplateプロパティとして設定されます。 これらのプロパティは、オブジェクトを作成した後で設定してもかまいません。

 
// メッセージ付きダイアログボックスを表示します。
var template =
[
  { type: "STATIC", width: 150, value: "カスタムダイアログボックスは変幻自在です." },
  { type: "BUTTON", label: "OK", id: IDOK }
];
var dialog = new Dialog("メッセージ", template);
dialog.open();
 
参照 Dialog クラスダイアログボックステンプレートDialog.open() メソッドcustomBox() 関数


Dialog.addItem() メソッド
機能 リストボックス、チェックリスト、コンボボックス、ツリーリストにアイテムを追加します。
書式 (1) aDialog.addItem(controlOrNameOrID, item [, index])
(2) aDialog.addItem(controlOrNameOrID, item, itemObjectOrName [, index... ])
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... コントロールオブジェクト、名前、またはID番号
item ...... 追加するアイテム
index ...... 追加する位置を示すインデックス(0〜)
itemObjectOrName ...... ツリーアイテムオブジェクト、またはその名前
戻り値 成功すればitemのインデックス、それ以外は-1。
 
詳細

コントロールcontrolOrNameOrIDで指定したリストボックスまたはコンボボックスに、 itemをアイテムとして追加します。 indexを指定してあるときはその位置へ、 indexに-1を指定するとリストの最後へ、 無指定のときも最後に追加されます。 ただし、無指定でLBS_SORTCBS_SORTスタイルが設定されている場合は、 ソート順として適当な位置に挿入されます。

ツリーリストの場合、書式(1)を使うとitemがルートのindex番目のアイテムとして追加されます。 index-1、または省略された場合は、最後に追加します。 書式(2)では、itemObjectOrNameによって指定されたツリーリスト中の任意のアイテム位置に挿入されます。 さらに、index...により子アイテム、孫アイテムが指定されている場合には、 その位置に挿入されます。 また最後のindex-1の場合には、子アイテムの最後へ追加されます。

成功すればitemの実際のインデックス(0〜)、それ以外は-1を返します。

【注意】
このメソッドを実行すると、 リストボックス、チェックリスト、コンボボックスのControlオブジェクトのoptionsプロパティ(Arrayオブジェクト)にも itemが追加されます。 ダイアログボックステンプレートが変化することになるので、 テンプレートを再利用するときは注意してください。

 
// ボタンがクリックされたら現在時刻を追加する。
var template = [
  { type: "LIST", name: "list1", width: 150 },
  { type: "BUTTON", label: "時刻追加",
    onClick: function (dialog, control) { dialog.addItem("list1", new Date()); }}
];
customBox("リストアイテムの追加", template);
 
参照 Dialog クラスDialog.getItem() メソッドDialog.deleteItem() メソッドDialog.getCount() メソッドDialog.resetContent() メソッド


Dialog.close() メソッド
機能 ダイアログボックスを閉じます。
書式 aDialog.close([closeCode])
引数 aDialog ...... Dialogオブジェクト
closeCode ...... open()メソッドからの戻り値
戻り値 なし(undefined)
 
詳細

このメソッドは、onClickなどのコールバック関数の中から呼び出し、ダイアログボックスを閉じます。

整数値closeCodeを指定すると、 open()メソッドからの戻り値となります。 整数値closeCodeを省略すると、 IDOK(=1)がopen()メソッドから返されます。

【注意】
開いていないDialogオブジェクトに対しては、何もしません。

 
// 「はい」ボタンのクリックでダイアログボックスを閉じます。
{ ... /* 他のコントロール定義 */ },
{ "BUTTON", label: "はい", onClick: function(dialog, control) { dialog.close(100); }},
{ ... /* 他のコントロール定義 */ },
 
参照 Dialog クラスDialog.open() メソッド


Dialog.deleteItem() メソッド
機能 リストボックス、チェックリスト、コンボボックス、ツリーリストのアイテムを削除します。
書式 (1) aDialog.deleteItem(controlOrNameOrID, index)
(2) aDialog.deleteItem(controlOrNameOrID, itemObjectOrName [, index... ])
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... コントロールオブジェクト、名前、またはID番号
index ...... 削除アイテムを示すインデックス(0〜)
itemObjectOrName ...... ツリーアイテムオブジェクト、またはその名前
戻り値 成功すれば残りのアイテム数(0〜)、それ以外は-1
 
詳細

書式(1)を使うと、コントロールcontrolOrNameOrIDで指定したリストボックスまたはコンボボックスの index番目のアイテムを削除します。

コントロールがツリーリストの場合、 書式(1)を使うとindex番目のルートアイテムとその子孫アイテムを削除します。 また書式(2)を使うと、itemObjectOrNameで指定されるツリーリスト中の任意のアイテム、 またはそこからさらにindex...によって指定される子孫アイテムを削除することができます。

成功すれば残りのアイテム数(0〜)、それ以外は-1を返します。 ツリーリストの場合は、同じ親アイテムの残った子アイテム数を返します。

 
// ボタンがクリックされたら選択アイテムを削除する。
var template = [
  { type: "LIST", name: "list1", width: 150, options: [1, 2, 3, 4, 5] },
  { type: "BUTTON", label: "削除",
    onClick: function (dialog, control)
    {
      var index = dialog.getValue("list1", true);
      dialog.deleteItem("list1", index);
    }}
];
customBox("リストアイテムの削除", template);
 
参照 Dialog クラスDialog.addItem() メソッドDialog.getItem() メソッドDialog.getCount() メソッドDialog.resetContent() メソッド


Dialog.enableControl() メソッド
機能 コントロールの有効/無効を切り替えます。
書式 aDialog.enableControl(controlOrNameOrID [, trueOrFalse [, index]])
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... コントロールオブジェクト、名前、またはID番号
trueOrFalse ...... 有効(true)にするか無効(false)にするか
index ...... ラジオボタンの何番目かを指定する整数
戻り値 なし(undefined)
 
詳細

ダイアログボックスaDialog上に配置されているコントロールの有効/無効を切り替えます。 trueOrFalsetrueを指定するか省略するとコントロールが有効になり、 falseを指定すると無効になります。

有効/無効切り替えの対象となるコントロールは、controlOrNameOrIDで指定します。 controlOrNameOrIDには、直接コントロールを定義しているControlオブジェクトか、 nameプロパティにより与えられているControlオブジェクトの名前、 またはコントロールのID番号(整数)を指定することができます。

ラジオボタンコントロールの個々の選択肢を個別に有効化/無効化したいときは、 indexを指定します。 ラジオボタンの最初の選択肢がインデックス0、次が1、...となります。 ラジオボタンでindexを省略すると、 ラジオボタン全体の有効/無効を切り替えます。

EDITコントロールなど、Controlオブジェクト中にラベルやスピンなどの付随するコントロールが指定されている場合、 それらのコントロールの有効/無効も切り替わります。

 
// 文字が入力されたらOKボタンが有効になるダイアログボックス。
var dialog = new Dialog();
dialog.template =
[
  { type: "EDIT", name: "edit1",
    onChange: function (dialog, control)
    {
      // edit1 の文字を取得してOKボタンを設定する。
      var text = dialog.getValue(control);
      dialog.enableControl(IDOK, text != "");
    }},
  { type: "BUTTON", label: "OK", id: IDOK }
];

// OKボタンの初期状態を無効に設定する。
dialog.onOpen = function() { this.enableControl(IDOK, false); };
dialog.open();
 
参照 Dialog クラスDialog.showControl() メソッド


Dialog.expandItem() メソッド
機能 ツリーリストのアイテムを展開・折り畳みます。
書式 (1) aDialog.expandItem(controlOrNameOrID, expand, index)
(2) aDialog.expandItem(controlOrNameOrID, expand, itemObjectOrName [, index...])
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... コントロールオブジェクト、名前、またはID番号
expand ...... 展開するかどうかを指定する整数値(0、1、2)
itemObjectOrName ...... ツリーアイテムオブジェクト、またはその名前
index ...... ルート、または子アイテムのインデックス(0〜)
戻り値 結果として展開された場合は2、 折り畳まれている場合は1、 失敗したときはundefined
 
詳細

書式(1)を使うと、controlOrNameOrIDにより指定されたツリーリストのindex番目のルートアイテムをexpandに従って展開、または折り畳みます。 expandは、2で展開、1で折り畳み、0では展開と折り畳みの状態を反転させます。

また書式(2)を使うと、itemObjectOrNameで指定されるツリーリスト中の任意のアイテムを展開・折り畳むことができます。 さらにindex...により、子アイテム、孫アイテム...を指定して展開・折り畳むことも可能です。

 
// ツリーリストを展開・折り畳む
var template =
[
  { type: "TREELIST", name: "TL", width: 100, height: 120, value:
    [ { 0: "Root", children: new Array(10) } ] },
  { type: "BUTTON", label: "Expand",
    onClick: function(dialog, control)
    {
      dialog.expandItem("TL", 0, 0);
    }
  }
];

customBox("展開テスト", template);
 
参照 Dialog クラスDialog.addItem() メソッドDialog.getItem() メソッドDialog.getCount() メソッドDialog.resetContent() メソッド


Dialog.getCheck() メソッド
機能 チェックリスト、ツリーリストの指定アイテムのチェック状態を取得します。
書式 (1) aDialog.getCheck(controlOrNameOrID, index)
(2) aDialog.getCheck(controlOrNameOrID, gridName)
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... コントロールオブジェクト、名前、またはID番号
index ...... チェックリストのインデックス
gridName ...... ツリーリストのグリッド名
戻り値 チェックされている場合はtrue、されていない場合はfalse、 ツリーリストの3ステートチェックでは02、 それ以外はundefined
 
詳細

controlOrNameOrIDで指定したコントロールがチェックリストの場合、 indexで指定されるアイテムがチェックされているかどうかを取得します。 チェックされている場合はtrue、されていない場合はfalseを返します。

controlOrNameOrIDで指定されたコントロールがツリーリストの場合、 名前がgridNameのグリッドを探し、 そのチェック状態を返します。 結果は、truefalse02、 チェック自体がない場合は、undefinedとなります。

指定コントロールがない、またはチェックリストでもツリーリストでもないか、 チェックリストのindexが範囲外、 またはツリーリストに該当する名前付きグリッドが見つからない場合は、 undefinedを返します。

 
// ボタンがクリックされたらアイテムのチェック状態を取り出す。
var template = [
  { type: "CHECKLIST", name: "list1", width: 150, options: [1, 2, 3, 4, 5] },
  { type: "BUTTON", label: "CHECK1",
    onClick: function (dialog, control)
    {
      messageBox(dialog.getCheck("list1", 0));
    }}
];
customBox("チェック状態の取得", template);
 
参照 Dialog クラスDialog.setCheck() メソッド


Dialog.getControlPosition() メソッド
機能 コントロールのスクリーン座標を取得します。
書式 aDialog.getControlPosition(controlOrNameOrID)
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... コントロールオブジェクト、名前、またはID番号
戻り値 成功した場合はコントロールのスクリーン座標を収めたArrayオブジェクト、それ以外はnull
 
詳細

controlOrNameOrIDにより指定されたaDialog上のコントロールの位置と大きさを配列として取得します。 指定コントロールが存在しないなどの理由により座標を取得できなかった場合は、nullを返します。

controlOrNameOrIDには、直接コントロールを定義しているControlオブジェクトか、 nameプロパティにより与えられているControlオブジェクトの名前、 またはコントロールのID番号(整数)を指定することができます。

Arrayオブジェクトにはインデックス0〜3に4つの整数値が収められていて、 それぞれコントロールの左端x、上端y、右端x、下端y(ピクセル単位・スクリーン座標)を表しています。

【注意】
このメソッドは、コールバックの中で使います。 ダイアログが開いていないときに呼び出した場合は無視され、何もしません。

 
// ボタンが押されたらその横にポップアップメニューを表示します。
var dialog = new Dialog();
dialog.template =
[
  { type: "BUTTON", label: "&Menu",
    onClick: function(dialog, control)
    {
      var pos = dialog.getControlPosition(control);
      var choice = popupMenu(["ピザ", "パスタ", "カルゾーネ"], [pos[2] /* 右端x */, pos[1] /* 上端y */]);
      if (choice) { ... }
    }}
];
dialog.open();
 
参照 Dialog クラスpopupMenu() 関数


Dialog.getCount() メソッド
機能 リストボックス、チェックリスト、コンボボックス、ツリーリストのアイテム数を取得します。
書式 aDialog.getCount(controlOrNameOrID [, itemObjectOrName [, index... ]])
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... コントロールオブジェクト、名前、またはID番号
itemObjectOrName ...... ツリーアイテムオブジェクト、またはその名前
index ...... 子孫アイテムのインデックス
戻り値 成功した場合はアイテム数、それ以外は-1
 
詳細

コントロールcontrolOrNameOrIDで指定したリストボックスまたはコンボボックスのアイテム数を返します。

指定されたコントロールがツリーリストの場合は、 itemObjectOrNameにより指定したツリーリスト中の任意のアイテム、 または、さらにそこからindex...で指定された子孫アイテムが抱えている子アイテムの数を返します。 アイテムの指定がない場合は、ルートアイテムの個数を返します。

【注意】
ツリーアイテムオブジェクトのchildrenプロパティが関数であり、 まだ子アイテムが作成されていない時点では、0とカウントします。

 
// ボタンがクリックされたらアイテムを取り出す。
var template = [
  { type: "LIST", name: "list1", width: 150, options: [1, 2, 3, 4, 5] },
  { type: "BUTTON", label: "アイテム数?",
    onClick: function (dialog, control)
    {
      messageBox(dialog.getCount("list1"));
    }}
];
customBox("リストアイテム数", template);
 
参照 Dialog クラスDialog.addItem() メソッドDialog.getItem() メソッドDialog.deleteItem() メソッドDialog.resetContent() メソッド


Dialog.getCurSel() メソッド
機能 リストボックス、チェックリスト、コンボボックス、ツリーリスト、エディットの選択アイテムや範囲を取得します。
書式 aDialog.getCurSel(controlOrNameOrID)
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... コントロールの名前、またはID番号
戻り値 成功した場合は、現在選択されているアイテムのインデックス(0〜)、それ以外は-1。
ツリーリストの場合は、成功するとオブジェクト、それ以外はnull
エディットの場合は、選択開始位置と終了位置の文字インデックスが、それぞれ返される整数値の下位16-bit、上位16-bitに格納されます。
 
詳細

controlOrNameOrIDで指定した単一選択リスト("LIST")、 チェックリスト("CHECKLIST")、コンボボックス("COMBO")の現在選択されているアイテムのインデックスを取得します。 インデックスは、0から始まります。何も選択されていない場合は、-1を返します。

コントロールがツリーリストの場合は、 選択しているアイテムに対応するツリーアイテムオブジェクトを返します。 選択されているアイテムがない場合は、nullを返します。

コントロールがエディット("EDIT")の場合は、 文字の選択開始位置と終了位置の文字インデックス(0〜 )が、 それぞれ下位16-bit、上位16-bitに格納された整数値を返します。

 
// ボタンが押されたらインデックスを表示する。
var template = [
  { type: "LIST", name: "list1", width: 150, options: [1, 2, 3, 4, 5] },
  { type: "BUTTON", label: "インデックス",
    onClick: function (dialog, control)
    {
      messageBox(dialog.getCurSel("list1"));
    }}
];
customBox("インデックスの取得", template);
 
参照 Dialog クラスDialog.setCurSel() メソッド


Dialog.getItem() メソッド
機能 リストボックス、チェックリスト、コンボボックス、ツリーリストの指定アイテムを取得します。
書式 (1) aDialog.getItem(controlOrNameOrID, index)
(2) aDialog.getItem(controlOrNameOrID, itemObjectOrName [, index...])
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... コントロールオブジェクト、名前、またはID番号
index ...... 取得アイテムを示すインデックス(0〜)
itemObjectOrName ...... ツリーアイテムオブジェクト、またはその名前
戻り値 成功した場合は取得した値、それ以外は未定義値(undefined)
 
詳細

書式(1)を使うと、コントロールcontrolOrNameOrIDで指定したリストボックスまたはコンボボックスの index番目のアイテムを取得します。 コントロールがツリーリストの場合は、index番目のルートアイテムを返します。 最初のアイテムのインデックスは0です。

書式(2)を使うと、itemObjectOrNameによって指定されたツリーリスト中の任意のアイテム、 または、さらにそこからindex...で指定された子アイテム、孫アイテム...を取得できます。

 
// ボタンがクリックされたらアイテムを取り出す。
var template = [
  { type: "LIST", name: "list1", width: 150, options: [1, 2, 3, 4, 5] },
  { type: "BUTTON", label: "アイテム取得",
    onClick: function (dialog, control)
    {
      var index = dialog.getValue("list1", true);
      messageBox(dialog.getItem("list1", index));
    }}
];
customBox("リストアイテムの取得", template);
 
参照 Dialog クラスDialog.addItem() メソッドDialog.deleteItem() メソッドDialog.getCount() メソッドDialog.resetContent() メソッド


Dialog.getLabel() メソッド
機能 ボタンコントロールのラベルを取得します。
書式 aDialog.getLabel(controlOrNameOrID)
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... ボタンコントロールオブジェクト、名前、またはID番号
戻り値 成功した場合はボタンのラベル文字列、それ以外は未定義値(undefined)
 
詳細

controlOrNameOrIDで指定したボタンコントロールのラベルを取得します。

 
var template =
[
  { type: "BUTTON", label: "OFF",
    onClick: function(dialog, control)
    {
      // クリックするとON/OFFが交互に変化するボタンのイベントハンドラ
      var label = dialog.getLabel(control);
      dialog.setLabel(control, label == "ON" ? "OFF" : "ON");
    }
  }
];
customBox("ON/OFF", template);
 
参照 Dialog クラスDialog.setLabel() メソッド


Dialog.getSize() メソッド
機能 ダイアログボックス全体をサイズを取得します。
書式 aDialog.getSize()
引数 aDialog ...... Dialogオブジェクト
戻り値 成功した場合はダイアログボックスのサイズを収めた配列、それ以外はnull
 
詳細

ダイアログボックスの大きさをダイアログ単位で取得します。 成功した場合は、要素0に幅、要素1に高さを収めた大きさ2の配列を返します。 それ以外は、nullを返します。

 
var template =
[
  { type: "BUTTON", label: "Larger", x: 5, y: 5,
    onClick: function(dialog, control)
    {
      var size = dialog.getSize();
      size[0] += 4; // 横を大きくする
      size[1] += 8; // 縦を大きくする
      dialog.setSize(size);
    }
  },
  { type: "BUTTON", label: "Smaller", x: 60, y: 5,
    onClick: function(dialog, control)
    {
      var size = dialog.getSize();
      size[0] -= 4; // 横を小さくする
      size[1] -= 8; // 縦を小さくする
      dialog.setSize(size);
    }
  }
];
customBox("Resize", template);
 
参照 Dialog クラスDialog.setSize() メソッド


Dialog.getValue() メソッド
機能 コントロールの値を取得します。
書式 aDialog.getValue(controlOrNameOrID [, byIndex])
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... コントロールオブジェクト、名前、またはID番号
byIndex ...... 値がインデックスかどうか示す論理値
戻り値 正しく取得できた場合はそのコントロールの値、それ以外は未定義値(undefined)
 
詳細

Controlオブジェクトかその名前、またはID(整数)controlOrNameOrIDによって指定されたダイアログボックスaDialog上のコントロールの値を取得します。

コンボボックスやリストボックスの場合、 オプションの引数byIndextrueを指定すると、 選択されているアイテムのインデックス(0〜)を値として返します。 また、何も選択されていない場合は、-1となります。

byIndexを省略するかfalseを指定すると、 選択されているアイテムを返します。 ただし、ドロップダウンリストではない(CBS_DROPDOWNLISTではない)コンボボックスの場合は、 byIndexに関わらずその時点で入力されている文字列を取得します。

値を取得するコントロールが複数選択(LBS_MULTIPLESELスタイル)のリストボックス、 またはチェックリストならば、 選択されているアイテムの値、もしくはインデックスの配列となります。 この場合も、byIndextrueであればインデックスの配列、 byIndexを省略するかfalseであれば値の配列と解釈します。

ツリーリストの場合は、 すべての名前つきグリッドオブジェクトのvalueプロパティとcheckプロパティを集めたオブジェクトを返します。 また選択されているアイテムに対応したオブジェクトをインデックス0(複数選択の場合はインデックス0〜)に収め、 選択されているアイテムの数をlengthプロパティへセットします。

【注意】
このメソッドは、コールバックの中で使います。 ダイアログが開いていないときに呼び出した場合は無視され、何もしません。

 
// "edit1" に入力されている文字列を取得します。
var text = dialog.getValue("edit1");
// 複数選択リストボックス "list1" の選択アイテムのインデックスを取得します。
var indexes = dialog.getValue("list1", true);
 
参照 Dialog クラスDialog.setValue() メソッド


Dialog.gotoControl() メソッド
機能 指定コントロールにキーボードフォーカスを設定します。
書式 aDialog.gotoControl(controlOrNameOrID)
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... コントロールオブジェクト、名前、またはID番号
戻り値 なし(undefined)
 
詳細

controlOrNameOrIDにより名前またはオブジェクトそのもので指定されたControlオブジェクトへフォーカスを設定します。 controlOrNameOrIDには、直接コントロールを定義しているオブジェクトか、 nameプロパティにより与えられているオブジェクトの名前、 またはコントロールのID番号(整数)を指定することができます。

【注意】
このメソッドは、コールバックの中で使います。 ダイアログが開いていないときに呼び出した場合は無視され、何もしません。

 
// "edit1"という名前のコントロールにフォーカスを設定します。
dialog.gotoControl("edit1");
 
参照 Dialog クラスDialog.gotoNextControl() メソッドDialog.gotoPreviousControl() メソッド


Dialog.gotoNextControl() メソッド
機能 次のコントロールにキーボードフォーカスを移動させます。
書式 aDialog.gotoNextControl()
引数 aDialog ...... Dialogオブジェクト
戻り値 なし(undefined)
 
詳細

ダイアログボックスaDialog上にある次のコントロールにフォーカスを移します。 最後のコントロールにフォーカスがあったときは、最初のコントロールにフォーカスを移します。

【注意】
このメソッドは、コールバックの中で使います。 ダイアログが開いていないときに呼び出した場合は無視され、何もしません。

 
// タイマーイベントで順次フォーカスを移動します。
var dialog = new Dialog();
dialog.timer = 1000;
dialog.template = [ {type: "EDIT"}, {type: "EDIT"}, {type: "EDIT"} ];
dialog.onTimer = function() { this.gotoNextControl(); };
dialog.open();
 
参照 Dialog クラスDialog.gotoPreviousControl() メソッドDialog.gotoControl() メソッド


Dialog.gotoPreviousControl() メソッド
機能 前のコントロールにキーボードフォーカスを移動させます。
書式 aDialog.gotoPreviousControl()
引数 aDialog ...... Dialogオブジェクト
戻り値 なし(undefined)
 
詳細

ダイアログボックスaDialog上にある前のコントロールにフォーカスを移します。 最初のコントロールにフォーカスがあったときは、最後のコントロールにフォーカスを移します。

【注意】
このメソッドは、コールバックの中で使います。 ダイアログが開いていないときに呼び出した場合は無視され、何もしません。

 
// タイマーイベントで逆順にフォーカスを移動します。
var dialog = new Dialog();
dialog.timer = 1000;
dialog.template = [ {type: "EDIT"}, {type: "EDIT"}, {type: "EDIT"} ];
dialog.onTimer = function() { this.gotoPreviousControl(); };
dialog.open();
 
参照 Dialog クラスDialog.gotoNextControl() メソッドDialog.gotoControl() メソッド


Dialog.onCancel() コールバックメソッド
機能 [キャンセル]ボタンがクリックされたときに呼び出されます。
呼出し形式 aDialog.onCancel()
引数 aDialog ...... Dialogオブジェクト
戻す値 なし(undefined)
 
詳細

DialogオブジェクトのonCancelプロパティに関数オブジェクトが登録されていれば、 [キャンセル]ボタンのクリック、またはEscキーによりダイアログボックスが閉じられる直前に呼ばれます。

onCancel()コールバックメソッドの中からDialogオブジェクトへアクセスするには、 予約語thisを使います。

【注意】
DialogオブジェクトのonCancelは、 ユーザが関数オブジェクトを設定します。 Dialogコンストラクタが自動的に作成するプロパティではないので注意してください。

 
// キャンセルメッセージをステータスバーに表示する。
var dialog = new Dialog();
dialog.template =
[
  { type: "BUTTON", label: "OK", id: IDOK },
  { type: "BUTTON", label: "Cancel", id: IDCANCEL },
];

dialog.onCancel = function () { setWarningStatusText("キャンセルしました."); };
dialog.open();
 
参照 Dialog クラスDialog.onOK() コールバックメソッドDialog.onTimer() コールバックメソッド


Dialog.onHelp() コールバックメソッド
機能 [ヘルプ]ボタンがクリックされたときに呼び出されます。
呼出し形式 aDialog.onHelp()
引数 aDialog ...... Dialogオブジェクト
戻す値 trueまたはfalse
 
詳細

DialogオブジェクトのonHelpプロパティに関数オブジェクトが登録されていれば、 [ヘルプ]ボタンのクリック、またはF1キーによりヘルプが要求されたときに呼び出されます。

onHelp()コールバックメソッドの中からDialogオブジェクトへアクセスするには、 予約語thisを使います。

この関数がtrueを返すと、ヘルプ処理が完了したとみなします。 falseを返すと、ヘルプ処理が未完了とみなして、 カスタムダイアログボックスのヘルプが表示されます。

【注意】
DialogオブジェクトのonHelpは、 ユーザが関数オブジェクトを設定します。 Dialogコンストラクタが自動的に作成するプロパティではないので注意してください。

 
// ダイアログボックスのヘルプを表示する。
var dialog = new Dialog();
dialog.template =
[
  { type: "EDIT" },
];

dialog.addOkCancel = Dialog.ADD_OKCANCELLINE | Dialog.ADD_HELP;
dialog.onHelp = function () { messageBox("onHelpのテストです"); return true; };
dialog.open();
 
参照 Dialog クラスDialog オブジェクトのプロパティDialog クラスのプロパティ


Dialog.onOK() コールバックメソッド
機能 [OK]ボタンがクリックされたときに呼び出されます。
呼出し形式 aDialog.onOK()
引数 aDialog ...... Dialogオブジェクト
戻す値 trueを返すとダイアログボックスが閉じられ、 falseを返すと閉じるのを中止します。
 
詳細

[OK]ボタンやEnterキーによってダイアログボックスを閉じる直前に行いたい処理があれば、 DialogオブジェクトのonOKプロパティに関数オブジェクトを登録します。

onOK()コールバックメソッドがあると、 コントロールの値をresultsプロパティに自動保存しません。 resultsプロパティに結果を返す必要があれば、 明示的に値を保存してください。 onOK()コールバックメソッドの中からDialogオブジェクトへアクセスするには、 予約語thisを使います。

this.results = this.saveValues();

一部のコントロールの値のみが必要な場合は、その値だけを保存してもかまいません。 また、リストの選択されている値ではなくインデックスを返したいときも、ここでインデックスを取り出します。

onOK()コールバックメソッドがfalseを返すと、 ダイアログボックスを閉じる処理が中断されます。 return文を省略するとundefined(未定義値)が返され、 結果としてfalseと判定されるので、この場合も閉じる処理がキャンセルされます。 ダイアログボックスを閉じるには、必ずtrueを返すようにしてください。

【注意】
DialogオブジェクトのonOKは、 ユーザが関数オブジェクトを設定します。 Dialogコンストラクタが自動的に作成するプロパティではないので注意してください。

 
// リストで選択されているアイテムのインデックスを返す。
var dialog = new Dialog();
dialog.template =
[
  { type: "LIST", name: "Mexican", options: [ "タコス", "ブリトー", "ファジータ" ] },
  { type: "BUTTON", label: "OK", id: IDOK }
];

dialog.onOK = function()
{
  // 全コントロールの値を保存するが失敗したら中止。
  this.results = this.saveValues();
  if (!this.results)
    return false;

  // リストはインデックスを値とする。
  this.results.Mexican = this.getValue("Mexican", true /* byIndex */);
  return true;
};

if (dialog.open() == IDOK)
{
  // 結果はインデックス
  switch (dialog.results.Mexican) {
  case 0:
    messageBox("タコスですね");
    break;
  case 1:
    messageBox("ブリトーですね");
    break;
  case 2:
    messageBox("ファジータですね");
    break;
  }
}
 
参照 Dialog クラスDialog.onCancel() コールバックメソッド Dialog.onTimer() コールバックメソッド


Dialog.onOpen() コールバックメソッド
機能 ダイアログボックスが表示される直前に呼び出されます。
呼出し形式 aDialog.onOpen()
引数 aDialog ...... Dialogオブジェクト
戻す値 なし(undefined)
 
詳細

DialogオブジェクトのonOpenプロパティに関数オブジェクトが登録されていれば、 open()メソッドが呼ばれてダイアログボックスが表示される直前に呼び出されます。 DialogオブジェクトにonOpenプロパティがない、 またはあっても関数オブジェクトでなければ、無視されます。

onOpen()コールバックメソッドの中からDialogオブジェクトへアクセスするには、 予約語thisを使います。

【注意】
DialogオブジェクトのonOpenは、 ユーザが関数オブジェクトを設定します。 Dialogコンストラクタが自動的に作成するプロパティではないので注意してください。

 
// onOpen() はダイアログボックスが表示される直前に呼ばれます。
var dialog = new Dialog();
dialog.title = "只今の時間: ";
dialog.onOpen = function() { this.setTitle(this.title + (new Date())); };
dialog.open();
 
参照 Dialog クラスDialog.onTimer() コールバックメソッド


Dialog.onTimer() コールバックメソッド
機能 タイマーイベント発生時に呼び出されます。
呼出し形式 aDialog.onTimer()
引数 aDialog ...... Dialogオブジェクト
戻す値 なし(undefined)
 
詳細

DialogオブジェクトのonTimerプロパティに関数が登録されていれば、 タイマーイベント発生時にコールバックメソッドとして呼び出されます。 DialogオブジェクトにonTimerプロパティがない、 またはあっても関数オブジェクトでなければ、タイマーイベントが無視されます。

onTimer()コールバックメソッドの中からDialogオブジェクトへアクセスするには、 予約語thisを使います。

【注意】
DialogオブジェクトのonTimerは、 ユーザが関数オブジェクトを設定します。 Dialogコンストラクタが自動的に作成するプロパティではないので注意してください。

 
// 10秒後に自動的に閉じるダイアログボックス。
var dialog = new Dialog();
dialog.title = "自動的に閉じるまであと10秒!!";
dialog.timer = 1000;
dialog.counter = 10;
dialog.onTimer = function ()
{
  this.setTitle(sprintf("自動的に閉じるまであと%d秒!!", --this.counter));
  if (this.counter == 0)
    this.close();
};
dialog.open();
 
参照 Dialog クラスDialog.setTimer() メソッド


Dialog.open() メソッド
機能 ダイアログボックスを表示します。
書式 aDialog.open([position])
引数 aDialog ...... Dialogオブジェクト
position ...... ダイアログを表示するスクリーン座標を収めたArrayオブジェクト
戻り値 ダイアログボックスを閉じたときの整数値
 
詳細

ダイアログボックスを表示します。 表示位置としてスクリーン座標(x,y)を値としてもつ配列positionを指定すると、 その位置にダイアログボックスを表示します。 positionを省略すると、前回と同じ位置に表示します。

ダイアログボックスの大きさは、ダイアログボックステンプレートによって自動的に決定されます。 実際の大きさは、ダイアログボックステンプレート内のコントロールがすべて収まる大きさ+5ダイアログ単位となります。

ダイアログボックスが閉じられるまでopen()メソッドからリターンしません。 ダイアログボックスが閉じられたときは、close()メソッドに与えた整数値が、 open()メソッドの戻り値となります。

その他、[OK]ボタンまたはEnterキーにより閉じられた場合はIDOK(=1)、 [キャンセル]ボタンまたはEscキーにより閉じられた場合はIDCANCEL(=2)を返します。

[OK]ボタンまたはEnterキーにより閉じられた場合はさらに、 Dialogオブジェクトのresultsプロパティに、 各コントロールの値を収めたArrayオブジェクトがセットされています。 この配列へアクセスすることで、結果を取り出すことができます。 どのような値が返されるかは、コントロールの種類によって異なります。 詳しくは、コントロールの値を参照してください。

【ヒント】
比較的シンプルなカスタムダイアログボックスであれば、 グローバル関数customBox()を使った方が簡単です。
【注意】
resultsには、 すべてのコントロールの値が保存されるわけではありません。 詳しくは、Controlオブジェクトを参照してください。

 
// ダイアログボックスをスクリーンの左上隅に表示する。
var dialog = new Dialog();
dialog.template = [ ... /* テンプレート */ ];
if (dialog.open([0, 0]) == IDOK)
{
  // OKがクリックされた。
  ...
}
 
参照 Dialog クラスDialog.close() メソッドControlオブジェクトcustomBox()関数


Dialog.resetContent() メソッド
機能 リストボックス、チェックリスト、コンボボックス、ツリーリストのアイテムをすべて削除します。
書式 aDialog.resetContent(controlOrNameOrID)
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... コントロールオブジェクト、名前、またはID番号
戻り値 なし(undefined)
 
詳細

コントロールcontrolOrNameOrIDで指定したリストボックス、コンボボックスまたはツリーリストのアイテムをすべて削除します。

【注意】
このメソッドを実行すると、 リストボックス、チェックリスト、コンボボックスのControlオブジェクトのoptionsプロパティ(Arrayオブジェクト)もクリアします。 ツリーリストの場合は、valueプロパティの要素数が0になります。 ダイアログボックステンプレートが変化することになるので、 テンプレートを再利用するときは注意してください。

 
// ボタンがクリックされたらリストを空にする。
var template = [
  { type: "LIST", name: "list1", width: 150, options: [1, 2, 3, 4, 5] },
  { type: "BUTTON", label: "すべて削除",
    onClick: function (dialog, control)
    {
      dialog.resetContent("list1");
    }}
];
customBox("リストアイテムをすべて削除", template);
 
参照 Dialog クラスDialog.addItem() メソッドDialog.getItem() メソッドDialog.deleteItem() メソッドDialog.getCount() メソッド


Dialog.saveValues() メソッド
機能 各コントロールの値を収めた配列を作成します。
書式 aDialog.saveValues()
引数 aDialog ...... Dialogオブジェクト
戻り値 成功した場合は各コントロールの値を収めたArrayオブジェクト、それ以外はnull
 
詳細

[OK]ボタンが押されたときと同じ方法で各コントロールの値を取得し、 それらをArrayオブジェクトに収めて返します。 どのような値が返されるかは、コントロールの種類によって異なります。 詳しくは、コントロールの値を参照してください。 これにより、[OK]ボタン以外が押されたときの状態も結果として利用することができます。

ControlオブジェクトがonValidateプロパティを持っていてそれが関数オブジェクトの場合、 その関数を呼び出してコントロールの値が正しい範囲にあるかどうをテストします。

onValidate()関数がtrueを返すか、 onValidateプロパティが未定義のときは、正しい値であると判断します。 もしもonValidate()falseを返した場合、 saveValues()メソッドは失敗し、nullを返します。

【注意】
このメソッドは、コールバックの中で使います。 ダイアログが開いていないときに呼び出した場合は無視され、何もしません。

 
// [保存]ボタンも保存しダイアログボックスを閉じる。
var dialog = new Dialog();
dialog.template =
[
  { type: "BUTTON", label: "保存",
    onClick: function (dialog, control)
    {
      if (dialog.values = dialog.saveValues())
        dialog.close(100);
    }}
];

if (dialog.open() == 100)
{
  // [保存]ボタンで終了した。
  // dialog.valuesに値が入っている。
  ...
}
 
参照 Dialog クラス


Dialog.setCheck() メソッド
機能 チェックリスト、ツリーリストの指定アイテムのチェック状態を設定します。
書式 (1) aDialog.setCheck(controlOrNameOrID, index, trueOrFalse)
(2) aDialog.setCheck(controlOrNameOrID, gridName, check)
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... コントロールオブジェクト、名前、またはID番号
index ...... チェックリストのインデックス
gridName ...... ツリーリストのグリッド名
trueOrFalse ...... チェックするかどうか
check ...... チェック状態
戻り値 このメソッドが呼ばれる前のアイテムのチェック状態。 チェックされていた場合はtrue、されていなかった場合はfalse、 それ以外はundefined
 
詳細

controlOrNameOrIDで指定したコントロールがチェックリストの場合、 書式(1)のindexで指定されるアイテムのチェック状態をtrueOrFalseに従って設定します。 trueでチェック、falseでチェックを解除します。

戻り値は、この関数が呼ばれる前のチェック状態です。 チェックされていた場合はtrue、されていなかった場合はfalsecontrolOrNameOrIDで指定されたコントロールがチェックリストではない、 またはindexが範囲外のときは、undefinedを返します。

コントロールがツリーリストの場合、 書式(2)のgridNameで指定される名前付きグリッドのチェック状態をcheckにより指定します。 falseならばチェックなし、 trueならばチェックあり、 整数02なら3ステートチェック、 undefinedまたはcheckを省略した場合は、チェックボックス自体がなくなります。

ツリーリストの場合も、戻り値はこの関数が呼ばれる前のチェック状態です。 undefinedtruefalse02のいずれかの値になります。

 
// ボタンがクリックされたらチェック状態を反転させる。
var template = [
  { type: "CHECKLIST", name: "list1", width: 150, options: [1, 2, 3, 4, 5] },
  { type: "BUTTON", label: "CHECK1",
    onClick: function (dialog, control)
    {
      dialog.setCheck("list1", 0, !dialog.getCheck("list1", 0));
    }}
];
customBox("チェック状態の反転", template);
 
参照 Dialog クラスDialog.getCheck() メソッド


Dialog.setCurSel() メソッド
機能 リストボックス、チェックリスト、コンボボックス、ツリーリスト、エディットの選択アイテムや範囲を設定します。
書式 (1) aDialog.setCurSel(controlOrNameOrID, index)
(2) aDialog.setCurSel(controlOrNameOrID, itemObjectOrName [, index... ])
(3) aDialog.setCurSel(controlOrNameOrID, index1 [, index2])
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... コントロールの名前、またはID番号
index ...... 選択するアイテムのインデックス(0〜アイテム数-1)
itemObjectOrName ...... ツリーアイテムオブジェクト、またはその名前
戻り値 なし(undefined)
 
詳細

書式(1)を使うと、controlOrNameOrIDで指定した単一選択リスト("LIST")、 チェックリスト("CHECKLIST")、またはコンボボックス("COMBO")の、 インデックスindexで指定されたアイテムを選択します。 ツリーリスト("TREELIST")の場合は、index番目のルートアイテムを選択します。 インデックスは、0から始まります。

また書式(2)を使うと、itemObjectOrNameにより指定されたツリーリスト中の任意のアイテム、 または、さらにそこからindex...により指定された子アイテム、孫アイテム...を選択できます。

書式(3)は、エディット("EDIT")の選択範囲を設定します。 エディットに表示されているテキストの文字インデックス index1index2 を選択します。 index2 を省略したときは、index1 と同じと見なします。 index2-1 を指定したときは、テキストの最後まで選択します。

 
// ボタンが押されたら次のアイテムを選択する。
var template = [
  { type: "LIST", name: "list1", width: 150, options: [1, 2, 3, 4, 5] },
  { type: "BUTTON", label: "次",
    onClick: function (dialog, control)
    {
      var index = dialog.getCurSel("list1");
      dialog.setCurSel("list1", index + 1);
    }}
];
customBox("インデックスの設定", template);
 
参照 Dialog クラスDialog.getCurSel() メソッド


Dialog.setLabel() メソッド
機能 ボタンコントロールのラベルを設定します。
書式 aDialog.setLabel(controlOrNameOrID, label)
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... ボタンコントロールオブジェクト、名前、またはID番号
label ...... ラベル文字列
戻り値 成功した場合はtrue、それ以外はfalse
 
詳細

controlOrNameOrIDで指定したボタンコントロールに ラベル文字列labelを設定します。

 
var template =
[
  { type: "BUTTON", label: "OFF",
    onClick: function(dialog, control)
    {
      // クリックするとON/OFFが交互に変化するボタンのイベントハンドラ
      var label = dialog.getLabel(control);
      dialog.setLabel(control, label == "ON" ? "OFF" : "ON");
    }
  }
];
customBox("ON/OFF", template);
 
参照 Dialog クラスDialog.getLabel() メソッド


Dialog.setSize() メソッド
機能 ダイアログボックス全体をサイズを設定します。
書式 aDialog.setSize(size)
引数 aDialog ...... Dialogオブジェクト
size ...... 縦横サイズを収めた配列
戻り値 なし
 
詳細

ダイアログボックスの大きさをダイアログ単位で設定します。 配列sizeの要素0に幅、要素1に高さを指定します。 それぞれの要素がないか0以下の値であれば、 現在の幅、現在の高さとなります。 これにより、幅または高さどちらかだけの大きさを変更することが可能になります。

 
var template =
[
  { type: "BUTTON", label: "Larger", x: 5, y: 5,
    onClick: function(dialog, control)
    {
      var size = dialog.getSize();
      size[0] += 4; // 横を大きくする
      size[1] += 8; // 縦を大きくする
      dialog.setSize(size);
    }
  },
  { type: "BUTTON", label: "Smaller", x: 60, y: 5,
    onClick: function(dialog, control)
    {
      var size = dialog.getSize();
      size[0] -= 4; // 横を小さくする
      size[1] -= 8; // 縦を小さくする
      dialog.setSize(size);
    }
  }
];
customBox("Resize", template);
 
参照 Dialog クラスDialog.getSize() メソッド


Dialog.setTimer() メソッド
機能 タイマーを起動または停止します。
書式 aDialog.setTimer([interval])
引数 aDialog ...... Dialogオブジェクト
interval ...... タイマー間隔(ミリ秒単位)
戻り値 なし(undefined)
 
詳細

intervalにミリ秒単位で正の整数値を指定した場合は、 その間隔でタイマーイベントが繰り返し発生します。 インターバルは100ミリ秒以上です。 1〜99ミリ秒を指定した場合でも、100ミリ秒間隔でイベントが発生します。 intervalを省略すると、1000ミリ秒(=1秒)間隔でタイマーイベントが発生します。

DialogオブジェクトのonTimerプロパティに関数オブジェクトが登録されていると、 イベントごとにその関数が呼び出されます。 これを「タイマーイベントのコールバックメソッド」と呼びます。

intervalに0を指定すると、 タイマーイベントを停止します。

【メモ】
ダイアログボックスを表示する前(open()メソッドを呼ぶ前)であれば、 Dialogオブジェクトのtimerプロパティにミリ秒を設定すると、 ダイアログ表示と同時にタイマーを起動できます。
【注意】
マウスクリックなどのイベントを処理するために他のコールバックを呼び出している間、 タイマーイベントは一時停止します。

 
// ボタンによりタイマーを起動/停止します。
var dialog = new Dialog();
dialog.counter = 0;
dialog.onTimer = function() { this.setTitle(this.counter++); };
dialog.template =
[
  { type: "BUTTON", label: "開始", onClick: function(dialog) { dialog.setTimer(100); }},
  { type: "BUTTON", label: "停止", onClick: function(dialog) { dialog.setTimer(0); }},
];
dialog.open();
 
参照 Dialog クラスDialog.onTimer() コールバックメソッド


Dialog.setTitle() メソッド
機能 ダイアログボックスのタイトルを設定します。
書式 aDialog.setTitle(title)
引数 aDialog ...... Dialogオブジェクト
title ...... ダイアログボックスのタイトル文字列
戻り値 なし(undefined)
 
詳細

ダイアログボックスのタイトルを指定します。 ダイアログボックスを表示する前でも、表示しているときでも設定できます。

ダイアログボックスを表示する前であれば、 Dialogオブジェクトのtitleプロパティへ文字列を設定しても同じですが、 ダイアログボックス表示中の場合は、このメソッドでタイトルを指定しないと表示されません。

 
// タイトルに時間を表示します。
var dialog = new Dialog();
dialog.timer = 1000;
dialog.onTimer = function() { this.setTitle(new Date()); };
dialog.open();
 
参照 Dialog クラスDialog.getValue() メソッドDialog.setValue() メソッド


Dialog.setValue() メソッド
機能 コントロールへ値を設定します。
書式 aDialog.setValue(controlOrNameOrID, value [, byIndex])
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... コントロールオブジェクト、名前、またはID番号
value ...... コントロールに設定する値
byIndex ...... 値がインデックスかどうか示す論理値
戻り値 正しく設定できた場合はtrue、それ以外はfalse
 
詳細

Controlオブジェクト、その名前、またはID(整数)controlOrNameOrIDによって指定された ダイアログボックスaDialog上のコントロールに、 値valueを設定します。

コンボボックスやリストボックスの何番目かを指定して選択したいときは、 オプションの引数byIndextrueを指定します。 valueをリストのインデックス(0〜)と解釈し、指定されたアイテムを選択します。 byIndexを省略するかfalseを指定すると、 コンボボックス、リストボックスからvalueと一致する文字列を探して選択します。

さらに複数選択(LBS_MULTIPLESELスタイル)のリストボックス、 またはチェックリストでは、 値を配列で指定することで、複数のアイテムを選択(またはチェック)することができます。 この場合も、byIndextrueであればインデックスの配列、 byIndexを省略するかfalseであれば値の配列と解釈します。

ツリーリストの場合は、valueにオブジェクトを渡します。 オブジェクト中のプロパティは、名前が一致する名前付きグリッドオブジェクトのvalueプロパティに設定されます。

【注意】
このメソッドは、コールバックの中で使います。 ダイアログが開いていないときに呼び出した場合は無視され、何もしません。

 
// "edit1" に新しい文字列を設定します。
dialog.setValue("edit1", "新しい文字列");
// 複数選択リストボックス "list1" の1, 3, 5番目を選択します。
dialog.setValue("list1", [0, 2, 4], true);
 
参照 Dialog クラスDialog.getValue() メソッド


Dialog.showControl() メソッド
機能 コントロールの表示/非表示を切り替えます。
書式 aDialog.showControl(controlOrNameOrID [, trueOrFalse [, index]])
引数 aDialog ...... Dialogオブジェクト
controlOrNameOrID ...... コントロールオブジェクト、名前、またはID番号
trueOrFalse ...... 表示(true)するか非表示(false)にするか
index ...... ラジオボタンの何番目かを指定する整数
戻り値 なし(undefined)
 
詳細

ダイアログボックスaDialog上に配置されているコントロールの表示/非表示を切り替えます。 trueOrFalsetrueを指定するか省略するとコントロールが表示され、 falseを指定すると非表示となり隠れて見えなくなります。

表示/非表示切り替えの対象となるコントロールは、controlOrNameOrIDで指定します。 controlOrNameOrIDには、直接コントロールを定義しているControlオブジェクトか、 nameプロパティにより与えられているControlオブジェクトの名前、 またはID(整数)を指定することができます。

ラジオボタンコントロールの個々の選択肢を個別に表示/非表示したいときは、 indexを指定します。 ラジオボタンの最初の選択肢がインデックス0、次が1、...となります。 ラジオボタンでindexを省略すると、 ラジオボタン全体の表示/非表示を切り替えます。

EDITコントロールなど、Controlオブジェクト中にラベルやその他の付随するコントロールが指定されている場合、 それらのコントロールの表示/非表示も切り替わります。

【注意】
このメソッドは、コールバックの中で使います。 ダイアログが開いていないときに呼び出した場合は無視され、何もしません。

 
// 文字が入力されたらOKボタンを表示するダイアログボックス。
var dialog = new Dialog();
dialog.template =
[
  { type: "EDIT", name: "edit1",
    onChange: function (dialog, control)
    {
      // edit1 の文字を取得してOKボタンの表示/非表示を切り替える。
      var text = dialog.getValue(control);
      dialog.showControl(IDOK, text != "");
    }},
  { type: "BUTTON", label: "OK", id: IDOK }
];

// OKボタンの初期状態を非表示に設定する。
dialog.onOpen = function() { this.showControl(IDOK, false); };
dialog.open();
 
参照 Dialog クラスDialog.enableControl() メソッド


Controlオブジェクト

コントロールには文字を入力するエディット、ボタン、リスト、チェックボックスなどいろいろな種類があります。 どれもWindowsのアプリケーションで見慣れた標準的な部品です。 コントロールの種類は、Controlオブジェクトのtypeプロパティで指定します。

Controlオブジェクトでは、下表に示すプロパティが意味を持ちます。 typeプロパティはコントロールの種類を決定するので必須ですが、 他のプロパティは必ずしも指定する必要はありません。 また、コントロールの種類によっては、意味のないプロパティ(表中で空欄のもの)もあります。

【参照】
コントロールの値
コントロールのスタイル


プロパティ内容コントロール擬似コントロール
type必須stringコントロールの種類 表示文字 テキスト入力 数値を上下させるスピン チェックボックス プッシュボタン リストボックス チェックリスト ツリーリスト注11 コンボボックス ラジオボタン カラーボタン グループボックス 縦配置 横配置 スペーサー
"STATIC" "EDIT" "SPIN" "CHECK" "BUTTON" "LIST" "CHECKLIST" "TREELIST" "COMBO" "RADIO" "COLOR" "GROUPBOX" "VFLOW" "HFLOW" "SPACER"
namestringコントロールの識別名
id注1integerコントロールの識別番号
xintegerX位置 (ダイアログ単位 注2)
yintegerY位置 (ダイアログ単位 注2)
widthinteger横幅 (ダイアログ単位 注2) 注7
heightinteger高さ (ダイアログ単位 注2) 注7
styleinteger共通スタイル ○ WS_*
コントロール別スタイル SS_* ES_* UDS_* BS_* LBS_* TLS_* CBS_* BS_* CPS_* BS_*
value任意コントロールの値  
整数0〜2注3
 
初期選択アイテム

チェックON/OFF配列注9

ツリーリストを表す配列オブジェクト

初期選択アイテム

初期選択番号

RGB値
 
optionsarray選択肢リスト             注8  
headerarrayヘッダー定義                      
labelstringラベル文字列  
labelId注1integerラベルの識別番号        
labelWidthintegerラベルの横幅        
labelStyleintegerラベルのスタイル        
spinarrayスピンコントロールの範囲                      
spinId注1integerスピンコントロールの識別番号                      
onClickfunctionクリックされたときに呼ばれるコールバック関数注5                
onDoubleClickfunctionダブルクリックされたときに呼ばれるコールバック関数注5     注12      
onChangefunction値が変化したときに呼ばれるコールバック関数注5            
onSelChangefunctionTREELISTの選択アイテムが変化したときに呼ばれるコールバック関数注5                      
onEnterfunctionEnterキーが押されたときに呼ばれるコールバック関数注5・注10・注14        
onKeyfunctionキーが押されたときに呼ばれるコールバック関数注13注14                      
onValidatefunction値の正当性を判定するためのコールバック関数注6        
[OK]ボタンでresultsに値が保存されるか?     注4  

【注1】
コントロールのidlabelIdspinIdは、 ダイアログを表示するときにウインドウのID番号が自動的に設定されます。 [OK]、[キャンセル]ボタンを除き、ダイアログテンプレートで明示的に指定する必要はありません。
【注2】
ダイアログ単位とは、 ダイアログボックスで使っているフォントの平均文字幅の1/4、高さの1/8をそれぞれ横方向、縦方向の1とする単位系です。 ピクセルではないので注意してください。
【注3】
通常のチェックボックスでは、 チェックなしの場合0、チェックありの場合1の2通りですが、 3ステートチェックボックスのチェック有りでも無しでもな状態は2となります。
【注4】
ラジオボタンを、 { type: "BUTTON", style: BS_AUTORADIOBUTTON | WS_GROUP, ... }として作成した場合のみ、 選択したラジオボタンのインデックス値がDialogオブジェクトのresultsプロパティに返されます。 普通のプッシュボタンは値を返しません。
【注5】
onClick()コールバック関数には2つの引数、DialogオブジェクトとControlオブジェクトが渡されます。 onDoubleClick()onChange()onSelChange()onEnter()も同じです。 これらコールバックメソッドの戻り値は使われません。
【注6】
onValidate()コールバック関数には3つの引数、 Dialogオブジェクト、Controlオブジェクトと検証すべき値が渡されます。 値をテストして正しければtrue、間違っていればfalseを返します。
【注7】
自動配置モードが縦(VFLOW)ならばheight、 横(HFLOW)ならばwidthプロパティの値のみが意味を持ちます。
【注8】
カラーボタンがクリックされたときに表示するカラーパレットの色を整数の配列として指定できます。 配列の要素で整数値に変換できないものは無視され、残りの値がパレット上に並べられます。 配列にプロパティrowscolsを設定すると、 それぞれパレットの縦/横の数を設定可能です。
【注9】
truefalseの配列を値として渡すと、 チェックリストを配列で指定されたように初期化します。
【注10】
onEnterコールバックを指定すると、 そのコントロールにフォーカスがある間はEnterキーでダイアログボックスを閉じることができなくなります。
【注11】
ツリーリスト("TREELIST")は高機能で複雑な動作をするコントロールです。 詳しくは、MocaScript Guide Peggy Built-in Editionのツリーリストを参照してください。
【注12】
ツリーリスト("TREELIST")では、子のないアイテム上をダブルクリックしたときだけ、onDoubleClick()が呼び出されます。 【注13】
onKey()コールバック関数には4つの引数、 Dialog オブジェクト、Control オブジェクト、仮想キーコード(VK_RETURN など)、 それにShiftキー(第0ビット0)/Ctrlキー(第1ビット)の状態を表す整数が渡されます。 onKey()コールバック関数から true を返すとそのイベントを消費しますが、 false を返すとデフォルトの動作をします。
【注14】
エディット(""EDIT)に onKey()onEnter() 両方のコールバック関数がある場合は、 先に onKey() が呼び出され、次に onEnter() が呼ばれます。 ただし onKey()true を返したときは、続く onEnter() はコールされません。



コントロールの値

[OK]ボタンをクリックしたときに各コントロールから返される値は、 コントロールの種類によって異なっています。

下表に返される値とその型をまとめてあります。 灰色の部分は、[OK]ボタンをクリックしたときには返されないが、 カスタムダイアログボックスが表示されている間であれば、 Dialog.getValue()メソッドを 明示的に呼び出すことで値を取得できるコントロールです。 型と返される値が空欄のコントロールは、 [OK]ボタンでもDialog.getValue()メソッドでも値を取得できません。

コントロール返される値
"STATIC" string 表示されている文字列
"EDIT" string 入力されていた文字列
"SPIN"   (なし)
"CHECK" integer チェックなし=0、チェックあり=1、3ステート状態=2
"BUTTON" integer チェックなし=0、チェックあり=1、3ステート状態=2
"LIST" array(マルチ選択リストの場合のみ) マルチ選択リスト(LBS_MULTIPLESELスタイル)の場合は、 選択されているアイテムに対応するoptionsプロパティの要素を収めた配列が返されます。 何も選択されていないときは、空の配列となります。
単一選択リストの場合は、選択されているアイテムに対応するoptionsプロパティの対応要素が返されます。
"CHECKLIST" array チェックされているアイテムに対応するoptionsプロパティの要素を収めた配列が返されます。 何もチェックされていないときは、空の配列となります。
"TREELIST" object ツリーリストを定義した配列オブジェクト中から、 再帰的にnamevalueを持っている名前つきグリッドオブジェクトを検索し、 nameの値をキー、valueの値を値として集めた連想配列を返します。 名前付きグリッドオブジェクトにチェックがあるときは、 グリッドの名前に接尾語_checkを付けたプロパティにチェックの値もセットします。 ツリーリストに選択されているアイテムがあれば、対応するツリーアイテムオブジェクトを数値インデックスの0に設定します。 さらに複数選択可能モード(TLS_MULTIPLESELスタイル)の場合は、選択されているすべてのツリーアイテムオブジェクトを数値インデックス0から順番に設定し、 lengthプロパティに選択されていたアイテムの個数を返します。

【注意】
nameプロパティでグリッドオブジェクトに名前を付けるとき、"length"という名前を使わないようにしてください。

"COMBO" スタイルによる ドロップダウンリスト(CBS_DROPDOWNLISTスタイルが指定されている)の場合は、 選択されているアイテムに対応するoptionsプロパティにセットされていた配列の要素そのものが返されます。
ドロップダウンリスト以外(CBS_DROPDOWN 又は CBS_SIMPLE)では、 表示されていた文字列(string型)が返されます。
"RADIO"integer選択されているアイテムの番号(0〜)
"COLOR"integerRGB値
"GROUPBOX"   (なし)
"VFLOW"   (なし)
"HFLOW"   (なし)
"SPACER"   (なし)

【参照】
Controlオブジェクト
コントロールのスタイル



コントロールのスタイル

Controlオブジェクトのstyleプロパティに設定できる値は、 コントロールの種類によらない「共通」のスタイルと、 コントロール「固有」のスタイルがあります。 styleプロパティに設定できるスタイルの一覧を下表に示します。 各スタイルのより詳しい説明は、MSDNライブラリなどを参照してください。

スタイルを複数指定する場合は、OR演算子(|)を使っていくつでも指定できます。 表のスタイル名は、globalオブジェクトに整数定数として登録されています。

コントロールスタイル意味デフォルト
共通WS_VISIBLE0x10000000ウインドウを可視状態にする
WS_DISABLED0x08000000ウインドウを無効状態にする
WS_CLIPSIBLINGS0x04000000互いに関連する兄弟ウインドウをクリップする
WS_CLIPCHILDREN0x02000000子ウインドウが占める領域を除外して描画する
WS_BORDER0x00800000ウインドウに境界を付ける
WS_VSCROLL0x00200000垂直スクロールバーを付ける
WS_HSCROLL0x00100000水平スクロールバーを付ける
WS_GROUP0x00020000矢印キーで移動てきるグループの先頭を指定する
WS_TABSTOP0x00010000Tabキーで移動できるウインドウであることを指定する
STATICSS_LEFT0x0000テキストを左揃えで表示する
SS_CENTER0x0001テキストを中央揃えで表示する
SS_RIGHT0x0002テキストを右揃えで表示する
SS_BLACKRECT0x0004黒色で塗りつぶされた四角形を指定する
SS_GRAYRECT0x0005灰色で塗りつぶされた四角形を指定する
SS_WHITERECT0x0006白色で塗りつぶされた四角形を指定する
SS_BLACKFRAME0x0007黒色の枠を指定する
SS_GRAYFRAME0x0008灰色の枠を指定する
SS_WHITEFRAME0x0009白色の枠を指定する
SS_SIMPLE0x000B単一行のテキストを左揃えで表示する
SS_LEFTNOWORDWRAP0x000Cテキストを左揃えで表示する(折り返えさない)
SS_NOPREFIX0x0080アクセラレータのプレフィックス文字(&)を解釈しない
SS_NOTIFY0x0100イベントの通知メッセージを送る
SS_SUNKEN0x1000周囲に沈んだように見える枠を描画する
SS_ENDELLIPSIS0x4000領域に収まらないテキストの最後に...を付ける
SS_PATHELLIPSIS0x8000領域に収まらないパスの途中を...で省略する
SS_WORDELLIPSIS0xC000領域に収まらない単語を...で省略する
EDITES_LEFT0x0000テキストを左揃えで表示する
ES_CENTER0x0001テキストを中央揃えで表示する
ES_RIGHT0x0002テキストを右揃えで表示する
ES_MULTILINE0x0004複数行のエディット コントロールを指定する
ES_UPPERCASE0x0008入力されたすべての文字を大文字に変換する
ES_LOWERCASE0x0010入力された文字をすべて小文字に変換する
ES_PASSWORD0x0020入力されたすべての文字をアスタリスク(*)で表示する
ES_AUTOVSCROLL0x0040自動的に上下にスクロールする注1
ES_AUTOHSCROLL0x0080自動的に左右にスクロールする注2
ES_NOHIDESEL0x0100フォーカスがないときも選択部分を強調表示する
ES_OEMCONVERT0x0400ANSIからOEM文字セットに変換する
ES_READONLY0x0800テキストの入力や編集ができないようにする
ES_WANTRETURN0x1000Enterキーを受け取れるようにする
ES_NUMBER0x2000数値キーのみを受け付けるようにする
BUTTON

RADIO

GROUPBOX

CHECK
BS_PUSHBUTTON0x0000プッシュボタンにする○ ("BUTTON")
BS_DEFPUSHBUTTON0x0001デフォルトプッシュボタンにする
BS_CHECKBOX0x0002チェックボックスにする
BS_AUTOCHECKBOX0x0003クリックでON/OFFするチェックボックスにする○ ("CHECK")
BS_RADIOBUTTON0x0004ラジオボタンにする
BS_3STATE0x00053ステートチェックボックスにする
BS_AUTO3STATE0x0006クリックで切り替わる3ステートチェックボックスにする
BS_GROUPBOX0x0007グループボックスにする○ ("GROUPBOX")
BS_AUTORADIOBUTTON0x0009クリックで切り替わるラジオボタンにする○ ("RADIO")
BS_LEFTTEXT0x0020ボタンの左にテキストを配置する
BS_TEXT0x0000テキストを表示する
BS_LEFT0x0100テキストを左寄せで表示する
BS_RIGHT0x0200テキストを右寄せで表示する
BS_CENTER0x0300テキストを(左右方向の)中央に表示する
BS_TOP0x0400テキストを上に寄せて表示する
BS_BOTTOM0x0800テキストを下に寄せて表示する
BS_VCENTER0x0C00テキストの(上下方向の)中央に表示する
BS_PUSHLIKE0x1000チェックボックスをボタンのように表示する
BS_MULTILINE0x2000複数行のテキストを表示する
BS_FLAT0x8000平らなボタンを表示する
BS_RIGHTBUTTON0x0020右にチェックボックスを配置する
LIST

CHECKLIST
LBS_NOTIFY0x0001イベントメッセージを発生させる
LBS_SORT0x0002アルファベット順にソートする
LBS_MULTIPLESEL0x0008複数選択リストにする注3
LBS_USETABSTOPS0x0080タブ文字を認識して描画する
LBS_NOINTEGRALHEIGHT0x0100指定したサイズと正確に同じにする
LBS_EXTENDEDSEL0x0800Shiftキー/マウスで複数アイテムを選択できるようにする
TREELISTTLS_NOHGRID0x0001横グリッド線を表示しない
TLS_NOVGRID0x0002縦グリッド線を表示しない
TLS_NOHEADER0x0004ヘッダーを表示しない
TLS_MULTIPLESEL0x0008複数選択リストにする
TLS_NOBUTTONSPACE0x0010子のなりルートアイテムをできるだけ左に寄せて表示する
COMBOCBS_SIMPLE0x0001常にリストが表示されたコンボボックスを作成する
CBS_DROPDOWN0x0002編集できるコンボボックスを作成する
CBS_DROPDOWNLIST0x0003編集できないドロップダウンリストを作成する
CBS_AUTOHSCROLL0x0040エディットを自動的に左右スクロールさせる
CBS_OEMCONVERT0x0080ANSIからOEM文字セットへ変換する
CBS_SORT0x0100自動的にソートする
CBS_NOINTEGRALHEIGHT0x0400指定したサイズと正確に同じにする
CBS_UPPERCASE0x2000すべて大文字に変換する
CBS_LOWERCASE0x4000すべて小文字に変換する
SPINUDS_WRAP0x0001上限/下限を超えるてぐるぐる回る
UDS_SETBUDDYINT0x0002整数として数値を上下させる
UDS_ALIGNRIGHT0x0004右端に貼り付ける
UDS_ALIGNLEFT0x0008左端に貼り付ける
UDS_AUTOBUDDY0x0010自動的に関連付ける
UDS_ARROWKEYS0x0020上下矢印キーに反応して値を上下させる
UDS_HORZ0x0040左右方向にする
UDS_NOTHOUSANDS0x00803桁ごとの区切りを入れない
COLORCPS_HTMLCOLORS0x0100HTMLカラー140パレットを使う
CPS_SAFECOLORS0x0200Web Safeカラー216パレットを使う
CPS_NOOTHERBUTTON0x0400"他..."ボタンを表示しない

【注1】
複数行スタイルES_MULTILINEをセットしたときは、 ES_AUTOVSCROLLも自動的にセットされます。
【注2】
複数行スタイルES_MULTILINEをセットしていない、 つまり1行だけのEDITコントロールの場合、 ES_AUTOHSCROLLが自動的にセットされます。
【注3】
チェックリストでは、複数選択スタイルLBS_MULTIPLESELは、無視されます。

【参照】
Controlオブジェクト
コントロールの値




DialogSheet オブジェクト

DialogSheetオブジェクトを使うと、複数のDialogを一枚のシート上に表示し、タブで切り替えることができます。

DialogSheetオブジェクト - メソッド一覧

分類 DialogSheetメソッド 機能
コンストラクタ new DialogSheet(title, width, height, pageArray) DialogSheetオブジェクトを生成する。
表示 open([position [, pageNumber]]) ダイアログシートを表示する。
activate(pageNumber) ダイアログシートの指定ページを表示する。

【参照】
DialogSheet プロパティ
ダイアログシート
Dialogオブジェクト
Controlオブジェクト
コントロールの値
コントロールのスタイル



DialogSheet オブジェクトのプロパティ


プロパティ名
title string ダイアログシートのタイトルバーに表示される文字列
width integer ダイアログシート内に表示するページの横幅(ダイアログ単位)
height integer ダイアログシート内に表示するページの高さ(ダイアログ単位)
pages array シート上に表示するDialogオブジェクトの配列
lastPage integer シートを閉じる直前に表示していたページ番号(0〜)
results array [OK]ボタンが押されたときに各ページ(Dialogオブジェクト)に作成されるのresultsプロパティの配列。

【メモ】 lastPageresultsは、 [OK]ボタンがクリックされたときに自動的に作成されるプロパティです。 詳しくは、ダイアログシートから値の取り出しを参照してください。

【参照】
DialogSheetオブジェクト
Dialogオブジェクト
Controlオブジェクト
コントロールの値
コントロールのスタイル



DialogSheet() コンストラクタ
機能 DialogSheet オブジェクトを作成します。
書式 new DialogSheet(title, width, height, pageArray)
引数 title ...... タイトルバーに表示される文字列
width ...... 表示するページの横幅(ダイアログ単位)
height ...... 表示するページの高さ(ダイアログ単位)
pageArray ...... シート上に表示するDialogオブジェクトの配列
戻り値 DialogSheet オブジェクト
 
詳細

DialogSheet オブジェクトを生成します。 配列pageArrayに収められている複数のDialogオブジェクトを一度に表示し、 タブで切り替えることができます。

widthheightには、 表示するDialogオブジェクトのもっとも大きいものの横・縦のサイズをそれぞれダイアログ単位で指定します。 十分な大きさがないとDialogオブジェクトの一部が切れて表示されてしまうため、注意してください。

 
// 3つのDialogオブジェクトをシート上に表示する。
var page1 = new Dialog("Page 1", [ { type: "EDIT" } ]);
var page2 = new Dialog("Page 2", [ { type: "EDIT" } ]);
var page3 = new Dialog("Page 3", [ { type: "EDIT" } ]);

var pages = [ page1, page2, page3 ];
var sheet = new DialogSheet("ダイアログシート", 150, 30, pages);
sheet.open();
 
参照 Dialog クラスDialogSheet クラスDialogSheet.open() メソッド


DialogSheet.open() メソッド
機能 ダイアログシートを表示します。
書式 aDialogSheet.open([position [, pageNumber]])
引数 aDialogSheet ...... DialogSheetオブジェクト
position ...... ダイアログシートを表示するスクリーン座標を収めたArrayオブジェクト
pageNumber ...... 最初に表示するページ番号(0〜)
戻り値 ダイアログシートを閉じたときの整数値
 
詳細

ダイアログシートを表示します。

表示位置としてスクリーン座標(x,y)を値としてもつ配列positionを指定すると、 その位置にダイアログシートを表示します。 positionを省略すると、前回と同じ位置に表示します。 pageNumberには、最初に表示するDialogオブジェクトのインデックスを指定できます。 最初のページが0、次が1、...となります。 positionを省略し、pageNumberだけ指定したいときは、 positionnullとしてください。

ダイアログシートが閉じられるまでopen()メソッドからリターンしません。 ダイアログシートが閉じられたときは、close()メソッドに与えた整数値が、 open()メソッドの戻り値となります。

その他、[OK]ボタンまたはEnterキーにより閉じられた場合はIDOK(=1)、 [キャンセル]ボタンまたはEscキーにより閉じられた場合はIDCANCEL(=2)を返します。

[OK]ボタンまたはEnterキーにより閉じられた場合は、 各DialogオブジェクトのresultsプロパティにそのDialogオブジェクトに含まれるコントロールの値を収めたArrayオブジェクトがセットされています。 さらに、各Dialogオブジェクトのresultsプロパティを集めた配列がDialogSheetオブジェクトのresults配列として作成されます。

これらの配列へアクセスすることで、結果を取り出すことができます。 どのような値が返されるかは、コントロールの種類によって異なります。 詳しくは、コントロールの値を参照してください。

【注意】
一度も表示されていないページは、 [OK]ボタンや<Enter>キーが入力された場合でも、そのDialogオブジェクトにresultsプロパティが作成されないので注意してください。 DialogSheetオブジェクトのresultsプロパティの該当要素も、未定義(undefined)となります。

 
// 3つのDialogオブジェクトをシート上に表示する。
var page1 = new Dialog("Page 1", [ { type: "EDIT", name: "E1" } ]);
var page2 = new Dialog("Page 2", [ { type: "EDIT", name: "E2" } ]);
var page3 = new Dialog("Page 3", [ { type: "EDIT", name: "E3" } ]);
var pages = [ page1, page2, page3 ];

var sheet = new DialogSheet("ダイアログシート", 150, 30, pages);
if (sheet.open() == IDOK)
{
  // 未表示ページはresultsが作成されないのでテストしながら結果を出力する。
  var res;
  if (res = sheet.results[0])
    writeln("E1 = ", res.E1);
  if (res = sheet.results[1])
    writeln("E2 = ", res.E2);
  if (res = sheet.results[2])
    writeln("E3 = ", res.E3);
}
 
参照 Dialog クラスDialogSheet クラスControlオブジェクト


DialogSheet.activate() メソッド
機能 ダイアログシート上の指定ページをアクティブにします。
書式 aDialogSheet.activate(pageNumber)
引数 aDialogSheet ...... DialogSheetオブジェクト
pageNumber ...... ページ番号(0〜)
戻り値 なし(undefined)
 
詳細

pageNumberにより指定されたDialogオブジェクトをアクティブにします。 最初のページが0、次が1、...となります。

【ヒント】
シートの表示中は、 各DialogオブジェクトにDialogSheetオブジェクトを参照するsheetプロパティが自動的に作成されます。

 
var goto2 = function (dialog, control) { dialog.sheet.activate(1); };
var goto3 = function (dialog, control) { dialog.sheet.activate(2); };

var page1 = new Dialog("Page 1", [ { type: "BUTTON", label: "GoTo &2", onClick: goto2 },
    { type: "BUTTON", label: "GoTo &3", onClick: goto3 }]);
var page2 = new Dialog("Page 2", [ { type: "EDIT" } ]);
var page3 = new Dialog("Page 3", [ { type: "EDIT" } ]);

var pages = [ page1, page2, page3 ];
var sheet = new DialogSheet("ダイアログシート", 150, 50, pages);
sheet.open();
 
参照 Dialog クラスDialogSheet クラス