home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2001 June / VPR0106A.BIN / OLS / FSC202 / fsc202.lzh / Refer.txt < prev    next >
Text File  |  2001-03-25  |  36KB  |  1,045 lines

  1.  
  2. 「FXLオブジェクトメソッドプロパティ概要」  
  3.  
  4.  FScript版 FXL の仕様書です。
  5.  追加してもらいたい機能、記述のもれ、不明な点などありましたら
  6.  遠慮無くお問い合わせください。 2001.3.17 y.fuji
  7.  
  8.   http://free01.plala.or.jp/~yfuji/
  9.  
  10.  
  11. ●allオブジェクト
  12.  
  13. allオブジェクトには以下のオブジェクト・プロパティ等があります。
  14.  
  15. ・オブジェクト
  16. mainオブジェクト       argオブジェクト       rオブジェクト
  17. wオブジェクト          valueオブジェクト     fileオブジェクト
  18. sysオブジェクト        timerオブジェクト     macroオブジェクト
  19. deffuncオブジェクト    xオブジェクト         yオブジェクト
  20. zオブジェクト          iオブジェクト         jオブジェクト
  21. kオブジェクト(Lversionのみ)
  22.  
  23. ・メソッド
  24. end()         : プログラムを終了します
  25.  
  26. alert(文字列) :  OKボタンのついたメッセージボックスを表示しま
  27.                  す。ボタンが押されると "OK" が返ります。
  28.  
  29.                  例 alert("おわりました");
  30.  
  31. confirm(文字列):  「はい(Y)」「いいえ(N)」「キャンセル」ボタンの
  32.                    ついたメッセージボックスを表示します。
  33.                    押したボタンに応じて "Yes"  "No"  "Cancel" が返ります。
  34.                    第一パラメーターが数字だけの場合は、メッセージボックスの形状
  35.                    を指定するオプションコマンドと認識されます。
  36.                    指定できる数字は、WindowsAPIのMessageBox の第四パラメータの設定
  37.                    と同じ値です。
  38.  
  39.                     0:OK  1:OK,CANCEL  2:ABORT,RETRY,IGNORE
  40.                       3:YES,NO,CANCEL    4:YES,NO  5:RETRY,CANCEL
  41.  
  42. shell(ファイル名)  :  ファイルに関連付けられたプログラムを実行し
  43.                       ます。成功した場合、trueが返ります。
  44.  
  45. exec(プログラム名) :  プログラム(exeファイル)を実行します。
  46.                       成功した場合、trueが返ります。
  47.  
  48. eval()             : 文字列を計算します(x,/,-,+が指定可能)
  49.  
  50. str(文字列1, 文字列2, 文字列3...) :  文字列を連結します
  51.               例  a=str("答えは",ans,"です");
  52.               例  dname=str(sys.instpath,"\\fxdiff.dll");
  53.  
  54. strtop(a,b)      : 文字列の先頭がbであるかチェックします。
  55.                    等しければ、trueを返します
  56.  
  57. strtopi()        : strtopと同じですがの大小文字無視します。
  58. strnum(a,b)      : 文字列aの書式に従い、bを表示します。
  59.                    例 strnum("%02d",1) --> "01"
  60.                       strnum("%02x",10) --> "0a"
  61.                       strnum("%03d",0x10) --> "016"
  62.                       
  63. len(a)           : 文字列aの数を数えます
  64.  
  65. allオブジェクトを使う場合、allは表記しません
  66. たとえば、alertの場合、
  67. alert("aaa");
  68. と書けばOKです。逆に
  69. all.alert("aaa");
  70. と記述するとメソッドエラーになります。
  71.  
  72. ●FStringオブジェクト
  73. 文字列処理用のオブジェクトです。
  74. VC++でいうCString、C++BuilderでのAnsiString等にあたります。
  75. ただし、ファイルの読み書きとそれぞれの行へのダイレクトなアクセス
  76. を用意しています。またLZH圧縮ファイルもディレクトリとして処理
  77. できます。
  78.  
  79. ・プロパティ
  80. now    : ラインカウンタ
  81. line   : 一行バッファ
  82. length : 全体の長さ
  83.  
  84. ・メソッド
  85. pos(インデックス)    : 文字インデックス以降の文字を返します
  86.                    例  y.set(z.pos(22));
  87.                    if (y.pos() == "0") {  b = "実行" }
  88. clear()         : バッファクリア(メモリも開放されます)
  89.                    例  y.clear();
  90.                        while (x.take() == "true") {
  91.                            y.addline(x.line);
  92.                        }
  93.  
  94. set(文字列) :  文字列をセットします。設定された文字列が返ります
  95.                改行して複数行を設定することもできます。
  96.                例  x.set("一之瀬"
  97.                    "二宮"
  98.                    "三鷹"
  99.                    "四ッ谷");
  100. readfile(ファイル名) :ファイルを読み出します。読めたら true が返ります
  101.                   a="data1.txt";
  102.                   ret=x.readfile(a);
  103.                   または x.readfile("data1.txt");
  104.  
  105. savefile(ファイル名): ファイルを保存します。成功したら true、エラー
  106.                   になったら falseが返ります。
  107.                    例  if ( x.savefile(y.pos()) == "false") {
  108.                            alert("保存に失敗しました");
  109.                            return;
  110.                        }
  111.  
  112. readdir(ディレクトリ,拡張子,LZH有効,サブディレクトリ有効) 指定ディレクトリ
  113.         の一覧を取得して、改行で連結されたファイル一覧が返ります。
  114.   入力: 1. ディレクトリ
  115.          2. 拡張子    "*.*" 又は "*.aaa" 及び "bbb.*" の形式
  116.          2. LZHをディレクトリと見なす  (省略時無効)
  117.          3. サブディレクトリ有効       (省略時有効)
  118.         例 x.readdir("C:","*.*",true,true);
  119.  
  120. take()          :ラインカウンタより1行取り出します
  121.         全ての行を取り出した場合 false、行が残っている場合 true
  122.         が返ります。取り出した値は lineに入ります。
  123.         takeを使う前は必ずtop()を実行してください。
  124.         例:    x.topline();
  125.                 while (x.take() == "true") {
  126.                         alert(x.line);
  127.                 }
  128.  
  129. add(文字列)     :文字列を追加します
  130.                例  x.add("五代"
  131.                    "六本木"
  132.                    );
  133. topline()       :ラインカウンタを1行目し、1行目を返します
  134. top()           :toplineと同じ
  135. endline()       :ラインカウンタを最終行し、最終行を返します
  136. incline(行数)   :ラインカウンタを進めます
  137. decline(行数)   :ラインカウンタを巻き戻します
  138. addline(文字列) :文字列を1ライン追加します
  139.                  例  main.x.addline("八神");
  140. delline(文字列) :ラインカウンタの示す文字を削除します
  141.                  例  main.x.delline();
  142. insline(文字列) :ラインカウンタの示す位置に文字列を挿入します
  143.                  例  main.x.insline("九重");
  144. search(文字列,インデックス) :文字列を検索します
  145. searchi(文字列,インデックス)  :文字列を検索します(大小文字無視)
  146. searchw(文字列,インデックス)  :文字列を検索します(ワード検索)
  147. searchwi(文字列,インデックス) :文字列を検索します
  148.       インデックス(省略時は先頭)から、指定した文字列を検索し
  149.         て、指定文字列の含まれる位置(先頭が0)を返します。みつ
  150.         からない時は-1を返します。
  151.         例  x.set("abc,de");
  152.             n=x.search(",",0);
  153.             alert(n);         // →3が表示されます
  154. substring(先頭位置, 文字数):先頭位置から指定した字数の文字を取り
  155.         出します。*もとの文字列は変更されません
  156.         文字数を省略した時は先頭位置から末尾まで全て。
  157. replace(文字列1,文字列2) : 文字列1を文字列2に置換します
  158.         例  w.replace(".","_");
  159.           z.replace("\\","\\r\\n");
  160. trimr(置換文字) ; 置換文字列に含まれる文字を右から削除します
  161. triml(置換文字) : 置換文字列に含まれる文字を左から削除します
  162.     例:  x.set("abcde f ");
  163.           x.trimr("fe ");    →   結果  abcd
  164.     例:  x.set("1 23456");
  165.           x.trimr(" 12");    →   結果  3456
  166.           z.trimr("\\");  // パス名の末尾の¥を除去
  167. topcomp(文字列) : 文字列の先頭を比較します
  168. topcompi(文字列):文字列の先頭を比較します(大小文字同一視)
  169.     例  if (y.topcompi(".fm") == "true") {
  170.                 mail_mode="true";
  171.         }
  172. comp(文字列)    :文字列を比較します
  173. sort()          : 文字列をソートします
  174. setlinemax()    : 行バッファのサイズを指定します。(デフォルトは300)
  175.  
  176. ●mainオブジェクト
  177. フォームを構成するオブジェクトです。
  178. 有効なフォームが全て閉じられると自動的にプログラムが終了しま
  179. す。初期値のvisibleがfalseですので、addメソッドの後visible=true
  180. にするまで表示されません。
  181. GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえ
  182. ます。
  183.  
  184. ・オブジェクト
  185. deffuncオブジェクト        btnオブジェクト          editboxオブジェクト
  186. listboxオブジェクト        checkboxオブジェクト     labelオブジェクト
  187. memoオブジェクト           toolbarオブジェクト      pupupオブジェクト
  188. TreeViewオブジェクト       ListViewオブジェクト     Imageオブジェクト
  189. Splitterオブジェクト
  190.  
  191. ・メソッド
  192. close       : フォームを閉じます
  193. bring()     : フォームを画面中央に移動します
  194.               bring("topmost")で最前面に固定します
  195.               bring("cenetr")で画面中央に移動します
  196.  
  197. getwinlist() : 現在有効なウィンドウのIDリストを返します
  198.               例  w.set(main.getwinlist());
  199.  
  200. setfocus()       : 最前面に表示します
  201. SetForeground()  : 最前面に表示します(win 98 でも最前面に移動できます)
  202. repaint()        : ウィンドウを再表示します
  203. hotkey(id,"key",,,)  : ホットキーを設定します。
  204.                        idは任意の番号です。
  205.                        OnHotKeyイベントの引数になります
  206.                        "key"は "ALT","SHIFT","CTR",と"A"..."Z"等
  207.                        が使えます
  208.                        "\x??" の書式で??部に16進アスキーも指定可能です。
  209.                        "key"に何も指定しないと解除されます。
  210.  
  211. ・プロパティ
  212. taskbar :  Windowsのタスクバーに表示する(true)か、しないか(false)
  213.            を設定します。(1度のみ使用可能)
  214.            例 main.taskbar=true;
  215.  
  216. id      : フォームIDを返します。設定はできません。
  217.  
  218.  
  219. ・イベント
  220. OnDrop():  mainオブジェクトにファイルがドロップされた場合発生し
  221.            ます。
  222.             arg(1):ドロップしたファイル名
  223.             arg(2):id
  224.             arg(3):ドロップ位置X
  225.             arg(4):ドロップ位置Y
  226.  
  227. OnFormClose()      ....  mainオブジェクトがクローズされた場合発生します。
  228.                          argにはメインオブジェクトのIDが設定されます
  229.  
  230. OnFormCloseQuery() ....  mainオブジェクトがクローズされる直前に
  231.                          発生します。falseを設定することにより
  232.                          Close動作を中止できます
  233.                          argにはメインオブジェクトのIDが設定されます
  234.  
  235. OnSetFocus()      ....  フォーカスを受け取ったとき発生します
  236.                          argにはメインオブジェクトのIDが設定されます
  237. OnKillFocus()      ....  フォーカスを失ったとき発生します。
  238.                          argにはメインオブジェクトのIDが設定されます
  239.                       
  240. OnHotKey()        .....  ホットキーが押された場合に発生します。
  241.                          argにはホットキーの番号が入ります。
  242.  
  243. サンプル
  244.         main.add();
  245.         main.width=200;
  246.         main.height=100;
  247.         main.bring("center");
  248.         main.caption="Program1";
  249.         main.taskbar=true;
  250.         main.visible=true;
  251.  
  252. function OnDrop()
  253. {
  254.         if (file.type(arg(1))=="normal") {
  255.                 alert(str("ドロップしたのは",arg(1)));
  256.         }
  257. }
  258.  
  259. function OnFormClose()
  260. {
  261.     file.delete("temp.tmp");
  262. }
  263.  
  264.  
  265. ●toolbarオブジェクト
  266. WindowsコモンコントロールのToolBarコントロールをラップします
  267.  
  268. ・オブジェクト
  269. popupオブジェクト
  270.  
  271. ・メソッド
  272. add()             : ツールバーを追加します。makeメッソドでToolBarの内容が指定
  273.                     しなければなりません
  274.  
  275. make(メニューストリング)  : メニューの内容を設定します。書式は
  276.                     image name\hint\Command,,,,
  277.                     です。
  278.                          *使用できるimage nameは イメージネーム
  279.                          を参照してください。
  280.  
  281. 例    //ツールバー作成
  282.     x.set(sys.getstring("ToolbarString",macro.body));
  283.     x.replace(",","\\r\\n");
  284.     main.toolbar.add(16,16,x.pos());
  285.     //登録メニュー
  286.     StringResource ToolbarString()
  287.     {
  288.     <c0>,c0,alert("c0");
  289.     <c1>,c1,alert("c1");
  290.     <c2>,c2,alert("c2");
  291.     <c3>,c3,alert("c3");
  292.     <c4>,c4,alert("c4");
  293.     }
  294.  
  295.  
  296. ●Popupオブジェクト
  297. WindowsコモンコントロールのPopupコントロールをラップします
  298.  
  299. ・メソッド
  300. add()                : Pupupを追加します。additemメッソドでPupupの内容が指定
  301.                        しなければなりません
  302.  
  303. additem(メニューストリング)  : メニューの内容を設定します。書式は
  304.                     Item Name\ItemName\.....\Command
  305.                     です。
  306.  
  307. 例    //メインフォームのPOPUP
  308.     x.set(sys.getstring("PopupString",macro.body));
  309.     x.replace(",","\\r\\n");
  310.     x.replace("\\t","    ");
  311.     main.popup.add(x.pos());
  312.     //
  313.     StringResource PopupString()
  314.     {
  315.     Popup,alert("popup");
  316.     }
  317.  
  318.  
  319. ●xオブジェクト
  320.  
  321. FString型のオブジェクトです。
  322. 全てのスコープで有効です。
  323.  
  324. ●yオブジェクト
  325.  
  326. FString型のオブジェクトです。
  327. 全てのスコープで有効です。
  328.  
  329. ●zオブジェクト
  330.  
  331. FString型のオブジェクトです。
  332. 全てのスコープで有効です。
  333.  
  334.  
  335. ●GUIオブジェクト共通
  336.  
  337. ・メソッド
  338. add(x,y,width,height,param1,param2) : 
  339.    オブジェクトを追加します
  340.    各パラメータは省略可能です。
  341.    param1はCreateWindow APIのパラメータ
  342.    param2はCreateWindowExのパラメータが指定できます
  343.  
  344.         例  main.add();
  345.             main.add(5,5,60,100);
  346.             main.add(5,5,60,null,null,0x100);
  347.  
  348. ・プロパティ
  349. left       : ウィンドウのx位置を設定します
  350.              例  main.btn.left="10";
  351.  
  352. top        : ウィンドウのy位置を設定します
  353.              例  main.btn.top="25";
  354.  
  355. width      : ウィンドウの幅を設定します
  356.              例  main.btn.width="120";
  357.  
  358. height     : ウィンドウの高さを設定します
  359.              例  main.btn.width="120";
  360.  
  361. visible    : 可視・不可視を切り替えます
  362.              true  の場合->表示   false の場合->非表示
  363.              例  main.visibe="true";
  364.              max の場合Windowを最大化します
  365.              min の場合Windowを最小化します
  366.              それ以外の場合は,Windows Api ShowWindowに直接データを送ります
  367.  
  368. font       : フォントを指定します
  369.              書式 : BIU,color,size,font name
  370.                     ||+- underline
  371.                     |+-- italic 
  372.                     +--- bold
  373.         B、I、Uは指定しない時は _ (下線)を使います。
  374.              フォント名は省略できません。
  375.              例  main.btn.font="B__,65535,8,MS Pゴシック";
  376.  
  377. caption    : キャプションを設定します
  378.              例  main.caption="FScript test";
  379.  
  380. align      : コンポーネントの配置を設定します。GUIオブジェクトによっては
  381.              使用できないものもあります。
  382.              alNone     非制御
  383.              alTop      常に上端に配置
  384.              alBottom   常に下端に配置
  385.              alLeft     常に左端に配置
  386.              alRight    常に右端に配置
  387.              alClient   ウィンドウを覆うように配置
  388.              例  main.panel.align="alClient";
  389.  
  390.  
  391. ●btnオブジェクト
  392. PUSHボタンを制御します
  393. GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえ
  394. ます。
  395.  
  396. ・イベント
  397. OnBtnClick?() .....  ボタンオブジェクトがクリックされた場合発生
  398.                      します。
  399.  
  400.   例
  401.         main.btn.add(); //object
  402.         main.btn.top="20";
  403.         main.btn.left="10";
  404.         main.btn.width="60";
  405.         main.btn.height="20";
  406.         main.btn.caption="押すな";
  407.         main.btn.flat="false";
  408.         main.deffunc.set(macro.body);
  409.     // == サブルーチン ==
  410.         function OnBtnClick1()
  411.         {
  412.           alert("押しましたね");
  413.         }
  414.  
  415. ●editboxオブジェクト
  416.  1行分のテキスト入力ボックスを制御します。
  417.  GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえます。
  418.  
  419. ・プロパティ
  420. items : 項目の全てを設定・取得できます
  421.  
  422. ・イベント
  423.  
  424. OnEditBoxEnter?() .....  [Enetr]が押された場合発生します。
  425.  例
  426.         main.editbox.add();     //object
  427.         main.editbox.top="38";
  428.         main.editbox.left="17";
  429.         main.editbox.width="222";
  430.         main.editbox.height="20";
  431.         main.editbox.text="ワイン";
  432.  
  433.  
  434. ●comboboxオブジェクト
  435.  コンボボックスを制御します。
  436. GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえます。
  437.  
  438. ・オブジェクト
  439. popupオブジェクト
  440. ・メソッド
  441. additem(アイテム) : アイテムを追加します
  442. ・イベント
  443. OnComboBoxEnter?() .....  [Enter]が押された場合発生します。
  444.  例    main.combobox.add();
  445.         main.combobox.top="80";
  446.         main.combobox.left="32";
  447.         main.combobox.width="260";
  448.         main.combobox.height="120";
  449.         main.combobox.additem("リンゴ");
  450.         main.combobox.additem("ミカン");
  451.         main.combobox.additem("メロン");
  452.  
  453.  
  454. ●listboxオブジェクト
  455.  リストボックスを制御します。
  456. GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえます。
  457.  
  458. ・メソッド
  459. additem():項目を追加します
  460. selitem():選ばれた項目が入ります
  461.         if (main.listbox.selitem=="") {
  462.                 alert("選択してください");
  463.                 return;
  464.         }
  465.  
  466. ・プロパティ
  467. items : 項目の全てを設定・取得できます
  468.  
  469. ・イベント
  470. OnListClick?() ....  ListBoxオブジェクトがクリックされた場合発生
  471.                      します。
  472. OnListDblClick?() .  ListBoxオブジェクトがダブルクリックされた場
  473.                      合発生します。
  474.   例    main.listbox.add();     //ext object
  475.         main.listbox.top="20";
  476.         main.listbox.left="10";
  477.         main.listbox.height="150";
  478.         main.listbox.width="300";
  479.         main.listbox.text="";  // clear
  480.         main.listbox.additem("リンゴ");
  481.         main.listbox.additem("ミカン");
  482.         main.listbox.additem("メロン");
  483.         main.visible=true;
  484.         function OnListDblClick1()
  485.             {
  486.                 if (main.listbox.selitem=="") {
  487.                         alert("選択してください");
  488.                         return;
  489.                 }
  490.                 x.set(main.listbox.selitem);
  491.             }
  492.  
  493.  
  494. ●checkboxオブジェクト
  495.  チェックボックスを制御します
  496. GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえます。
  497. ・プロパティ
  498. checked :  アイテムのチェック状態を制御します。
  499.            trueはチェック状態です。
  500. ・イベント
  501.  無し
  502. 例      main.checkbox.add("100","50","120","20");
  503.         main.checkbox.caption="大人";
  504.         main.checkbox.add("100","150","120","20");
  505.         main.checkbox2.caption="子供";
  506.         main.checkbox1.checked=true;
  507.           :
  508.         if(main.checkbox2.checked==true) { ...
  509.  
  510.  
  511. ●labelオブジェクト
  512.  ラベルを制御します
  513.  GUIオブジェクト共通のメソッド・プロパティがつかえます。
  514. ・イベント
  515.  無し
  516. 例      main.label.add();       //object
  517.         main.label.top="15";
  518.         main.label.left="17";
  519.         main.label.width="65";
  520.         main.label.height="12";
  521.         main.label.caption="ファイル一覧";
  522.  
  523.  
  524. ●memoオブジェクト
  525.  複数行を入力するテキストボックスを制御します。文字を入力して改
  526. 行すると、改行もデータに入ります。
  527.  GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえます。
  528.  
  529. ・メソッド
  530. setfocus    : 最前面に表示します
  531. getline(a)  : 行を取得します
  532.               aは行番号を設定します。
  533.               aが無指定の場合、現在のカーソル位置を返します。
  534.               
  535. ・プロパティ
  536. lines   : caption と同じ(文字列全体を返します)
  537.           例  main.memo.lines=y.pos();
  538. text    : caption と同じ
  539. nowline : 現在の行を返します
  540. Y       : 現在の行位置を返します
  541.   例    main.memo.add();        //ext object
  542.         main.memo.top="65";
  543.         main.memo.left="17";
  544.         main.memo.height="153";
  545.         main.memo.width="274";
  546.  
  547. ・イベント
  548. OnEditEnter?() .....  [Enter]が押された場合発生します。
  549.  
  550. ●FxEditオブジェクト
  551.   FxEditコンポーネントをラップします
  552.  GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえます。
  553.  
  554. ・メソッド
  555. ed(a)  : 内部コマンドを実行します。詳しくは FxEditRef.txt を参照してください
  556. setfocus    : 最前面に表示します
  557.  
  558. ・オブジェクト
  559. pupupオブジェクト
  560.  
  561. ・プロパティ
  562. lines   : FStringオブジェクトです。エディタのメイン画面を制御します。
  563. subtext   : FStringオブジェクトです。エディタのメイン画面を制御します。
  564.  
  565. ●TreeViewオブジェクト
  566.  TreeViewを制御します
  567.  GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえます。
  568.  
  569. ・メソッド
  570. additem("aaa\\bbb\\ccc")  : ルートノードにaaaを追加し
  571.                             その子モードbbbを追加し
  572.                             さらに子モードcccを追加します
  573.  
  574. setimage(image name,,,,,) : イメージを追加します。
  575.                               第1パラメータは親ノードが選択された状態
  576.                               第2パラメータは親ノードが非選択の状態
  577.  
  578.                          *使用できるimage nameは イメージネーム
  579.                          を参照してください。
  580.  
  581. selectedid()     :TreeViewのそれぞれのItemはユニークなIDを持っています。
  582.                   selectedidは現在選択されているIDを返します。
  583.  
  584. getid(a)         :aが無指定の場合、TreeView全体のIDリストを返します
  585.                   aが文字列の場合対応するItemのIDを返します。
  586.  
  587. getdata(id)      :idに結び付けられたデータを返します
  588. setdata(id)      :idにデータを結びつける
  589. delitem(a)       :アイテムを消去します。
  590.                   a = "all" 全てのデータを消去します
  591.                   a = "sel" 選択されたデータを消去します
  592.                   その他 a の名前に対応するItemを削除します
  593.  
  594. mode()           :TreeViewのコンディションを設定します
  595.                   edit=on TreeViewの編集を許可します
  596.                   edit=off TreeViewの編集を禁止します
  597.                   drag=on TreeViewのDrag&Dropを許可します
  598.                   drag=off TreeViewのDrag&Dropを禁止します
  599.  
  600. ・プロパティ
  601. selected          : 現在選択中のTREEを返します。
  602. items           : Tree全体をTEXTとして返します
  603. imageindex        : 次に追加するノードのイメージを指定します
  604.  
  605. ・オブジェクト
  606. popupオブジェクト
  607.  
  608. ・イベント
  609. OnTreeViewSelChg?() ....  treeviewが選択された場合発生します。
  610. OnTreeViewDblClick?() ....  treeviewがダブルクリックされた場合発
  611.                             生します。
  612. 例    main.treeview.add(217,43,148,108);  //object
  613.     main.treeview(1).additem("add item\\test");
  614.     main.treeview.items="aaa\\bbb\nccc\\ddd";
  615.     main.treeview.additem("add item\\test");
  616.     //アイコン表示の例
  617.     main.treeview.add(217,159,149,100);  //object
  618.     main.treeview(2).setimage("<r0:i_close>","<r0:i_open>","
  619.     <r0:icon1>","<r0:icon2>");
  620.     main.treeview.items="aaa\\bbb\nccc\\ddd";
  621.     main.treeview.imageindex=4;
  622.     main.treeview.additem("add item\\test");
  623.  
  624. ●ListViewオブジェクト
  625. ListViewを制御します
  626. GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえます。
  627.  
  628. ・メソッド
  629. Columns("name",size,"name",size,,,)   
  630.                 : カラムヘッダを設定します
  631. additem("item","item",,,)  : 文字列を追加します
  632.                  イメージをしようする場合は、第一パラメータ
  633.                              がイメージIDになります
  634.  
  635. setimage(image name,,,,,) : イメージを追加します。
  636.                               第1パラメータは親ノードが選択された状態
  637.                               第2パラメータは親ノードが非選択の状態
  638.  
  639.                          *使用できるimage nameは イメージネーム
  640.                          を参照してください。
  641.  
  642. setimagesize("item","item",,,)  : イメージサイズを設定します
  643. getitem("item","item",,,)  : 文字列を取得します
  644. sort("カラム番号")  : 任意のカラムでソートをかけます
  645.  
  646. ・プロパティ
  647. selected       : 現在選択中のListを返します
  648. items          : List全体をTEXTとして返します
  649. delitem        : 選択中のアイテムを消去します
  650.  
  651. ・オブジェクト
  652. popupオブジェクト
  653. ・イベント
  654. OnListViewClick?() ....  クリックされた場合発生します。
  655. OnListViewDblClick?() ....  ダブルクリックされた場合発生します。
  656.  
  657. 例    main.listview.add(26,43,182,110);  //object
  658.     main.listview(1).Columns("111",70,"222",70,"333",70);
  659.     main.listview.items="①\n111\n222\n②\n222\n333";
  660.     main.listview.additem("③\n222\n333");
  661.     // アイコン表示の例
  662.     main.listview.add(26,159,181,101);  //object
  663.     main.listview(2).Columns("111",70,"222",70,"333",70);
  664.     main.listview.setimage("<r0:icon1>","<r0:icon2>","<r0:
  665.     icon3>");
  666.     main.listview.items="1\n①\n111\n222\n2\n②\n222\n333";
  667.     main.listview.additem("3\n③\n222\n333");
  668.  
  669. OnListViewDelQuery?()  .... Itemが消去されるとき発生します。
  670.                             falseを設定することで消去をキャンセルできます
  671.                            
  672.  
  673. ●Splitterオブジェクト
  674. mainオブジェクト内のオブジェクトサイズを動的に変更します
  675. GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえ
  676. ます。
  677.  
  678. ・メソッド
  679. active()    : スプリッターを有効にします
  680.  
  681. ・プロパティ
  682. color          : 色を設定します
  683.  
  684. 例    main.width="659";
  685.     main.height="474";
  686.     //エディタ部品貼り付け
  687.     main.memo.add(0,0,50,50);  //object
  688.     main.memo.align="alTop";
  689.  
  690.     main.splitter.add(0,50,651,5);  //object
  691.     main.splitter.align="alTop";
  692.     main.splitter.active();
  693.  
  694.     main.memo.add(0,110,50,282);  //object
  695.     main.memo.align="alLeft";
  696.  
  697.  
  698. ●Imageオブジェクト
  699. mainオブジェクトにイメージを貼り付けます。
  700. 使用できるイメージは
  701. カーソル(cur)、ビットマップ(bmp)、アイコン(ico)、
  702. アニメーションカーソル(ani)です。
  703. Lバージョンではこれに加えJpegが表示できます。
  704. GUIオブジェクト共通に加え以下のメソッド・プロパティがつかえ
  705. ます。
  706.  
  707. ・メソッド
  708. readfile(image name)    : ファイルを読み込みます
  709.                          *使用できるimage nameは イメージネーム
  710.                          を参照してください。
  711.  
  712. ・プロパティ
  713. Transparent    : イメージがIconの場合に透明色を有効にします
  714. color          : 色を設定します
  715. image          : readfileと同じ
  716.  
  717.  
  718. ●wオブジェクト
  719. FString型のオブジェクトです。
  720. 1個の実行単位の中で有効です。
  721. 具体的には
  722. ①macro.fileメソッドで実行中のプログラム中
  723. ②xxx()の関数の中
  724.  
  725. ●rオブジェクト
  726. FString型のオブジェクトです。
  727. イベントの中で有効です。
  728. 具体的には
  729. ①タイマーイベント中
  730. ②OnBtnClickやOnListClick()等組み込みイベントの中
  731.  
  732. ●argオブジェクト
  733. FString型のオブジェクトです。
  734. サブルーチン中で引数を示します。
  735. 変更が可能です。
  736.  
  737.  関数が呼ばれるたびに新しく確保されます。変更が可能です。
  738.  例  test("a","1","e");
  739.       main.visible=true;
  740.       function test()
  741.       {
  742.          alert(arg(1));
  743.          alert(arg(2));
  744.          alert(arg(3));
  745.       }
  746.     順番に"a","1","e"と表示されます。
  747.  
  748. *メソッド・プロパティはFStringオブジェクトを参照してください。
  749.  
  750. ●deffuncオブジェクト
  751. FString型のオブジェクトです。
  752. allオブジェクトのdefufuncとmainオブジェクトのdeffuncがありま
  753. す。ユーザー関数を指定することができます。形式は
  754. function xxx()
  755. {
  756. ...関数の内容
  757. }
  758. です。
  759. FXLではxxx()という関数が呼ばれた場合、メソッドテーブルをサーチ
  760. し、次に外部DLLのメソッドテーブルをサーチし、さらに現在実行中
  761. のコードからfunctionキーワードをサーチします。
  762. 見つからなかった場合は、mainオブジェクトのdeffuncをサーチし
  763. それでも見つからなかった場合は、allオブジェクトをサーチしま
  764. す。最後に????.iniファイルのコマンドをサーチして見つからなか
  765. った場合はメソッドエラーを表示しマクロ実行を中断します。
  766.  
  767. *メソッド・プロパティはFStringオブジェクトを参照してください。
  768.  
  769. ●valueオブジェクト
  770. FString型のオブジェクトです。
  771. 変数リストの内部処理の為使用されます。
  772.  
  773. allオブジェクトのvalueとmainオブジェクトのvalueがあります
  774. 大文字英数字で始まる文字の場合はallオブジェクトのvalueにセット
  775. され、小文字の場合はmainオブジェクトのvalueに設定されます。
  776.  
  777. たとえば 
  778. AAA=10;
  779. が実行された場合
  780. allオブジェクトのvalueに
  781. AAA,10
  782. が追加され以降FXLでAAAを指定すると10を返すようになります。
  783.  
  784. *デバッグ中に値の閲覧・変更も可能です。
  785. *メソッド・プロパティはFStringオブジェクトを参照してください。
  786.  
  787. ●cmdlineオブジェクト
  788. FString型のオブジェクトです。
  789. コマンドラインを保持します
  790.    例 コマンドラインまたはドロップでファイルを指定する
  791.         if (sys.cmdline.length() > 0) {
  792.                 OnDrop(sys.cmdline(1));
  793.         }
  794.  
  795. *メソッド・プロパティはFStringオブジェクトを参照してください。
  796.  
  797. ●fileオブジェクト
  798. ファイルに関するさまざまな処理を行います。
  799.  
  800. ・メソッド
  801. copy(file1,file2):ファイルfile1をfile2にコピーします。成功する
  802.                   と trueを返します。
  803. move(file,file2) :ファイルを移動します
  804. dust(file)       :ファイルをごみ箱に移します。成功すると trueを返し
  805.                   ます。
  806. delete(file)     :ファイルを削除します。成功すると trueを返します
  807. path(file)       :ファイルのパスを返します
  808. name(file)       :ファイルの拡張子無しの名前を返します
  809. ext(file)        :ファイルの拡張子を返します
  810.                   例  if (file.ext(arg(1))==".lzh")
  811. datecmp(file1,file2)  :ファイルのタイムスタンプを比較します
  812.              file1 >  file2  →   1
  813.                file1 == file2  →   0
  814.                 file1 <  file2  →  -1
  815. type(file)       :ファイルタイプを返します
  816.                      通常          -> normal
  817.                      ディレクトリ  -> dir
  818.                      存在しない    -> false
  819.                      それ以外      -> ?
  820. size(file)       :ファイルサイズを返します
  821. date(file)       :ファイルの日付を返します
  822. select(title)    :-> sysオブジェクトに移動v1.10 
  823.  
  824. ●sysオブジェクト
  825. systemに関するさまざまな情報を提供します
  826.  
  827. ・プロパティ
  828. instpath      :インストールパスを返します
  829.            例  y.set(str(sys.instpath,"\\tmp\\tmp",a,".htm"));
  830.  
  831. syspath       :システムパスを返します(CEバージョンでは無効)
  832. winpath       :Windowsパスを返します(CEバージョンでは無効)
  833.  
  834. autoend       :trueで有効なフォームがなくなった時点でプログラム終了
  835. lhawin        : UNLHA32のプログレスウィンドウを表示します
  836. Resource      :Windowsリソースを返します(CEバージョンでは無効)
  837.                出力:
  838.                1行目 sys
  839.                2行目 user
  840.                3行目 gdi
  841.                
  842. exename       : 実行ファイル名を返します(読み取り専用)
  843.  
  844. ・メソッド
  845. checkobject(obj)      : オブジェクトが使用可能か調べます
  846. usedll(a,,,)          : DLLをロードします。
  847.                         一度DLLは開放されます。できるだけマクロの先頭で
  848.                         使用するようにしてください。
  849.  
  850. installdll(dllname) :  DLLをインストールします。成功時 trueを返
  851.                        します
  852.                         例  if (sys.installdll(a)=="false") {
  853.                                 alert("インストール失敗");
  854.                                 return;
  855.                             }
  856.  
  857. discondll()           : 全てのDLLを切り離します
  858.                         例  sys.discondll();
  859.  
  860. connectdll()          : DLLを再接続します
  861. getinitcmd()          : iniファイルのプログラムを取得します
  862.                         例  x.set(sys.getinitcmd("WindowSave"));
  863.  
  864. setinitcmd()          : iniファイルにプログラムを登録します
  865.                         例  sys.setinitcmd("WindowSave");
  866.  
  867. inifile(sec,key,data) : setinifile,getinifileを使用してください。
  868. setinifile(sec,key,data) 
  869.                       : iniファイルのデータの書き込み
  870.                         sec セクションデータ
  871.                         key キーデータ
  872.                         data 設定データ
  873. getinifile(sec,key)   : iniファイルのデータの読込み
  874.                         データを返します
  875.  
  876. datfile(sec,key,data) : setdatfile,getdatfileを使用してください。
  877. setdatfile(sec,key,data) 
  878.                       : datファイルのデータの書き込み
  879.                         sec セクションデータ
  880.                         key キーデータ
  881.                         data 設定データ
  882. getdatfile(sec,key)  : datファイルのデータの読込み
  883.                        データを返します
  884.  
  885. version()             : FScriptのバージョンを返します
  886. cmdset()              : FXLのバージョンを返します
  887. nowdate()             : 現在の日付を返します。*書式指定ができます
  888.  
  889. fileselect(title)    :ファイル選択ダイアログを表示ファイルを選択します
  890.                        例  a = sys.fileselect("選択してください");
  891.                            if (a == "") {
  892.                                alert("中止します");
  893.                                return;
  894.                             }
  895.  
  896. findwin(a,b)         : FindWindowをラップしています
  897.                        a = ClassName, b= WindowName   
  898.                        出力は16進表示でウィンドウハンドルを返します
  899.  
  900. sndmess(a,b,c)       : SendMessageをラップしています
  901.                        a = Window Handle
  902.                        b = Window Message
  903.                        c = WPARAM (str:xxxという表示で文字列を渡せます)
  904.                        d ~ LPARAM (str:xxxという表示で文字列を渡せます)
  905.                        *a,b,c,d は、先頭に0xをつけると16進表記になります
  906.  
  907. sndkey(a,a,,,)       : キーストロークをアプリケーションに送ります
  908.                        パラメータは連続して記述できます
  909.                        1つのパラメータは以下の形式です
  910.  
  911.                        ・文字 [+] [-] 
  912.                        ・ALT | CTR | SHIFT [+] [-] 
  913.                        ・WAIT | CODE | STR | SCN:x
  914.  
  915.                        文字は必ず先頭に記述してください。
  916.                        [+]を指定すると、キーダウン、
  917.                        [-]を指定すると、キーアップ
  918.                        何も指定しない場合は、キーダウン、アップのキーストローク
  919.                        を合成します。
  920.                        
  921.                        ・WAIT:x
  922.                          でキー入力をx msec待たせることができます。
  923.                        ・CODE:x
  924.                          で直接キーコードを設定できます。
  925.                        ・STR:xxx
  926.                          で連続的に文字を送ることができます。
  927.                        ・ALT,CTR,SHIFTはそれぞれALT,CTRL,SHIFTキーを意味します
  928.                        ・DOS窓にキーを送るときは先頭で
  929.                          SCN
  930.                          を宣言してください。
  931.                        
  932. setfocus(a)           : 他のアプリケーションにフォーカスを設定します
  933.                         a = Window Handle
  934.                         *aは、先頭に0xをつけると16進表記になります
  935.  
  936. sleep(a)              : a msec FXLの実行を停止します
  937.  
  938. delayed(a,b)          :指定時刻にアプリケーションを実行します(CEバージョンのみ)
  939.                        a = 時刻 (nowdate()メソッドの出力形式と同じ)
  940.                        b = アプリケーション名
  941.  
  942. AddAccKey("key",,)    : アクセラレーターキーを設定します。
  943.                         keyには、"ALT","CTR","SHIFT"
  944.                         とキーコードが設定できます。
  945.                         アクセラレーターキーは全てのウィンドウで共通です。
  946.                         押されると、グローバルイベントOnAccKey()が発生します
  947.                         設定すると、IDを返します。
  948.                         IDはOnAccKeyの引数として与えられます
  949.                         
  950. ResAccKey()           : アクセラレーターキーを解除します
  951.  
  952. ・オブジェクト
  953. cmdlineオブジェクト
  954. clipオブジェクト
  955.  
  956. ●clipオブジェクト
  957. クリップボードを制御します。
  958.  
  959. ・メソッド
  960. TextTo(a)    : 文字列aをクリップボードに送ります
  961. TextFrom()   : クリップボードから文字を取り出します
  962.  
  963. ●timerオブジェクト
  964. 内蔵グローバルタイマーを制御します。
  965. タイマーは9個用意されています。
  966.  
  967. ・メソッド
  968. set(id,インターバル)           : タイマーを制御します
  969.                             インターバルは100ms単位です
  970.                             インターバルを0にするとタイマーは停止します
  971.      例  timer.set(1,10); //1sec毎更新
  972. counter(id,カウンタ値)        : タイマーを確認します
  973.                             カウンタ値はset()で指定したインターバルに達すると
  974.                             タイムアップしイベントOnTimer?()
  975.                             を発行します(?はタイマーID)
  976.         timer.set(1,10); //1sec毎更新
  977.         timer.counter(1,30) //30sec
  978.         main.deffunc.set(macro.body);
  979.         main.visible=true;
  980.         
  981.         function OnTimer1()
  982.         {
  983.                 alert("Time up!");
  984.         }
  985.   
  986.   注意:OnTimerイベントはグローバルイベントです。
  987.      イベント内でメインオブジェクトを操作する場合必ず、IDを設定してください。
  988.                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  989.         function OnTimer1()
  990.         {
  991.             main.caption="test";     -> 誤
  992.             main(1).caption="test";  -> 正
  993.         }
  994.  
  995.  
  996. ●macroオブジェクト
  997. FXLのコード制御します。
  998.  
  999. ・メソッド
  1000. file(file name)    : ファイルをFXLプログラムと認識して実行します
  1001.         例 macro.file(str(sys.instpath,"\\mkmailc.fxl"));
  1002.  
  1003. str(文字列)        : 文字列をFXLプログラムと認識して実行します
  1004.         例 macro.str("alert(eeee)");
  1005.  
  1006. ・プロパティ
  1007. body          : 実行中のプログラムを返します
  1008. name          : 実行中のプログラムのファイル名を返します
  1009. stop          : trueにするとFXLの実行を中止します
  1010.  
  1011.  
  1012. □イメージネーム
  1013. FXLで使用できるイメージは以下の書式で指定してください
  1014.  
  1015. ①ファイル名
  1016.  
  1017.  ・ファイル名がani,cur,ico,jpeg,bmpの場合
  1018.    イメージを表示します。
  1019.    ただしjpegはLバージョンでしか表示できません。
  1020.  
  1021.  ・ファイル名がexe,dllの場合
  1022.    リソースを読み出します。
  1023.    #を追加することにより、リソースIDを指定できます。
  1024.     例 fscript.exe#2
  1025.  
  1026.  ・ファイル名がその他の場合
  1027.    ファイルに関連付けされたイメージを表示します。
  1028.  
  1029.  ・CEバージョンでは cur,ico,bmpだけの表示となります。
  1030.  
  1031. ②リソース
  1032.  
  1033.  <r①:②>
  1034.  の書式で自リソースより読み出すことができます。
  1035.  ①にはインスタンスを指定します。0でFScriptの実行ファイル
  1036.  1以降は追加されたDLLです。
  1037.  
  1038.  <c①>,<C①>
  1039.  で、ツールバーに使用する際のシステムイメージを指定できます。
  1040.  この場合はtoolbarオブジェクトのmakeメソッドでだけ使用可能です。
  1041.  
  1042.  
  1043.  
  1044.