スポンサードリンク

2018年4月30日月曜日

無料のRPA「UWSC」を便利にする自作関数達(改) @情報学 @PC @知恵 @windows

(2018/4/30 「_plus=0」のような、わかりにくい部分が有りましたので少し書き換えました)

もう十数年愛用しているRPA「UWSC」
https://www.vector.co.jp/soft/winnt/util/se115105.html
を便利にする自作関数達をお裾分けします。
ちなみにUWSCのスクリプトはjavascriptと同じく変数名と関数名に2バイト文字を使えます。


■指定した内容を読み上げ、読んでいる時だけ表示する(下の「▲▼▲▼▲▼▲ 関数」行以下もスクリプトに張り付ける必要あり)

声表示("内容")
////////////画面に表示し、声を出して読み上げる。音量注意。


■指定した画像が見つかるまで待機させたいとき(下の「▲▼▲▼▲▼▲ 関数」行以下もスクリプトに張り付ける必要あり)

画像検知("検知対象画像名.bmp")
 //////////検知対象画像名.bmpと同じ絵をPCのスクリーン上で見つけるまで待機する。画像が1ドットでも異なると反応しない。


■指定した画像をクリックさせたいとき(下の「▲▼▲▼▲▼▲ 関数」行以下もスクリプトに張り付ける必要あり)

画像クリック("クリック対象画像名.bmp", x方向ズレ, y方向ズレ)
 //////////クリック対象画像名.bmpと同じ絵をPCのスクリーン上で見つけるまで待機する。見つけると、見つけた部分の中心から「x方向ズレ」,「y方向ズレ」の分だけズレた部分をクリックする(通常は両方とも0にする)。画像が1ドットでも異なると反応しない。


■指定した画像を右クリックさせたいとき(下の「▲▼▲▼▲▼▲ 関数」行以下もスクリプトに張り付ける必要あり)

画像右クリック("クリック対象画像名.bmp", x方向ズレ, y方向ズレ)
//////////クリック対象画像名.bmpと同じ絵をPCのスクリーン上で見つけるまで待機する。見つけると、見つけた部分の中心から「x方向ズレ」,「y方向ズレ」の分だけズレた部分を右クリックする(通常は両方とも0にする)。画像が1ドットでも異なると反応しない


■ほかにも

画像検知_window指定("検知対象画像名.bmp", window名, フレーム名)

画像クリック_window指定("クリック対象画像名.bmp", window名, フレーム名, x方向ズレ, y方向ズレ)

画像右クリック_window指定("クリック対象画像名.bmp", window名, フレーム名, x方向ズレ, y方向ズレ)


も作りました。この「window名, フレーム名」とは、UWSCでマウスのクリックを記録した時に自動的に作成されるGETIDの中身、例えば、
ACW(GETID("C:\","CabinetWClass"),-8,-8,1208,816,0) の
"C:\","CabinetWClass"
に相当する部分です。 ダブルクォーテーションごと「window名, フレーム名」の部分にコピペします。

あと、下の関数群もスクリプトの下層に張り付けて下さい。


//▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲ 関数群(ここ以降は変更不可。要らない場合は削除可)
Function 声表示(内容)
    Result = False
    Balloon(内容,,, 0, 40)
    Speak(内容, FALSE)
    Balloon()
Fend


Function 画像検知_window指定(画像名,window名,フレーム名)
    Balloon(window名 + "のWindowを検索中",,, 0, 40)
    windowID = GETID(window名,フレーム名,-1)
        MOUSEORG(windowID)
    Balloon(window名 + "内の画像:" + 画像名 + "を検知中",,, 0, 40)
    x1 = STATUS(windowID,ST_X)
    y1 = STATUS(windowID,ST_Y)
    x2 = x1 + STATUS(windowID,ST_CLWIDTH)
    y2 = y1 + STATUS(windowID,ST_CLHEIGHT)
    while CHKIMG(画像名,1,x1,y1,x2,y2) = False
        sleep(1) //1秒ごとに画像検索
    wend
    Balloon(window名 + "内の画像:" + 画像名 + "を検知しました",,, 0, 40)
    Result = True
    Balloon()
Fend

Function 画像クリック_window指定(画像名,window名,フレーム名,x_plus=0,y_plus=0)
    Balloon(window名 + "のWindowを検索中",,, 0, 40)
    windowID = GETID(window名,フレーム名,-1)
        MOUSEORG(windowID)
    Balloon(window名 + "内の画像:" + 画像名 + "を検知中",,, 0, 40)
    x1 = STATUS(windowID,ST_X)
    y1 = STATUS(windowID,ST_Y)
    x2 = x1 + STATUS(windowID,ST_CLWIDTH)
    y2 = y1 + STATUS(windowID,ST_CLHEIGHT)
    while CHKIMG(画像名,1,x1,y1,x2,y2) = False
        sleep(1) //1秒ごとに画像検索
    wend
    Balloon(window名 + "内の画像:" + 画像名 + "を検知しました",,, 0, 40)
    BTN(LEFT,CLICK, G_IMG_X + x_plus, G_IMG_Y + y_plus, 15)
    Result = True
    Balloon()
Fend

Function 画像右クリック_window指定(画像名,window名,フレーム名,x_plus=0,y_plus=0)
    Balloon(window名 + "のWindowを検索中",,, 0, 40)
    windowID = GETID(window名,フレーム名,-1)
        MOUSEORG(windowID)
    Balloon(window名 + "内の画像:" + 画像名 + "を検知中",,, 0, 40)
    x1 = STATUS(windowID,ST_X)
    y1 = STATUS(windowID,ST_Y)
    x2 = x1 + STATUS(windowID,ST_CLWIDTH)
    y2 = y1 + STATUS(windowID,ST_CLHEIGHT)
    while CHKIMG(画像名,1,x1,y1,x2,y2) = False
        sleep(1) //1秒ごとに画像検索
    wend
    Balloon(window名 + "内の画像:" + 画像名 + "を検知しました",,, 0, 40)
    BTN(RIGHT,CLICK, G_IMG_X + x_plus, G_IMG_Y + y_plus, 15)
    Result = True
    Balloon()
Fend

Function 画像クリック(画像名,x_plus=0,y_plus=0)
    Balloon(画像名 + "を検知中",,, 0, 40)
    while CHKIMG(画像名,1,,,,) = False
        sleep(1) //1秒ごとに画像検索
    wend
    Balloon(画像名 + "を検知しました",,, 0, 40)
    BTN(LEFT,CLICK, G_IMG_X + x_plus, G_IMG_Y + y_plus, 15)
    Result = True
    Balloon()
Fend

Function 画像右クリック(画像名,x_plus=0,y_plus=0)
    Balloon(画像名 + "を検知中",,, 0, 40)
    while CHKIMG(画像名,1,,,,) = False
        sleep(1) //1秒ごとに画像検索
    wend
    Balloon(画像名 + "を検知しました",,, 0, 40)
    BTN(RIGHT,CLICK, G_IMG_X + x_plus, G_IMG_Y + y_plus, 15)
    Result = True
    Balloon()
Fend

//▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲ 以上、関数群終了


最近、RPAという言葉が騒がれつつあるようですが、それって自分が知る限り、十数年前からマクロという形で有ったのですよね。二十数年前の名機HP200LXにはシステムマクロというRPAと同じものが有ったと記憶しています。


(コメントされる場合はコメントの最初にjjjjと入れて下さい。無い場合はスパムとみなされてしまいます。 English comments will be welcomed. If you have any comments, please write 'jjjj' at first of your comments OR spam filters will delete your comments.)


スポンサードリンク

2017年9月7日木曜日

Excel等での回帰分析の傾きのP-値の一味違う(or きわどい)解釈 @統計学 @情報学

■Excel等での回帰分析の傾きのP-値の意味

仮に対象の説明変数の傾きが実際は0であると仮定した場合、
回帰分析によって「たまたま」今回得られた様な傾きが算出されてしまう確率がP-値です(*1)。

つまり、P-値が小さい

→「対象の説明変数の傾きが実際は0であったのに、回帰分析ではたまたま今回得られた様な傾きが算出されてしまう確率」は小さい

→たまたま今回得られた様な傾きが算出されてしまったのではなく、必然的に算出されたのであろう

→対象の説明変数の傾きは実際のところ0ではないだろう

となります。

(*1)
「今回得られた様な傾き」の「様な」は厳密にいうと「今回得られた傾き、もしくはそれ以上に0から離れた傾き」を指します。




■別の言い方をすると・・・

仮に「対象の説明変数の傾き(r)が実際は0であった(仮定H0)」場合、
回帰分析で今回得られた傾き(s)より0に近い離れた傾きが算出される確率が1-(P-値)です。

つまり、P-値が小さい(例えば0.05)

→回帰分析で今回得られた傾き(s)より0に近い離れた傾きが算出される確率がかなり大きい(例えば0.95(95%))にもかかわらず、実際の回帰分析では傾きはsが算出された

→大前提の「仮定H0」が間違っているのでは?
 
→対象の説明変数の傾きは実際のところ0ではないだろう
ともなります。

(コメントされる場合はコメントの最初にjjjjと入れて下さい。無い場合はスパムとみなされてしまいます。 English comments will be welcomed. If you have any comments, please write 'jjjj' at first of your comments OR spam filters will delete your comments.)

スポンサードリンク

2017年8月31日木曜日

尺度水準の一味違う(or きわどい)解釈 @統計学 @情報学

■各尺度のおさらい

◎比例尺度:
数字がa倍になると別の何かがa倍になる
(例:距離がa倍になると移動時間もa倍)

◎間隔尺度:
比例尺度ではない、かつ、bだけ減る(or増える)と別の何かがbだけ減る(or増える)
(例:加熱時間をb秒減らすと、減らす前と比べて加熱後の温度もb℃減る)

◎順序尺度:
比例・間隔尺度ではない、かつ、大小関係がある
(例:勤続年数が多いほど、年功序列では給与が上がる。でも「給与= a×勤続年数 + b」と書けるほど単純ではない。)

◎名義尺度:
比例・間隔・順序尺度ではない。
(例:個人名、ランダムに作られたID番号)


■尺度と使える代表値

比例尺度:最頻値、中央値、平均値
間隔尺度:最頻値、中央値、平均値
順序尺度:最頻値、中央値(*)
名義尺度:最頻値

(*):順序尺度での平均値の使用は微妙で厳密には使用しない方が良い
    (例:過去10年間のマラソン大会の順位の平均)

下式のように営業成績の順位が下がるほど給与が減るシステム
  給与(万円)=  500 - 順位×5
の場合、どの順位においても順位が1下がれば5万円減るため、この順位は間隔尺度して扱えるので、平均値も意味を持つ(平均給与に直結するため)。


■尺度と、それを目的変数に使用できる回帰式例

◎比例尺度:
掛け算と割り算のみで回帰式が作成可能 (例:給与 = a ×(労働時間))

◎間隔尺度:
四則計算のみで回帰式が作成可能(例:温度(℃) = a ×(加熱時間)+(加熱前の温度))

◎順序尺度:
場合分けを使わず、四則計算以外の計算を使って初めて回帰式の作成可能
(例:マグニチュード = a×log(揺れのエネルギー) + b)

◎名義尺度:
回帰式(?)の作成には場合分けが必要
(例:資格ID =(税理士の資格有:1, 無:0)+(弁護士の資格有:10, 無:0)
税理士の資格のみあるなら資格IDは1、税理士と弁護士の資格があるなら11、どちらもなければ0。
たとえ数字でも、この資格IDの様な数字は後で機械処理するため一時的に作られるような、記号のような性質を持つので、平均値や中央値を計算しても意味がない。)



(コメントされる場合はコメントの最初にjjjjと入れて下さい。無い場合はスパムとみなされてしまいます。 English comments will be welcomed. If you have any comments, please write 'jjjj' at first of your comments OR spam filters will delete your comments.)

スポンサードリンク

2017年6月9日金曜日

カマキリの孵化とアブラムシ @虫 @家庭菜園 @生物学

2017年5月26日に家庭菜園用の蚊帳
 家庭菜園の工夫(蚊帳)@家庭菜園 @知恵 @お得 @虫
の中でハラビロカマキリが孵化していました。

170527-21.jpg 170527-20.jpg

2日前は孵化していない卵だったので、25-26日に孵化したのでしょう。数日前にはカマキリか、オオカマキリの幼虫も今年初めて庭で見ました。どうやら、春になって暖かくなったら孵化するのではなく、半袖でも暑く感じられるようになったら孵化するようです。夜の寒さ対策か、餌の虫がある程度増えた頃を狙らっているかだと考えられます。

ネギについた黒いアブラムシをハラビロカマキリの近くに落として与えているのですが、どうもいまいち食いつきが悪いです。捕まえて、ある程度は食べるのですが捨てます。

アブラムシは陸のプランクトンと言われるほど、様々な陸上生物の餌になるのですが、今年に限らず家のハラビロカマキリはネギのアブラムシを好まないようです。ネギの辛み成分でも持っているのでしょうか。小松菜等につく緑や赤色のアブラムシはよく食べるのですが。

ただし、カマキリは動いている獲物しか食べないので、目の前にアブラムシが居ても動かないと気づきません。

ちなみにヒラタアブの幼虫はネギのアブラムシをよく食べてくれます。
 ヒラタアブ:テントウムシの陰に隠れた有能な対アブラムシ生物農薬(ちょいグロ注意) @家庭菜園 @虫 @生物学

テントウムシと同じで、特に動いていなくてもアブラムシを食べてくれるので助かりますね。


(コメントされる場合はコメントの最初にjjjjと入れて下さい。無い場合はスパムとみなされてしまいます。 English comments will be welcomed. If you have any comments, please write 'jjjj' at first of your comments OR spam filters will delete your comments.)

スポンサードリンク

2017年6月3日土曜日

ヒラタアブ:テントウムシの陰に隠れた有能な対アブラムシ生物農薬(ちょいグロ注意) @家庭菜園 @虫 @生物学

ヒラタアブはウジ虫のように見えますが、かなり食欲旺盛でアブラムシをガシガシ食べていきます。
170531-01.gif

ヌメヌメしているように見えますが、特に水が必須というわけでもないようです。

アブラムシが右上の方に居ますがこれも後で食されました。がぶっと噛みついて葉から引き離して齧っていくように食べていきます。ヒラタアブの幼虫の右側にわずかにアブラムシの足らしき細い物が多数見えますが、その付近の体内で動いている黒いものが、歯かそれに付随した筋肉だと思います。後ろの方(幼虫の左側)には突起(後方気門?)が有り、ここで呼吸しているようです。ウミウシのエラに似ています。

170531-02.gif
 口以外でも後方でも体内で黒い何かが動いています。食われた黒いアブラムシが消化管を移動していると考えられます。

ネギをアブラムシだらけにしておくと、いつの間にかヒラタアブが卵を産み付けてくれるのですが、害虫対策の蚊帳(家庭菜園の工夫(蚊帳)@家庭菜園 @知恵 @お得 @虫)の中にはヒラタアブが入っていけないので、蚊帳の外のネギにヒラタアブの幼虫を見つけたら蚊帳の中のネギに移動させます。すると、ネギにびっしり付いていた黒いアブラムシがそのうち消えてなくなります。


まあ一番手っ取り早いのは、ネギの周辺の泥をどかして、そのネギについたアブラムシを要らない歯ブラシで地面にこそぎ落として、どかした泥を上からかけて、とどめに水をかけて土を固めることで、水やりと施肥が同時にできてしまいます。

ちなみにヒラタアブの蛹はこれです。
http://www.ibutu.jp/s_01hirataabu.html
確かにネギにこういうのが付いていました。


(コメントされる場合はコメントの最初にjjjjと入れて下さい。無い場合はスパムとみなされてしまいます。 English comments will be welcomed. If you have any comments, please write 'jjjj' at first of your comments OR spam filters will delete your comments.)

スポンサードリンク
■2017年5月現在の斜め上下な昼休みや通勤・通学時間帯でも速度低下しにくい格安回線ミニ特集
(遅い格安SIMに削られる時間を仕事にあてたら、いくら得するだろう・・・・):
・au系LTE回線なら UQ mobile (リンク→auネットワークで月々980円(税抜)~!【UQ mobile】)
・ドコモ系LTE回線なら LINEモバイル(リンク→LINEがデータ消費ゼロで月額500円~!)
・simフリー端末で最速の格安SIMを目指すなら少し高めでもワイモバイル (リンク→Y!mobileストア)
3社のテレビCMを観ましたが上記の通信速度のメリットには触れず。モッタイナイ。
免責:本ブログの内容により、いかなる損失が発生しても本ブログの記述者は一切の責任を持ちませんので、その程度の内容としてご活用下さい。