POPUPMENU

POPUPMENU関数

ポップアップメニューを表示
戻値 = POPUPMENU(メニュー項目, [X, Y]) 

引数
メニュー項目:表示メニュ項目を配列変数にて渡す
サブメニュは { } にて指定
“a”,”b”,”{c”,”d}”,”e”の場合、c,dがbのサブメニューになる
X、Y: 表示位置(デフォルトはマウス位置)
戻値
 選択された項目の配列変数位置

ポップアップメニューを表示する

ポップアップメニューを表示するスクリプトです。

DIM MENULIST[5] = "メニュー1","メニュー2","{サブメニュー1","サブメニュー2}","メニュー3"
RES = POPUPMENU(MENULIST)
MSGBOX("位置:" + RES + " が選択されました")

ポップアップメニューで押されたメニューに対応した処理を実施

ポップアップメニューで返される値をもとに
対応した処理を実施させます。

この投稿の続きを読む »

タグ

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

カテゴリー:関数一覧

SLCTBOX

SLCTBOX関数

セレクトボックスを表示
戻値 = SLCTBOX(種別, タイムアウト秒, [x, y,] [表示メッセージ], 項目, [項目, 項目, ...]) 

引数
種別:
   SLCT_BTN・・・ボタン
   SLCT_CHK・・・チェックボックス
   SLCT_RDO・・・ラジオボタン
   SLCT_CMB・・・コンボボックス
   SLCT_LST・・・リストボックス
   SLCT_STR・・・戻り値を項目名で返す(他の種別に付加して使用)
   SLCT_NUM・・・戻り値を位置数で返す(他の種別に付加して使用)
タイムアウト・・・指定秒を過ぎるとゼロを返します(0指定でタイマーは無効)
X, Y・・・表示位置(デフォルトは中央)
表示メッセージ・・・セレクトボックスに表示するメッセージ
項目・・・選択項目名、配列変数も可
戻値
 1つ目が選択されたならば SLCT_1 が返される
 2つ目が選択されたならば SLCT_2 が返される
 SLCT_CHK(チェックボックス)選択時はビット演算して返される
 SLCT_STR 付加時は項目名で返される(複数選択時はタブにて結合される)
 SLCT_NUM 付加時は位置数で返される(複数選択時はタブにて結合される)
 ※閉じボタンによる終了時は-1を返してくる(SLCT_CHKにてビットチェックする場合は注意)
 ※項目数は最大31まで(SLCT_STR、SLCT_NUM の場合は制限なし)

SLCT_BOX
SLCT_CHK
SLCT_RDO
SLCT_CMB
SLCT_CMB(プルダウン内)
SLCT_LST

セレクトボックスを表示する

セレクトボックスを表示するだけの簡単なスクリプトです。

SLCTBOX(SLCT_BTN,0,"SLCT_BTN","オブジェクト1","オブジェクト2","オブジェクト3")
SLCTBOX(SLCT_CHK,0,"SLCT_CHK","オブジェクト1","オブジェクト2","オブジェクト3")
SLCTBOX(SLCT_RDO,0,"SLCT_RDO","オブジェクト1","オブジェクト2","オブジェクト3")
SLCTBOX(SLCT_CMB,0,"SLCT_CMB","オブジェクト1","オブジェクト2","オブジェクト3")
SLCTBOX(SLCT_LST,0,"SLCT_LST","オブジェクト1","オブジェクト2","オブジェクト3")
MSGBOX(SLCTBOX(SLCT_LST + SLCT_STR,0,"SLCT_LST(選択した値が文字列+タブで返る)","オブジェクト1","オブジェクト2","オブジェクト3"))
MSGBOX(SLCTBOX(SLCT_LST + SLCT_NUM,0,"SLCT_LST(選択した値が位置数+タブで返る)","オブジェクト1","オブジェクト2","オブジェクト3"))

セレクトボックスで押されたボタンに対応した処理を実施

セレクトボックスで返される値をもとに
対応した処理を実施させるスクリプトは以下の通りです。

この投稿の続きを読む »

タグ

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

カテゴリー:関数一覧

自作関数の定義

UWSCで自作関数を定義する方法です
PROCEDURE 関数名( 引数, Var 引数, 引数[], Var 引数[][], 引数=定数, …. )
    処理
FEND

FUNCTION 関数名( 引数, Var 引数, 引数[], Var 引数[][], 引数=定数, …. )
    処理
    RESULT = 戻り値    // Result に戻り値を入れる
FEND

Var 宣言を付けると引数を変更可能とする(参照引数)
配列変数には次元数分 []を付ける (2次元配列の場合 引数[][] )
= 定数 にてデフォルトパラメータを指定できる
(デフォルトパラメータ以降に通常引数を書く事はNG)

戻り値のあるなしで書式が変わるので注意が必要です。
関数はFUNCTIONS.UWSなどでまとめて、
Call関数で呼び出して利用するとスッキリして分りやすいです。

自作関数を利用して消費税を得るスクリプト
PRE_PRICE = INPUT("金額を入力してください<#CR>※数字のみ")
AFTER_PRICE = TAX(PRE_PRICE)
PRINT "税込み価格:" + AFTER_PRICE

FUNCTION TAX(PRICE)

	TAX_PRICE = PRICE * 1.05
	RESULT	= INT(TAX_PRICE)
FEND

タグ

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

カテゴリー:逆引き関数

コマンドライン(コマンドプロンプト)の実行

UWSCでコマンドライン(コマンドプロンプト)を実行する関数です

戻値 = DOSCMD( コマンド, [同期フラグ, 画面表示] )

引数
コマンド
コマンドプロンプトのコマンド
同期フラグ
FALSE: 終了を待つ (デフォルト)
TRUE: 待たずに戻る
画面表示
FALSE: コマンドプロンプト画面を表示しない (デフォルト)
TRUE: 表示する

戻値
標準出力を返す
(同期フラグがTrue、もしくは画面表示がTrueの場合は返しません)

コマンドプロンプトが使えることにより、
自動化の可能性は格段に広がります。

すぐに思いつく例でいえば、
UWSCのスケジュール機能とCOPYコマンドで
日々のバックアップをとることが可能になります。

また、アフィリエイターであれば、バッチファイルと連携しつつ、
ローカルPCからHTMLファイルを生成してアップロードするような作業を自動化することも可能になります。

Windowsコマンドに関して、
興味のある方はリンクより進んでみてください。

現在のディレクトリのフォルダ構造を図式表示してファイル(filelist.txt)に出力するサンプル

CMD = "CD " + GET_CUR_DIR
DOSCMD(CMD)
CMD = "tree /f > filelist.txt"
DOSCMD(CMD)
DOSCMD結果

スクリプト結果

タグ

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

カテゴリー:逆引き関数

INPUT

INPUT関数

インプットボックスを表示
戻値 = INPUT(表示メッセージ, [デフォルト値, パスワードフラグ, X, Y] ) 

引数
表示メッセージ・・・インプットボックスに表示するメッセージ
デフォルト値・・・デフォルトの値 として表示
パスワードフラグ・・・TRUE にすると文字は全てアスタリスク表示(デフォルト FALSE)
X, Y・・・表示位置(デフォルトは中央) 戻値
入力した値

インプットボックスに入力した値を表示する

インプットボックスを表示し、文字入力を受け付けます。
OKを押した後、入力した文字を表示します。

INSTR = INPUT("表示する文字を入力")
MSGBOX(INSTR)

インプットボックスを利用したパスワード認証ロジック

インプットボックスのパスワードフラグを利用し、
正しいパスワードが入力されるまで、
認証を繰り返させる仕組みを実現します。
ポイントは、
WHILE-WENDを利用した繰り返し、
パスワードフラグのオンです。
スクリプトは下記の通りです。

この投稿の続きを読む »

タグ

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

カテゴリー:関数一覧

POSACC

POSACC関数

座標位置の文字情報を取得する
戻値 = POSACC(ウィンドウのID, クライアント座標X, クライアント座標Y, [モード])

引数
 ウィンドウのID:Windowを識別するID、0の場合はスクリーン全体
 座標:クライアント座標、ウィンドウのIDが0の場合はスクリーン座標
 モード:
0・・・デフォルト、ACC_ACCの実行、取得ができなければACC_APIを実行
ACC_ACC・・・表示文字の取得(※1)
ACC_API・・・DrawText、TextOutなどのAPIをトラップ、WinXP以上、64bitアプリはNG
ACC_NAME・・・名前(※1)
ACC_VALUE・・・値(※1)
ACC_ROLE・・・役割(※1)
ACC_STATE・・・状態(※1)
ACC_DESCRIPTION・・・説明(※1)
ACC_LOCATION・・・X、Y、幅、高さ
ACC_BACK・・・ウィンドウをアクティブ化しない、他モードに付加して使用
(※1)アクセシビリティ用インターフェース使用
戻値
 取得した文字情報

メモ帳に表示されている文字情報を取得する

メモ帳を開き、座標0,0にある文字情報を取得します。
メニューの「ファイル(F)」という文字列が取得できる想定です。

ID = EXEC("notepad")
MSGBOX(POSACC(ID,0,0))

タグ

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

カテゴリー:関数一覧

MUSCUR

MUSCUR関数

マウスカーソルの種別を返す
戻値 = MUSCUR()

戻値
  CUR_APPSTARTING(1)・・・砂時計付き矢印カーソル
  CUR_ARROW(2)・・・標準矢印カーソル
  CUR_CROSS(3)・・・十字カーソル
  CUR_HAND (4)・・・ハンドカーソル(Windows2000以降)
  CUR_HELP(5)・・・クエスチョンマーク付き矢印カーソル
  CUR_IBEAM(6)・・・アイビーム(縦線)カーソル
  CUR_NO(8)・・・禁止カーソル
  CUR_SIZEALL(10)・・・4方向矢印カーソル
  CUR_SIZENESW(11)・・・斜め左下がりの両方向矢印カーソル
  CUR_SIZENS(12)・・・上下両方向矢印カーソル
  CUR_SIZENWSE(13)・・・斜め右下がりの両方向矢印カーソル
  CUR_SIZEWE(14)・・・左右両方向矢印カーソル
  CUR_UPARROW(15)・・・垂直の矢印カーソル
  CUR_WAIT(16)・・・砂時計カーソル

カーソルの種別を返す

MSGBOX(MUSCUR())

タグ

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

カテゴリー:関数一覧

MSGBOX

MSGBOX関数
メッセージボックスを表示する
戻値 = MSGBOX(表示メッセージ, [表示ボタン, X, Y, フォーカスボタン] )

引数 表示メッセージ・・・表示する文字
表示ボタン・・・表示するボタンの種別を指定
OR でつなぎ複数指定可
デフォルトはBTN_OK
X、Y: 表示位置 X、Y、デフォルトは画面中央
フォーカスボタン: デフォルトとしてフォーカスを与えるボタン種別
戻値

押されたボタン種別
ボタン種別(数値で指定も可)
BTN_YES(4)
BTN_NO(8)
BTN_OK(1)
BTN_CANCEL(2)
BTN_ABORT(16)
BTN_RETRY(32)
BTN_IGNORE(64)

メッセージボックスを表示する

MSGBOX("ボタン表示",BTN_YES OR BTN_NO OR BTN_OK OR BTN_CANCEL OR BTN_ABORT)

押されたボタンにより処理を変える

MSGBOX関数は押されたボタンの種別を戻値として返します。 その戻値によって処理を変えてみましょう。 スクリプトは以下のようになります。

この投稿の続きを読む »

タグ

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

カテゴリー:関数一覧

SAVEIMG

SAVEIMG関数

画像を保存する
SAVEIMG(画像名, [ウィンドウのID, x, y, 幅, 高さ, クライアント指定, JPEG指定] )

引数
画像名:(相対パスもしくは絶対パスでの)保存ファイル名 ※BMP形式
ID:Windowを識別するID(0=スクリーン全体)
x、y:位置を指定
幅、高さ:幅高さを指定
クライアント指定:
FALSE(0):指定ウィンドウ全体(デフォルト)
TRUE(1):クライアント領域
2:指定ウィンドウ全体(ウィンドウを前面にしない、バックグランド状態でも画像取得可)
3:クライアント領域(ウィンドウを前面にしない、バックグランド状態でも画像取得可)
JPEG指定:1(高圧縮)~100(低圧縮) までの圧縮率を指定するとJPEGにて保存、 0(デフォルト)はBMPにて保存

メモ帳を開き、画像として保存する。

メモ帳を開き、日時と文言を打ち込んだ上で画像を保存します。
画像は相対パスなので、UWSCを実行しているパスに保存されます。

ID = EXEC("notepad")
SCKEY(ID,VK_F5)
SENDSTR(ID,"<#CR>このメモ帳を画像として保存")
SAVEIMG("notepad.bmp",ID)
EXEC("Explorer notepad.bmp")

タグ

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

カテゴリー:関数一覧

CHKIMG

CHKIMG関数

指定画像が画面上にあるかチェックする
戻値 = CHKIMG( 画像名, [透過色/色無視, x1, y1, x2, y2, 番号, 色幅] )

引数

画像名:
(相対パスまたは絶対パスで)画像ファイル名 ※BMP形式のみ
透過色/色無視:
  • 0:指定なし(デフォルト)
  • 1:左上、2:右上、3:左下、4:右下の1ピクセルの色を透過色として処理
  • -1:色を無視して形でチェックする
  • x1, y1, x2, y2:サーチ範囲

番号:
複数ある場合の左上からの順番を指定
-1が指定された場合はヒットした数を戻値として返し、
座標情報はALL_IMG_X[], ALL_IMG_Y[] に格納
G_IMG_XG_IMG_Yには最後にヒットした位置が入る

色幅:
チェックに色幅を持たせる
色無視指定時もしくは16bitカラー以下の場合は無効
  • IMG_MSK_BGR1:各色(BGR)に対し 2/256の色幅を許可
  • IMG_MSK_BGR2:各色(BGR)に対し 4/256の色幅を許可
  • IMG_MSK_BGR3:各色(BGR)に対し 8/256の色幅を許可
  • IMG_MSK_BGR4:各色(BGR)に対し 16/256の色幅を許可
  • IMG_MSK_B1, 2, 3, 4:青に対し 2/256, 4/256, 8/256, 16/256の色幅を許可
  • IMG_MSK_G1, 2, 3, 4:緑に対し 2/256, 4/256, 8/256, 16/256の色幅を許可
  • IMG_MSK_R1, 2, 3, 4:赤に対し 2/256, 4/256, 8/256, 16/256の色幅を許可
※演算可 例:IMG_MSK_B1 or IMG_MSK_R3
青に対し 2/256の色幅を許す + 赤に対し 8/256の色幅を許可

C:\に配置した画像のパターンを画面上から検索する

事前にC:\に”white.bmp“を保存しておきます。
画像をダウンロードし保存しておきます。↑
ただの白い画像なので、何も記述の無いメモ帳や、空白のページを開くと
その画像パターンにヒットする見込みです。

PATH = "C:/white.bmp"
IFB CHKIMG(PATH)
 MSGBOX(PATH + "と同じイメージはX:" + G_IMG_X + ",Y:" + G_IMG_Y + "に表示されています。")
ELSE
 MSGBOX(PATH + "と同じイメージはありませんでした。")
ENDIF

タグ

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

カテゴリー:関数一覧

このページの先頭へ