home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 2001 June
/
VPR0106A.BIN
/
OLS
/
FSC202
/
fsc202.lzh
/
Refer.txt
< prev
next >
Wrap
Text File
|
2001-03-25
|
36KB
|
1,045 lines
「FXLオブジェクトメソッドプロパティ概要」
FScript版 FXL の仕様書です。
追加してもらいたい機能、記述のもれ、不明な点などありましたら
遠慮無くお問い合わせください。 2001.3.17 y.fuji
http://free01.plala.or.jp/~yfuji/
●allオブジェクト
allオブジェクトには以下のオブジェクト・プロパティ等があります。
・オブジェクト
mainオブジェクト argオブジェクト rオブジェクト
wオブジェクト valueオブジェクト fileオブジェクト
sysオブジェクト timerオブジェクト macroオブジェクト
deffuncオブジェクト xオブジェクト yオブジェクト
zオブジェクト iオブジェクト jオブジェクト
kオブジェクト(Lversionのみ)
・メソッド
end() : プログラムを終了します
alert(文字列) : OKボタンのついたメッセージボックスを表示しま
す。ボタンが押されると "OK" が返ります。
例 alert("おわりました");
confirm(文字列): 「はい(Y)」「いいえ(N)」「キャンセル」ボタンの
ついたメッセージボックスを表示します。
押したボタンに応じて "Yes" "No" "Cancel" が返ります。
第一パラメーターが数字だけの場合は、メッセージボックスの形状
を指定するオプションコマンドと認識されます。
指定できる数字は、WindowsAPIのMessageBox の第四パラメータの設定
と同じ値です。
0:OK 1:OK,CANCEL 2:ABORT,RETRY,IGNORE
3:YES,NO,CANCEL 4:YES,NO 5:RETRY,CANCEL
shell(ファイル名) : ファイルに関連付けられたプログラムを実行し
ます。成功した場合、trueが返ります。
exec(プログラム名) : プログラム(exeファイル)を実行します。
成功した場合、trueが返ります。
eval() : 文字列を計算します(x,/,-,+が指定可能)
str(文字列1, 文字列2, 文字列3...) : 文字列を連結します
例 a=str("答えは",ans,"です");
例 dname=str(sys.instpath,"\\fxdiff.dll");
strtop(a,b) : 文字列の先頭がbであるかチェックします。
等しければ、trueを返します
strtopi() : strtopと同じですがの大小文字無視します。
strnum(a,b) : 文字列aの書式に従い、bを表示します。
例 strnum("%02d",1) --> "01"
strnum("%02x",10) --> "0a"
strnum("%03d",0x10) --> "016"
len(a) : 文字列aの数を数えます
allオブジェクトを使う場合、allは表記しません
たとえば、alertの場合、
alert("aaa");
と書けばOKです。逆に
all.alert("aaa");
と記述するとメソッドエラーになります。
●FStringオブジェクト
文字列処理用のオブジェクトです。
VC++でいうCString、C++BuilderでのAnsiString等にあたります。
ただし、ファイルの読み書きとそれぞれの行へのダイレクトなアクセス
を用意しています。またLZH圧縮ファイルもディレクトリとして処理
できます。
・プロパティ
now : ラインカウンタ
line : 一行バッファ
length : 全体の長さ
・メソッド
pos(インデックス) : 文字インデックス以降の文字を返します
例 y.set(z.pos(22));
if (y.pos() == "0") { b = "実行" }
clear() : バッファクリア(メモリも開放されます)
例 y.clear();
while (x.take() == "true") {
y.addline(x.line);
}
set(文字列) : 文字列をセットします。設定された文字列が返ります
改行して複数行を設定することもできます。
例 x.set("一之瀬"
"二宮"
"三鷹"
"四ッ谷");
readfile(ファイル名) :ファイルを読み出します。読めたら true が返ります
a="data1.txt";
ret=x.readfile(a);
または x.readfile("data1.txt");
savefile(ファイル名): ファイルを保存します。成功したら true、エラー
になったら falseが返ります。
例 if ( x.savefile(y.pos()) == "false") {
alert("保存に失敗しました");
return;
}
readdir(ディレクトリ,拡張子,LZH有効,サブディレクトリ有効) 指定ディレクトリ
の一覧を取得して、改行で連結されたファイル一覧が返ります。
入力: 1. ディレクトリ
2. 拡張子 "*.*" 又は "*.aaa" 及び "bbb.*" の形式
2. LZHをディレクトリと見なす (省略時無効)
3. サブディレクトリ有効 (省略時有効)
例 x.readdir("C:","*.*",true,true);
take() :ラインカウンタより1行取り出します
全ての行を取り出した場合 false、行が残っている場合 true
が返ります。取り出した値は lineに入ります。
takeを使う前は必ずtop()を実行してください。
例: x.topline();
while (x.take() == "true") {
alert(x.line);
}
add(文字列) :文字列を追加します
例 x.add("五代"
"六本木"
);
topline() :ラインカウンタを1行目し、1行目を返します
top() :toplineと同じ
endline() :ラインカウンタを最終行し、最終行を返します
incline(行数) :ラインカウンタを進めます
decline(行数) :ラインカウンタを巻き戻します
addline(文字列) :文字列を1ライン追加します
例 main.x.addline("八神");
delline(文字列) :ラインカウンタの示す文字を削除します
例 main.x.delline();
insline(文字列) :ラインカウンタの示す位置に文字列を挿入します
例 main.x.insline("九重");
search(文字列,インデックス) :文字列を検索します
searchi(文字列,インデックス) :文字列を検索します(大小文字無視)
searchw(文字列,インデックス) :文字列を検索します(ワード検索)
searchwi(文字列,インデックス) :文字列を検索します
インデックス(省略時は先頭)から、指定した文字列を検索し
て、指定文字列の含まれる位置(先頭が0)を返します。みつ
からない時は-1を返します。
例 x.set("abc,de");
n=x.search(",",0);
alert(n); // →3が表示されます
substring(先頭位置, 文字数):先頭位置から指定した字数の文字を取り
出します。*もとの文字列は変更されません
文字数を省略した時は先頭位置から末尾まで全て。
replace(文字列1,文字列2) : 文字列1を文字列2に置換します
例 w.replace(".","_");
z.replace("\\","\\r\\n");
trimr(置換文字) ; 置換文字列に含まれる文字を右から削除します
triml(置換文字) : 置換文字列に含まれる文字を左から削除します
例: x.set("abcde f ");
x.trimr("fe "); → 結果 abcd
例: x.set("1 23456");
x.trimr(" 12"); → 結果 3456
z.trimr("\\"); // パス名の末尾の¥を除去
topcomp(文字列) : 文字列の先頭を比較します
topcompi(文字列):文字列の先頭を比較します(大小文字同一視)
例 if (y.topcompi(".fm") == "true") {
mail_mode="true";
}
comp(文字列) :文字列を比較します
sort() : 文字列をソートします
setlinemax() : 行バッファのサイズを指定します。(デフォルトは300)
●mainオブジェクト
フォームを構成するオブジェクトです。
有効なフォームが全て閉じられると自動的にプログラムが終了しま
す。初期値のvisibleがfalseですので、addメソッドの後visible=true
にするまで表示されません。
GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえ
ます。
・オブジェクト
deffuncオブジェクト btnオブジェクト editboxオブジェクト
listboxオブジェクト checkboxオブジェクト labelオブジェクト
memoオブジェクト toolbarオブジェクト pupupオブジェクト
TreeViewオブジェクト ListViewオブジェクト Imageオブジェクト
Splitterオブジェクト
・メソッド
close : フォームを閉じます
bring() : フォームを画面中央に移動します
bring("topmost")で最前面に固定します
bring("cenetr")で画面中央に移動します
getwinlist() : 現在有効なウィンドウのIDリストを返します
例 w.set(main.getwinlist());
setfocus() : 最前面に表示します
SetForeground() : 最前面に表示します(win 98 でも最前面に移動できます)
repaint() : ウィンドウを再表示します
hotkey(id,"key",,,) : ホットキーを設定します。
idは任意の番号です。
OnHotKeyイベントの引数になります
"key"は "ALT","SHIFT","CTR",と"A"..."Z"等
が使えます
"\x??" の書式で??部に16進アスキーも指定可能です。
"key"に何も指定しないと解除されます。
・プロパティ
taskbar : Windowsのタスクバーに表示する(true)か、しないか(false)
を設定します。(1度のみ使用可能)
例 main.taskbar=true;
id : フォームIDを返します。設定はできません。
・イベント
OnDrop(): mainオブジェクトにファイルがドロップされた場合発生し
ます。
arg(1):ドロップしたファイル名
arg(2):id
arg(3):ドロップ位置X
arg(4):ドロップ位置Y
OnFormClose() .... mainオブジェクトがクローズされた場合発生します。
argにはメインオブジェクトのIDが設定されます
OnFormCloseQuery() .... mainオブジェクトがクローズされる直前に
発生します。falseを設定することにより
Close動作を中止できます
argにはメインオブジェクトのIDが設定されます
OnSetFocus() .... フォーカスを受け取ったとき発生します
argにはメインオブジェクトのIDが設定されます
OnKillFocus() .... フォーカスを失ったとき発生します。
argにはメインオブジェクトのIDが設定されます
OnHotKey() ..... ホットキーが押された場合に発生します。
argにはホットキーの番号が入ります。
サンプル
main.add();
main.width=200;
main.height=100;
main.bring("center");
main.caption="Program1";
main.taskbar=true;
main.visible=true;
function OnDrop()
{
if (file.type(arg(1))=="normal") {
alert(str("ドロップしたのは",arg(1)));
}
}
function OnFormClose()
{
file.delete("temp.tmp");
}
●toolbarオブジェクト
WindowsコモンコントロールのToolBarコントロールをラップします
・オブジェクト
popupオブジェクト
・メソッド
add() : ツールバーを追加します。makeメッソドでToolBarの内容が指定
しなければなりません
make(メニューストリング) : メニューの内容を設定します。書式は
image name\hint\Command,,,,
です。
*使用できるimage nameは イメージネーム
を参照してください。
例 //ツールバー作成
x.set(sys.getstring("ToolbarString",macro.body));
x.replace(",","\\r\\n");
main.toolbar.add(16,16,x.pos());
//登録メニュー
StringResource ToolbarString()
{
<c0>,c0,alert("c0");
<c1>,c1,alert("c1");
<c2>,c2,alert("c2");
<c3>,c3,alert("c3");
<c4>,c4,alert("c4");
}
●Popupオブジェクト
WindowsコモンコントロールのPopupコントロールをラップします
・メソッド
add() : Pupupを追加します。additemメッソドでPupupの内容が指定
しなければなりません
additem(メニューストリング) : メニューの内容を設定します。書式は
Item Name\ItemName\.....\Command
です。
例 //メインフォームのPOPUP
x.set(sys.getstring("PopupString",macro.body));
x.replace(",","\\r\\n");
x.replace("\\t"," ");
main.popup.add(x.pos());
//
StringResource PopupString()
{
Popup,alert("popup");
}
●xオブジェクト
FString型のオブジェクトです。
全てのスコープで有効です。
●yオブジェクト
FString型のオブジェクトです。
全てのスコープで有効です。
●zオブジェクト
FString型のオブジェクトです。
全てのスコープで有効です。
●GUIオブジェクト共通
・メソッド
add(x,y,width,height,param1,param2) :
オブジェクトを追加します
各パラメータは省略可能です。
param1はCreateWindow APIのパラメータ
param2はCreateWindowExのパラメータが指定できます
例 main.add();
main.add(5,5,60,100);
main.add(5,5,60,null,null,0x100);
・プロパティ
left : ウィンドウのx位置を設定します
例 main.btn.left="10";
top : ウィンドウのy位置を設定します
例 main.btn.top="25";
width : ウィンドウの幅を設定します
例 main.btn.width="120";
height : ウィンドウの高さを設定します
例 main.btn.width="120";
visible : 可視・不可視を切り替えます
true の場合->表示 false の場合->非表示
例 main.visibe="true";
max の場合Windowを最大化します
min の場合Windowを最小化します
それ以外の場合は,Windows Api ShowWindowに直接データを送ります
font : フォントを指定します
書式 : BIU,color,size,font name
||+- underline
|+-- italic
+--- bold
B、I、Uは指定しない時は _ (下線)を使います。
フォント名は省略できません。
例 main.btn.font="B__,65535,8,MS Pゴシック";
caption : キャプションを設定します
例 main.caption="FScript test";
align : コンポーネントの配置を設定します。GUIオブジェクトによっては
使用できないものもあります。
alNone 非制御
alTop 常に上端に配置
alBottom 常に下端に配置
alLeft 常に左端に配置
alRight 常に右端に配置
alClient ウィンドウを覆うように配置
例 main.panel.align="alClient";
●btnオブジェクト
PUSHボタンを制御します
GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえ
ます。
・イベント
OnBtnClick?() ..... ボタンオブジェクトがクリックされた場合発生
します。
例
main.btn.add(); //object
main.btn.top="20";
main.btn.left="10";
main.btn.width="60";
main.btn.height="20";
main.btn.caption="押すな";
main.btn.flat="false";
main.deffunc.set(macro.body);
// == サブルーチン ==
function OnBtnClick1()
{
alert("押しましたね");
}
●editboxオブジェクト
1行分のテキスト入力ボックスを制御します。
GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえます。
・プロパティ
items : 項目の全てを設定・取得できます
・イベント
OnEditBoxEnter?() ..... [Enetr]が押された場合発生します。
例
main.editbox.add(); //object
main.editbox.top="38";
main.editbox.left="17";
main.editbox.width="222";
main.editbox.height="20";
main.editbox.text="ワイン";
●comboboxオブジェクト
コンボボックスを制御します。
GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえます。
・オブジェクト
popupオブジェクト
・メソッド
additem(アイテム) : アイテムを追加します
・イベント
OnComboBoxEnter?() ..... [Enter]が押された場合発生します。
例 main.combobox.add();
main.combobox.top="80";
main.combobox.left="32";
main.combobox.width="260";
main.combobox.height="120";
main.combobox.additem("リンゴ");
main.combobox.additem("ミカン");
main.combobox.additem("メロン");
●listboxオブジェクト
リストボックスを制御します。
GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえます。
・メソッド
additem():項目を追加します
selitem():選ばれた項目が入ります
if (main.listbox.selitem=="") {
alert("選択してください");
return;
}
・プロパティ
items : 項目の全てを設定・取得できます
・イベント
OnListClick?() .... ListBoxオブジェクトがクリックされた場合発生
します。
OnListDblClick?() . ListBoxオブジェクトがダブルクリックされた場
合発生します。
例 main.listbox.add(); //ext object
main.listbox.top="20";
main.listbox.left="10";
main.listbox.height="150";
main.listbox.width="300";
main.listbox.text=""; // clear
main.listbox.additem("リンゴ");
main.listbox.additem("ミカン");
main.listbox.additem("メロン");
main.visible=true;
function OnListDblClick1()
{
if (main.listbox.selitem=="") {
alert("選択してください");
return;
}
x.set(main.listbox.selitem);
}
●checkboxオブジェクト
チェックボックスを制御します
GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえます。
・プロパティ
checked : アイテムのチェック状態を制御します。
trueはチェック状態です。
・イベント
無し
例 main.checkbox.add("100","50","120","20");
main.checkbox.caption="大人";
main.checkbox.add("100","150","120","20");
main.checkbox2.caption="子供";
main.checkbox1.checked=true;
:
if(main.checkbox2.checked==true) { ...
●labelオブジェクト
ラベルを制御します
GUIオブジェクト共通のメソッド・プロパティがつかえます。
・イベント
無し
例 main.label.add(); //object
main.label.top="15";
main.label.left="17";
main.label.width="65";
main.label.height="12";
main.label.caption="ファイル一覧";
●memoオブジェクト
複数行を入力するテキストボックスを制御します。文字を入力して改
行すると、改行もデータに入ります。
GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえます。
・メソッド
setfocus : 最前面に表示します
getline(a) : 行を取得します
aは行番号を設定します。
aが無指定の場合、現在のカーソル位置を返します。
・プロパティ
lines : caption と同じ(文字列全体を返します)
例 main.memo.lines=y.pos();
text : caption と同じ
nowline : 現在の行を返します
Y : 現在の行位置を返します
例 main.memo.add(); //ext object
main.memo.top="65";
main.memo.left="17";
main.memo.height="153";
main.memo.width="274";
・イベント
OnEditEnter?() ..... [Enter]が押された場合発生します。
●FxEditオブジェクト
FxEditコンポーネントをラップします
GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえます。
・メソッド
ed(a) : 内部コマンドを実行します。詳しくは FxEditRef.txt を参照してください
setfocus : 最前面に表示します
・オブジェクト
pupupオブジェクト
・プロパティ
lines : FStringオブジェクトです。エディタのメイン画面を制御します。
subtext : FStringオブジェクトです。エディタのメイン画面を制御します。
●TreeViewオブジェクト
TreeViewを制御します
GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえます。
・メソッド
additem("aaa\\bbb\\ccc") : ルートノードにaaaを追加し
その子モードbbbを追加し
さらに子モードcccを追加します
setimage(image name,,,,,) : イメージを追加します。
第1パラメータは親ノードが選択された状態
第2パラメータは親ノードが非選択の状態
*使用できるimage nameは イメージネーム
を参照してください。
selectedid() :TreeViewのそれぞれのItemはユニークなIDを持っています。
selectedidは現在選択されているIDを返します。
getid(a) :aが無指定の場合、TreeView全体のIDリストを返します
aが文字列の場合対応するItemのIDを返します。
getdata(id) :idに結び付けられたデータを返します
setdata(id) :idにデータを結びつける
delitem(a) :アイテムを消去します。
a = "all" 全てのデータを消去します
a = "sel" 選択されたデータを消去します
その他 a の名前に対応するItemを削除します
mode() :TreeViewのコンディションを設定します
edit=on TreeViewの編集を許可します
edit=off TreeViewの編集を禁止します
drag=on TreeViewのDrag&Dropを許可します
drag=off TreeViewのDrag&Dropを禁止します
・プロパティ
selected : 現在選択中のTREEを返します。
items : Tree全体をTEXTとして返します
imageindex : 次に追加するノードのイメージを指定します
・オブジェクト
popupオブジェクト
・イベント
OnTreeViewSelChg?() .... treeviewが選択された場合発生します。
OnTreeViewDblClick?() .... treeviewがダブルクリックされた場合発
生します。
例 main.treeview.add(217,43,148,108); //object
main.treeview(1).additem("add item\\test");
main.treeview.items="aaa\\bbb\nccc\\ddd";
main.treeview.additem("add item\\test");
//アイコン表示の例
main.treeview.add(217,159,149,100); //object
main.treeview(2).setimage("<r0:i_close>","<r0:i_open>","
<r0:icon1>","<r0:icon2>");
main.treeview.items="aaa\\bbb\nccc\\ddd";
main.treeview.imageindex=4;
main.treeview.additem("add item\\test");
●ListViewオブジェクト
ListViewを制御します
GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえます。
・メソッド
Columns("name",size,"name",size,,,)
: カラムヘッダを設定します
additem("item","item",,,) : 文字列を追加します
イメージをしようする場合は、第一パラメータ
がイメージIDになります
setimage(image name,,,,,) : イメージを追加します。
第1パラメータは親ノードが選択された状態
第2パラメータは親ノードが非選択の状態
*使用できるimage nameは イメージネーム
を参照してください。
setimagesize("item","item",,,) : イメージサイズを設定します
getitem("item","item",,,) : 文字列を取得します
sort("カラム番号") : 任意のカラムでソートをかけます
・プロパティ
selected : 現在選択中のListを返します
items : List全体をTEXTとして返します
delitem : 選択中のアイテムを消去します
・オブジェクト
popupオブジェクト
・イベント
OnListViewClick?() .... クリックされた場合発生します。
OnListViewDblClick?() .... ダブルクリックされた場合発生します。
例 main.listview.add(26,43,182,110); //object
main.listview(1).Columns("111",70,"222",70,"333",70);
main.listview.items="①\n111\n222\n②\n222\n333";
main.listview.additem("③\n222\n333");
// アイコン表示の例
main.listview.add(26,159,181,101); //object
main.listview(2).Columns("111",70,"222",70,"333",70);
main.listview.setimage("<r0:icon1>","<r0:icon2>","<r0:
icon3>");
main.listview.items="1\n①\n111\n222\n2\n②\n222\n333";
main.listview.additem("3\n③\n222\n333");
OnListViewDelQuery?() .... Itemが消去されるとき発生します。
falseを設定することで消去をキャンセルできます
●Splitterオブジェクト
mainオブジェクト内のオブジェクトサイズを動的に変更します
GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえ
ます。
・メソッド
active() : スプリッターを有効にします
・プロパティ
color : 色を設定します
例 main.width="659";
main.height="474";
//エディタ部品貼り付け
main.memo.add(0,0,50,50); //object
main.memo.align="alTop";
main.splitter.add(0,50,651,5); //object
main.splitter.align="alTop";
main.splitter.active();
main.memo.add(0,110,50,282); //object
main.memo.align="alLeft";
●Imageオブジェクト
mainオブジェクトにイメージを貼り付けます。
使用できるイメージは
カーソル(cur)、ビットマップ(bmp)、アイコン(ico)、
アニメーションカーソル(ani)です。
Lバージョンではこれに加えJpegが表示できます。
GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえ
ます。
・メソッド
readfile(image name) : ファイルを読み込みます
*使用できるimage nameは イメージネーム
を参照してください。
・プロパティ
Transparent : イメージがIconの場合に透明色を有効にします
color : 色を設定します
image : readfileと同じ
●wオブジェクト
FString型のオブジェクトです。
1個の実行単位の中で有効です。
具体的には
①macro.fileメソッドで実行中のプログラム中
②xxx()の関数の中
●rオブジェクト
FString型のオブジェクトです。
イベントの中で有効です。
具体的には
①タイマーイベント中
②OnBtnClickやOnListClick()等組み込みイベントの中
●argオブジェクト
FString型のオブジェクトです。
サブルーチン中で引数を示します。
変更が可能です。
関数が呼ばれるたびに新しく確保されます。変更が可能です。
例 test("a","1","e");
main.visible=true;
function test()
{
alert(arg(1));
alert(arg(2));
alert(arg(3));
}
順番に"a","1","e"と表示されます。
*メソッド・プロパティはFStringオブジェクトを参照してください。
●deffuncオブジェクト
FString型のオブジェクトです。
allオブジェクトのdefufuncとmainオブジェクトのdeffuncがありま
す。ユーザー関数を指定することができます。形式は
function xxx()
{
...関数の内容
}
です。
FXLではxxx()という関数が呼ばれた場合、メソッドテーブルをサーチ
し、次に外部DLLのメソッドテーブルをサーチし、さらに現在実行中
のコードからfunctionキーワードをサーチします。
見つからなかった場合は、mainオブジェクトのdeffuncをサーチし
それでも見つからなかった場合は、allオブジェクトをサーチしま
す。最後に????.iniファイルのコマンドをサーチして見つからなか
った場合はメソッドエラーを表示しマクロ実行を中断します。
*メソッド・プロパティはFStringオブジェクトを参照してください。
●valueオブジェクト
FString型のオブジェクトです。
変数リストの内部処理の為使用されます。
allオブジェクトのvalueとmainオブジェクトのvalueがあります
大文字英数字で始まる文字の場合はallオブジェクトのvalueにセット
され、小文字の場合はmainオブジェクトのvalueに設定されます。
たとえば
AAA=10;
が実行された場合
allオブジェクトのvalueに
AAA,10
が追加され以降FXLでAAAを指定すると10を返すようになります。
*デバッグ中に値の閲覧・変更も可能です。
*メソッド・プロパティはFStringオブジェクトを参照してください。
●cmdlineオブジェクト
FString型のオブジェクトです。
コマンドラインを保持します
例 コマンドラインまたはドロップでファイルを指定する
if (sys.cmdline.length() > 0) {
OnDrop(sys.cmdline(1));
}
*メソッド・プロパティはFStringオブジェクトを参照してください。
●fileオブジェクト
ファイルに関するさまざまな処理を行います。
・メソッド
copy(file1,file2):ファイルfile1をfile2にコピーします。成功する
と trueを返します。
move(file,file2) :ファイルを移動します
dust(file) :ファイルをごみ箱に移します。成功すると trueを返し
ます。
delete(file) :ファイルを削除します。成功すると trueを返します
path(file) :ファイルのパスを返します
name(file) :ファイルの拡張子無しの名前を返します
ext(file) :ファイルの拡張子を返します
例 if (file.ext(arg(1))==".lzh")
datecmp(file1,file2) :ファイルのタイムスタンプを比較します
file1 > file2 → 1
file1 == file2 → 0
file1 < file2 → -1
type(file) :ファイルタイプを返します
通常 -> normal
ディレクトリ -> dir
存在しない -> false
それ以外 -> ?
size(file) :ファイルサイズを返します
date(file) :ファイルの日付を返します
select(title) :-> sysオブジェクトに移動v1.10
●sysオブジェクト
systemに関するさまざまな情報を提供します
・プロパティ
instpath :インストールパスを返します
例 y.set(str(sys.instpath,"\\tmp\\tmp",a,".htm"));
syspath :システムパスを返します(CEバージョンでは無効)
winpath :Windowsパスを返します(CEバージョンでは無効)
autoend :trueで有効なフォームがなくなった時点でプログラム終了
lhawin : UNLHA32のプログレスウィンドウを表示します
Resource :Windowsリソースを返します(CEバージョンでは無効)
出力:
1行目 sys
2行目 user
3行目 gdi
exename : 実行ファイル名を返します(読み取り専用)
・メソッド
checkobject(obj) : オブジェクトが使用可能か調べます
usedll(a,,,) : DLLをロードします。
一度DLLは開放されます。できるだけマクロの先頭で
使用するようにしてください。
installdll(dllname) : DLLをインストールします。成功時 trueを返
します
例 if (sys.installdll(a)=="false") {
alert("インストール失敗");
return;
}
discondll() : 全てのDLLを切り離します
例 sys.discondll();
connectdll() : DLLを再接続します
getinitcmd() : iniファイルのプログラムを取得します
例 x.set(sys.getinitcmd("WindowSave"));
setinitcmd() : iniファイルにプログラムを登録します
例 sys.setinitcmd("WindowSave");
inifile(sec,key,data) : setinifile,getinifileを使用してください。
setinifile(sec,key,data)
: iniファイルのデータの書き込み
sec セクションデータ
key キーデータ
data 設定データ
getinifile(sec,key) : iniファイルのデータの読込み
データを返します
datfile(sec,key,data) : setdatfile,getdatfileを使用してください。
setdatfile(sec,key,data)
: datファイルのデータの書き込み
sec セクションデータ
key キーデータ
data 設定データ
getdatfile(sec,key) : datファイルのデータの読込み
データを返します
version() : FScriptのバージョンを返します
cmdset() : FXLのバージョンを返します
nowdate() : 現在の日付を返します。*書式指定ができます
fileselect(title) :ファイル選択ダイアログを表示ファイルを選択します
例 a = sys.fileselect("選択してください");
if (a == "") {
alert("中止します");
return;
}
findwin(a,b) : FindWindowをラップしています
a = ClassName, b= WindowName
出力は16進表示でウィンドウハンドルを返します
sndmess(a,b,c) : SendMessageをラップしています
a = Window Handle
b = Window Message
c = WPARAM (str:xxxという表示で文字列を渡せます)
d ~ LPARAM (str:xxxという表示で文字列を渡せます)
*a,b,c,d は、先頭に0xをつけると16進表記になります
sndkey(a,a,,,) : キーストロークをアプリケーションに送ります
パラメータは連続して記述できます
1つのパラメータは以下の形式です
・文字 [+] [-]
・ALT | CTR | SHIFT [+] [-]
・WAIT | CODE | STR | SCN:x
文字は必ず先頭に記述してください。
[+]を指定すると、キーダウン、
[-]を指定すると、キーアップ
何も指定しない場合は、キーダウン、アップのキーストローク
を合成します。
・WAIT:x
でキー入力をx msec待たせることができます。
・CODE:x
で直接キーコードを設定できます。
・STR:xxx
で連続的に文字を送ることができます。
・ALT,CTR,SHIFTはそれぞれALT,CTRL,SHIFTキーを意味します
・DOS窓にキーを送るときは先頭で
SCN
を宣言してください。
setfocus(a) : 他のアプリケーションにフォーカスを設定します
a = Window Handle
*aは、先頭に0xをつけると16進表記になります
sleep(a) : a msec FXLの実行を停止します
delayed(a,b) :指定時刻にアプリケーションを実行します(CEバージョンのみ)
a = 時刻 (nowdate()メソッドの出力形式と同じ)
b = アプリケーション名
AddAccKey("key",,) : アクセラレーターキーを設定します。
keyには、"ALT","CTR","SHIFT"
とキーコードが設定できます。
アクセラレーターキーは全てのウィンドウで共通です。
押されると、グローバルイベントOnAccKey()が発生します
設定すると、IDを返します。
IDはOnAccKeyの引数として与えられます
ResAccKey() : アクセラレーターキーを解除します
・オブジェクト
cmdlineオブジェクト
clipオブジェクト
●clipオブジェクト
クリップボードを制御します。
・メソッド
TextTo(a) : 文字列aをクリップボードに送ります
TextFrom() : クリップボードから文字を取り出します
●timerオブジェクト
内蔵グローバルタイマーを制御します。
タイマーは9個用意されています。
・メソッド
set(id,インターバル) : タイマーを制御します
インターバルは100ms単位です
インターバルを0にするとタイマーは停止します
例 timer.set(1,10); //1sec毎更新
counter(id,カウンタ値) : タイマーを確認します
カウンタ値はset()で指定したインターバルに達すると
タイムアップしイベントOnTimer?()
を発行します(?はタイマーID)
例
timer.set(1,10); //1sec毎更新
timer.counter(1,30) //30sec
main.deffunc.set(macro.body);
main.visible=true;
function OnTimer1()
{
alert("Time up!");
}
注意:OnTimerイベントはグローバルイベントです。
イベント内でメインオブジェクトを操作する場合必ず、IDを設定してください。
~~~~~~~~~~~~~~~~~~~~~~~~~~~
function OnTimer1()
{
main.caption="test"; -> 誤
main(1).caption="test"; -> 正
}
●macroオブジェクト
FXLのコード制御します。
・メソッド
file(file name) : ファイルをFXLプログラムと認識して実行します
例 macro.file(str(sys.instpath,"\\mkmailc.fxl"));
str(文字列) : 文字列をFXLプログラムと認識して実行します
例 macro.str("alert(eeee)");
・プロパティ
body : 実行中のプログラムを返します
name : 実行中のプログラムのファイル名を返します
stop : trueにするとFXLの実行を中止します
□イメージネーム
FXLで使用できるイメージは以下の書式で指定してください
①ファイル名
・ファイル名がani,cur,ico,jpeg,bmpの場合
イメージを表示します。
ただしjpegはLバージョンでしか表示できません。
・ファイル名がexe,dllの場合
リソースを読み出します。
#を追加することにより、リソースIDを指定できます。
例 fscript.exe#2
・ファイル名がその他の場合
ファイルに関連付けされたイメージを表示します。
・CEバージョンでは cur,ico,bmpだけの表示となります。
②リソース
<r①:②>
の書式で自リソースより読み出すことができます。
①にはインスタンスを指定します。0でFScriptの実行ファイル
1以降は追加されたDLLです。
<c①>,<C①>
で、ツールバーに使用する際のシステムイメージを指定できます。
この場合はtoolbarオブジェクトのmakeメソッドでだけ使用可能です。