「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,alert("c0"); ,c1,alert("c1"); ,c2,alert("c2"); ,c3,alert("c3"); ,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("",""," ",""); 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\nA\n222\n333"; main.listview.additem("B\n222\n333"); // アイコン表示の例 main.listview.add(26,159,181,101); //object main.listview(2).Columns("111",70,"222",70,"333",70); main.listview.setimage("","",""); main.listview.items="1\n@\n111\n222\n2\nA\n222\n333"; main.listview.additem("3\nB\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メソッドで実行中のプログラム中 Axxx()の関数の中 ●rオブジェクト FString型のオブジェクトです。 イベントの中で有効です。 具体的には @タイマーイベント中 AOnBtnClickや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だけの表示となります。 Aリソース    の書式で自リソースより読み出すことができます。  @にはインスタンスを指定します。0でFScriptの実行ファイル  1以降は追加されたDLLです。  ,  で、ツールバーに使用する際のシステムイメージを指定できます。  この場合はtoolbarオブジェクトのmakeメソッドでだけ使用可能です。