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 >
Wrap
Text File
|
1996-12-22
|
64KB
|
2,908 lines
;width=70 version=150 datetime=1996/12/05 13:01:25
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic2 ステートメント・関数 索引 state
.idx QXM_STATEMENT
#if16
'!{\footnote !AA(0x1b,0,"CloseWindow(`state')")}
#endif
.noscroll
;.title
.crpitcha 2
.crpitchb 2
'{\strike A }{\v %AAA}
'{\strike B }{\v %BBB}
'{\strike C }{\v %CCC}
'{\strike D }{\v %DDD}
'{\strike E }{\v %EEE}
'{\strike F }{\v %FFF}
'{\strike G }{\v %GGG}
'{\strike H }{\v %HHH}
'{\strike I }{\v %III}
'{\strike J }{\v %JJJ}
'{\strike K }{\v %KKK}
'{\strike L }{\v %LLL}
'{\strike M }{\v %MMM}
'{\strike N }{\v %NNN}
'{\strike O }{\v %OOO}
'{\strike P }{\v %PPP}
'{\strike R }{\v %RRR}
'{\strike S }{\v %SSS}
'{\strike T }{\v %TTT}
'{\strike U }{\v %UUU}
'{\strike V }{\v %VVV}
'{\strike W }{\v %WWW}
'{\strike X }{\v %XXX}
'{\strike 記号 }{\v %SIGN}
.endnoscroll
.crpitchb 0
.crpitcha 2
;.idx SECWIN
.idx AAA
.bold [A]
abs 関数
and 演算子
anykeypressed 関数
appactivate 関数
appactivate2 関数
asc 関数
.idx BBB
.bold [B]
beep ステートメント
.idx CCC
.bold [C]
call ステートメント
cdeclare ステートメント
cdeclarea ステートメント
cformat$ 関数
chdir ステートメント
chdrive ステートメント
chr$ 関数
close ステートメント
const ステートメント
curdir$ 関数
.idx DDD
.bold [D]
date$ 関数
date0$ 関数
dim ステートメント
dir$ 関数
dllname ステートメント
do ステートメント
doevents ステートメント
dprint ステートメント
.idx EEE
.bold [E]
else ステートメント
elseif ステートメント
end ステートメント
environ$ 関数
eof 関数
eqv 演算子
;err 変数
exit ステートメント
.idx FFF
.bold [F]
filedatetime$ 関数
filelen 関数
for ステートメント
freefile 関数
fullpath$ 関数
function ステートメント
.idx GGG
.bold [G]
getattr 関数
getfilename$ 関数
getprofile$ 関数
.idx HHH
.bold [H]
hex$ 関数
.idx III
.bold [I]
if ステートメント
imemode ステートメント
imestatus 関数
imp 演算子
inputb$ 関数
inputbox 関数
inputbox$ 関数
inputchar 関数
inputkey 関数
inrstr 関数
inrstrb 関数
instr 関数
instrb 関数
isalnum 関数
isalpha 関数
isdigit 関数
islower 関数
iskeydown 関数
iskeypressed 関数
isupper 関数
isxdigit 関数
.idx JJJ
.bold [J]
jistosjis 関数
.idx KKK
.bold [K]
kill ステートメント
.idx LLL
.bold [L]
lcase 関数
lcase$ 関数
left$ 関数
leftb$ 関数
len 関数
lenb 関数
lineinput ステートメント
listbox 関数
loop
ltrim$ 関数
.idx MMM
.bold [M]
mid$ 関数
midb$ 関数
mkdir ステートメント
mod 演算子
month$ 関数
msgbox 関数
.idx NNN
.bold [N]
name ステートメント
next ステートメント
not 演算子
.idx OOO
.bold [O]
open ステートメント
or 演算子
.idx PPP
.bold [P]
popupmenu 関数
print ステートメント
.idx RRR
.bold [R]
right$ 関数
rightb$ 関数
rmdir ステートメント
rtrim$ 関数
.idx SSS
.bold [S]
searchfile$ 関数
seek ステートメント/関数
sendkey ステートメント
shell 関数
sjistojis 関数
space$ 関数
static ステートメント
step
stopdestroykey ステートメント
stopdispatchevent ステートメント
stopinputbox ステートメント
stopmacro ステートメント
str$ 関数
string$ 関数
sub ステートメント
.idx TTT
.bold [T]
then
time$ 関数
time0$ 関数
to
trim$ 関数
type ステートメント
.idx UUU
.bold [U]
ucase 関数
ucase$ 関数
until
.idx VVV
.bold [V]
val 関数
versionmacro 関数
.idx WWW
.bold [W]
week$ 関数
weekday 関数
while
writeprofile ステートメント
.idx XXX
.bold [X]
xor 演算子
.idx SIGN
.bold [記号]
& 演算子
< 演算子
> 演算子
= 演算子
=< 演算子 <= 演算子
=> 演算子 >= 演算子
<> 演算子 >< 演算子
<< 演算子
>> 演算子
+ 演算子
- 演算子
* 演算子
/ 演算子
;\ 演算子
++ 演算子 -- 演算子
"' コメント
&H 16進定数
"` 文字定数
"#16
"#32
"#32_NT
"#32_95
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic abs
.title abs 関数
構文 abs(NUM)
機能
NUM の絶対値を返します。
例
abs(-100) → 100
abs(100) → 100
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic appactivate
.title appactivate 関数
構文 appactivate(STRING1, STRING2)
STRING1:タイトルバー文字列
STRING2:クラス名
機能
指定したウィンドウタイトル(STRING1)、クラス名(STRING2)を持つウィンドウをアクティブにします。タイトル/クラス名が一致したときのみ、ウィンドウをアクティブにします。
どちらかの引数をヌルストリングにすると、それらは何であっても一致したとみなされます。
ウィンドウをアクティブにできたときは、そのウィンドウのハンドル(HWND)、アクティブにできなかったときは0を返します。
例 CPPFRAME というクラスを持ったウィンドウをアクティブにする
dim hwnd as HWND
hwnd = appactivate("", "CPPFRAME")
;■
.tborder
.alias appactivate2
.title appactivate2 関数
構文 appactivate2(STRING)
STRING:タイトルバー文字列
機能
指定したウィンドウタイトル(STRING)を持つウィンドウをアクティブにします。タイトル名の先頭が STRING に一致すれば、ウィンドウをアクティブにします。これはMDIタイプのアプリをアクティブにするときに使います。
ウィンドウをアクティブにできたときは、そのウィンドウのハンドル(HWND)、アクティブにできなかったときは0を返します。
例 タイトルの先頭が テスト となっているウィンドウをアクティブにする
dim hwnd as HWND
hwnd = appactivate2("テスト")
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic asc
.title asc 関数
構文 asc(STRING)
機能
文字列STRING の最初の文字のコードを返します。これは、アスキーコードまたはシフトJISコードです。
参照 val chr$
例
asc("A") → &H41
asc("ABC") → &H41
asc("あ") → &H82A0
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic beep
.title beep ステートメント
構文 beep
機能
「ピッ」とならします。
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic call
.title call ステートメント
構文 call 関数/メソッド
機能
関数を呼び出します。
関数や返値のあるメソッドは式の一部としてしか呼び出せませんが、返値を無視して呼び出したいときに call ステートメントを使用します。
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic cdeclare
.title cdeclare ステートメント
構文 cdeclare c言語形式のプロトタイプ宣言
機能
DLLで定義されている関数の名前/引数/返値を宣言します。
cdeclare は必ず dllname でDLLのファイル名を宣言した後に記述します。
c言語の知識のない方は使用しないでください。
関数の引数/返値はc言語のものを使用します。
引数に使用できる型は以下の通りです。
int int *
long long *
HWND HWND *
;HDC HDC *
LPSTR
LPCSTR
void
ユーザ定義データ型 *
返値に使用できる型は以下の通りです。
int
long
HWND
;HDC
void
例
"'user.exe の GetWindowRect を宣言します
dllname "user.exe"
cdeclare void GetWindowRect(HWND, RECT *);
参照 cdeclarea
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic cdeclarea
.title cdeclarea ステートメント
構文 cdeclarea c言語形式のプロトタイプ宣言
機能
q16: cdeclare と同じ機能です。
q32: 宣言した関数名の最後に A をつけます。
例
cdeclarea int GetWindowsDirectory(LPSTR, int);
これは q16 では
cdeclare int GetWindowsDirectory(LPSTR, int);
と同じです。
q32 では
cdeclare int GetWindowsDirectoryA(LPSTR, int);
と同じです。
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic cformat$
.title cformat$ 関数
構文 cformat$(STRING, ...)
STRING:フォーマット文字列
機能
フォーマット文字列に従って、引数を文字列に変換し、その文字列を返します。
フォーマット文字列の書式
型変換指定 %<flag><width>type
flag: - を指定すると左詰めにします。
width: 変換後の文字列の幅です。
type: 以下の文字が使用できます。
s 文字列型
d 符号付き10進数
u 符号なし10進数
x 符号なし16進数(英字は小文字)
X 符号なし16進数(英字は大文字)
参照 hex$ str$
例
xx$ = "123"
print cformat$("[%5s]", xx$) '[ 123] が表示される
print cformat$("[%-5d:%5d]", 100, 100) '[100 : 100] が表示される
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic chdir
.title chdir ステートメント
構文 chdir STRING
STRING:移動したいディレクトリ
機能
カレントディレクトリを変更します。ただし、カレントドライブは変更しません。
参照 chdrive curdir$
例
chdir "C:\WINDOWS" 'ドライブ C: のカレントディレクトリを \WINDOWS にする
;■
.tborder
.alias mkdir
.title mkdir ステートメント
構文 mkdir STRING
STRING:作りたいディレクトリ
機能
ディレクトリを作成します。
;■
.tborder
.alias rmdir
.title rmdir ステートメント
構文 rmdir STRING
STRING:削除したいディレクトリ
機能
ディレクトリを削除します。
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic chdrive
.title chdrive ステートメント
構文 chdrive STRING
STRING:変更したいドライブ名
機能
カレントドライブを変更します。
STRING の先頭1文字目をドライブ名とみなします。
参照 chdir curdir$
例
chdrive "b" 'カレントドライブを B: にする
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic chr$
.title chr$ 関数
構文 chr$(NUM)
機能
アスキーコードまたはシフトJISコードを対応する文字に変換し、その文字列を返します。
参照 asc cformat$
例
chr$(&H41) → "A"
chr$(&H82A0) → "あ"
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic close
.title close ステートメント
構文 close #NUM
機能
指定したファイル番号(open で指定したもの)のファイルを閉じます。
以後、このファイル番号は再利用できます。
ファイルの使用を終えたら必ず close でファイルを閉じてください。
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic const
.title const ステートメント
構文1 const 定数名 = NUM
構文2 const 定数名 = STRING
機能
記号定数を宣言します。
NUM には10進定数または、16進定数のみ記述できます。
STRING には文字列定数のみ記述できます。
プロシージャまたは関数の内部で宣言すると、その内部でのみ有効なローカル定数となります。
参照 dim static
例
const count = 10
const s$ = "あいう"
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic curdir$
.title curdir$ 関数
構文 curdir$(STRING)
STRING:ドライブ名(省略可能:カレントドライブ)
機能
指定したドライブのカレントディレクトリを返します。
参照 chdir chdrive
例
a$ = curdir$("a") 'ドライブ A: のカレントディレクトリ
a$ = curdir$() 'カレントドライブのカレントディレクトリ
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic date$
.title date$,date0$ 関数
.alias date0$
構文 date$
機能
現在の日付("yyyy-mm-dd" の形式)を返します。
月/日が1桁のときはスペースで埋められます。
例
1995- 6- 1
.bborder
構文 date0$
機能
現在の日付("yyyy-mm-dd" の形式)を返します。
月/日が1桁のときは 0 で埋められます。
例
1995-06-01
参照 time$ month$ week$ weekday
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic dim
.title dim ステートメント
構文 dim 変数名 as 型 [, 変数名2 as 型2 , ...]
機能
変数を宣言します。変数は必ず dim または static で宣言しなければなりません。
sub(プロシージャ)または function(関数)の内部で宣言された変数は、そのプロシージャまたは関数の内部でのみ使用可能なローカル変数となり、外部で宣言された変数は、複数のプロシージャや関数で使用できるグローバル変数となります。
dim で宣言したローカル変数は、プロシージャまたは関数が呼ばれると、数値変数は 0、文字列変数はヌルストリングに初期化されます。
, で区切って、複数の変数を宣言できます。
「as 型」は省略することができます。このとき変数名の最後の文字が $ であれば string、それ以外の時は long とみなされます。
使用できる型は以下の通りです。
integer 整数型
long 長整数型
string 可変長文字列型
string[xx] 固定領域文字列型(xx は10000まで)
HWND q16 のとき integer、q32 のとき long と同じ
HDC q16 のとき integer、q32 のとき long と同じ
default q16 のとき integer、q32 のとき long と同じ
xxxxx ユーザ定義データ型
また、固定領域文字列型/ユーザ定義データ型以外は配列にすることができます。配列の添字(インデックス)は [] または () でくくります。
例
dim a$ as string
dim j as integer, x as long
dim array[10] as long 'array[0] から array[10] までの配列
'dim array(10) as long でもよい
type RECT 'RECT というユーザ定義データ型を定義
Left as integer
Top as integer
Right as integer
Bottom as integer
end type
dim rc as RECT 'RECT 型の変数 rc
参照 const
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic dir$
.title dir$ 関数
構文1 dir$(STRING, NUM)
STRING:検索するファイル名
NUM:検索するファイルの属性(省略可能:&H21)
構文2 dir$()
機能1
STRING で指定されたファイルを検索します。
最初の検索の時に 構文1 を使用します。
属性に使用できる数値は以下の通りです。これらを or または + で組み合わせて指定できます。
0 通常のファイル
1 書き込み禁止ファイル
2 隠しファイル
4 システムファイル
8 ボリュームラベル
16,&H10 ディレクトリ
32,&H20 アーカイブ属性
;ATTR_NORMAL
;ATTR_READONLY
;ATTR_HIDDEN
;ATTR_SYSTEM
;ATTR_VOLUME
;ATTR_DIRECTORY
;ATTR_ARCHIVE
ディレクトリ(&H10)を指定したときは、ディレクトリのみが検索されます。
機能2
構文1 で検索した後、2つ目以降のファイルを検索するときに使用します。
機能1,2 とも、検索できたときは、ファイル名を、これ以上ファイルが見つからなかったときはヌルストリングを返します。
参照 getattr filedatetime$ filelen fullpath$ searchfile$
例 A:\ にあるファイルを配列item に格納します
dim item$[100]
dim d$,j
j = 1
d$ = dir$("A:\*.*")
do while d$<>""
item$[j] = d$
j = j+1
d$ = dir$()
loop
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic dllname
.title dllname ステートメント
構文 dllname "DLLファイル名"
機能
cdeclare で宣言するDLL関数のあるファイル名を宣言します。
DLLファイル名が PATH の通っているディレクトリやシステムディレクトリ以外にあるときはディレクトリ名まで記述する必要があります。
注意
krnl386.exe, gdi.exe, user.exe の場合はそれぞれ以下のように記述できます。
この3つのDLLを使用するときはなるべく以下の書式で記述してください。
dllname KERNEL
dllname GDI
dllname USER
q32 のときはそれぞれ、kernel32.dll, gdi32.dll, user32.dll となります。
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic do
.alias exit do
.alias loop
.alias while
.alias until
;.search exit do
;.search loop
;.search while
;.search until
.title do .. loop ステートメント
構文1 do while CONDITION
ステートメント...
loop
構文2 do until CONDITION
ステートメント...
loop
構文3 do
ステートメント...
loop while CONDITION
構文4 do
ステートメント...
loop until CONDITION
機能
指定された条件 CONDITION によりループします。
機能1,3
CONDITION が0以外の時ループを実行します。
機能2,4
CONDITION が0の時ループを実行します。
構文1,2 は CONDITION の値により1回もループが実行されないことがあります。
構文3,4 は CONDITION に関わらず最低1回はループが実行されます。
;■■■
.bborder
.title exit do ステートメント
構文 exit do
機能
ただちに do .. loop ループを抜けます。
参照 for .. next
例 A:\ にあるファイルを配列item に格納します
dim item$[100]
dim d$,j
j = 1
d$ = dir$("A:\*.*")
do while d$<>""
if j > 100 then exit do
item$[j] = d$
j = j+1
d$ = dir$()
loop
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic doevents
.title doevents ステートメント
構文 doevents
機能
他のアプリケーションが実行できるように Windows に制御を返します。
sendkey を実行した後、すぐにキーを送出したいときに doevents を実行してください。
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic dprint
.title dprint ステートメント
構文 dprint 式
機能
数値または文字列をデバッグウィンドウに表示します。デバッグ時に変数の値を調べるときに使用します。
数値式または文字列式を ; または , で区切って複数記述できます。
";" で区切ると、連続して出力し、"," で区切ると、タブを出力します。また、最後に ";" を記述すると、改行しません。
1度に出力できるのは最大1000バイト程度までです。
例
dprint j '変数 j の値を出力し、改行します
dprint j; '変数 j の値を出力し、改行しません
dprint a$;j;k '変数 a$ j k の値を出力し、改行します
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic end
.title end ステートメント
構文1 end
構文2 end sub
構文3 end function
構文4 end if
構文5 end type
機能1
マクロを終了します。
function の内部で end を使用してマクロを終了させることはできません
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic environ$
.title environ$ 関数
構文1 environ$(NUM)
構文2 environ$(STRING)
機能1
NUM 番目(1~)に定義されている環境変数文字列を返します。
ABC=XYZ という環境変数があるとき "ABC=XYZ" を返します。
機能2
環境変数 STRING で定義されている文字列を返します。
ABC=XYZ という環境変数があるとき environ$("ABC") は "XYZ" を返します。
返値
機能1,2 とも、環境変数が見つかったときはその文字列を、見つからなかったときはヌルストリングを返します。
例 SET TMP=C:\TMP が DOSで実行されているとき
environ$("TMP") → "C:\TMP"
例
dim j, e$
j = 1
do
e$ = environ$(j)
if e$ = "" then exit do
'ここで e$ を使用する。たとえば dprint e$
j = j+1
loop while 1
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic eof
.title eof 関数
構文 eof(NUM)
機能
指定したファイル番号のファイルを終端まで読み切ったかどうかを調べます。
終端まで読み切っているときは -1 、そうでなければ 0 を返します。
参照 open
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
;.topic err
;.title err 変数
;
;機能
;
;構文
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic exit
.title exit ステートメント
構文1 exit do
構文2 exit for
構文3 exit sub
構文4 exit function
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic filedatetime$
.title filedatetime$ 関数
構文 filedatetime$(STRING)
STRING:ファイル名
機能
STRING で指定されたファイルのタイムスタンプを "??/??/?? ??:??:??" のようにフォーマットした文字列を返します。
指定したファイルが存在しないときはヌルストリングを返します。
参照 dir$ getattr filelen
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic filelen
.title filelen 関数
構文 filelen(STRING)
STRING:ファイル名
機能
STRING で指定されたファイルの長さ(サイズ)を返します。
指定したファイルが存在しないときは -1 を返します。
参照 dir$ getattr filedatetime$
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic for
.alias to
.alias step
.alias next
.alias exit for
;.search to
;.search step
;.search next
;.search exit for
.title for .. next ステートメント
構文 for 数値変数 = NUM1 to NUM2 step NUM3
ステートメント...
next
NUM1:開始値
NUM2:終了値
NUM3:増分値(省略可能:1 開始値>終了値のときは -1)
機能
数値変数を NUM1 から NUM2 まで、NUM3 きざみで変化させループします。
NUM3>0 のときは 数値変数>NUM2になると、NUM3<0 のときは 数値変数<NUM2 になるとループは終了し、next の次のステートメントが実行されます。最初から終了条件が満たされているとfor .. next ループ内のステートメントは一回も実行されません。
NUM3 を省略するときは step も省略します。
数値変数に配列を指定することはできません。
;■■■
.bborder
.title exit for ステートメント
構文 exit for
機能
for .. next ループをただちに抜けます。
参照 do .. loop
;■■■
.bborder
.title open ステートメント
構文 open STRING for input as #NUM
output
append
binary
機能
for により、open ステートメントでファイルを開くときの動作を指定します。
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic freefile
.title freefile 関数
構文 freefile()
機能
利用可能なファイル番号(1~5)を返します。
利用可能なファイル番号が無いときは 0 を返します。
例
dim fnum
fnum = freefile()
open "test.txt" for input as #fnum
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic fullpath$
.title fullpath$ 関数
構文 fullpath$(STRING)
STRING:ファイル名
機能
STRING で指定されたファイルをフルパスに変換した文字列を返します。
正しくフルパスに変換できなかったときはヌルストリングを返します。
参照 dir$ searchfile$
例
カレントディレクトリが A:\TEST のとき
fullpath$("TEST.MAC") → A:\TEST\TEST.MAC
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic function
.alias end function
.alias exit function
;.search end function
;.search exit function
.title function ステートメント
構文 function 関数名(引数のならび, ... ) as 返値の型
ステートメント...
end function
機能
関数を定義します。
引数は dim と同様の書式で10個まで宣言できます。指定できる型は、integer,long,HWND で、配列を指定することはできません。返値の型も同様です。
「as 返値の型」を省略すると long とみなします。
値を返すには 「関数名」自体に値を代入します。
関数を再帰的に(自分自身を)呼び出すことはできません。
関数の内部で end でマクロを終了させることはできません。
例
"'num2 は値を2倍にして返す関数
function num2(num)
num2 = num * 2
end function
proc main
print str$(num2(100))
end proc
参照 sub
;■■■
.bborder
.title exit function ステートメント
構文 exit function
機能
ただちに function を抜けます。
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic getattr
.title getattr 関数
構文 getattr(STRING)
STRING:ファイル名
機能
STRING で指定されたファイルの属性を返します。
指定したファイルが存在しないときは -1 を返します。
属性の意味は dir$ で指定するものと同じです。
参照 filedatetime$ filelen
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic getfilename$
.title getfilename$ 関数
構文 getfilename$(STRING1, STRING2, STRING3)
STRING1:ディレクトリ名(省略可能:カレントディレクトリ)
STRING2:ファイル名(省略可能:"*.*")
STRING3:タイトル(省略可能:"")
機能
コモンダイアログを表示してファイルを1つ選択し、そのファイル名を返します。
ESC を押して処理を中止したときはヌルストリングを返します。
例
f$ = getfilename$("c:\src", "*.c;*.h", "ソースファイルの編集")
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic getprofile$
.title getprofile$ 関数
構文 getprofile$(STRING1, STRING2, STRING3)
STRING1:セクション名
STRING2:キー名
STRING3:ファイル名(省略可能:"QMACPROF.INI")
機能
INI ファイルに記録されている情報を読み込み、その文字列を返します。見つからなかったときはヌルストリングを返します。
例
QMACPROF.INI の内容が以下の時
[ABC]
aaa=abcdefg
EFG=1000
getprofile$("ABC", "aaa") → "abcdefg"
getprofile$("ABC", "EFG") → "1000"
getprofile$("xxx", "yyy") → ""
;■■■
.bborder
.alias writeprofile
.title writeprofile ステートメント
構文 writeprofile STRING1, STRING2, STRING3, STRING4
STRING1:セクション名
STRING2:キー名
STRING3:文字列名
STRING4:ファイル名(省略可能:"QMACPROF.INI")
機能
INI ファイルに、指定した情報を書き込みます。
ファイル名を指定するときは @@QxDirectory$ + "\ファイル名" のように、QXのあるディレクトリに作成することを推奨します。
例
writeprofile "ABC", "EFG", "2000"
を実行すると、QMACPROF.INI は以下のようになります。
[ABC]
EFG=2000
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic hex$
.title hex$ 関数
構文 hex$(NUM)
機能
数値NUM を16進数の文字列に変換し、その文字列を返します。
参照 chr$ cformat$ str$
例
hex$(100) → "64"
hex$(&H20) → "20"
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic if
.alias then
.alias else
.alias elseif
.alias end if
;.search then
;.search else
;.search elseif
;.search end if
.title if .. then .. end if ステートメント
構文1 if CONDITION1 then
ステートメント1...
elseif CONDITION2 then
ステートメント2...
else
ステートメント3...
end if
構文2 if CONDITION then ステートメント
機能1
CONDITION1 が0以外の時 ステートメント1を実行します。
CONDITION1 が0で、CONDITION2 が0以外の時 ステートメント2を実行します。
どちらでもないときは、ステートメント3が実行されます。
elseif CONDITION then は任意の数だけ記述できます。
機能2
CONDITION が0以外の時 ステートメントを実行します。
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic imemode
.title imemode ステートメント
構文 imemode NUM
機能
IMEを制御します。
NUM
1 IMEをONにします
2 IMEをOFFにします
4 IMEを全角ひらがなモードにします
5 IMEを全角カタカナモードにします
6 IMEを半角カタカナモードにします
7 IMEを全角英数モードにします
参照 imestatus
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic imestatus
.title imestatus 関数
構文 imestatus
機能
現在のIMEの状態を返します。
2 IMEはOFF
4 全角ひらがなモード
5 全角カタカナモード
6 半角カタカナモード
7 全角英数モード
0 その他の時
参照 imemode
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic inputb$
.title inputb$ 関数
構文 inputb$(NUM1, #NUM2)
機能
ファイル番号NUM2 のファイルから NUM1 バイト読み込み、読み込んだデータを文字列にして返します。
参照 open lineinput
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic inputbox
.title inputbox 関数
構文 inputbox(STRING1, STRING2, NUM)
STRING1:プロンプト
STRING2:タイトル(省略可能:"")
NUM:デフォルト数値(省略可能:なし)
機能
ダイアログで数値を入力させ、入力された値を返します。
キャンセルしたときは INPUTBOX_CANCEL(&H80000000) を返します。
参照 予約定数(INPUTBOX)
;■
.tborder
.alias inputbox$
.title inputbox$ 関数
構文 inputbox$(STRING1, STRING2, STRING3, STRING4)
STRING1:プロンプト
STRING2:タイトル(省略可能:"")
STRING3:デフォルト文字列(省略可能:"")
STRING4:キャンセルしたとき返す文字列(省略可能:chr$(&H1B))
機能
ダイアログで文字列を入力させ、入力された文字列を返します。
キャンセルしたときは 「キャンセルしたときのデフォルト文字列」 を返します。
参照 listbox msgbox popupmenu
例
dim num
num = inputbox("数字を入力してください", "数字入力", 5)
dim s$
s$ = inputbox$("文字を入力してください", "文字入力", "TEST")
;■
.tborder
.alias stopinputbox
.title stopinputbox ステートメント
構文 stopinputbox NUM
機能
inputbox または、inputbox$ のダイアログを表示中に ESC を押すか キャンセル ボタンを押すと、INPUTBOX_CANCEL(&H80000000) または 「キャンセルしたとき返す文字列」 を返して処理を続行しますが、マクロを中止できるようにもできます。
NUMが 0 のとき INPUTBOX_CANCEL(&H80000000) または 「キャンセルしたとき返す文字列」 を返し、処理を続行します。
NUMが 0 以外のときマクロを中止します。
マクロ実行直後は stopinputbox 0 の状態になっています。
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic instr
.alias inrstr
.title instr inrstr 関数
構文1 instr(NUM, STRING1, STRING2)
構文2 inrstr(NUM, STRING1, STRING2)
NUM:検索位置(1~ )(省略可能:1)
STRING1:検索される文字列
STRING2:検索する文字列
機能1
STRING1 の NUM 文字目以降から STRING2 が最初に現れる文字位置を返します。
STRING2 が見つからなかったときは 0 を返します。
全角文字も1文字として扱います。
NUM を省略するときは , も省略します。
機能2
最後に現れる文字位置を返す点を除き instr と同じです。
;■
.tborder
.alias instrb
.alias inrstrb
.title instrb inrstrb 関数
構文1 instrb(NUM, STRING1, STRING2)
構文2 inrstrb(NUM, STRING1, STRING2)
NUM:検索位置(1~ )(省略可能:1)
STRING1:検索される文字列
STRING2:検索する文字列
機能1
STRING1 の NUM バイト目以降から STRING2 が最初に現れるバイト位置を返します。
STRING2 が見つからなかったときは 0 を返します。
NUM を省略するときは , も省略します。
機能2
最後に現れる文字位置を返す点を除き instrb と同じです。
例
instr(2, "ABCDE", "CD") → 3
instr("ABCDE", "CD") → 3
instr(4, "ABCDE", "C") → 0
instr(2, "あいう", "う") → 3
instrb(2, "あいう", "う") → 5
inrstr("a.b.c.d", ".") → 6
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic inputchar
.title inputchar 関数
構文 inputchar
機能
文字の入力を待ち、入力した文字を返します。
ファンクションキーや Delete キーなどの特殊キーは無視されます。
;■
.tborder
.alias inputkey
.title inputkey 関数
構文 inputkey
機能
キーの入力を待ち、入力したキーのキーコードを返します。
Shift Ctrl などのシフトキーは無視されます。
参照 予約定数(KEY)
例
dim key
key = inputkey
print hex$(key)
参照 iskeypressed anykeypressed iskeydown
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic isalpha
.title isalpha 関数
構文 isalpha(NUM)
NUM:調べる数値
NUM が英字のとき -1 を、そうでなければ 0 を返します
islower(NUM) or isupper(NUM) と同じです。
;■
.tborder
.alias isalnum
.title isalnum 関数
構文 isalnum(NUM)
NUM:調べる数値
機能
NUM が英字か数字のとき -1 を、そうでなければ 0 を返します。
isalpha(NUM) or isdigit(NUM) と同じです。
;■
.tborder
.alias isdigit
.title isdigit 関数
構文 isdigit(NUM)
NUM:調べる数値
機能
NUM が数字のとき -1 を、そうでなければ 0 を返します。
`0` <= NUM and NUM <= `9` と同じです。
;■
.tborder
.alias islower
.title islower 関数
構文 islower(NUM)
NUM:調べる数値
機能
NUM が英小文字のとき -1 を、そうでなければ 0 を返します。
`a` <= NUM and NUM <= `z` と同じです。
;■
.tborder
.alias isupper
.title isupper 関数
構文 isupper(NUM)
NUM:調べる数値
機能
NUM が英大文字のとき -1 を、そうでなければ 0 を返します。
`A` <= NUM and NUM <= `Z` と同じです。
;■
.tborder
.alias isxdigit
.title isxdigit 関数
構文 isxdigit(NUM)
NUM:調べる数値
機能
NUM が16進数字のとき -1 を、そうでなければ 0 を返します。
isdigit(NUM) or (`A` <= NUM and NUM <= `F`) or (`a` <= NUM and NUM <= `f`) と同じです。
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic iskeypressed
.title iskeypressed 関数
構文 iskeypressed(NUM)
NUM:調べるキーコード
機能
以前の iskeypressed 呼び出し以後、指定したキーコードを持つキーが押されたかを調べます。
押されたときは -1、押されなかったきは 0 を返します。
NUM に 0 を指定すると、iskeypressed 呼び出しをリセットします。
iskeypressed を使用するときは、マクロの先頭付近に iskeypressed 呼び出しを入れてください。また、ダイアログボックスなど、キー入力を必要とするメソッドを実行した後も iskeypressed 呼び出しを入れてください。
例
call iskeypressed(KEY_RETURN) 'KEY_RETURN の状態をリセットするため
'ここでいろいろ処理する
if iskeypressed(KEY_RETURN) then
'押された
else
'押されなかった
end if
上の例は リターンキー(Enter) しか使用しない場合の例ですが、たくさんのキーを使用するときは、リセットのための iskeypressed がたくさん必要になってしまいます。複数のキーを使用するときは iskeypressed(0) を呼び出してください。これで、すべてのキーをリセットできます。
例
call iskeypressed(0) 'すべてのキーの状態をリセットする
;■
.tborder
.alias anykeypressed
.title anykeypressed 関数
構文 anykeypressed()
機能
どれかのキーが押されたらそのキーのキーコード、押されなければ 0 を返します。
anykeypressed を使用する前に stopdispatchevent 1 を実行してください。
;■
.tborder
.alias iskeydown
.title iskeydown 関数
構文 iskeydown(NUM)
NUM:調べるキーコード
機能
指定したキーコードを持つキーが押されているか調べます。
押されているときは -1、押されていないときは 0 を返します。
iskeydown は あるキーが押し下げられた状態にあるかを調べるときに使用します。
参照 予約定数(KEY)
inputchar inputkey
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic jistosjis
.title jistosjis 関数
構文 jistosjis(NUM)
機能
数値NUM をJISコードとみなして、シフトJISコードに変換します。
NUM が正しいJISコードでないときは0を返します。
;■
.tborder
.alias sjistojis
.title sjistojis 関数
構文 sjistojis(NUM)
機能
数値NUM をシフトJISコードとみなして、JISコードに変換します。
NUM が正しいシフトJISコードでないときは0を返します。
例
jistosjis(&H2121) → &H8140
sjistojis(`あ`) → &H2422
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic kill
.title kill ステートメント
構文 kill STRING
STRING:削除するファイル名
機能
指定したファイルを削除します。
ファイルを削除できなくてもエラーにはなりません。削除できたかどうかは、dir$ を使います。
例
kill "c:\tmp\filename.tmp"
参照 open name
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic lcase
.title lcase 関数
構文 lcase(NUM)
機能
数値NUM をアスキーコードとみなして、半角英大文字であれば小文字に変換し、その値を返します。
半角英大文字以外の時は、NUM をそのまま返します。
全角の英大文字は変換しません。
;■
.tborder
.alias lcase$
.title lcase$ 関数
構文 lcase$(STRING)
機能
STRING 中の半角英大文字を小文字に変換し、その文字列を返します。
全角の英大文字は変換しません。
参照 ucase ucase$
例
lcase(`A`) → &H61 つまり `a`
lcase(`a`) → &H61 つまり `a`
lcase$("ABcd") → "abcd"
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic left$
.title left$ 関数
構文 left$(STRING, NUM)
機能
STRING の左から NUM 文字を取り出し、取り出した文字列を返します。
全角文字も1文字として扱います。
;■
.tborder
.alias leftb$
.title leftb$ 関数
構文 leftb$(STRING, NUM)
機能
STRING の左から NUM バイトを取り出し、取り出した文字列を返します。
参照 right$ rightb$ mid$ midb$
例
left$("123", 1) → "1"
left$("あいう", 1) → "あ"
leftb$("あいう", 2) → "あ"
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic len
.title len 関数
構文 len(STRING)
機能
STRING の文字数を返します。
全角文字も1文字として扱います。
;■
.tborder
.alias lenb
.title lenb 関数
構文 lenb(STRING)
機能
STRING のバイト数を返します。
例
len("123") → 3
len("あいう") → 3
lenb("あいう") → 6
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic lineinput
.title lineinput ステートメント
構文 lineinput #NUM, STRING
指定したファイル番号のファイルから1行読み込み STRING に代入します。
行の区切りは chr$(&h0d) または chr$(&h0a) です。
STRING には可変長文字列型のみ指定できます。固定領域文字列型や配列は指定できません。
参照 open
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic listbox
.title listbox 関数
構文 listbox(STRING配列, STRING1, STRING2, NUM)
STRING配列:リストボックス項目文字列
STRING1:ダイアログのプロンプト(省略可能:"")
STRING2:ダイアログのタイトル(省略可能:"")
NUM:0以外の時固定ピッチフォントを使用する(省略可能:0)
機能
ダイアログの中にリストボックスを表示し、何番目の項目が選択されたかを返します。ESC を押すか、キャンセルボタンを押して、ダイアログを取り消したときは0を返します。
STRING配列の0番目の要素は使用されません。また、ヌルストリングがあると、それ以降の要素は使用されません。
STRING1 でリストボックスの上部に表示される文字列を指定できます。chr$(10) を間に含めることにより2行まで指定できます。
参照 inputbox inputbox$ msgbox popupmenu
例
dim sel
dim item$[10]
item$[1] = "項目1"
item$[2] = "項目2"
item$[3] = "項目3"
sel = listbox(item$, "選んでください", "タイトル")
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic ltrim$
.title ltrim$ 関数
構文 ltrim$(STRING)
機能
STRING の先頭のスペースを削除し、その文字列を返します。
;■
.tborder
.alias trim$
.title trim$ 関数
構文 trim$(STRING)
機能
STRING の先頭/末尾のスペースを削除し、その文字列を返します。
;■
.tborder
.alias rtrim$
.title rtrim$ 関数
構文 rtrim$(STRING)
機能
STRING の末尾のスペースを削除し、その文字列を返します。
例
ltrim$(" A ") → "A "
rtrim$(" A ") → " A"
trim$(" A ") → "A"
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic mid$
.title mid$ 関数
構文 mid$(STRING, NUM1, NUM2)
機能
STRING の NUM1 文字目から NUM2 文字取り出し、その文字列を返します。
NUM2 は省略可能で、省略すると NUM1 文字目からすべての文字を取り出します。
全角文字も1文字として扱います。
;■
.tborder
.alias midb$
.title midb$ 関数
構文 midb$(STRING, NUM1, NUM2)
機能
STRING の NUM1 バイト目から NUM2 バイト取り出し、その文字列を返します。
NUM2 は省略可能で、省略すると NUM1 バイト目からすべての文字を取り出します。
参照 left$ leftb$ right$ rightb$
例
mid$("abc", 2, 1) → "b"
mid$("あいう", 2, 1) → "い"
mid$("abc", 2) → "bc"
midb$("あいう", 3, 2) → "い"
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic month$
.title month$ 関数
構文 month$(NUM)
NUM:
1 "January" を返します
2 "February"
3 "March"
4 "April"
5 "May"
6 "June"
7 "July"
8 "August"
9 "September"
10 "October"
11 "November"
12 "December"
0 今日の月を返します
機能
指定した数値を月文字列に変換し、その文字列を返します。
参照 date$ time$ week$ weekday
例
month$(1) → "January"
month$(0) → "June" (実行した日が6月だったとき)
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic msgbox
.title msgbox 関数
構文 msgbox(STRING1, NUM, STRING2)
STRING1:ダイアログに表示するメッセージ
NUM:ダイアログのタイプ(省略可能:0)
STRING2:タイトルバー文字列(省略可能:"")
機能
ダイアログを表示し、選択されたボタンの種別を返します。
NUM に指定できる数値は以下の通りです。
それぞれのグループから1つずつ選んで or または + で組み合わせて使います。
ボタングループ
MB_OK 0 OK ボタン
MB_OKCANCEL 1 OK キャンセル ボタン
MB_ABORTRETRYIGNORE 2 中止 再試行 無視 ボタン
MB_YESNOCANCEL 3 はい いいえ キャンセル ボタン
MB_YESNO 4 はい いいえ ボタン
MB_RETRYCANCEL 5 再試行 キャンセル ボタン
アイコングループ
MB_ICONHAND &H0010 STOP アイコン
MB_ICONSTOP &H0010 STOP アイコン
MB_ICONQUESTION &H0020 ? アイコン
MB_ICONEXCLAMATION &H0030 ! アイコン
MB_ICONASTERISK &H0040 i アイコン
MB_ICONINFORMATION &H0040 i アイコン
デフォルトボタングループ
MB_DEFBUTTON1 &H0000 1番目のボタンがデフォルト
MB_DEFBUTTON2 &H0100 2番目のボタンがデフォルト
MB_DEFBUTTON3 &H0200 3番目のボタンがデフォルト
ダイアログ種別グループ
MB_APPLMODAL &H0000 通常のダイアログ
MB_SYSTEMMODAL &H1000 他のアプリの実行を禁止
;MB_TASKMODAL 0x2000
;MB_NOFOCUS 0x8000
返値
IDOK 1 OK ボタンが押された
IDCANCEL 2 キャンセル ボタンが押された
IDABORT 3 中止 ボタンが押された
IDRETRY 4 再試行 ボタンが押された
IDIGNORE 5 無視 ボタンが押された
IDYES 6 はい ボタンが押された
IDNO 7 いいえ ボタンが押された
参照 予約定数(DIALOG)
inputbox inputbox$ listbox popupmenu
例
dim sel
sel = msgbox("よろしいですか?", MB_YESNO, "確認")
if sel = IDYES then
'はいを選んだときの処理
else
'いいえを選んだときの処理
end if
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic name
.title name ステートメント
構文 name STRING1 as STRING2
機能
ファイル名STRING1 を ファイル名STRING2 に変更します。
ワイルドカードを使用することはできません。
例
name "test.txt" as "test.bak"
参照 open kill
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic open
.title open ステートメント
構文1 open STRING for input as #NUM
構文2 open STRING for output as #NUM
構文3 open STRING for append as #NUM
構文4 open STRING for binary as #NUM
それぞれ、指定したファイル名(STRING)をファイル番号NUM(1~5) を使用して開きます。
NUM は freefile 関数で取得することもできます。
機能1
読み込み用に開きます。これ以後、lineinput を使用して内容を読み込めます。
指定したファイルが存在しないときはエラーになります。
機能2
書き込み用に開きます。これ以後、print を使用してデータを書き込めます。
指定したファイルが存在するときはサイズ0に切りつめられるので注意してください。
指定したファイルが存在しないときは新規に作成されます。
機能3
ファイルの末尾に追加書き込み用に開きます。これ以後、print を使用してデータを書き込めます。必ずファイルの末尾に書き込まれる点に注意してください。
指定したファイルが存在しないときは新規に作成されます。
機能4
読み書き用に開きます。seek で読み書き位置を変更して inputb$ で読み込んだり、print で書き込んだりできます。
指定したファイルが存在しないときは新規に作成されます。
■例1 test.txt を読み込み、文書に挿入します。
dim a$
open "test.txt" for input as #1
do until eof(1)
lineinput #1, a$
@Input a$
@CharReturn2
loop
close #1
■例2 QXのあるディレクトリの file.txt にカレント文書のファイル名を追加します。
open @@QxDirectory$ + "\" + "file.txt" for append as #1
print #1, @Pathname$
close #1
■例3 test.txt を test.bak に1行単位でコピーします。
dim a$
open "test.txt" for input as #1
open "test.bak" for output as #2
do until eof(1)
lineinput #1, a$
print #2, a$
loop
close #1
close #2
■例4 test.txt を test.bak に10000バイト単位でコピーします。
入出力の単位が大きくなるので例3よりもかなり高速です。
dim a$
open "test.txt" for input as #1
open "test.bak" for output as #2
do until eof(1)
a$ = inputb$(10000, #1)
print #2, a$;
loop
close #1
close #2
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic popupmenu
.title popupmenu 関数
構文 popupmenu(STRING配列, NUM1, NUM2)
STRING配列:メニュー文字列
NUM1:メニューを表示するx座標(省略可能:-1)
NUM2:メニューを表示するy座標(省略可能:-1)
機能
ポップアップメニューを表示し、何番目のメニューが選択されたかを返します。ESC を押してメニューを取り消したときは0を返します。
STRING配列の0番目の要素は使用されません。また、ヌルストリングがあると、それ以降の要素は使用されません。
また、要素の最初の文字が chr$(1) のときは、メニュー項目がグレー表示され、選択できなくなります。
要素の最初の文字が chr$(2) のときは、チェックマークがつけられます。
最初の文字が > のときは階層化メニューにします。
< だけの行があると、階層を下げます。
- だけの行があるとセパレータを表示します。
NUM1, NUM2 でポップアップメニューを表示する座標を指定できます。ウィンドウからの相対座標での指定となります。省略すると、マウスカーソルのある位置に表示されます。
参照 inputbox inputbox$ listbox msgbox
例1
dim sel
dim item$[10]
item$[1] = "項目1"
item$[2] = "項目2"
item$[3] = chr$(1) + "項目3" 'この項目はグレー表示され選択できない
sel = popupmenu(item$)
例2
dim sel
dim item$[10]
item$[1] = "項目1"
item$[2] = ">項目2"
item$[3] = "階層化1"
item$[4] = "階層化2"
item$[5] = "<"
item$[6] = "-"
item$[7] = "最後の項目"
sel = popupmenu(item$)
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic print
.title print ステートメント
構文1 print STRING
STRING:ステータスバーに表示する文字列(省略可能:"")
機能1
ステータスバーに文字列を表示します。
例
print "" (ステータスバーの内容を消す)
print "処理を終了しました"
.tborder
構文2 print #NUM, [任意の NUM または STRING]
機能2
指定したファイル番号のファイルに任意のデータを書き込みます。
; または , で区切って複数の式を記述できます。
, で区切ると、間にタブ(chr$(9))を書き込みます。
行末に ; をつけると改行コードを書き込みません。
参照 open
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic right$
.title right$ 関数
構文 right$(STRING, NUM)
機能
STRING の右から NUM 文字を取り出し、取り出した文字列を返します。
全角文字も1文字として扱います。
;■
.tborder
.alias rightb$
.title rightb$ 関数
構文 rightb$(STRING, NUM)
機能
STRING の右から NUM バイトを取り出し、取り出した文字列を返します。
参照 left$ leftb$ mid$ midb$
例
right$("abc", 1) → "c"
right$("あいう", 1) → "う"
rightb$("あいう", 2) → "う"
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic searchfile$
.title searchfile$ 関数
構文 searchfile$(STRING)
STRING:さがしたいファイル名
機能
STRING を
1. QXのあるディレクトリ
2. カレントディレクトリ
3. システムディレクトリ
4. Windows ディレクトリ
5. 環境変数 path で指定されたディレクトリ
の中から順番に探し、みつかればその(ドライブ/ディレクトリ名のついた)ファイル名を、見つからなければヌルストリングを返します。
STRING に \ または : が含まれていたときは、STRING をそのまま返します。
参照 fullpath$ dir$
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic seek
.title seek ステートメント
構文 seek #NUM1, NUM2
機能
ファイル番号NUM1 のファイルの読み込み位置または書き込み位置を NUM2 に移動します。
先頭の位置は 1 です。
.tborder
.title seek 関数
構文 seek(NUM)
機能
ファイル番号NUM のファイルの読み込み位置または書き込み位置を返します。
参照 open
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic sendkey
.title sendkey ステートメント
構文 sendkey XXX, ...
機能
指定した引数をキー入力したかのように、アクティブウィンドウに送ります。
引数には、数値/文字列の両方を指定できます。
引数が文字列の時はその文字列が、数値の時はそれに対応するキーコードが送られます。
sendkey を実行した後、すぐにキーを送出したいときは doevents を実行してください。
MENU, CTRL, SHIFT 以外の一般キーを記述すると、そのキーを「押して離した」という情報を送ります。シフトキーを記述するとまず、「押した」という情報のみを送り、SendKey の最後で「離した」という情報を送ります。
例 MENU f の後、o を押したことにする
"'MENU を押す → f を押す → f を離す → MENU を離す
SendKey KEY_MENU, "f"
"'o を押す → o を離す
SendKey "o"
注意
SendKey KEY_MENU, "fo"
とすると、
MENU を押す → f を押す → f を離す → o を押す → o を離す → MENU を離す
となります。つまり、MENU f の後、 MENU o と押したことになります。
参照 予約定数(KEY)
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic shell
.title shell 関数
構文 shell(STRING, NUM)
STRING:コマンド文字列
NUM:ウィンドウのスタイル(省略可能:2)
機能
STRING で指定したコマンド文字列を実行します。NUM により、実行するときのウィンドウのスタイルが決定されます。コマンド文字列にディレクトリ名が含まれていないときは searchfile$ と同様にコマンドのある場所を検索して実行します。
コマンドの終了を待たずにマクロは続行されます。
コマンド実行中にマクロの実行を止めたいときは NUM に負の数を指定します。このとき、ダイアログが表示されるので、ボタンを押せば強制的にマクロを実行させることができます。
NUM
1,-1 通常のウィンドウ(フォーカスあり)
2,-2 アイコン化ウィンドウ(フォーカスあり)
3,-3 最大化ウィンドウ(フォーカスあり)
4,-4 通常のウィンドウ(フォーカスなし)
6,-6 アイコン化ウィンドウ(フォーカスなし)
返値
q16
コマンドを実行できなかったときは 32 以下の数値を返します。
コマンドを実行できたときは 32 より大きい数値を返します。
q32
コマンドを実行できなかったときは0を返します。
コマンドを実行できたときは 0以外の数値を返します。
例 メモ帳を実行し、終了するまでマクロの実行を停止する
call shell("notepad", -1)
例 メモ帳を実行し、マクロの実行も継続する
call shell("notepad", 1)
例 バッチファイルを実行する
拡張子が exe 以外の時は必ず拡張子も記述してください。
call shell("xxx.bat", 1)
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic space$
.title space$ 関数
構文 space$(NUM)
機能
NUM 個のスペースからなる文字列を返します。
参照 string$
例
space$(2) → " "
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic static
.title static ステートメント
構文 static 変数名 as 型 [, 変数名2 as 型2 , ...]
機能
dim とほぼ同様の機能のステートメントですが、「プロシージャや関数の内部のローカル変数はマクロの実行時に1回だけしか初期化されない」という点が違います。
dim で宣言した変数はプロシージャや関数に入るたびに初期化されます。
参照 変数 const
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic stopdestroykey
.title stopdestroykey ステートメント
構文 stopdestroykey NUM
機能
NUMが 0 のときマクロ終了時にキー入力を捨てます。
NUMが 0 以外のときマクロ終了時にキー入力を捨てません。
マクロ実行直後は stopdestroykey 0 の状態になっています。
キー入力を必要とするマクロを実行し、キーを押しすぎると、マクロ終了時に文書に文字が入力されてしまうことがあります。これを防ぐために、マクロ終了時にはキー入力は自動的に捨てられるようになっています。この動作を禁止したいときは、
stopdestroykey 1
を実行してください。
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic stopdispatchevent
.title stopdispatchevent ステートメント
構文 stopdispatchevent NUM
機能
NUMが 0 のときイベントの処理を行います。
NUMが 0 以外のときイベントの処理を行わなくなります。
マクロ実行直後は stopdispatchevent 0 の状態になっています。
マクロ実行中は定期的にQX内で発生したイベントを処理します。このとき、キー入力は捨てられてしまいます。
anykeypressed を使用するときは stopdispatchevent 1 を実行して、キー入力が捨てられないようにしてください。
stopdispatchevent 1 を実行すると、右クリックによるマクロの中止はできません。
例
dim key
stopdispatchevent 1
do
key = anykeypressed()
if key = KEY_SPACE then end
if key = KEY_RETURN then beep
'ここで何かする
loop while 1
stopdispatchevent 0 'anykeypressed を使わないときは 0 にする
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic stopmacro
.title stopmacro ステートメント
構文 stopmacro NUM
機能
一般マクロの実行中にキー入力するか、アプリケーションウィンドウを右クリックするとマクロの実行を中止できますが、この動作を有効にするか無効にするかを設定できます。
NUMが 0 のときマクロを中止できなくなります。
NUMが 0 以外のときマクロを中止できるようになります。
マクロ実行直後は stopmacro 1 の状態になっています。
デバッグがすんで、間違いなく動作するマクロ以外では stopmacro 0 は実行しない方が安全です。
参照 マクロの中止
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic str$
.title str$ 関数
構文 str$(NUM)
機能
NUM を表現する文字列を作成し、その文字列を返します。
NUM が正の数の時は文字列の先頭にスペースがつきます。
参照 val chr$ hex$ cformat$
例
str$(10) → " 10"
str$(-10) → "-10"
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic string$
.title string$ 関数
構文 string$(NUM1, NUM2)
NUM1:個数
NUM2:文字のコード
機能
NUM2 をアスキーコードまたはシフトJISコードとみなして、NUM1 個並べた文字列を作成し、その文字列を返します。
参照 space$
例
string$(3, `a`) → "aaa"
string$(3, `あ`) → "あああ"
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic sub
.alias end sub
.alias exit sub
.alias proc
;.search end sub
;.search exit sub
;.search proc
.title sub ステートメント
.title proc ステートメント
構文 sub プロシージャ名(引数のならび, ... )
ステートメント...
end sub
機能
プロシージャを定義します。
値を返せないことを除き function と同じです。
プロシージャを再帰的に(自分自身を)呼び出すことはできません。
sub と proc はマクロを実行する上では全く同じ機能です。sub と記述できるところは、すべて proc と記述できます。
QXのマクロ一覧(MacroList)で一覧表示されるのは proc のみです。
直接実行可能なプロシージャは proc、単なるサブルーチンとしてのプロシージャは sub と記述するようにしてください。
例
"'inputstring は 引数を < > で囲って文書に入力するプロシージャ
proc inputstring(s$)
@Input "<" + s$ + ">"
end proc
proc main
inputstring "テスト"
end proc
;■■■
.bborder
.title exit sub ステートメント
.title exit proc ステートメント
構文 exit sub
構文 exit proc
機能
ただちに sub,proc を抜けます。
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic time$
.title time$,time0$ 関数
.alias time0$
構文 time$
機能
現在の時間("hh:mm:ss" の形式)を返します。
時/分/秒が1桁のときはスペースで埋められます。
例
23: 0:30
.bborder
構文 time0$
機能
現在の時間("hh:mm:ss" の形式)を返します。
時/分/秒が1桁のときは 0 で埋められます。
例
23:00:30
参照 date$ month$ week$ weekday
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic type
.alias end type
;.search end type
.title type ステートメント
構文 type 型名
メンバ名1 as 型1
メンバ名2 as 型2
...
end type
機能
ユーザ定義データ型を宣言します。
ユーザ定義型変数を配列にすることはできません。
メンバ名の型に可変長文字列型/ユーザ定義データ型を指定することはできません。
メンバの参照には . を使います。
例
"'アプリケーションウィンドウの座標をステータスバーに表示します。
type RECT
Left as default
Top as default
Right as default
Bottom as default
end type
dllname USER
cdeclare void GetWindowRect(HWND, RECT *);
proc main()
dim rc as RECT
GetWindowRect(@@hwnd, rc)
print cformat$("left=%d, top=%d, right=%d, bottom=%d", rc.Left, rc.Top, rc.Right, rc.Bottom)
end proc
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic ucase
.title ucase 関数
構文 ucase(NUM)
機能
数値NUM をアスキーコードとみなして、半角英小文字であれば大文字に変換し、その値を返します。
半角英小文字以外の時は、NUM をそのまま返します。
全角の英小文字は変換しません。
;■
.tborder
.alias ucase$
.title ucase$ 関数
構文 ucase$(STRING)
機能
STRING 中の半角英小文字を大文字に変換し、その文字列を返します。
全角の英小文字は変換しません。
参照 lcase lcase$
例
ucase(`a`) → &H41 つまり `A`
ucase(`A`) → &H41 つまり `A`
ucase$("ABcd") → "ABCD"
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic val
.title val 関数
構文 val(STRING)
機能
文字列で表現された値を数値に変換し、その数値を返します。
参照 asc chr$
例
val("10") → 10
val("&H10") → 16
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic versionmacro
.title versionmacro 関数
構文 versionmacro
返値
マクロのバージョン番号に 100 をかけた数値を返します。
例
バージョン番号が 2.00 のときは 200
バージョン番号が 2.11 のときは 211
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic week$
.title week$ 関数
構文 week$(NUM)
NUM:
1 "Sunday" を返します
2 "Monday"
3 "Tuesday"
4 "Wednesday"
5 "Thursday"
6 "Friday"
7 "Saturday"
0 今日の曜日を英語で返します(Sunday ~ Saturday)
-1 "日"
-2 "月"
-3 "火"
-4 "水"
-5 "木"
-6 "金"
-7 "土"
機能
指定した数値を曜日文字列に変換し、その文字列を返します。
参照 date$ time$ month$ weekday
例
week$(1) → "Sunday"
week$(-1) → "日"
week$(0) → "Saturday" (実行した日が土曜日のとき)
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic weekday
.title weekday 関数
構文 weekday
機能
今日の曜日を1~7の数値で返します
日 1 を返します
月 2
火 3
水 4
木 5
金 6
土 7
参照 date$ time$ month$ week$
例
weekday → 1 (実行した日が日曜日のとき)
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic 演算子
.noscroll
.title
.endnoscroll
;■■■■■■
.bold ■ 算術演算子 ■
.alias +
.alias &
;.search + 演算子
;.search & 演算子
.title + & 演算子
構文1 NUM1 + NUM2
構文2 STRING1 + STRING2
構文3 STRING1 & STRING2
機能1
NUM1 と NUM2 の和を求めます。
機能2,3
STRING1 と STRING2 を連結します。
;■■■
.bborder
.alias -
;.search - 演算子
.title - 演算子
構文1 NUM1 - NUM2
構文2 - NUM
機能1
NUM1 と NUM2 の差を求めます。
機能2
NUM の符号を反転します。
;■■■
.bborder
.alias *
;.search * 演算子
.title * 演算子
構文 NUM1 * NUM2
機能
NUM1 と NUM2 の積を求めます。
;■■■
.bborder
.alias /
;.alias \
;.search / 演算子
;.search \ 演算子
.title / 演算子
;.title / \ 演算子
構文 NUM1 / NUM2
;構文 NUM1 \ NUM2
機能
NUM1 と NUM2 の商を求めます。
整数で演算するため小数点以下は切り捨てられます。
;
; / と \ は同じ機能です。
;■■■
.bborder
;.alias mod
.alias mod
;.search mod 演算子
;.search mod
.title mod 演算子
構文 NUM1 mod NUM2
機能 NUM1 を NUM2 で除算し、その余りを返します。
;■■■
.bborder
.alias <<
;.search << 演算子
.title << 演算子
構文 NUM1 << NUM2
機能
NUM1 を左に NUM2 ビットシフトします。NUM1 は符号なし整数として扱われます。
;■■■
.bborder
.alias >>
;.search >> 演算子
.title >> 演算子
構文 NUM1 >> NUM2
機能
NUM1 を右に NUM2 ビットシフトします。NUM1 は符号なし整数として扱われます。
;■■■■■■
.bborder
.bold ■ 論理演算子 ■
;.alias and 演算子
.alias and
;.search and 演算子
;.search and
.title and 演算子
構文 NUM1 and NUM2
機能 NUM1 と NUM2 の論理積を求めます。
ビット単位での and の結果の一覧は以下の通りです。
NUM1 NUM2 結果
0 0 0
0 1 0
1 0 0
1 1 1
;■■■
.bborder
;.alias eqv 演算子
.alias eqv
;.search eqv 演算子
;.search eqv
.title eqv 演算子
構文 NUM1 eqv NUM2
機能 NUM1 と NUM2 の論理等価を求めます。
NUM1 NUM2 結果
0 0 1
0 1 0
1 0 0
1 1 1
;■■■
.bborder
;.alias imp 演算子
.alias imp
;.search imp 演算子
;.search imp
.title imp 演算子
構文 NUM1 imp NUM2
機能 NUM1 と NUM2 の論理包含を求めます。
NUM1 NUM2 結果
0 0 1
0 1 1
1 0 0
1 1 1
;■■■
.bborder
;.alias not 演算子
.alias not
;.search not 演算子
;.search not
.title not 演算子
構文 not NUM1
機能 NUM1 の論理否定を求めます。
NUM1 結果
0 1
1 0
;■■■
.bborder
;.alias or 演算子
.alias or
;.search or 演算子
;.search or
.title or 演算子
構文 NUM1 or NUM2
機能 NUM1 と NUM2 の論理和を求めます。
NUM1 NUM2 結果
0 0 0
0 1 1
1 0 1
1 1 1
;■■■
.bborder
;.alias xor 演算子
.alias xor
;.search xor 演算子
;.search xor
.title xor 演算子
構文 NUM1 xor NUM2
機能 NUM1 と NUM2 の排他的論理和を求めます。
NUM1 NUM2 結果
0 0 0
0 1 1
1 0 1
1 1 0
;■■■■■■
.bborder
.bold ■ 関係演算子 ■
.alias <
;.search < 演算子
.title < 演算子
構文1 NUM1 < NUM2
構文2 STRING1 < STRING2
機能1
NUM1 < NUM2 のとき -1、NUM1 ≧ NUM2 の時0を返します。
機能2
文字列を先頭から1バイトずつ比較し、STRING1 < STRING2 のとき -1、STRING1 ≧ STRING2 の時0を返します。
;■■■
.bborder
.alias >
;.search > 演算子
.title > 演算子
構文1 NUM1 > NUM2
構文2 STRING1 > STRING2
機能1
NUM1 > NUM2 のとき -1、NUM1 ≦ NUM2 の時0を返します。
機能2
文字列を先頭から1バイトずつ比較し、STRING1 > STRING2 のとき -1、STRING1 ≦ STRING2 の時0を返します。
;■■■
.bborder
.alias =
;.search = 演算子
.title = 演算子
構文1 NUM1 = NUM2
構文2 STRING1 = STRING2
機能1
NUM1 = NUM2 のとき -1、NUM1 <> NUM2 の時0を返します。
機能2
STRING1 と STRING2 が同じ時 -1、違う時0を返します。
;■■■
.bborder
.alias <=
.alias =<
;.search <= 演算子
;.search =< 演算子
.title <= =< 演算子
構文1 NUM1 <= NUM2
構文2 STRING1 <= STRING2
機能1
NUM1 ≦ NUM2 のとき -1、NUM1 > NUM2 の時0を返します。
機能2
文字列を先頭から1バイトずつ比較し、STRING1 ≦ STRING2 のとき -1、STRING1 > STRING2 の時0を返します。
<= と =< は同じ機能です。
;■■■
.bborder
.alias >=
.alias =>
;.search >= 演算子
;.search => 演算子
.title >= => 演算子
構文1 NUM1 >= NUM2
構文2 STRING1 >= STRING2
機能1
NUM1 ≧ NUM2 のとき -1、NUM1 < NUM2 の時0を返します。
機能2
文字列を先頭から1バイトずつ比較し、STRING1 ≧ STRING2 のとき -1、STRING1 < STRING2 の時0を返します。
>= と => は同じ機能です。
;■■■
.bborder
.alias <>
.alias ><
;.search <> 演算子
;.search >< 演算子
.title <> >< 演算子
構文1 NUM1 <> NUM2
構文2 STRING1 <> STRING2
機能1
NUM1 <> NUM2 のとき -1、NUM1 = NUM2 の時0を返します。
機能2
STRING1 と STRING2 が違うとき -1、同じ時0を返します。
<> と >< は同じ機能です。
;■■■
.bborder
.alias ++
.alias --
.title ++ -- 演算子
構文1 変数++
構文2 変数--
機能1
変数の値に1を足します。
変数は integer型 及び long型 の数値変数のみ使用できます。配列型には使用できません。
item$[j++] = "xxx"
は以下の2行と同じです
item$[j] = "xxx"
j = j+1
機能2
変数の値から1を引きます。
例
dim j
dim item$[10]
j = 1
item$[j++] = "xxx"
item$[j++] = "yyy"
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic 演算子の優先順位
.title
上にあるほど優先順位が高くなります。
同じ行にあるものは同じ優先順位です。
.crpitcha 2
++ --
-(単項の - )
<< >>
* /
mod
+ - &
= < > <= =< >= => <> ><
not
and
or
xor
imp
eqv
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic '
.title コメント
行中のどの位置でも ' を記述すると、それ以降の文字をコメントとみなします。
ただし、文字列中の ' はコメントとはなりません。
例
"'これはコメント
for j = 1 to 100 'ここからループ
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.topic #16
.alias #32
.alias #32_NT
.alias #32_95
.title 条件実行
行頭に #16 または #32 を記述するとその行を q16 のときのみまたは q32 のときのみ実行することができます。
"#16 q16 の時のみ実行する
"#32 q32 の時のみ実行する
"#32_NT q32 を Windows NT で実行した時のみ実行する
"#32_95 q32 を Windows 95 で実行した時のみ実行する
例1
"#16 dllname "x16.dll"
"#32 dllname "x32.dll"
$PointTo目次
;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
.alllinkmode
.topic2 用途別ステートメント・関数 youto
#if16
'!{\footnote !AA(0x1b,0,"CloseWindow(`youto')")}
#endif
;.noscroll
;.title
;.endnoscroll
.crpitcha 2
■ 算術演算
abs
■ 数値を文字列へ
chr$ cformat$ hex$ str$
■ 文字列の作成
space$ string$
■ 文字列を数値へ
asc val
■ 文字列の検索
instr instrb
inrstr inrstrb
■ 大文字小文字変換
lcase lcase$
ucase ucase$
■ 文字のチェック
isalpha islower isupper
isalnum isdigit isxdigit
■ 文字列の切り出し
left$ leftb$
mid$ midb$
right$ rightb$
■ 文字列の長さ
len lenb
■ スペース削除
ltrim$ rtrim$ trim$
■ JIS←→シフトJIS
jistosjis sjistojis
■ ディレクトリ/ファイル
chdir mkdir rmdir
chdrive curdir$
dir$ getattr
filedatetime$ filelen
fullpath$
getfilename$
open close name kill
lineinput inputb$ print
freefile eof seek
searchfile$
■ 日付/時間
date$ date0$
time$ time0$
month$ week$ weekday
■ IME
imemode imestatus
■ 入力/選択
inputbox inputbox$ stopinputbox
listbox msgbox popupmenu
■ キー入力
inputkey inputchar
iskeypressed anykeypressed iskeydown
■ プロファイル
writeprofile getprofile$
■ 他のアプリに関する
appactivate appactivate2
sendkey
shell
doevents
■ DLL
cdeclare dllname
cdeclarea
■ その他
beep
call
dprint
environ$
;err
versionmacro
print
stopmacro
stopdispatchevent
stopdestroykey
■ 変数/定数の定義
dim static const
type
■ プロシージャ/関数の定義
sub proc function
■ 制御
for .. next
do .. loop while(until)
if .. then .. else .. elseif .. end if
end exit
.alllinkmode 0