KBD

KBD関数

キーボードを操作する
KBD(仮想KEY [,状態 ,ms] )

引数

仮想KEY・・・送信する仮想KEYコード
状態(数字でも表記可)・・・CLICK(0:デフォルト), DOWN(1), UP(2)
ms・・・待ち時間(ミリ秒)


キーボードを押下する

試しにWindowsキーを押してみます。

KBD(VK_WIN)

メモ帳に”Hello”と打ち込む

それではメモ帳を立ち上げ、KBD関数を利用して”Hello”という文字列を打ち込みましょう。
この操作はSCKEY関数などを使えばより簡潔に表現できますが、
ここでは敢えてKBD関数で実現してみます。
ポイントはメモ帳を立ち上げ、操作可能な状態に事前にしておくところです。
スクリプトは以下のようになります。

この投稿の続きを読む »

タグ

2012年4月20日 | コメントは受け付けていません。 |

カテゴリー:関数一覧

BTN

BTN関数

マウスボタンを操作する
BTN(ボタン, 状態, [X, Y, ms])

引数

ボタン・・・LEFT(左クリック), RIGHT(右クリック), MIDDLE, WHEEL(ホイール回転)
状態(数字指定も可)・・・CLICK(0), DOWN(1), UP(2)、WHEEL指定時はノッチ数
X, Y・・・位置、省略した場合は現在位置
ms・・・待ち時間(ミリ秒)


特定の位置で右クリックを押す

特定位置の状況によってはポップアップメニューが出現する場合もあります

BTN(RIGHT,CLICK,100,100)

タグ

2012年4月19日 | コメントは受け付けていません。 |

カテゴリー:関数一覧

MMV

MMV関数

マウスカーソルを移動する
MMV(X, Y [, ms] )

引数

X, Y・・・移動する位置
ms: 実行までの待ち時間(ミリセカンド)


マウスカーソルを移動する

特定の位置にマウスカーソルを移動する

MMV(100,100)

タグ

2012年4月18日 | コメントは受け付けていません。 |

カテゴリー:関数一覧

HNDTOID

HNDTOID関数

IDをハンドル値に変換する
戻値 = HNDTOID(ハンドル値)

引数

ハンドル値・・・IDに変換するハンドル値

戻値

ID


メモ帳のメニューのハンドル値を取得した後、IDに再度変換する

ID   = EXEC("notepad")
MSGBOX("ID:" + ID )
HND = IDTOHND(ID)
MSGBOX("HND:" + HND)
ID = HNDTOID(HND)
MSGBOX("ID:" + ID )

タグ

2012年4月17日 | コメントは受け付けていません。 |

カテゴリー:関数一覧

指定回数を繰り返す(FOR)

FOR 変数 = 初期値 TO 終了値 [STEP 刻み値]
 

処理

NEXT       // NEXTの後に変数を書いてはダメ

「変数」が「初期値」から「終了値」の条件を満たす限り、
繰り返し処理を行います。
1回実行するたびに「刻み値」分だけ「変数」の値は増加していきます。
※刻み値を省略した場合は、変数は1づつ増加します。

FOR~NEXTはかなり使用頻度の高い制御文です。

「UWSC大好き」と100回表示するサンプル

FOR KAISU = 1 TO 100
	PRINT "UWSC大好き"
NEXT

「変数」であるKAISUを処理で使用することも可能です。

KAISUの増加を確認するサンプル

FOR KAISU = 1 TO 100
	PRINT KAISU
NEXT

STEPの増加を確認するサンプル

この投稿の続きを読む »

タグ

2012年4月16日 | コメントは受け付けていません。 |

カテゴリー:逆引き関数

VARTYPE

VARTYPE関数

データ型を判別する。指定のデータ型に変換する。
戻値 = VARTYPE(変数 [, 変換タイプ] )

引数

変数・・・型を調べる変数(変換する変数)
変換タイプ・・・変換するデータ型

戻値

変数のみ指定した場合・・・変数のデータ型、値は下記参照

VAR_EMPTY(0)・・・Empty
VAR_NULL(1)・・・Null
VAR_SMALLINT(2)・・・整数型(16ビット)
VAR_INTEGER(3)・・・整数型(32ビット)
VAR_SINGLE(4)・・・単精度浮動小数点値
VAR_DOUBLE(5)・・・倍精度浮動小数点値
VAR_CURRENCY(6)・・・通貨型
VAR_DATE(7)・・・日付型
VAR_BSTR(8)・・・文字列型
VAR_DISPATCH(9)・・・オブジェクト
VAR_ERROR(10)・・・エラー値
VAR_BOOLEAN(11)・・・ブール型
VAR_VARIANT(12)・・・バリアント
VAR_UNKNOWN(13)・・・未定義のオブジェクト
VAR_BYTE(17)・・・バイト
VAR_ARRAY(8192[$2000])・・・配列

変換タイプも指定した場合・・・指定したデータ型に変換された値
変換タイプの表記法は上記参照


文字列型を整数型に変換する

STR = "001" //文字列型
MSGBOX("データ型は" + VARTYPE(STR))
//文字列は数値になるため、001が1という表記になる
MSGBOX("整数型に変換:" + VARTYPE(STR,VAR_SMALLINT))

入力された値を検査する

入力された値が整数かどうか調べます。
スクリプトでは実行者が必ずしも正しい値を入力してくれるとは限りませんので
値が適切かどうかを調べる必要があります。
このように値が有効かどうかを調べることをバリデーション(Validation)と言います。
スクリプトは以下のようになります。

この投稿の続きを読む »

タグ

2012年4月16日 | コメントは受け付けていません。 |

カテゴリー:関数一覧

まとめて特定の組合わせの文字列をつくりたい。

まとめて特定の組合わせの文字列をつくりたい。
具体的には、アフィリエイト用のキーワードを作りたいと思っています。
例) 
Aグループ
FX
株式
日経225
先物
Bグループ
登録
入会
口座開設
比較

それぞれのグループのワードを全て組合わせたキーワードを作成したいです。
FX 登録、FX 入会、FX 口座開設、FX 比較、株式 登録、株式 入会・・・
といった具合です。よろしくお願いします。

EXCELでもできないことはありませんが、
すべての組合せをいちいちやるのは大変ですね。

また、VBAを利用する方法がありますが、
UWSCと較べると少しハードルが高いようです。

UWSCならば、FOPEN関連のスクリプトを使えば簡単にできます。
前提として、
Aグループのワードを1語づつ改行したテキストファイルをA.txt
同様にBグループをB.txtとします。

PRINTで組合せを表示するサンプル
///ファイルオープン
fid	= FOPEN("A.txt", F_READ)
fid2	= FOPEN("B.txt", F_READ)

For KAISU_A = 1 to FGET(fid, -1)

	STR_A = FGET(fid, KAISU_A)	//A.txtのデータを取得
	For KAISU_B = 1 to FGET(fid2, -1)
		
		STR_B = FGET(fid2, KAISU_B)	//B.txtのデータを取得

		PRINT STR_A + " " + STR_B	//AとBを組合わせる

	NEXT
NEXT
FCLOSE(fid)
FCLOSE(fid2)

解説

使用している関数はFOPEN,FGET,FOR~NEXTになります。
これら個々の説明は関数一覧などを参照していただくとして、
サンプルの中で、覚えておきたいのは、
FGET(fid, -1)です。

通常、FGET関数は、fidの後は行番号を指定しますが、
「-1」の場合、ファイルの行数を返します。

これにより、ファイルの行数分、上からデータを取得できます。
このテクニックは非常に有効なので、覚えておくと便利です。

後は、すべての組合せを実現するためにFORの中でFORをかます
というテクニックですべての組合せを行えます。

さらに便利に使いたい場合は、
A.txtをフォームから生成させる方法などがあります。

タグ


2012年4月15日 | コメントは受け付けていません。 |

カテゴリー:Q&A

EVAL

EVAL関数

文字列を評価し値を返す。
戻値 = EVAL(文字列)

引数

文字列・・・評価する文字列
※A = B は比較演算として処理される
※代入式の場合は A := B とする

戻値

評価した結果


EVALを使って文字列を計算式として評価する

変数A、B、Cにある値をEVALを使い評価します。

A = 600
B = 400
PRINT EVAL("A + B")
EVAL("C := 2")
PRINT EVAL("(A + B) * C")

入力された文字列を計算式として評価する

INPUT関数で数式が入力された場合、内容を解析して、本当の数式に置き換えるのは大変ですが、
EVAL関数を使用すれば、文字列をそのまま値を渡すだけでOKです。
スクリプトは以下のようになります。

この投稿の続きを読む »

タグ

2012年4月15日 | コメントは受け付けていません。 |

カテゴリー:関数一覧

LOCKHARD

LOCKHARD関数

キーボード、マウスなどハードウェアからの入力を禁止する
LOCKHARD(禁止フラグ)

引数

禁止フラグ・・・TRUE:入力禁止、FALSE:解除

※管理者権限が必要
※強制解除する場合はCtrl + Alt + Deleteを押す


入力禁止を確認する

スクリプトを実行することで入力禁止が開始。
マウスやキーボードからの入力が行えないことを確認します。

LOCKHARD(TRUE)
FOR A = 10 TO 1 STEP -1
FUKIDASI("入力禁止中(あと" + A + "秒)。強制解除はCtrl + Alt + Delete",100,100,0,40)
SLEEP(1)
NEXT

タグ

2012年4月14日 | コメントは受け付けていません。 |

カテゴリー:関数一覧

IDTOHND

IDTOHND関数

IDをハンドル値に変換する
戻値 = IDTOHND(ID)

引数

ID・・・識別するID

戻値

ハンドル値


メモ帳のメニューのハンドル値を取得する

ID   = EXEC("notepad")
HNDL = IDTOHND(ID)
MSGBOX(HNDL)

タグ

2012年4月13日 | コメントは受け付けていません。 |

カテゴリー:関数一覧

このページの先頭へ