home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 March / VPR9703A.ISO / FWINDOWS / Win95 / Qxnh40 / QXNH40.LZH / MACRO / QSTATE.HTF < prev    next >
Text File  |  1996-12-22  |  64KB  |  2,908 lines

  1. ;width=70 version=150 datetime=1996/12/05 13:01:25
  2. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  3. .topic2    ステートメント・関数 索引    state
  4. .idx QXM_STATEMENT
  5. #if16
  6. '!{\footnote !AA(0x1b,0,"CloseWindow(`state')")}
  7. #endif
  8. .noscroll
  9. ;.title
  10. .crpitcha 2
  11. .crpitchb 2
  12. '{\strike A }{\v %AAA} 
  13. '{\strike B }{\v %BBB} 
  14. '{\strike C }{\v %CCC} 
  15. '{\strike D }{\v %DDD} 
  16. '{\strike E }{\v %EEE} 
  17. '{\strike F }{\v %FFF} 
  18. '{\strike G }{\v %GGG} 
  19. '{\strike H }{\v %HHH} 
  20. '{\strike I }{\v %III} 
  21. '{\strike J }{\v %JJJ} 
  22. '{\strike K }{\v %KKK} 
  23. '{\strike L }{\v %LLL} 
  24. '{\strike M }{\v %MMM} 
  25. '{\strike N }{\v %NNN} 
  26. '{\strike O }{\v %OOO} 
  27. '{\strike P }{\v %PPP} 
  28. '{\strike R }{\v %RRR} 
  29. '{\strike S }{\v %SSS} 
  30. '{\strike T }{\v %TTT} 
  31. '{\strike U }{\v %UUU} 
  32. '{\strike V }{\v %VVV} 
  33. '{\strike W }{\v %WWW} 
  34. '{\strike X }{\v %XXX} 
  35. '{\strike 記号 }{\v %SIGN} 
  36.  
  37. .endnoscroll
  38. .crpitchb 0
  39. .crpitcha 2
  40. ;.idx SECWIN
  41. .idx AAA
  42. .bold [A]
  43. abs 関数
  44. and 演算子
  45. anykeypressed 関数
  46. appactivate 関数
  47. appactivate2 関数
  48. asc 関数
  49.  
  50. .idx BBB
  51. .bold [B]
  52. beep ステートメント
  53.  
  54. .idx CCC
  55. .bold [C]
  56. call ステートメント
  57. cdeclare ステートメント
  58. cdeclarea ステートメント
  59. cformat$ 関数
  60. chdir ステートメント
  61. chdrive ステートメント
  62. chr$ 関数
  63. close ステートメント
  64. const ステートメント
  65. curdir$ 関数
  66.  
  67. .idx DDD
  68. .bold [D]
  69. date$ 関数
  70. date0$ 関数
  71. dim ステートメント
  72. dir$ 関数
  73. dllname ステートメント
  74. do ステートメント
  75. doevents ステートメント
  76. dprint ステートメント
  77.  
  78. .idx EEE
  79. .bold [E]
  80. else ステートメント
  81. elseif ステートメント
  82. end ステートメント
  83. environ$ 関数
  84. eof 関数
  85. eqv 演算子
  86. ;err 変数
  87. exit ステートメント
  88.  
  89. .idx FFF
  90. .bold [F]
  91. filedatetime$ 関数
  92. filelen 関数
  93. for ステートメント
  94. freefile 関数
  95. fullpath$ 関数
  96. function ステートメント
  97.  
  98. .idx GGG
  99. .bold [G]
  100. getattr 関数
  101. getfilename$ 関数
  102. getprofile$ 関数
  103.  
  104. .idx HHH
  105. .bold [H]
  106. hex$ 関数
  107.  
  108. .idx III
  109. .bold [I]
  110. if ステートメント
  111. imemode ステートメント
  112. imestatus 関数
  113. imp 演算子
  114. inputb$ 関数
  115. inputbox 関数
  116. inputbox$ 関数
  117. inputchar 関数
  118. inputkey 関数
  119. inrstr 関数
  120. inrstrb 関数
  121. instr 関数
  122. instrb 関数
  123. isalnum 関数
  124. isalpha 関数
  125. isdigit 関数
  126. islower 関数
  127. iskeydown 関数
  128. iskeypressed 関数
  129. isupper 関数
  130. isxdigit 関数
  131.  
  132. .idx JJJ
  133. .bold [J]
  134. jistosjis 関数
  135.  
  136. .idx KKK
  137. .bold [K]
  138. kill ステートメント
  139.  
  140. .idx LLL
  141. .bold [L]
  142. lcase 関数
  143. lcase$ 関数
  144. left$ 関数
  145. leftb$ 関数
  146. len 関数
  147. lenb 関数
  148. lineinput ステートメント
  149. listbox 関数
  150. loop
  151. ltrim$ 関数
  152.  
  153. .idx MMM
  154. .bold [M]
  155. mid$ 関数
  156. midb$ 関数
  157. mkdir ステートメント
  158. mod 演算子
  159. month$ 関数
  160. msgbox 関数
  161.  
  162. .idx NNN
  163. .bold [N]
  164. name ステートメント
  165. next ステートメント
  166. not 演算子
  167.  
  168. .idx OOO
  169. .bold [O]
  170. open ステートメント
  171. or 演算子
  172.  
  173. .idx PPP
  174. .bold [P]
  175. popupmenu 関数
  176. print ステートメント
  177.  
  178. .idx RRR
  179. .bold [R]
  180. right$ 関数
  181. rightb$ 関数
  182. rmdir ステートメント
  183. rtrim$ 関数
  184.  
  185. .idx SSS
  186. .bold [S]
  187. searchfile$ 関数
  188. seek ステートメント/関数
  189. sendkey ステートメント
  190. shell 関数
  191. sjistojis 関数
  192. space$ 関数
  193. static ステートメント
  194. step
  195. stopdestroykey ステートメント
  196. stopdispatchevent ステートメント
  197. stopinputbox ステートメント
  198. stopmacro ステートメント
  199. str$ 関数
  200. string$ 関数
  201. sub ステートメント
  202.  
  203. .idx TTT
  204. .bold [T]
  205. then
  206. time$ 関数
  207. time0$ 関数
  208. to
  209. trim$ 関数
  210. type ステートメント
  211.  
  212. .idx UUU
  213. .bold [U]
  214. ucase 関数
  215. ucase$ 関数
  216. until
  217.  
  218. .idx VVV
  219. .bold [V]
  220. val 関数
  221. versionmacro 関数
  222.  
  223. .idx WWW
  224. .bold [W]
  225. week$ 関数
  226. weekday 関数
  227. while
  228. writeprofile ステートメント
  229.  
  230. .idx XXX
  231. .bold [X]
  232. xor 演算子
  233.  
  234. .idx SIGN
  235. .bold [記号]
  236. & 演算子
  237. < 演算子
  238. > 演算子
  239. = 演算子
  240. =< 演算子   <= 演算子
  241. => 演算子   >= 演算子
  242. <> 演算子   >< 演算子
  243. << 演算子
  244. >> 演算子
  245. + 演算子
  246. - 演算子
  247. * 演算子
  248. / 演算子
  249. ;\ 演算子
  250. ++ 演算子   -- 演算子
  251. "' コメント
  252. &H 16進定数
  253. "` 文字定数
  254. "#16
  255. "#32
  256. "#32_NT
  257. "#32_95
  258. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  259. .topic    abs
  260. .title    abs 関数
  261.  
  262. 構文     abs(NUM)
  263.  
  264. 機能
  265.  NUM の絶対値を返します。
  266.  
  267. abs(-100) → 100
  268. abs(100)  → 100
  269.  
  270. $PointTo目次
  271. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  272. .topic    appactivate
  273. .title    appactivate 関数
  274.  
  275. 構文    appactivate(STRING1, STRING2)
  276.     STRING1:タイトルバー文字列
  277.     STRING2:クラス名
  278.  
  279. 機能
  280.  指定したウィンドウタイトル(STRING1)、クラス名(STRING2)を持つウィンドウをアクティブにします。タイトル/クラス名が一致したときのみ、ウィンドウをアクティブにします。
  281.  どちらかの引数をヌルストリングにすると、それらは何であっても一致したとみなされます。
  282.  ウィンドウをアクティブにできたときは、そのウィンドウのハンドル(HWND)、アクティブにできなかったときは0を返します。
  283.  
  284. 例  CPPFRAME というクラスを持ったウィンドウをアクティブにする
  285. dim hwnd as HWND
  286. hwnd = appactivate("", "CPPFRAME")
  287.  
  288. ;■
  289. .tborder
  290. .alias    appactivate2
  291. .title    appactivate2 関数
  292.  
  293. 構文    appactivate2(STRING)
  294.     STRING:タイトルバー文字列
  295.  
  296. 機能
  297.  指定したウィンドウタイトル(STRING)を持つウィンドウをアクティブにします。タイトル名の先頭が STRING に一致すれば、ウィンドウをアクティブにします。これはMDIタイプのアプリをアクティブにするときに使います。
  298.  ウィンドウをアクティブにできたときは、そのウィンドウのハンドル(HWND)、アクティブにできなかったときは0を返します。
  299.  
  300. 例  タイトルの先頭が テスト となっているウィンドウをアクティブにする
  301. dim hwnd as HWND
  302. hwnd = appactivate2("テスト")
  303.  
  304. $PointTo目次
  305. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  306. .topic    asc
  307. .title    asc 関数
  308.  
  309. 構文    asc(STRING)
  310.  
  311. 機能
  312.  文字列STRING の最初の文字のコードを返します。これは、アスキーコードまたはシフトJISコードです。
  313.  
  314. 参照    val  chr$
  315.  
  316. asc("A") → &H41
  317. asc("ABC") → &H41
  318. asc("あ") → &H82A0
  319.  
  320. $PointTo目次
  321. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  322. .topic    beep
  323. .title    beep ステートメント
  324.  
  325. 構文    beep
  326.  
  327. 機能
  328.  「ピッ」とならします。
  329.  
  330. $PointTo目次
  331. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  332. .topic    call
  333. .title    call ステートメント
  334.  
  335. 構文    call 関数/メソッド
  336.  
  337. 機能
  338.  関数を呼び出します。
  339.  関数や返値のあるメソッドは式の一部としてしか呼び出せませんが、返値を無視して呼び出したいときに call ステートメントを使用します。
  340.  
  341. $PointTo目次
  342. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  343. .topic    cdeclare
  344. .title    cdeclare ステートメント
  345.  
  346. 構文    cdeclare c言語形式のプロトタイプ宣言
  347.  
  348. 機能
  349.  DLLで定義されている関数の名前/引数/返値を宣言します。
  350.  cdeclare は必ず dllname でDLLのファイル名を宣言した後に記述します。
  351.  c言語の知識のない方は使用しないでください。
  352.  
  353.  関数の引数/返値はc言語のものを使用します。
  354.  引数に使用できる型は以下の通りです。
  355. int    int *
  356. long    long *
  357. HWND    HWND *
  358. ;HDC    HDC *
  359. LPSTR
  360. LPCSTR
  361. void
  362. ユーザ定義データ型 *
  363.  
  364.  返値に使用できる型は以下の通りです。
  365. int
  366. long
  367. HWND
  368. ;HDC
  369. void
  370.  
  371. "'user.exe の GetWindowRect を宣言します
  372. dllname "user.exe"
  373. cdeclare void GetWindowRect(HWND, RECT *);
  374.  
  375. 参照    cdeclarea
  376.  
  377. $PointTo目次
  378. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  379. .topic    cdeclarea
  380. .title    cdeclarea ステートメント
  381.  
  382. 構文    cdeclarea c言語形式のプロトタイプ宣言
  383.  
  384. 機能
  385.  q16: cdeclare と同じ機能です。
  386.  q32: 宣言した関数名の最後に A をつけます。
  387.  
  388. cdeclarea int GetWindowsDirectory(LPSTR, int);
  389. これは q16 では
  390. cdeclare int GetWindowsDirectory(LPSTR, int);
  391. と同じです。
  392. q32 では
  393. cdeclare int GetWindowsDirectoryA(LPSTR, int);
  394. と同じです。
  395.  
  396. $PointTo目次
  397. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  398. .topic    cformat$
  399. .title    cformat$ 関数
  400.  
  401. 構文    cformat$(STRING, ...)
  402.     STRING:フォーマット文字列
  403. 機能
  404.  フォーマット文字列に従って、引数を文字列に変換し、その文字列を返します。
  405.  
  406. フォーマット文字列の書式
  407.  
  408. 型変換指定    %<flag><width>type
  409. flag:    - を指定すると左詰めにします。
  410. width:    変換後の文字列の幅です。
  411. type:    以下の文字が使用できます。
  412.     s    文字列型
  413.     d    符号付き10進数
  414.     u    符号なし10進数
  415.     x    符号なし16進数(英字は小文字)
  416.     X    符号なし16進数(英字は大文字)
  417.  
  418. 参照    hex$  str$
  419.  
  420. xx$ = "123"
  421. print cformat$("[%5s]", xx$)    '[  123] が表示される
  422.  
  423. print cformat$("[%-5d:%5d]", 100, 100)    '[100  :  100] が表示される
  424.  
  425. $PointTo目次
  426. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  427. .topic    chdir
  428. .title    chdir ステートメント
  429.  
  430. 構文    chdir STRING
  431.     STRING:移動したいディレクトリ
  432.  
  433. 機能
  434.  カレントディレクトリを変更します。ただし、カレントドライブは変更しません。
  435.  
  436. 参照    chdrive  curdir$
  437.  
  438. chdir "C:\WINDOWS"    'ドライブ C: のカレントディレクトリを \WINDOWS にする
  439.  
  440. ;■
  441. .tborder
  442. .alias    mkdir
  443. .title    mkdir ステートメント
  444.  
  445. 構文    mkdir STRING
  446.     STRING:作りたいディレクトリ
  447.  
  448. 機能
  449.  ディレクトリを作成します。
  450.  
  451. ;■
  452. .tborder
  453. .alias    rmdir
  454. .title    rmdir ステートメント
  455.  
  456. 構文    rmdir STRING
  457.     STRING:削除したいディレクトリ
  458.  
  459. 機能
  460.  ディレクトリを削除します。
  461.  
  462. $PointTo目次
  463. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  464. .topic    chdrive
  465. .title    chdrive ステートメント
  466.  
  467. 構文    chdrive STRING
  468.     STRING:変更したいドライブ名
  469.  
  470. 機能
  471.  カレントドライブを変更します。
  472.  STRING の先頭1文字目をドライブ名とみなします。
  473.  
  474. 参照    chdir  curdir$
  475.  
  476. chdrive "b"    'カレントドライブを B: にする
  477.  
  478. $PointTo目次
  479. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  480. .topic    chr$
  481. .title    chr$ 関数
  482.  
  483. 構文    chr$(NUM)
  484.  
  485. 機能
  486.  アスキーコードまたはシフトJISコードを対応する文字に変換し、その文字列を返します。
  487.  
  488. 参照    asc  cformat$
  489.  
  490. chr$(&H41) → "A"
  491. chr$(&H82A0) → "あ"
  492.  
  493. $PointTo目次
  494. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  495. .topic    close
  496. .title    close ステートメント
  497.  
  498. 構文    close #NUM
  499.  
  500. 機能
  501.  指定したファイル番号(open で指定したもの)のファイルを閉じます。
  502.  以後、このファイル番号は再利用できます。
  503.  ファイルの使用を終えたら必ず close でファイルを閉じてください。
  504.  
  505. $PointTo目次
  506. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  507. .topic    const
  508. .title    const ステートメント
  509.  
  510. 構文1    const 定数名 = NUM
  511. 構文2    const 定数名 = STRING
  512.  
  513. 機能
  514.  記号定数を宣言します。
  515.  NUM には10進定数または、16進定数のみ記述できます。
  516.  STRING には文字列定数のみ記述できます。
  517.  プロシージャまたは関数の内部で宣言すると、その内部でのみ有効なローカル定数となります。
  518.  
  519. 参照    dim  static
  520.  
  521. const count = 10
  522. const s$ = "あいう"
  523.  
  524. $PointTo目次
  525. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  526. .topic    curdir$
  527. .title    curdir$ 関数
  528.  
  529. 構文    curdir$(STRING)
  530.     STRING:ドライブ名(省略可能:カレントドライブ)
  531.  
  532. 機能
  533.  指定したドライブのカレントディレクトリを返します。
  534.  
  535. 参照    chdir  chdrive
  536.  
  537. a$ = curdir$("a")    'ドライブ A: のカレントディレクトリ
  538. a$ = curdir$()        'カレントドライブのカレントディレクトリ
  539.  
  540. $PointTo目次
  541. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  542. .topic    date$
  543. .title    date$,date0$ 関数
  544. .alias    date0$
  545.  
  546. 構文    date$
  547.  
  548. 機能
  549.  現在の日付("yyyy-mm-dd" の形式)を返します。
  550.  月/日が1桁のときはスペースで埋められます。
  551. 1995- 6- 1
  552. .bborder
  553. 構文    date0$
  554.  
  555. 機能
  556.  現在の日付("yyyy-mm-dd" の形式)を返します。
  557.  月/日が1桁のときは 0 で埋められます。
  558. 1995-06-01
  559.  
  560. 参照    time$  month$  week$  weekday
  561.  
  562. $PointTo目次
  563. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  564. .topic    dim
  565. .title    dim ステートメント
  566.  
  567. 構文    dim 変数名 as 型 [, 変数名2 as 型2 , ...]
  568.  
  569. 機能
  570.  変数を宣言します。変数は必ず dim または static で宣言しなければなりません。
  571.  sub(プロシージャ)または function(関数)の内部で宣言された変数は、そのプロシージャまたは関数の内部でのみ使用可能なローカル変数となり、外部で宣言された変数は、複数のプロシージャや関数で使用できるグローバル変数となります。
  572.  
  573.  dim で宣言したローカル変数は、プロシージャまたは関数が呼ばれると、数値変数は 0、文字列変数はヌルストリングに初期化されます。
  574.  , で区切って、複数の変数を宣言できます。
  575.  「as 型」は省略することができます。このとき変数名の最後の文字が $ であれば string、それ以外の時は long とみなされます。
  576.  
  577. 使用できる型は以下の通りです。
  578. integer        整数型
  579. long        長整数型
  580. string        可変長文字列型
  581. string[xx]    固定領域文字列型(xx は10000まで)
  582. HWND        q16 のとき integer、q32 のとき long と同じ
  583. HDC        q16 のとき integer、q32 のとき long と同じ
  584. default        q16 のとき integer、q32 のとき long と同じ
  585. xxxxx        ユーザ定義データ型
  586.  
  587.  また、固定領域文字列型/ユーザ定義データ型以外は配列にすることができます。配列の添字(インデックス)は [] または () でくくります。
  588.  
  589. dim a$ as string
  590. dim j as integer, x as long
  591. dim array[10] as long        'array[0] から array[10] までの配列
  592.                              'dim array(10) as long でもよい
  593.  
  594. type RECT        'RECT というユーザ定義データ型を定義
  595.     Left as integer
  596.     Top as integer
  597.     Right as integer
  598.     Bottom as integer
  599. end type
  600. dim rc as RECT        'RECT 型の変数 rc
  601.  
  602. 参照    const
  603.  
  604. $PointTo目次
  605. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  606. .topic    dir$
  607. .title    dir$ 関数
  608.  
  609. 構文1    dir$(STRING, NUM)
  610.     STRING:検索するファイル名
  611.     NUM:検索するファイルの属性(省略可能:&H21)
  612.  
  613. 構文2    dir$()
  614.  
  615. 機能1
  616.  STRING で指定されたファイルを検索します。
  617.  最初の検索の時に 構文1 を使用します。
  618.  
  619. 属性に使用できる数値は以下の通りです。これらを or または + で組み合わせて指定できます。
  620. 0    通常のファイル
  621. 1    書き込み禁止ファイル
  622. 2    隠しファイル
  623. 4    システムファイル
  624. 8    ボリュームラベル
  625. 16,&H10    ディレクトリ
  626. 32,&H20    アーカイブ属性
  627. ;ATTR_NORMAL    
  628. ;ATTR_READONLY    
  629. ;ATTR_HIDDEN    
  630. ;ATTR_SYSTEM    
  631. ;ATTR_VOLUME    
  632. ;ATTR_DIRECTORY    
  633. ;ATTR_ARCHIVE    
  634.  
  635.  ディレクトリ(&H10)を指定したときは、ディレクトリのみが検索されます。
  636.  
  637.  
  638. 機能2
  639.  構文1 で検索した後、2つ目以降のファイルを検索するときに使用します。
  640.  
  641.  機能1,2 とも、検索できたときは、ファイル名を、これ以上ファイルが見つからなかったときはヌルストリングを返します。
  642.  
  643. 参照    getattr  filedatetime$  filelen  fullpath$  searchfile$
  644.  
  645. 例   A:\ にあるファイルを配列item に格納します
  646. dim item$[100]
  647. dim d$,j
  648. j = 1
  649. d$ = dir$("A:\*.*")
  650. do while d$<>""
  651.     item$[j] = d$
  652.     j = j+1
  653.     d$ = dir$()
  654. loop
  655.  
  656. $PointTo目次
  657. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  658. .topic    dllname
  659. .title    dllname ステートメント
  660.  
  661. 構文    dllname "DLLファイル名"
  662.  
  663. 機能
  664.  cdeclare で宣言するDLL関数のあるファイル名を宣言します。
  665.  DLLファイル名が PATH の通っているディレクトリやシステムディレクトリ以外にあるときはディレクトリ名まで記述する必要があります。
  666.  
  667.  
  668. 注意
  669. krnl386.exe, gdi.exe, user.exe の場合はそれぞれ以下のように記述できます。
  670. この3つのDLLを使用するときはなるべく以下の書式で記述してください。
  671.  
  672. dllname KERNEL
  673. dllname GDI
  674. dllname USER
  675.  
  676. q32 のときはそれぞれ、kernel32.dll, gdi32.dll, user32.dll となります。
  677.  
  678. $PointTo目次
  679. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  680. .topic    do
  681. .alias    exit do
  682. .alias    loop
  683. .alias    while
  684. .alias    until
  685. ;.search    exit do
  686. ;.search    loop
  687. ;.search    while
  688. ;.search    until
  689. .title    do .. loop ステートメント
  690.  
  691. 構文1    do while CONDITION
  692.         ステートメント...
  693.     loop
  694.  
  695. 構文2    do until CONDITION
  696.         ステートメント...
  697.     loop
  698.  
  699. 構文3    do
  700.         ステートメント...
  701.     loop while CONDITION
  702.  
  703. 構文4    do
  704.         ステートメント...
  705.     loop until CONDITION
  706.  
  707. 機能
  708.  指定された条件 CONDITION によりループします。
  709.  
  710. 機能1,3
  711.  CONDITION が0以外の時ループを実行します。
  712.  
  713. 機能2,4
  714.  CONDITION が0の時ループを実行します。
  715.  
  716. 構文1,2 は CONDITION の値により1回もループが実行されないことがあります。
  717. 構文3,4 は CONDITION に関わらず最低1回はループが実行されます。
  718. ;■■■
  719. .bborder
  720. .title    exit do ステートメント
  721.  
  722. 構文    exit do
  723.  
  724. 機能
  725.  ただちに do .. loop ループを抜けます。
  726.  
  727. 参照    for .. next
  728.  
  729. 例   A:\ にあるファイルを配列item に格納します
  730. dim item$[100]
  731. dim d$,j
  732. j = 1
  733. d$ = dir$("A:\*.*")
  734. do while d$<>""
  735.     if j > 100 then exit do
  736.     item$[j] = d$
  737.     j = j+1
  738.     d$ = dir$()
  739. loop
  740.  
  741. $PointTo目次
  742. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  743. .topic    doevents
  744. .title    doevents ステートメント
  745.  
  746. 構文    doevents
  747.  
  748. 機能
  749.  他のアプリケーションが実行できるように Windows に制御を返します。
  750.  sendkey を実行した後、すぐにキーを送出したいときに doevents を実行してください。
  751.  
  752. $PointTo目次
  753. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  754. .topic    dprint
  755. .title    dprint ステートメント
  756.  
  757. 構文    dprint 式
  758. 機能
  759.  数値または文字列をデバッグウィンドウに表示します。デバッグ時に変数の値を調べるときに使用します。
  760.  数値式または文字列式を ; または , で区切って複数記述できます。
  761.  ";" で区切ると、連続して出力し、"," で区切ると、タブを出力します。また、最後に ";" を記述すると、改行しません。
  762.  1度に出力できるのは最大1000バイト程度までです。
  763.  
  764. dprint j        '変数 j の値を出力し、改行します
  765. dprint j;        '変数 j の値を出力し、改行しません
  766. dprint a$;j;k        '変数 a$ j k の値を出力し、改行します
  767.  
  768. $PointTo目次
  769. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  770. .topic    end
  771. .title    end ステートメント
  772.  
  773. 構文1    end
  774. 構文2    end sub
  775. 構文3    end function
  776. 構文4    end if
  777. 構文5    end type
  778.  
  779. 機能1
  780.  マクロを終了します。
  781.  function の内部で end を使用してマクロを終了させることはできません
  782.  
  783. $PointTo目次
  784. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  785. .topic    environ$
  786. .title    environ$ 関数
  787.  
  788. 構文1    environ$(NUM)
  789. 構文2    environ$(STRING)
  790.  
  791. 機能1
  792.  NUM 番目(1~)に定義されている環境変数文字列を返します。
  793.  ABC=XYZ という環境変数があるとき "ABC=XYZ" を返します。
  794.  
  795. 機能2
  796.  環境変数 STRING で定義されている文字列を返します。
  797.  ABC=XYZ という環境変数があるとき environ$("ABC") は "XYZ" を返します。
  798.  
  799. 返値
  800.  機能1,2 とも、環境変数が見つかったときはその文字列を、見つからなかったときはヌルストリングを返します。
  801.  
  802. 例 SET TMP=C:\TMP が DOSで実行されているとき
  803. environ$("TMP") → "C:\TMP"
  804.  
  805. dim j, e$
  806. j = 1
  807. do
  808.     e$ = environ$(j)
  809.     if e$ = "" then exit do
  810.     'ここで e$ を使用する。たとえば dprint e$
  811.     j = j+1
  812. loop while 1
  813.  
  814. $PointTo目次
  815. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  816. .topic    eof
  817. .title    eof 関数
  818.  
  819. 構文    eof(NUM)
  820.  
  821. 機能
  822.  指定したファイル番号のファイルを終端まで読み切ったかどうかを調べます。
  823.  終端まで読み切っているときは -1 、そうでなければ 0 を返します。
  824.  
  825. 参照    open
  826.  
  827. $PointTo目次
  828. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  829. ;.topic    err
  830. ;.title    err 変数
  831. ;
  832. ;機能
  833. ;
  834. ;構文
  835. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  836. .topic    exit
  837. .title    exit ステートメント
  838.  
  839. 構文1    exit do
  840. 構文2    exit for
  841. 構文3    exit sub
  842. 構文4    exit function
  843.  
  844. $PointTo目次
  845. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  846. .topic    filedatetime$
  847. .title    filedatetime$ 関数
  848.  
  849. 構文    filedatetime$(STRING)
  850.     STRING:ファイル名
  851.  
  852. 機能
  853.  STRING で指定されたファイルのタイムスタンプを "??/??/?? ??:??:??" のようにフォーマットした文字列を返します。
  854.  指定したファイルが存在しないときはヌルストリングを返します。
  855.  
  856. 参照    dir$  getattr  filelen
  857.  
  858. $PointTo目次
  859. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  860. .topic    filelen
  861. .title    filelen 関数
  862.  
  863. 構文    filelen(STRING)
  864.     STRING:ファイル名
  865.  
  866. 機能
  867.  STRING で指定されたファイルの長さ(サイズ)を返します。
  868.  指定したファイルが存在しないときは -1 を返します。
  869.  
  870. 参照    dir$  getattr  filedatetime$
  871.  
  872. $PointTo目次
  873. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  874. .topic    for
  875. .alias    to
  876. .alias    step
  877. .alias    next
  878. .alias    exit for
  879. ;.search    to
  880. ;.search    step
  881. ;.search    next
  882. ;.search    exit for
  883. .title    for .. next ステートメント
  884.  
  885. 構文    for 数値変数 = NUM1 to NUM2 step NUM3
  886.         ステートメント...
  887.     next
  888.         NUM1:開始値
  889.         NUM2:終了値
  890.         NUM3:増分値(省略可能:1  開始値>終了値のときは -1)
  891.  
  892. 機能
  893.  数値変数を NUM1 から NUM2 まで、NUM3 きざみで変化させループします。
  894.  NUM3>0 のときは 数値変数>NUM2になると、NUM3<0 のときは 数値変数<NUM2 になるとループは終了し、next の次のステートメントが実行されます。最初から終了条件が満たされているとfor .. next ループ内のステートメントは一回も実行されません。
  895.  NUM3 を省略するときは step も省略します。
  896.  数値変数に配列を指定することはできません。
  897.  
  898. ;■■■
  899. .bborder
  900. .title    exit for ステートメント
  901.  
  902. 構文    exit for
  903.  
  904. 機能
  905.  for .. next ループをただちに抜けます。
  906.  
  907. 参照    do .. loop
  908.  
  909. ;■■■
  910. .bborder
  911. .title    open ステートメント
  912.  
  913. 構文    open STRING for input   as #NUM
  914.             output
  915.             append
  916.             binary
  917.  
  918. 機能
  919.  for により、open ステートメントでファイルを開くときの動作を指定します。
  920.  
  921. $PointTo目次
  922. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  923. .topic    freefile
  924. .title    freefile 関数
  925.  
  926. 構文    freefile()
  927.  
  928. 機能
  929.  利用可能なファイル番号(1~5)を返します。
  930.  利用可能なファイル番号が無いときは 0 を返します。
  931.  
  932. dim fnum
  933.  
  934. fnum = freefile()
  935. open "test.txt" for input as #fnum
  936.  
  937. $PointTo目次
  938. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  939. .topic    fullpath$
  940. .title    fullpath$ 関数
  941.  
  942. 構文    fullpath$(STRING)
  943.     STRING:ファイル名
  944.  
  945. 機能
  946.  STRING で指定されたファイルをフルパスに変換した文字列を返します。
  947.  正しくフルパスに変換できなかったときはヌルストリングを返します。
  948.  
  949. 参照    dir$  searchfile$
  950.  
  951. カレントディレクトリが A:\TEST のとき
  952. fullpath$("TEST.MAC") → A:\TEST\TEST.MAC
  953.  
  954. $PointTo目次
  955. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  956. .topic    function
  957. .alias    end function
  958. .alias    exit function
  959. ;.search    end function
  960. ;.search    exit function
  961. .title    function ステートメント
  962.  
  963. 構文    function 関数名(引数のならび, ... ) as 返値の型
  964.         ステートメント...
  965.     end function
  966.  
  967. 機能
  968.  関数を定義します。
  969.  引数は dim と同様の書式で10個まで宣言できます。指定できる型は、integer,long,HWND で、配列を指定することはできません。返値の型も同様です。
  970.  「as 返値の型」を省略すると long とみなします。
  971.  値を返すには 「関数名」自体に値を代入します。
  972.  関数を再帰的に(自分自身を)呼び出すことはできません。
  973.  関数の内部で end でマクロを終了させることはできません。
  974.  
  975. "'num2 は値を2倍にして返す関数
  976. function num2(num)
  977.     num2 = num * 2
  978. end function
  979.  
  980. proc main
  981.     print str$(num2(100))
  982. end proc
  983.  
  984. 参照    sub
  985. ;■■■
  986. .bborder
  987. .title    exit function ステートメント
  988.  
  989. 構文    exit function
  990.  
  991. 機能
  992.  ただちに function を抜けます。
  993.  
  994. $PointTo目次
  995. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  996. .topic    getattr
  997. .title    getattr 関数
  998.  
  999. 構文    getattr(STRING)
  1000.     STRING:ファイル名
  1001.  
  1002. 機能
  1003.  STRING で指定されたファイルの属性を返します。
  1004.  指定したファイルが存在しないときは -1 を返します。
  1005.  属性の意味は dir$ で指定するものと同じです。
  1006.  
  1007. 参照    filedatetime$  filelen
  1008.  
  1009. $PointTo目次
  1010. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1011. .topic    getfilename$
  1012. .title    getfilename$ 関数
  1013.  
  1014. 構文    getfilename$(STRING1, STRING2, STRING3)
  1015.     STRING1:ディレクトリ名(省略可能:カレントディレクトリ)
  1016.     STRING2:ファイル名(省略可能:"*.*")
  1017.     STRING3:タイトル(省略可能:"")
  1018.  
  1019. 機能
  1020.  コモンダイアログを表示してファイルを1つ選択し、そのファイル名を返します。
  1021.  ESC を押して処理を中止したときはヌルストリングを返します。
  1022.  
  1023. f$ = getfilename$("c:\src", "*.c;*.h", "ソースファイルの編集")
  1024.  
  1025. $PointTo目次
  1026. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1027. .topic    getprofile$
  1028. .title    getprofile$ 関数
  1029.  
  1030. 構文    getprofile$(STRING1, STRING2, STRING3)
  1031.     STRING1:セクション名
  1032.     STRING2:キー名
  1033.     STRING3:ファイル名(省略可能:"QMACPROF.INI")
  1034.  
  1035. 機能
  1036.  INI ファイルに記録されている情報を読み込み、その文字列を返します。見つからなかったときはヌルストリングを返します。
  1037.  
  1038. QMACPROF.INI の内容が以下の時
  1039. [ABC]
  1040. aaa=abcdefg
  1041. EFG=1000
  1042.  
  1043. getprofile$("ABC", "aaa") → "abcdefg"
  1044. getprofile$("ABC", "EFG") → "1000"
  1045. getprofile$("xxx", "yyy") → ""
  1046.  
  1047. ;■■■
  1048. .bborder
  1049. .alias    writeprofile
  1050. .title    writeprofile ステートメント
  1051.  
  1052. 構文    writeprofile STRING1, STRING2, STRING3, STRING4
  1053.     STRING1:セクション名
  1054.     STRING2:キー名
  1055.     STRING3:文字列名
  1056.     STRING4:ファイル名(省略可能:"QMACPROF.INI")
  1057.  
  1058. 機能
  1059.  INI ファイルに、指定した情報を書き込みます。
  1060.  ファイル名を指定するときは @@QxDirectory$ + "\ファイル名" のように、QXのあるディレクトリに作成することを推奨します。
  1061.  
  1062. writeprofile "ABC", "EFG", "2000"
  1063. を実行すると、QMACPROF.INI は以下のようになります。
  1064. [ABC]
  1065. EFG=2000
  1066.  
  1067. $PointTo目次
  1068. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1069. .topic    hex$
  1070. .title    hex$ 関数
  1071.  
  1072. 構文    hex$(NUM)
  1073.  
  1074. 機能
  1075.  数値NUM を16進数の文字列に変換し、その文字列を返します。
  1076.  
  1077. 参照    chr$  cformat$  str$
  1078.  
  1079. hex$(100) → "64"
  1080. hex$(&H20) → "20"
  1081.  
  1082. $PointTo目次
  1083. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1084. .topic    if
  1085. .alias    then
  1086. .alias    else
  1087. .alias    elseif
  1088. .alias    end if
  1089. ;.search    then
  1090. ;.search    else
  1091. ;.search    elseif
  1092. ;.search    end if
  1093. .title    if .. then .. end if ステートメント
  1094.  
  1095. 構文1    if CONDITION1 then
  1096.         ステートメント1...
  1097.     elseif CONDITION2 then
  1098.         ステートメント2...
  1099.     else
  1100.         ステートメント3...
  1101.     end if
  1102.  
  1103. 構文2    if CONDITION then ステートメント
  1104.  
  1105.  
  1106. 機能1
  1107.  CONDITION1 が0以外の時 ステートメント1を実行します。
  1108.  CONDITION1 が0で、CONDITION2 が0以外の時 ステートメント2を実行します。
  1109.  どちらでもないときは、ステートメント3が実行されます。
  1110.  elseif CONDITION then は任意の数だけ記述できます。
  1111.  
  1112. 機能2
  1113.  CONDITION が0以外の時 ステートメントを実行します。
  1114.  
  1115. $PointTo目次
  1116. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1117. .topic    imemode
  1118. .title    imemode ステートメント
  1119.  
  1120. 構文    imemode NUM
  1121.  
  1122. 機能
  1123.  IMEを制御します。
  1124.  
  1125. NUM
  1126. 1    IMEをONにします
  1127. 2    IMEをOFFにします
  1128. 4    IMEを全角ひらがなモードにします
  1129. 5    IMEを全角カタカナモードにします
  1130. 6    IMEを半角カタカナモードにします
  1131. 7    IMEを全角英数モードにします
  1132.  
  1133. 参照    imestatus
  1134.  
  1135. $PointTo目次
  1136. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1137. .topic    imestatus
  1138. .title    imestatus 関数
  1139.  
  1140. 構文    imestatus
  1141.  
  1142. 機能
  1143.  現在のIMEの状態を返します。
  1144.  
  1145. 2    IMEはOFF
  1146. 4    全角ひらがなモード
  1147. 5    全角カタカナモード
  1148. 6    半角カタカナモード
  1149. 7    全角英数モード
  1150. 0    その他の時
  1151.  
  1152. 参照    imemode
  1153.  
  1154. $PointTo目次
  1155. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1156. .topic    inputb$
  1157. .title    inputb$ 関数
  1158.  
  1159. 構文    inputb$(NUM1, #NUM2)
  1160.  
  1161. 機能
  1162.  ファイル番号NUM2 のファイルから NUM1 バイト読み込み、読み込んだデータを文字列にして返します。
  1163.  
  1164. 参照    open lineinput
  1165.  
  1166. $PointTo目次
  1167. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1168. .topic    inputbox
  1169. .title    inputbox 関数
  1170.  
  1171. 構文    inputbox(STRING1, STRING2, NUM)
  1172.     STRING1:プロンプト
  1173.     STRING2:タイトル(省略可能:"")
  1174.     NUM:デフォルト数値(省略可能:なし)
  1175.  
  1176. 機能
  1177.  ダイアログで数値を入力させ、入力された値を返します。
  1178.  キャンセルしたときは INPUTBOX_CANCEL(&H80000000) を返します。
  1179.  
  1180. 参照    予約定数(INPUTBOX)
  1181. ;■
  1182.  
  1183. .tborder
  1184. .alias    inputbox$
  1185. .title    inputbox$ 関数
  1186.  
  1187. 構文    inputbox$(STRING1, STRING2, STRING3, STRING4)
  1188.     STRING1:プロンプト
  1189.     STRING2:タイトル(省略可能:"")
  1190.     STRING3:デフォルト文字列(省略可能:"")
  1191.     STRING4:キャンセルしたとき返す文字列(省略可能:chr$(&H1B))
  1192.  
  1193. 機能
  1194.  ダイアログで文字列を入力させ、入力された文字列を返します。
  1195.  キャンセルしたときは 「キャンセルしたときのデフォルト文字列」 を返します。
  1196.  
  1197. 参照    listbox  msgbox  popupmenu
  1198.  
  1199. dim num
  1200. num = inputbox("数字を入力してください", "数字入力", 5)
  1201.  
  1202. dim s$
  1203. s$ = inputbox$("文字を入力してください", "文字入力", "TEST")
  1204. ;■
  1205.  
  1206. .tborder
  1207. .alias    stopinputbox
  1208. .title    stopinputbox ステートメント
  1209.  
  1210. 構文    stopinputbox NUM
  1211.  
  1212. 機能
  1213.  inputbox または、inputbox$ のダイアログを表示中に ESC を押すか キャンセル ボタンを押すと、INPUTBOX_CANCEL(&H80000000) または 「キャンセルしたとき返す文字列」 を返して処理を続行しますが、マクロを中止できるようにもできます。
  1214.  NUMが 0 のとき INPUTBOX_CANCEL(&H80000000) または 「キャンセルしたとき返す文字列」 を返し、処理を続行します。
  1215.  NUMが 0 以外のときマクロを中止します。
  1216.  マクロ実行直後は stopinputbox 0 の状態になっています。
  1217.  
  1218. $PointTo目次
  1219. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1220. .topic    instr
  1221. .alias    inrstr
  1222. .title    instr inrstr 関数
  1223.  
  1224. 構文1    instr(NUM, STRING1, STRING2)
  1225. 構文2    inrstr(NUM, STRING1, STRING2)
  1226.     NUM:検索位置(1~ )(省略可能:1)
  1227.     STRING1:検索される文字列
  1228.     STRING2:検索する文字列
  1229.  
  1230. 機能1
  1231.  STRING1 の NUM 文字目以降から STRING2 が最初に現れる文字位置を返します。
  1232.  STRING2 が見つからなかったときは 0 を返します。
  1233.  全角文字も1文字として扱います。
  1234.  NUM を省略するときは , も省略します。
  1235.  
  1236. 機能2
  1237.  最後に現れる文字位置を返す点を除き instr と同じです。
  1238. ;■
  1239.  
  1240. .tborder
  1241. .alias    instrb
  1242. .alias    inrstrb
  1243. .title    instrb inrstrb 関数
  1244.  
  1245. 構文1    instrb(NUM, STRING1, STRING2)
  1246. 構文2    inrstrb(NUM, STRING1, STRING2)
  1247.     NUM:検索位置(1~ )(省略可能:1)
  1248.     STRING1:検索される文字列
  1249.     STRING2:検索する文字列
  1250.  
  1251. 機能1
  1252.  STRING1 の NUM バイト目以降から STRING2 が最初に現れるバイト位置を返します。
  1253.  STRING2 が見つからなかったときは 0 を返します。
  1254.  NUM を省略するときは , も省略します。
  1255.  
  1256. 機能2
  1257.  最後に現れる文字位置を返す点を除き instrb と同じです。
  1258.  
  1259. instr(2, "ABCDE", "CD") → 3
  1260. instr("ABCDE", "CD") → 3
  1261. instr(4, "ABCDE", "C") → 0
  1262. instr(2, "あいう", "う") → 3
  1263. instrb(2, "あいう", "う") → 5
  1264. inrstr("a.b.c.d", ".") → 6
  1265.  
  1266. $PointTo目次
  1267. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1268. .topic    inputchar
  1269. .title    inputchar 関数
  1270.  
  1271. 構文    inputchar
  1272.  
  1273. 機能
  1274.  文字の入力を待ち、入力した文字を返します。
  1275.  ファンクションキーや Delete キーなどの特殊キーは無視されます。
  1276.  
  1277. ;■
  1278.  
  1279. .tborder
  1280. .alias    inputkey
  1281. .title    inputkey 関数
  1282.  
  1283. 構文    inputkey
  1284.  
  1285. 機能
  1286.  キーの入力を待ち、入力したキーのキーコードを返します。
  1287.  Shift Ctrl などのシフトキーは無視されます。
  1288.  
  1289. 参照    予約定数(KEY)
  1290.  
  1291. dim key
  1292.  
  1293. key = inputkey
  1294. print hex$(key)
  1295.  
  1296. 参照    iskeypressed  anykeypressed  iskeydown
  1297.  
  1298. $PointTo目次
  1299. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1300. .topic    isalpha
  1301. .title    isalpha 関数
  1302.  
  1303. 構文    isalpha(NUM)
  1304.     NUM:調べる数値
  1305.  
  1306.  NUM が英字のとき -1 を、そうでなければ 0 を返します
  1307.  islower(NUM) or isupper(NUM) と同じです。
  1308.  
  1309. ;■
  1310. .tborder
  1311. .alias    isalnum
  1312. .title    isalnum 関数
  1313.  
  1314. 構文    isalnum(NUM)
  1315.     NUM:調べる数値
  1316.  
  1317. 機能
  1318.  NUM が英字か数字のとき -1 を、そうでなければ 0 を返します。
  1319.  isalpha(NUM) or isdigit(NUM) と同じです。
  1320.  
  1321. ;■
  1322. .tborder
  1323. .alias    isdigit
  1324. .title    isdigit 関数
  1325.  
  1326. 構文    isdigit(NUM)
  1327.     NUM:調べる数値
  1328.  
  1329. 機能
  1330.  NUM が数字のとき -1 を、そうでなければ 0 を返します。
  1331.  `0` <= NUM and NUM <= `9` と同じです。
  1332.  
  1333. ;■
  1334. .tborder
  1335. .alias    islower
  1336. .title    islower 関数
  1337.  
  1338. 構文    islower(NUM)
  1339.     NUM:調べる数値
  1340.  
  1341. 機能
  1342.  NUM が英小文字のとき -1 を、そうでなければ 0 を返します。
  1343.  `a` <= NUM and NUM <= `z` と同じです。
  1344.  
  1345. ;■
  1346. .tborder
  1347. .alias    isupper
  1348. .title    isupper 関数
  1349.  
  1350. 構文    isupper(NUM)
  1351.     NUM:調べる数値
  1352.  
  1353. 機能
  1354.  NUM が英大文字のとき -1 を、そうでなければ 0 を返します。
  1355.  `A` <= NUM and NUM <= `Z` と同じです。
  1356.  
  1357. ;■
  1358. .tborder
  1359. .alias    isxdigit
  1360. .title    isxdigit 関数
  1361.  
  1362. 構文    isxdigit(NUM)
  1363.     NUM:調べる数値
  1364.  
  1365. 機能
  1366.  NUM が16進数字のとき -1 を、そうでなければ 0 を返します。
  1367.  isdigit(NUM) or (`A` <= NUM and NUM <= `F`) or (`a` <= NUM and NUM <= `f`) と同じです。
  1368. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1369. .topic    iskeypressed
  1370. .title    iskeypressed 関数
  1371.  
  1372. 構文    iskeypressed(NUM)
  1373.     NUM:調べるキーコード
  1374.  
  1375. 機能
  1376.  以前の iskeypressed 呼び出し以後、指定したキーコードを持つキーが押されたかを調べます。
  1377.  押されたときは -1、押されなかったきは 0 を返します。
  1378.  
  1379.  NUM に 0 を指定すると、iskeypressed 呼び出しをリセットします。
  1380.  
  1381.  iskeypressed を使用するときは、マクロの先頭付近に iskeypressed 呼び出しを入れてください。また、ダイアログボックスなど、キー入力を必要とするメソッドを実行した後も iskeypressed 呼び出しを入れてください。
  1382.  
  1383.  
  1384. call iskeypressed(KEY_RETURN)  'KEY_RETURN の状態をリセットするため
  1385.  
  1386. 'ここでいろいろ処理する
  1387.  
  1388. if iskeypressed(KEY_RETURN) then
  1389.     '押された
  1390. else
  1391.     '押されなかった
  1392. end if
  1393.  
  1394. 上の例は リターンキー(Enter) しか使用しない場合の例ですが、たくさんのキーを使用するときは、リセットのための iskeypressed がたくさん必要になってしまいます。複数のキーを使用するときは iskeypressed(0) を呼び出してください。これで、すべてのキーをリセットできます。
  1395.  
  1396. call iskeypressed(0)  'すべてのキーの状態をリセットする
  1397.  
  1398. ;■
  1399.  
  1400. .tborder
  1401. .alias    anykeypressed
  1402. .title    anykeypressed 関数
  1403.  
  1404. 構文    anykeypressed()
  1405.  
  1406. 機能
  1407.  どれかのキーが押されたらそのキーのキーコード、押されなければ 0 を返します。
  1408.  anykeypressed を使用する前に stopdispatchevent 1 を実行してください。
  1409. ;■
  1410.  
  1411. .tborder
  1412. .alias    iskeydown
  1413. .title    iskeydown 関数
  1414.  
  1415. 構文    iskeydown(NUM)
  1416.     NUM:調べるキーコード
  1417.  
  1418. 機能
  1419.  指定したキーコードを持つキーが押されているか調べます。
  1420.  押されているときは -1、押されていないときは 0 を返します。
  1421.  
  1422.  iskeydown は あるキーが押し下げられた状態にあるかを調べるときに使用します。
  1423.  
  1424. 参照    予約定数(KEY)
  1425.     inputchar  inputkey
  1426.  
  1427. $PointTo目次
  1428. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1429. .topic    jistosjis
  1430. .title    jistosjis 関数
  1431.  
  1432. 構文    jistosjis(NUM)
  1433.  
  1434. 機能
  1435.  数値NUM をJISコードとみなして、シフトJISコードに変換します。
  1436.  NUM が正しいJISコードでないときは0を返します。
  1437. ;■
  1438.  
  1439. .tborder
  1440. .alias    sjistojis
  1441. .title    sjistojis 関数
  1442.  
  1443. 構文    sjistojis(NUM)
  1444.  
  1445. 機能
  1446.  数値NUM をシフトJISコードとみなして、JISコードに変換します。
  1447.  NUM が正しいシフトJISコードでないときは0を返します。
  1448.  
  1449. jistosjis(&H2121) → &H8140
  1450. sjistojis(`あ`) → &H2422
  1451.  
  1452. $PointTo目次
  1453. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1454. .topic    kill
  1455. .title    kill ステートメント
  1456.  
  1457. 構文    kill STRING
  1458.     STRING:削除するファイル名
  1459.  
  1460. 機能
  1461.  指定したファイルを削除します。
  1462.  ファイルを削除できなくてもエラーにはなりません。削除できたかどうかは、dir$ を使います。
  1463.  
  1464. kill "c:\tmp\filename.tmp"
  1465.  
  1466. 参照    open name
  1467.  
  1468. $PointTo目次
  1469. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1470. .topic    lcase
  1471. .title    lcase 関数
  1472.  
  1473. 構文    lcase(NUM)
  1474.  
  1475. 機能
  1476.  数値NUM をアスキーコードとみなして、半角英大文字であれば小文字に変換し、その値を返します。
  1477.  半角英大文字以外の時は、NUM をそのまま返します。
  1478.  全角の英大文字は変換しません。
  1479. ;■
  1480.  
  1481. .tborder
  1482. .alias    lcase$
  1483. .title    lcase$ 関数
  1484.  
  1485. 構文    lcase$(STRING)
  1486.  
  1487. 機能
  1488.  STRING 中の半角英大文字を小文字に変換し、その文字列を返します。
  1489.  全角の英大文字は変換しません。
  1490.  
  1491. 参照    ucase  ucase$
  1492.  
  1493. lcase(`A`) → &H61 つまり `a`
  1494. lcase(`a`) → &H61 つまり `a`
  1495. lcase$("ABcd") → "abcd"
  1496.  
  1497. $PointTo目次
  1498. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1499. .topic    left$
  1500. .title    left$ 関数
  1501.  
  1502. 構文    left$(STRING, NUM)
  1503.  
  1504. 機能
  1505.  STRING の左から NUM 文字を取り出し、取り出した文字列を返します。
  1506.  全角文字も1文字として扱います。
  1507. ;■
  1508.  
  1509. .tborder
  1510. .alias    leftb$
  1511. .title    leftb$ 関数
  1512.  
  1513. 構文    leftb$(STRING, NUM)
  1514.  
  1515. 機能
  1516.  STRING の左から NUM バイトを取り出し、取り出した文字列を返します。
  1517.  
  1518. 参照    right$  rightb$  mid$  midb$
  1519.  
  1520. left$("123", 1) → "1"
  1521. left$("あいう", 1) → "あ"
  1522. leftb$("あいう", 2) → "あ"
  1523.  
  1524. $PointTo目次
  1525. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1526. .topic    len
  1527. .title    len 関数
  1528.  
  1529. 構文    len(STRING)
  1530.  
  1531. 機能
  1532.  STRING の文字数を返します。
  1533.  全角文字も1文字として扱います。
  1534. ;■
  1535.  
  1536. .tborder
  1537. .alias    lenb
  1538. .title    lenb 関数
  1539.  
  1540. 構文    lenb(STRING)
  1541.  
  1542. 機能
  1543.  STRING のバイト数を返します。
  1544.  
  1545.  
  1546. len("123") → 3
  1547. len("あいう") → 3
  1548. lenb("あいう") → 6
  1549.  
  1550. $PointTo目次
  1551. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1552. .topic    lineinput
  1553. .title    lineinput ステートメント
  1554.  
  1555. 構文    lineinput #NUM, STRING
  1556.  
  1557.  指定したファイル番号のファイルから1行読み込み STRING に代入します。
  1558.  行の区切りは chr$(&h0d) または chr$(&h0a) です。
  1559.  STRING には可変長文字列型のみ指定できます。固定領域文字列型や配列は指定できません。
  1560.  
  1561. 参照    open
  1562.  
  1563. $PointTo目次
  1564. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1565. .topic    listbox
  1566. .title    listbox 関数
  1567.  
  1568. 構文    listbox(STRING配列, STRING1, STRING2, NUM)
  1569.     STRING配列:リストボックス項目文字列
  1570.     STRING1:ダイアログのプロンプト(省略可能:"")
  1571.     STRING2:ダイアログのタイトル(省略可能:"")
  1572.     NUM:0以外の時固定ピッチフォントを使用する(省略可能:0)
  1573. 機能
  1574.  ダイアログの中にリストボックスを表示し、何番目の項目が選択されたかを返します。ESC を押すか、キャンセルボタンを押して、ダイアログを取り消したときは0を返します。
  1575.  STRING配列の0番目の要素は使用されません。また、ヌルストリングがあると、それ以降の要素は使用されません。
  1576.  STRING1 でリストボックスの上部に表示される文字列を指定できます。chr$(10) を間に含めることにより2行まで指定できます。
  1577.  
  1578. 参照    inputbox  inputbox$  msgbox  popupmenu
  1579.  
  1580. dim sel
  1581. dim item$[10]
  1582. item$[1] = "項目1"
  1583. item$[2] = "項目2"
  1584. item$[3] = "項目3"
  1585. sel = listbox(item$, "選んでください", "タイトル")
  1586.  
  1587. $PointTo目次
  1588. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1589. .topic    ltrim$
  1590. .title    ltrim$ 関数
  1591.  
  1592. 構文    ltrim$(STRING)
  1593.  
  1594. 機能
  1595.  STRING の先頭のスペースを削除し、その文字列を返します。
  1596. ;■
  1597.  
  1598. .tborder
  1599. .alias    trim$
  1600. .title    trim$ 関数
  1601.  
  1602. 構文    trim$(STRING)
  1603.  
  1604. 機能
  1605.  STRING の先頭/末尾のスペースを削除し、その文字列を返します。
  1606. ;■
  1607.  
  1608. .tborder
  1609. .alias    rtrim$
  1610. .title    rtrim$ 関数
  1611.  
  1612. 構文    rtrim$(STRING)
  1613.  
  1614. 機能
  1615.  STRING の末尾のスペースを削除し、その文字列を返します。
  1616.  
  1617.  
  1618. ltrim$(" A ") → "A "
  1619. rtrim$(" A ") → " A"
  1620. trim$(" A ") → "A"
  1621.  
  1622. $PointTo目次
  1623. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1624. .topic    mid$
  1625. .title    mid$ 関数
  1626.  
  1627. 構文    mid$(STRING, NUM1, NUM2)
  1628.  
  1629. 機能
  1630.  STRING の NUM1 文字目から NUM2 文字取り出し、その文字列を返します。
  1631.  NUM2 は省略可能で、省略すると NUM1 文字目からすべての文字を取り出します。
  1632.  全角文字も1文字として扱います。
  1633. ;■
  1634.  
  1635. .tborder
  1636. .alias    midb$
  1637. .title    midb$ 関数
  1638.  
  1639. 構文    midb$(STRING, NUM1, NUM2)
  1640.  
  1641. 機能
  1642.  STRING の NUM1 バイト目から NUM2 バイト取り出し、その文字列を返します。
  1643.  NUM2 は省略可能で、省略すると NUM1 バイト目からすべての文字を取り出します。
  1644.  
  1645.  
  1646. 参照    left$  leftb$  right$  rightb$
  1647.  
  1648. mid$("abc", 2, 1) → "b"
  1649. mid$("あいう", 2, 1) → "い"
  1650. mid$("abc", 2) → "bc"
  1651. midb$("あいう", 3, 2) → "い"
  1652.  
  1653. $PointTo目次
  1654. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1655. .topic    month$
  1656. .title    month$ 関数
  1657.  
  1658. 構文    month$(NUM)
  1659.     NUM:
  1660.         1  "January" を返します
  1661.         2  "February"
  1662.         3  "March"
  1663.         4  "April"
  1664.         5  "May"
  1665.         6  "June"
  1666.         7  "July"
  1667.         8  "August"
  1668.         9  "September"
  1669.         10 "October"
  1670.         11 "November"
  1671.         12 "December"
  1672.         0  今日の月を返します
  1673.  
  1674. 機能
  1675.  指定した数値を月文字列に変換し、その文字列を返します。
  1676.  
  1677. 参照    date$  time$  week$  weekday
  1678.  
  1679. month$(1) → "January"
  1680. month$(0) → "June"    (実行した日が6月だったとき)
  1681.  
  1682. $PointTo目次
  1683. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1684. .topic    msgbox
  1685. .title    msgbox 関数
  1686.  
  1687. 構文    msgbox(STRING1, NUM, STRING2)
  1688.     STRING1:ダイアログに表示するメッセージ
  1689.     NUM:ダイアログのタイプ(省略可能:0)
  1690.     STRING2:タイトルバー文字列(省略可能:"")
  1691.  
  1692. 機能
  1693.  ダイアログを表示し、選択されたボタンの種別を返します。
  1694.  NUM に指定できる数値は以下の通りです。
  1695.  それぞれのグループから1つずつ選んで or または + で組み合わせて使います。
  1696.  
  1697. ボタングループ
  1698. MB_OK                    0    OK ボタン
  1699. MB_OKCANCEL              1    OK キャンセル ボタン
  1700. MB_ABORTRETRYIGNORE      2    中止 再試行 無視 ボタン
  1701. MB_YESNOCANCEL           3    はい いいえ キャンセル ボタン
  1702. MB_YESNO                 4    はい いいえ ボタン
  1703. MB_RETRYCANCEL           5    再試行 キャンセル ボタン
  1704.  
  1705. アイコングループ
  1706. MB_ICONHAND         &H0010    STOP アイコン
  1707. MB_ICONSTOP        &H0010    STOP アイコン
  1708. MB_ICONQUESTION     &H0020    ? アイコン
  1709. MB_ICONEXCLAMATION  &H0030    ! アイコン
  1710. MB_ICONASTERISK     &H0040    i アイコン
  1711. MB_ICONINFORMATION  &H0040    i アイコン
  1712.  
  1713. デフォルトボタングループ
  1714. MB_DEFBUTTON1       &H0000    1番目のボタンがデフォルト
  1715. MB_DEFBUTTON2       &H0100    2番目のボタンがデフォルト
  1716. MB_DEFBUTTON3       &H0200    3番目のボタンがデフォルト
  1717.  
  1718. ダイアログ種別グループ
  1719. MB_APPLMODAL        &H0000    通常のダイアログ
  1720. MB_SYSTEMMODAL      &H1000    他のアプリの実行を禁止
  1721. ;MB_TASKMODAL        0x2000
  1722. ;MB_NOFOCUS          0x8000
  1723.  
  1724. 返値
  1725. IDOK      1    OK ボタンが押された
  1726. IDCANCEL  2    キャンセル ボタンが押された
  1727. IDABORT   3    中止 ボタンが押された
  1728. IDRETRY   4    再試行 ボタンが押された
  1729. IDIGNORE  5    無視 ボタンが押された
  1730. IDYES     6    はい ボタンが押された
  1731. IDNO      7    いいえ ボタンが押された
  1732.  
  1733. 参照    予約定数(DIALOG)
  1734.     inputbox  inputbox$  listbox  popupmenu
  1735.  
  1736. dim sel
  1737. sel = msgbox("よろしいですか?", MB_YESNO, "確認")
  1738. if sel = IDYES then
  1739.     'はいを選んだときの処理
  1740. else
  1741.     'いいえを選んだときの処理
  1742. end if
  1743.  
  1744. $PointTo目次
  1745. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1746. .topic    name
  1747. .title    name ステートメント
  1748.  
  1749. 構文    name STRING1 as STRING2
  1750.  
  1751. 機能
  1752.  ファイル名STRING1 を ファイル名STRING2 に変更します。
  1753.  ワイルドカードを使用することはできません。
  1754.  
  1755. name "test.txt" as "test.bak"
  1756.  
  1757. 参照    open kill
  1758.  
  1759. $PointTo目次
  1760. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1761. .topic    open
  1762. .title    open ステートメント
  1763.  
  1764. 構文1    open STRING for input as #NUM
  1765. 構文2    open STRING for output as #NUM
  1766. 構文3    open STRING for append as #NUM
  1767. 構文4    open STRING for binary as #NUM
  1768.  
  1769.  それぞれ、指定したファイル名(STRING)をファイル番号NUM(1~5) を使用して開きます。
  1770.  NUM は freefile 関数で取得することもできます。
  1771.  
  1772. 機能1
  1773.  読み込み用に開きます。これ以後、lineinput を使用して内容を読み込めます。
  1774.  指定したファイルが存在しないときはエラーになります。
  1775.  
  1776. 機能2
  1777.  書き込み用に開きます。これ以後、print を使用してデータを書き込めます。
  1778.  指定したファイルが存在するときはサイズ0に切りつめられるので注意してください。
  1779.  指定したファイルが存在しないときは新規に作成されます。
  1780.  
  1781. 機能3
  1782.  ファイルの末尾に追加書き込み用に開きます。これ以後、print を使用してデータを書き込めます。必ずファイルの末尾に書き込まれる点に注意してください。
  1783.  指定したファイルが存在しないときは新規に作成されます。
  1784.  
  1785. 機能4
  1786.  読み書き用に開きます。seek で読み書き位置を変更して inputb$ で読み込んだり、print で書き込んだりできます。
  1787.  指定したファイルが存在しないときは新規に作成されます。
  1788.  
  1789. ■例1 test.txt を読み込み、文書に挿入します。
  1790. dim a$
  1791. open "test.txt" for input as #1
  1792. do until eof(1)
  1793.     lineinput #1, a$
  1794.     @Input a$
  1795.     @CharReturn2
  1796. loop
  1797. close #1
  1798.  
  1799. ■例2 QXのあるディレクトリの file.txt にカレント文書のファイル名を追加します。
  1800. open @@QxDirectory$ + "\" + "file.txt" for append as #1
  1801. print #1, @Pathname$
  1802. close #1
  1803.  
  1804. ■例3 test.txt を test.bak に1行単位でコピーします。
  1805. dim a$
  1806.  
  1807. open "test.txt" for input as #1
  1808. open "test.bak"  for output as #2
  1809. do until eof(1)
  1810.     lineinput #1, a$
  1811.     print #2, a$
  1812. loop
  1813. close #1
  1814. close #2
  1815.  
  1816. ■例4 test.txt を test.bak に10000バイト単位でコピーします。
  1817.  入出力の単位が大きくなるので例3よりもかなり高速です。
  1818. dim a$
  1819.  
  1820. open "test.txt" for input as #1
  1821. open "test.bak" for output as #2
  1822. do until eof(1)
  1823.     a$ = inputb$(10000, #1)
  1824.     print #2, a$;
  1825. loop
  1826. close #1
  1827. close #2
  1828.  
  1829. $PointTo目次
  1830. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1831. .topic    popupmenu
  1832. .title    popupmenu 関数
  1833.  
  1834. 構文    popupmenu(STRING配列, NUM1, NUM2)
  1835.     STRING配列:メニュー文字列
  1836.     NUM1:メニューを表示するx座標(省略可能:-1)
  1837.     NUM2:メニューを表示するy座標(省略可能:-1)
  1838. 機能
  1839.  ポップアップメニューを表示し、何番目のメニューが選択されたかを返します。ESC を押してメニューを取り消したときは0を返します。
  1840.  STRING配列の0番目の要素は使用されません。また、ヌルストリングがあると、それ以降の要素は使用されません。
  1841.  また、要素の最初の文字が chr$(1) のときは、メニュー項目がグレー表示され、選択できなくなります。
  1842.  要素の最初の文字が chr$(2) のときは、チェックマークがつけられます。
  1843.  最初の文字が > のときは階層化メニューにします。
  1844.  < だけの行があると、階層を下げます。
  1845.  - だけの行があるとセパレータを表示します。
  1846.  
  1847.  NUM1, NUM2 でポップアップメニューを表示する座標を指定できます。ウィンドウからの相対座標での指定となります。省略すると、マウスカーソルのある位置に表示されます。
  1848.  
  1849. 参照    inputbox  inputbox$  listbox  msgbox
  1850.  
  1851. 例1
  1852. dim sel
  1853. dim item$[10]
  1854. item$[1] = "項目1"
  1855. item$[2] = "項目2"
  1856. item$[3] = chr$(1) + "項目3"    'この項目はグレー表示され選択できない
  1857. sel = popupmenu(item$)
  1858.  
  1859. 例2
  1860. dim sel
  1861. dim item$[10]
  1862. item$[1] = "項目1"
  1863. item$[2] = ">項目2"
  1864. item$[3] =          "階層化1"
  1865. item$[4] =          "階層化2"
  1866. item$[5] = "<"
  1867. item$[6] = "-"
  1868. item$[7] = "最後の項目"
  1869. sel = popupmenu(item$)
  1870.  
  1871. $PointTo目次
  1872. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1873. .topic    print
  1874. .title    print ステートメント
  1875.  
  1876. 構文1    print STRING
  1877.     STRING:ステータスバーに表示する文字列(省略可能:"")
  1878.  
  1879. 機能1
  1880.  ステータスバーに文字列を表示します。
  1881.  
  1882. print ""            (ステータスバーの内容を消す)
  1883. print "処理を終了しました"
  1884.  
  1885. .tborder
  1886.  
  1887. 構文2    print #NUM, [任意の NUM または STRING]
  1888.  
  1889. 機能2
  1890.  指定したファイル番号のファイルに任意のデータを書き込みます。
  1891.  ; または , で区切って複数の式を記述できます。
  1892.  , で区切ると、間にタブ(chr$(9))を書き込みます。
  1893.  行末に ; をつけると改行コードを書き込みません。
  1894.  
  1895. 参照    open
  1896.  
  1897. $PointTo目次
  1898. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1899. .topic    right$
  1900. .title    right$ 関数
  1901.  
  1902. 構文    right$(STRING, NUM)
  1903. 機能
  1904.  STRING の右から NUM 文字を取り出し、取り出した文字列を返します。
  1905.  全角文字も1文字として扱います。
  1906. ;■
  1907.  
  1908. .tborder
  1909. .alias    rightb$
  1910. .title    rightb$ 関数
  1911.  
  1912. 構文    rightb$(STRING, NUM)
  1913.  
  1914. 機能
  1915.  STRING の右から NUM バイトを取り出し、取り出した文字列を返します。
  1916.  
  1917. 参照    left$  leftb$  mid$  midb$
  1918.  
  1919. right$("abc", 1) → "c"
  1920. right$("あいう", 1) → "う"
  1921. rightb$("あいう", 2) → "う"
  1922.  
  1923. $PointTo目次
  1924. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1925. .topic    searchfile$
  1926. .title    searchfile$ 関数
  1927.  
  1928. 構文    searchfile$(STRING)
  1929.     STRING:さがしたいファイル名
  1930.  
  1931. 機能
  1932.  
  1933.  STRING を
  1934. 1. QXのあるディレクトリ
  1935. 2. カレントディレクトリ
  1936. 3. システムディレクトリ
  1937. 4. Windows ディレクトリ
  1938. 5. 環境変数 path で指定されたディレクトリ
  1939. の中から順番に探し、みつかればその(ドライブ/ディレクトリ名のついた)ファイル名を、見つからなければヌルストリングを返します。
  1940.  STRING に \ または : が含まれていたときは、STRING をそのまま返します。
  1941.  
  1942. 参照    fullpath$  dir$
  1943.  
  1944. $PointTo目次
  1945. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1946. .topic    seek
  1947. .title    seek ステートメント
  1948.  
  1949. 構文    seek #NUM1, NUM2
  1950.  
  1951. 機能
  1952.  ファイル番号NUM1 のファイルの読み込み位置または書き込み位置を NUM2 に移動します。
  1953.  先頭の位置は 1 です。
  1954.  
  1955. .tborder
  1956. .title    seek 関数
  1957.  
  1958. 構文    seek(NUM)
  1959.  
  1960. 機能
  1961.  ファイル番号NUM のファイルの読み込み位置または書き込み位置を返します。
  1962.  
  1963. 参照    open
  1964.  
  1965. $PointTo目次
  1966. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1967. .topic    sendkey
  1968. .title    sendkey ステートメント
  1969.  
  1970. 構文    sendkey XXX, ...
  1971.  
  1972. 機能
  1973.  指定した引数をキー入力したかのように、アクティブウィンドウに送ります。
  1974.  引数には、数値/文字列の両方を指定できます。
  1975.  引数が文字列の時はその文字列が、数値の時はそれに対応するキーコードが送られます。
  1976.  sendkey を実行した後、すぐにキーを送出したいときは doevents を実行してください。
  1977.  
  1978.  MENU, CTRL, SHIFT 以外の一般キーを記述すると、そのキーを「押して離した」という情報を送ります。シフトキーを記述するとまず、「押した」という情報のみを送り、SendKey の最後で「離した」という情報を送ります。
  1979.  
  1980. 例 MENU f の後、o を押したことにする
  1981. "'MENU を押す → f を押す → f を離す → MENU を離す
  1982. SendKey KEY_MENU, "f"
  1983. "'o を押す → o を離す
  1984. SendKey "o"
  1985.  
  1986. 注意
  1987. SendKey KEY_MENU, "fo"
  1988. とすると、
  1989. MENU を押す → f を押す → f を離す → o を押す → o を離す → MENU を離す
  1990. となります。つまり、MENU f の後、 MENU o と押したことになります。
  1991.  
  1992. 参照    予約定数(KEY)
  1993.  
  1994. $PointTo目次
  1995. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  1996. .topic    shell
  1997. .title    shell 関数
  1998.  
  1999. 構文    shell(STRING, NUM)
  2000.     STRING:コマンド文字列
  2001.     NUM:ウィンドウのスタイル(省略可能:2)
  2002.  
  2003. 機能
  2004.  STRING で指定したコマンド文字列を実行します。NUM により、実行するときのウィンドウのスタイルが決定されます。コマンド文字列にディレクトリ名が含まれていないときは searchfile$ と同様にコマンドのある場所を検索して実行します。
  2005.  コマンドの終了を待たずにマクロは続行されます。
  2006.  コマンド実行中にマクロの実行を止めたいときは NUM に負の数を指定します。このとき、ダイアログが表示されるので、ボタンを押せば強制的にマクロを実行させることができます。
  2007.  
  2008. NUM
  2009. 1,-1    通常のウィンドウ(フォーカスあり)
  2010. 2,-2    アイコン化ウィンドウ(フォーカスあり)
  2011. 3,-3    最大化ウィンドウ(フォーカスあり)
  2012. 4,-4    通常のウィンドウ(フォーカスなし)
  2013. 6,-6    アイコン化ウィンドウ(フォーカスなし)
  2014.  
  2015. 返値
  2016. q16
  2017.  コマンドを実行できなかったときは 32 以下の数値を返します。
  2018.  コマンドを実行できたときは 32 より大きい数値を返します。
  2019.  
  2020. q32
  2021.  コマンドを実行できなかったときは0を返します。
  2022.  コマンドを実行できたときは 0以外の数値を返します。
  2023.  
  2024. 例 メモ帳を実行し、終了するまでマクロの実行を停止する
  2025. call shell("notepad", -1)
  2026.  
  2027. 例 メモ帳を実行し、マクロの実行も継続する
  2028. call shell("notepad", 1)
  2029.  
  2030. 例 バッチファイルを実行する
  2031. 拡張子が exe 以外の時は必ず拡張子も記述してください。
  2032. call shell("xxx.bat", 1)
  2033.  
  2034. $PointTo目次
  2035. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2036. .topic    space$
  2037. .title    space$ 関数
  2038.  
  2039. 構文    space$(NUM)
  2040.  
  2041. 機能
  2042.  NUM 個のスペースからなる文字列を返します。
  2043.  
  2044. 参照    string$
  2045.  
  2046. space$(2) → "  "
  2047.  
  2048. $PointTo目次
  2049. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2050. .topic    static
  2051. .title    static ステートメント
  2052.  
  2053. 構文    static 変数名 as 型 [, 変数名2 as 型2 , ...]
  2054.  
  2055. 機能
  2056.  dim とほぼ同様の機能のステートメントですが、「プロシージャや関数の内部のローカル変数はマクロの実行時に1回だけしか初期化されない」という点が違います。
  2057.  dim で宣言した変数はプロシージャや関数に入るたびに初期化されます。
  2058.  
  2059. 参照    変数  const
  2060.  
  2061. $PointTo目次
  2062. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2063. .topic    stopdestroykey
  2064. .title    stopdestroykey ステートメント
  2065.  
  2066. 構文    stopdestroykey NUM
  2067.  
  2068. 機能
  2069.  NUMが 0 のときマクロ終了時にキー入力を捨てます。
  2070.  NUMが 0 以外のときマクロ終了時にキー入力を捨てません。
  2071.  マクロ実行直後は stopdestroykey 0 の状態になっています。
  2072.  
  2073.  キー入力を必要とするマクロを実行し、キーを押しすぎると、マクロ終了時に文書に文字が入力されてしまうことがあります。これを防ぐために、マクロ終了時にはキー入力は自動的に捨てられるようになっています。この動作を禁止したいときは、
  2074. stopdestroykey 1
  2075. を実行してください。
  2076.  
  2077. $PointTo目次
  2078. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2079. .topic    stopdispatchevent
  2080. .title    stopdispatchevent ステートメント
  2081.  
  2082. 構文    stopdispatchevent NUM
  2083.  
  2084. 機能
  2085.  NUMが 0 のときイベントの処理を行います。
  2086.  NUMが 0 以外のときイベントの処理を行わなくなります。
  2087.  マクロ実行直後は stopdispatchevent 0 の状態になっています。
  2088.  
  2089.  マクロ実行中は定期的にQX内で発生したイベントを処理します。このとき、キー入力は捨てられてしまいます。
  2090.  anykeypressed を使用するときは stopdispatchevent 1 を実行して、キー入力が捨てられないようにしてください。
  2091.  stopdispatchevent 1 を実行すると、右クリックによるマクロの中止はできません。
  2092.  
  2093. dim key
  2094. stopdispatchevent 1
  2095. do
  2096.     key = anykeypressed()
  2097.     if key = KEY_SPACE then end
  2098.     if key = KEY_RETURN then beep
  2099.     'ここで何かする
  2100. loop while 1
  2101. stopdispatchevent 0    'anykeypressed を使わないときは 0 にする
  2102.  
  2103. $PointTo目次
  2104. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2105. .topic    stopmacro
  2106. .title    stopmacro ステートメント
  2107.  
  2108. 構文    stopmacro NUM
  2109.  
  2110. 機能
  2111.  一般マクロの実行中にキー入力するか、アプリケーションウィンドウを右クリックするとマクロの実行を中止できますが、この動作を有効にするか無効にするかを設定できます。
  2112.  NUMが 0 のときマクロを中止できなくなります。
  2113.  NUMが 0 以外のときマクロを中止できるようになります。
  2114.  マクロ実行直後は stopmacro 1 の状態になっています。
  2115.  
  2116.  デバッグがすんで、間違いなく動作するマクロ以外では stopmacro 0 は実行しない方が安全です。
  2117.  
  2118. 参照    マクロの中止
  2119.  
  2120. $PointTo目次
  2121. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2122. .topic    str$
  2123. .title    str$ 関数
  2124.  
  2125. 構文    str$(NUM)
  2126.  
  2127. 機能
  2128.  NUM を表現する文字列を作成し、その文字列を返します。
  2129.  NUM が正の数の時は文字列の先頭にスペースがつきます。
  2130.  
  2131. 参照    val  chr$  hex$  cformat$
  2132.  
  2133. str$(10)  → " 10"
  2134. str$(-10) → "-10"
  2135.  
  2136. $PointTo目次
  2137. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2138. .topic    string$
  2139. .title    string$ 関数
  2140.  
  2141. 構文    string$(NUM1, NUM2)
  2142.     NUM1:個数
  2143.     NUM2:文字のコード
  2144.  
  2145. 機能
  2146.  NUM2 をアスキーコードまたはシフトJISコードとみなして、NUM1 個並べた文字列を作成し、その文字列を返します。
  2147.  
  2148. 参照    space$
  2149.  
  2150. string$(3, `a`) → "aaa"
  2151. string$(3, `あ`) → "あああ"
  2152.  
  2153. $PointTo目次
  2154. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2155. .topic    sub
  2156. .alias    end sub
  2157. .alias    exit sub
  2158. .alias    proc
  2159. ;.search    end sub
  2160. ;.search    exit sub
  2161. ;.search    proc
  2162. .title    sub ステートメント
  2163. .title    proc ステートメント
  2164.  
  2165. 構文    sub プロシージャ名(引数のならび, ... )
  2166.         ステートメント...
  2167.     end sub
  2168.  
  2169. 機能
  2170.  プロシージャを定義します。
  2171.  値を返せないことを除き function と同じです。
  2172.  プロシージャを再帰的に(自分自身を)呼び出すことはできません。
  2173.  
  2174.  sub と proc はマクロを実行する上では全く同じ機能です。sub と記述できるところは、すべて proc と記述できます。
  2175.  QXのマクロ一覧(MacroList)で一覧表示されるのは proc のみです。
  2176.  直接実行可能なプロシージャは proc、単なるサブルーチンとしてのプロシージャは sub と記述するようにしてください。
  2177.  
  2178. "'inputstring は 引数を < > で囲って文書に入力するプロシージャ
  2179. proc inputstring(s$)
  2180.     @Input "<" + s$ + ">"
  2181. end proc
  2182.  
  2183. proc main
  2184.     inputstring "テスト"
  2185. end proc
  2186. ;■■■
  2187. .bborder
  2188. .title    exit sub ステートメント
  2189. .title    exit proc ステートメント
  2190.  
  2191. 構文    exit sub
  2192. 構文    exit proc
  2193.  
  2194. 機能
  2195.  ただちに sub,proc を抜けます。
  2196.  
  2197. $PointTo目次
  2198. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2199. .topic    time$
  2200. .title    time$,time0$ 関数
  2201. .alias    time0$
  2202.  
  2203. 構文    time$
  2204.  
  2205. 機能
  2206.  現在の時間("hh:mm:ss" の形式)を返します。
  2207.  時/分/秒が1桁のときはスペースで埋められます。
  2208. 23: 0:30
  2209. .bborder
  2210. 構文    time0$
  2211.  
  2212. 機能
  2213.  現在の時間("hh:mm:ss" の形式)を返します。
  2214.  時/分/秒が1桁のときは 0 で埋められます。
  2215. 23:00:30
  2216.  
  2217. 参照    date$  month$  week$  weekday
  2218.  
  2219. $PointTo目次
  2220. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2221. .topic    type
  2222. .alias    end type
  2223. ;.search    end type
  2224. .title    type ステートメント
  2225.  
  2226. 構文    type 型名
  2227.         メンバ名1 as 型1
  2228.         メンバ名2 as 型2
  2229.         ...
  2230.     end type
  2231.  
  2232. 機能
  2233.  ユーザ定義データ型を宣言します。
  2234.  
  2235.  ユーザ定義型変数を配列にすることはできません。
  2236.  メンバ名の型に可変長文字列型/ユーザ定義データ型を指定することはできません。
  2237.  
  2238.  メンバの参照には . を使います。
  2239. "'アプリケーションウィンドウの座標をステータスバーに表示します。
  2240. type RECT
  2241.     Left as default
  2242.     Top as default
  2243.     Right as default
  2244.     Bottom as default
  2245. end type
  2246.  
  2247. dllname USER
  2248. cdeclare void GetWindowRect(HWND, RECT *);
  2249.  
  2250. proc main()
  2251.     dim rc as RECT
  2252.  
  2253.     GetWindowRect(@@hwnd, rc)
  2254.     print cformat$("left=%d, top=%d, right=%d, bottom=%d", rc.Left, rc.Top, rc.Right, rc.Bottom)
  2255. end proc
  2256.  
  2257. $PointTo目次
  2258. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2259. .topic    ucase
  2260. .title    ucase 関数
  2261.  
  2262. 構文    ucase(NUM)
  2263.  
  2264. 機能
  2265.  数値NUM をアスキーコードとみなして、半角英小文字であれば大文字に変換し、その値を返します。
  2266.  半角英小文字以外の時は、NUM をそのまま返します。
  2267.  全角の英小文字は変換しません。
  2268. ;■
  2269.  
  2270. .tborder
  2271. .alias    ucase$
  2272. .title    ucase$ 関数
  2273.  
  2274. 構文    ucase$(STRING)
  2275.  
  2276. 機能
  2277.  STRING 中の半角英小文字を大文字に変換し、その文字列を返します。
  2278.  全角の英小文字は変換しません。
  2279.  
  2280. 参照    lcase  lcase$
  2281.  
  2282. ucase(`a`) → &H41 つまり `A`
  2283. ucase(`A`) → &H41 つまり `A`
  2284. ucase$("ABcd") → "ABCD"
  2285.  
  2286. $PointTo目次
  2287. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2288. .topic    val
  2289. .title    val 関数
  2290.  
  2291. 構文    val(STRING)
  2292.  
  2293. 機能
  2294.  文字列で表現された値を数値に変換し、その数値を返します。
  2295.  
  2296. 参照    asc  chr$
  2297.  
  2298. val("10") → 10
  2299. val("&H10") → 16
  2300.  
  2301. $PointTo目次
  2302. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2303. .topic    versionmacro
  2304. .title    versionmacro 関数
  2305.  
  2306. 構文    versionmacro
  2307.  
  2308. 返値
  2309.  マクロのバージョン番号に 100 をかけた数値を返します。
  2310.  
  2311. バージョン番号が 2.00 のときは 200
  2312. バージョン番号が 2.11 のときは 211
  2313.  
  2314. $PointTo目次
  2315. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2316. .topic    week$
  2317. .title    week$ 関数
  2318.  
  2319. 構文    week$(NUM)
  2320.     NUM:
  2321.         1  "Sunday" を返します
  2322.         2  "Monday"
  2323.         3  "Tuesday"
  2324.         4  "Wednesday"
  2325.         5  "Thursday"
  2326.         6  "Friday"
  2327.         7  "Saturday"
  2328.         0  今日の曜日を英語で返します(Sunday ~ Saturday)
  2329.         -1 "日"
  2330.         -2 "月"
  2331.         -3 "火"
  2332.         -4 "水"
  2333.         -5 "木"
  2334.         -6 "金"
  2335.         -7 "土"
  2336.  
  2337. 機能
  2338.  指定した数値を曜日文字列に変換し、その文字列を返します。
  2339.  
  2340. 参照    date$  time$  month$  weekday
  2341.  
  2342. week$(1) → "Sunday"
  2343. week$(-1) → "日"
  2344. week$(0) → "Saturday"        (実行した日が土曜日のとき)
  2345.  
  2346. $PointTo目次
  2347. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2348. .topic    weekday
  2349. .title    weekday 関数
  2350.  
  2351. 構文    weekday
  2352.  
  2353. 機能
  2354.  今日の曜日を1~7の数値で返します
  2355.  
  2356. 日    1 を返します
  2357. 月    2
  2358. 火    3
  2359. 水    4
  2360. 木    5
  2361. 金    6
  2362. 土    7
  2363.  
  2364. 参照    date$  time$  month$  week$
  2365.  
  2366. weekday → 1        (実行した日が日曜日のとき)
  2367.  
  2368. $PointTo目次
  2369. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2370. .topic    演算子
  2371. .noscroll
  2372. .title
  2373. .endnoscroll
  2374.  
  2375. ;■■■■■■
  2376. .bold ■ 算術演算子 ■
  2377.  
  2378. .alias    +
  2379. .alias    &
  2380. ;.search    + 演算子
  2381. ;.search    & 演算子
  2382. .title    +  & 演算子
  2383. 構文1    NUM1 + NUM2
  2384. 構文2    STRING1 + STRING2
  2385. 構文3    STRING1 & STRING2
  2386.  
  2387. 機能1
  2388.  NUM1 と NUM2 の和を求めます。
  2389.  
  2390. 機能2,3
  2391.  STRING1 と STRING2 を連結します。
  2392. ;■■■
  2393. .bborder
  2394. .alias    -
  2395. ;.search    - 演算子
  2396. .title    - 演算子
  2397.  
  2398. 構文1    NUM1 - NUM2
  2399. 構文2    - NUM
  2400.  
  2401. 機能1
  2402.  NUM1 と NUM2 の差を求めます。
  2403.  
  2404. 機能2
  2405.  NUM の符号を反転します。
  2406. ;■■■
  2407. .bborder
  2408. .alias    *
  2409. ;.search    * 演算子
  2410. .title    * 演算子
  2411.  
  2412. 構文    NUM1 * NUM2
  2413.  
  2414. 機能
  2415.  NUM1 と NUM2 の積を求めます。
  2416. ;■■■
  2417. .bborder
  2418. .alias    /
  2419. ;.alias    \
  2420. ;.search    / 演算子
  2421. ;.search    \ 演算子
  2422. .title    / 演算子
  2423. ;.title    /  \ 演算子
  2424.  
  2425. 構文    NUM1 / NUM2
  2426. ;構文    NUM1 \ NUM2
  2427.  
  2428. 機能
  2429.  NUM1 と NUM2 の商を求めます。
  2430.  整数で演算するため小数点以下は切り捨てられます。
  2431. ;
  2432. ; / と \ は同じ機能です。
  2433. ;■■■
  2434. .bborder
  2435. ;.alias    mod
  2436. .alias    mod
  2437. ;.search    mod 演算子
  2438. ;.search    mod
  2439. .title    mod 演算子
  2440.  
  2441. 構文    NUM1 mod NUM2
  2442. 機能    NUM1 を NUM2 で除算し、その余りを返します。
  2443. ;■■■
  2444. .bborder
  2445. .alias    <<
  2446. ;.search    << 演算子
  2447. .title    << 演算子
  2448.  
  2449. 構文    NUM1 << NUM2
  2450.  
  2451. 機能
  2452.  NUM1 を左に NUM2 ビットシフトします。NUM1 は符号なし整数として扱われます。
  2453. ;■■■
  2454. .bborder
  2455. .alias    >>
  2456. ;.search    >> 演算子
  2457. .title    >> 演算子
  2458.  
  2459. 構文    NUM1 >> NUM2
  2460.  
  2461. 機能
  2462.  NUM1 を右に NUM2 ビットシフトします。NUM1 は符号なし整数として扱われます。
  2463. ;■■■■■■
  2464. .bborder
  2465.  
  2466. .bold ■ 論理演算子 ■
  2467.  
  2468. ;.alias    and 演算子
  2469. .alias    and
  2470. ;.search    and 演算子
  2471. ;.search    and
  2472. .title    and 演算子
  2473. 構文    NUM1 and NUM2
  2474. 機能    NUM1 と NUM2 の論理積を求めます。
  2475.  
  2476. ビット単位での and の結果の一覧は以下の通りです。
  2477. NUM1   NUM2   結果
  2478. 0    0    0
  2479. 0    1    0
  2480. 1    0    0
  2481. 1    1    1
  2482. ;■■■
  2483. .bborder
  2484. ;.alias    eqv 演算子
  2485. .alias    eqv
  2486. ;.search    eqv 演算子
  2487. ;.search    eqv
  2488. .title    eqv 演算子
  2489. 構文    NUM1 eqv NUM2
  2490. 機能    NUM1 と NUM2 の論理等価を求めます。
  2491.  
  2492. NUM1   NUM2   結果
  2493. 0    0    1
  2494. 0    1    0
  2495. 1    0    0
  2496. 1    1    1
  2497. ;■■■
  2498. .bborder
  2499. ;.alias    imp 演算子
  2500. .alias    imp
  2501. ;.search    imp 演算子
  2502. ;.search    imp
  2503. .title    imp 演算子
  2504. 構文    NUM1 imp NUM2
  2505. 機能    NUM1 と NUM2 の論理包含を求めます。
  2506.  
  2507. NUM1   NUM2   結果
  2508. 0    0    1
  2509. 0    1    1
  2510. 1    0    0
  2511. 1    1    1
  2512. ;■■■
  2513. .bborder
  2514. ;.alias    not 演算子
  2515. .alias    not
  2516. ;.search    not 演算子
  2517. ;.search    not
  2518. .title    not 演算子
  2519. 構文    not NUM1
  2520. 機能    NUM1 の論理否定を求めます。
  2521.  
  2522. NUM1    結果
  2523. 0    1
  2524. 1    0
  2525. ;■■■
  2526. .bborder
  2527. ;.alias    or 演算子
  2528. .alias    or
  2529. ;.search    or 演算子
  2530. ;.search    or
  2531. .title    or 演算子
  2532. 構文    NUM1 or NUM2
  2533. 機能    NUM1 と NUM2 の論理和を求めます。
  2534.  
  2535. NUM1   NUM2   結果
  2536. 0    0    0
  2537. 0    1    1
  2538. 1    0    1
  2539. 1    1    1
  2540. ;■■■
  2541. .bborder
  2542. ;.alias    xor 演算子
  2543. .alias    xor
  2544. ;.search    xor 演算子
  2545. ;.search    xor
  2546. .title    xor 演算子
  2547. 構文    NUM1 xor NUM2
  2548. 機能    NUM1 と NUM2 の排他的論理和を求めます。
  2549.  
  2550. NUM1   NUM2   結果
  2551. 0    0    0
  2552. 0    1    1
  2553. 1    0    1
  2554. 1    1    0
  2555. ;■■■■■■
  2556. .bborder
  2557.  
  2558. .bold ■ 関係演算子 ■
  2559.  
  2560.  
  2561. .alias    <
  2562. ;.search    < 演算子
  2563. .title    < 演算子
  2564.  
  2565. 構文1    NUM1 < NUM2
  2566. 構文2    STRING1 < STRING2
  2567.  
  2568. 機能1
  2569.  NUM1 < NUM2 のとき -1、NUM1 ≧ NUM2 の時0を返します。
  2570.  
  2571. 機能2
  2572.  文字列を先頭から1バイトずつ比較し、STRING1 < STRING2 のとき -1、STRING1 ≧ STRING2 の時0を返します。
  2573. ;■■■
  2574. .bborder
  2575. .alias    >
  2576. ;.search    > 演算子
  2577. .title    > 演算子
  2578.  
  2579. 構文1    NUM1 > NUM2
  2580. 構文2    STRING1 > STRING2
  2581.  
  2582. 機能1
  2583.  NUM1 > NUM2 のとき -1、NUM1 ≦ NUM2 の時0を返します。
  2584.  
  2585. 機能2
  2586.  文字列を先頭から1バイトずつ比較し、STRING1 > STRING2 のとき -1、STRING1 ≦ STRING2 の時0を返します。
  2587. ;■■■
  2588. .bborder
  2589. .alias    =
  2590. ;.search    = 演算子
  2591. .title    = 演算子
  2592.  
  2593. 構文1    NUM1 = NUM2
  2594. 構文2    STRING1 = STRING2
  2595.  
  2596. 機能1
  2597.  NUM1 = NUM2 のとき -1、NUM1 <> NUM2 の時0を返します。
  2598.  
  2599. 機能2
  2600.  STRING1 と STRING2 が同じ時 -1、違う時0を返します。
  2601. ;■■■
  2602. .bborder
  2603. .alias    <=
  2604. .alias    =<
  2605. ;.search    <= 演算子
  2606. ;.search    =< 演算子
  2607. .title    <=  =< 演算子
  2608.  
  2609. 構文1    NUM1 <= NUM2
  2610. 構文2    STRING1 <= STRING2
  2611.  
  2612. 機能1
  2613.  NUM1 ≦ NUM2 のとき -1、NUM1 > NUM2 の時0を返します。
  2614.  
  2615. 機能2
  2616.  文字列を先頭から1バイトずつ比較し、STRING1 ≦ STRING2 のとき -1、STRING1 > STRING2 の時0を返します。
  2617.  
  2618. <= と =< は同じ機能です。
  2619. ;■■■
  2620. .bborder
  2621. .alias    >=
  2622. .alias    =>
  2623. ;.search    >= 演算子
  2624. ;.search    => 演算子
  2625. .title    >=  => 演算子
  2626.  
  2627. 構文1    NUM1 >= NUM2
  2628. 構文2    STRING1 >= STRING2
  2629.  
  2630. 機能1
  2631.  NUM1 ≧ NUM2 のとき -1、NUM1 < NUM2 の時0を返します。
  2632.  
  2633. 機能2
  2634.  文字列を先頭から1バイトずつ比較し、STRING1 ≧ STRING2 のとき -1、STRING1 < STRING2 の時0を返します。
  2635.  
  2636. >= と => は同じ機能です。
  2637. ;■■■
  2638. .bborder
  2639. .alias    <>
  2640. .alias    ><
  2641. ;.search    <> 演算子
  2642. ;.search    >< 演算子
  2643. .title    <>  >< 演算子
  2644.  
  2645. 構文1    NUM1 <> NUM2
  2646. 構文2    STRING1 <> STRING2
  2647.  
  2648. 機能1
  2649.  NUM1 <> NUM2 のとき -1、NUM1 = NUM2 の時0を返します。
  2650.  
  2651. 機能2
  2652.  STRING1 と STRING2 が違うとき -1、同じ時0を返します。
  2653.  
  2654. <> と >< は同じ機能です。
  2655.  
  2656. ;■■■
  2657. .bborder
  2658. .alias    ++
  2659. .alias    --
  2660. .title    ++ -- 演算子
  2661.  
  2662. 構文1    変数++
  2663. 構文2    変数--
  2664.  
  2665. 機能1
  2666.  変数の値に1を足します。
  2667.  変数は integer型 及び long型 の数値変数のみ使用できます。配列型には使用できません。
  2668. item$[j++] = "xxx"
  2669. は以下の2行と同じです
  2670. item$[j] = "xxx"
  2671. j = j+1
  2672.  
  2673. 機能2
  2674.  変数の値から1を引きます。
  2675.  
  2676. dim j
  2677. dim item$[10]
  2678. j = 1
  2679. item$[j++] = "xxx"
  2680. item$[j++] = "yyy"
  2681.  
  2682. $PointTo目次
  2683. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2684. .topic    演算子の優先順位
  2685. .title
  2686.  
  2687. 上にあるほど優先順位が高くなります。
  2688. 同じ行にあるものは同じ優先順位です。
  2689.  
  2690. .crpitcha 2
  2691. ++ --
  2692. -(単項の - )
  2693. <<  >>
  2694. *  /
  2695. mod
  2696. +  -  &
  2697. =  <  >  <=  =<  >=  =>  <>  ><
  2698. not
  2699. and
  2700. or
  2701. xor
  2702. imp
  2703. eqv
  2704.  
  2705. $PointTo目次
  2706. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2707. .topic    '
  2708. .title    コメント
  2709.  
  2710.  行中のどの位置でも ' を記述すると、それ以降の文字をコメントとみなします。
  2711.  ただし、文字列中の ' はコメントとはなりません。
  2712.  
  2713. "'これはコメント
  2714.  
  2715. for j = 1 to 100   'ここからループ
  2716.  
  2717. $PointTo目次
  2718. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2719. .topic    #16
  2720. .alias    #32
  2721. .alias    #32_NT
  2722. .alias    #32_95
  2723. .title    条件実行
  2724.  
  2725.  行頭に #16 または #32 を記述するとその行を q16 のときのみまたは q32 のときのみ実行することができます。
  2726.  
  2727. "#16     q16 の時のみ実行する
  2728. "#32     q32 の時のみ実行する
  2729. "#32_NT     q32 を Windows NT で実行した時のみ実行する
  2730. "#32_95     q32 を Windows 95 で実行した時のみ実行する
  2731.  
  2732. 例1
  2733. "#16    dllname "x16.dll"
  2734. "#32    dllname "x32.dll"
  2735.  
  2736. $PointTo目次
  2737. ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  2738. .alllinkmode
  2739. .topic2    用途別ステートメント・関数    youto
  2740. #if16
  2741. '!{\footnote !AA(0x1b,0,"CloseWindow(`youto')")}
  2742. #endif
  2743. ;.noscroll
  2744. ;.title
  2745. ;.endnoscroll
  2746.  
  2747. .crpitcha 2
  2748. ■ 算術演算
  2749. abs
  2750.  
  2751. ■ 数値を文字列へ
  2752. chr$  cformat$  hex$  str$
  2753.  
  2754. ■ 文字列の作成
  2755. space$  string$
  2756.  
  2757. ■ 文字列を数値へ
  2758. asc  val
  2759.  
  2760. ■ 文字列の検索
  2761. instr  instrb
  2762. inrstr  inrstrb
  2763.  
  2764. ■ 大文字小文字変換
  2765. lcase  lcase$
  2766. ucase  ucase$
  2767.  
  2768. ■ 文字のチェック
  2769. isalpha  islower  isupper
  2770. isalnum  isdigit  isxdigit
  2771.  
  2772. ■ 文字列の切り出し
  2773. left$  leftb$
  2774. mid$  midb$
  2775. right$  rightb$
  2776.  
  2777. ■ 文字列の長さ
  2778. len  lenb
  2779.  
  2780. ■ スペース削除
  2781. ltrim$  rtrim$  trim$
  2782.  
  2783. ■ JIS←→シフトJIS
  2784. jistosjis  sjistojis
  2785.  
  2786. ■ ディレクトリ/ファイル
  2787. chdir  mkdir  rmdir
  2788. chdrive  curdir$
  2789. dir$  getattr
  2790. filedatetime$  filelen
  2791. fullpath$
  2792. getfilename$
  2793. open close name kill
  2794. lineinput inputb$ print
  2795. freefile eof seek
  2796. searchfile$
  2797.  
  2798. ■ 日付/時間
  2799. date$  date0$
  2800. time$  time0$
  2801. month$  week$  weekday
  2802.  
  2803. ■ IME
  2804. imemode  imestatus
  2805.  
  2806. ■ 入力/選択
  2807. inputbox  inputbox$  stopinputbox
  2808. listbox  msgbox  popupmenu
  2809.  
  2810. ■ キー入力
  2811. inputkey  inputchar
  2812. iskeypressed  anykeypressed  iskeydown
  2813.  
  2814. ■ プロファイル
  2815. writeprofile  getprofile$
  2816.  
  2817. ■ 他のアプリに関する
  2818. appactivate  appactivate2
  2819. sendkey
  2820. shell
  2821. doevents
  2822.  
  2823. ■ DLL
  2824. cdeclare  dllname
  2825. cdeclarea
  2826.  
  2827.  
  2828. ■ その他
  2829. beep
  2830. call
  2831. dprint
  2832. environ$
  2833. ;err
  2834. versionmacro
  2835. print
  2836. stopmacro
  2837. stopdispatchevent
  2838. stopdestroykey
  2839.  
  2840. ■ 変数/定数の定義
  2841. dim  static  const
  2842. type
  2843.  
  2844. ■ プロシージャ/関数の定義
  2845. sub  proc  function
  2846.  
  2847. ■ 制御
  2848. for .. next
  2849. do .. loop while(until)
  2850. if .. then .. else .. elseif .. end if
  2851. end   exit
  2852. .alllinkmode 0
  2853.