組み込み関数
組み込み関数は ViViScript があらかじめ用意している関数で、宣言を行わずに使用することができます。
■ beep(freq, duration)
ビープ音を鳴らします.freq は周波数,duration は長さ(単位はミリ秒)です.
■ buildNumber()
ViViのビルド番号を返します。
サンプルプログラム:
console.writeln("ビルド番号:" + buildNumber());
■ clock()
ViViが起動してからの時間をミリ秒単位で返します。
サンプルプログラム:
var start = clock(); // 処理開始時間を保存
..... // 何らかの処理
var duration = clock() - start; // 処理に要した時間(ミリ秒)
■ currentTime()
現在時刻(オブジェクトが生成された時刻)を保持する日付・時刻オブジェクトを返します。
サンプルプログラム:
var now = currentTime();
console.writeln( now.strftime("%y/%m/%d %H:%M:%S") );
console.writeln( now.getYear() );
console.writeln( now.getMonth() );
console.writeln( now.getDay() );
console.writeln( now.getHour() );
console.writeln( now.getMinute() );
console.writeln( now.getSecond() );
実行結果:
97/07/07 23:21:35
1997
7
7
23
21
35
■ format( formatString, ... )
sprintf と同様に formatString にしたがって文字列をフォーマットし、文字列を値として返します。
注意:引数は formatString を含めて11個までが有効で、それ以上は無視されます。
サンプルプログラム:
for(var i = 1; i < 1000; i += i)
console.writeln("[" + format("%8d", i) + "]");
実行結果:
[ 1]
[ 2]
[ 4]
[ 8]
[ 16]
[ 32]
[ 64]
[ 128]
[ 256]
[ 512]
■ getOsVersion()
OSのバージョン番号情報などを含むオブジェクトを返します
サンプルプログラム:
var ver = getOsVersion();
var prop;
for(prop in ver)
console.writeln(prop + " = " + ver[prop]);
■ getOpenDocPath()
現在オープンしているドキュメントのフルパスリストを取得します
サンプルプログラム:
var list = getOpenDocPath();
var cnt = list.getCount();
for(var i=0; i<cnt; ++i)
console.writeln(list[i]);
■ isBoxSelectMode()
BOX選択モードかどうかを判定します。
■ makePath( splitted_path )
■ makePath( drive, dir, fname, ext )
分解されたパスからフルパス文字列を構成します。
サンプルプログラム:
var sp = splitPath("c:/vc/vivi/vi.cpp"); // パスを分解
sp.ext = "h"; // 拡張子を変更
var newPath = makePath(sp);
■ messageBox( message, type )
メッセージボックスを表示します。
type はメッセージボックスのスタイルを指定します。省略した場合は、OKボタンのみを持つダイアログを表示します。
0 OKボタンのみ
1 OK、キャンセルボタン
3 Yes、NO、キャンセルボタン
4 Yes、NOボタン
それぞれのボタンが押された場合、以下の値を返します。
1 OK
2 キャンセル
6 Yes
7 NO
サンプルプログラム:
var MB_OK = 0, MB_OKCANCEL = 1, MB_YESNOCANCEL = 3, MB_YESNO = 4;
var IDOK = 1, IDCANCEL = 2, IDYES = 6, IDNO = 7;
var rc = messageBox("続けますか?", MB_YESNO);
if( rc == IDYES )
....
■ openDocument( pathNameString )
■ openDocument( pathNameString, charCode )
指定パスのファイルをオープンしドキュメント、ビューのオブジェクト(インスタンス)を作成します。
引数 charCode でファイルの文字コードを指定することもできます。
0 SJIS
1 EUC
2 JIS
3 自動判別
上記以外 無視
サンプルプログラム:
実行結果:
■ rand( n )
0〜n−1の乱数を発生します。
サンプルプログラム:
srand();
for(var i=0;i<100;) {
var r = rand(100); // 0〜99の乱数を発生
console.write(format("%8d", r)); // それを表示
if( ++i % 10 == 0 )
console.write("\n");
}
実行結果:
27 72 63 34 21 17 85 65 80 16
5 13 94 25 71 28 98 76 88 19
99 38 91 44 16 34 81 24 62 25
25 10 51 88 88 45 57 28 91 51
82 37 39 98 30 44 50 91 63 95
54 77 79 31 99 47 59 96 60 38
43 46 67 89 90 24 81 85 91 84
76 51 44 86 11 99 82 34 53 59
62 39 93 77 14 38 25 70 35 5
63 43 93 52 17 16 11 1 40 22
■ sleep( milliSecond )
指定秒数スリープします。
■ splitPath( path )
フルパスを分解します。結果は "drive", "dir", "fname", "ext" というプロパティ(メンバ変数)
をもつオブジェクトで返されます。
サンプルプログラム:
var sp = splitPath("c:/vc/vivi/vi.cpp"); // パスを分解
console.writeln(sp.drive);
console.writeln(sp.dir);
console.writeln(sp.fname);
console.writeln(sp.ext);
実行結果:
c:
/vc/vivi/
vi
.cpp
■ srand( n )
乱数のシードを設定します。nを省略した場合はシステムクロックをシードとして使用します。
■ string( n )
数値を文字列に変換します。format("%d", n) と等価です。
■ winExec( cmd , cmdshow=SW_SHOWNORMAL)
プログラムを起動します.第2引数は省略可能です.
|