自動化ツールUWSC使いよ集まれ20
レス数が900を超えています。1000を超えると表示できなくなるよ。
質問なのですが、CHKIMGXを導入したのですが、CHKIMGX.UWS上のIF判定がある箇所でエラー(SyntaxError)が発生してしまいます。
環境としては、CHKIMGXを使用するUWSファイルと同階層に各種dllとChkImgX.UWSが存在している状態です。
使用するUWSファイルはexe化して使おうとしています。
回答をお願いします >>843
質問はなんなんだ
コードもなしにSyntaxErrorと言われても構文見ろとしか言えない >>844
質問はですね、ChkImgX.UWSのIF文という、ダウンロードしてから変更を加えていない箇所で落ちることの対処法を知りたいです。
IF文の内容に関わらず、ソース上のIFがある箇所で落ちます 簡単なテスト用のコードを書いても同じifのところでエラーになるん? >>847 です。
ソースコードを貼ります。
// finallyを必ず実行してもらう
OPTION OPTFINALLY
// ChkImgX関数をインクルード
CALL ChkImgX.uws
ImageName = "../IMAGE/IMGX用/aaaa.BMP"
WindowID = 0
Region_x1 = 100
Region_y1 = 207
Region_x2 = 190
Region_y2 = 315
Detect_num = 1
Threshold_delta = 10
Target_color = -1
OPTION LOGPATH="./test.log"
OPTION LOGFILE = 3
startup_chkimgx() //CHKIMGX関数開始
try
CHKIMGX(ImageName, WindowID,Region_x1,Region_y1,Region_x2,Region_y2,Detect_num,Threshold_delta,Target_color)
print "X座標:" + G_IMAGX_X + "Y座標:" + G_IMAGX_Y
finally
shutdown_chkimgx() //CHKIMGX関数停止
endtry
という作りのUWSファイルから呼び出しを行っています。
ChkImgX.UWSはダウンロード時から変更していません。
↑のファイルを置いている階層と同じ階層にダウンロードしたdll等も配備しています。 汚ねぇクソコードを晒してみろよ
そこに問題があるんだろ >>847
>print "X座標:" + G_IMAGX_X + "Y座標:" + G_IMAGX_Y
自分が持ってるChkImgXだとこれがエラーになるので、こう変えた
print "X座標:" + G_IMGX_X + "Y座標:" + G_IMGX_Y
これ以外はエラーなく実行できたよ >>849
ありがとうございます。
その部分については、単純に打ち間違っていました。
しかし、エラーは解決していません。
ChkImgX.UWS上の if window_id = 0 の所で現状エラーが出てます。
IF文自体が悪いのかの判定のため、当IF文を削除し実行したところ、その次に出てくるIF文でエラーとなりました >>850
IF文は一行で記述の必要があるのに対して
IF 判定式 THEN
TRUEのときの処理
というふうに改行されているのが問題なのだろうか‥?
ver.1.2.1を落としたのですが、古いのでしょうか UWSC本体を最新にしたら動きました
答えてくださった方ありがとうございます
スタックトレースの取得に失敗と出るのですが
これはどう対処すればよいのでしょうか >>852
今度は何をしたらそれが出たんだい? エスパーじゃないから書いてくれないと分からんよ
どうせ何か落としてきたマクロでも実行しようとしてるんだろうけど…
まぁ見るからにプログラム初学者という感じなので、もうちょっと基本的なところ位勉強した方が捗ると思うよ
例えばね、スタックトレースはどういうものかって分かってないでしょ(言語によって多少差はあるが)
分かってれば呼び出し履歴でしかなくて、UWSCでは原因自体のエラーメッセージはその前に出力されてるとか分かるわけよ
このスレの人たちは暇なら相手してくれると思うがあんまり初歩的な質問繰り返すと放置されるからね 並列処理でチェック処理を行ってて、
チェックに該当した場合にメイン処理を停止して、別のUWSファイルの処理を呼び出すことは可能ですか?
呼び出し方等は分かるのですが、メイン処理の停止方法が分かりません >>856
publicな変数を用意して終了のトリガーにすればいい >>857
メイン処理(ループ処理)の戦闘にa=1等の宣言をしておいて、サブ処理起動時にa=2等に書き換えて、メインループを停止、サブ処理終了時にaの値を1にもどすってことですかね? 2018/06/24更新
UWSCのみに対応です
・tapimgEXを画面が左右回転するアプリに対応
rotateFlag = 0 :ノーマル
rotateFlag = 1:右90度回転
rotateFlag = 2:左90度回転
・tapimgEXの第一引数に複数画像を指定できるように
・joinDirImage関数を追加(UWSC側での簡易的な関数)
https://www.axfc.net/u/3916888
***使い方***
1)
複数画像を同時検索(キャプチャは最初の1度のみ)
画像名を:で連結させてください
tapimgEX("a1.png:a2.png",0,1)
2)
imgフォルダの画像を全検索して存在したらタップ
list =joinDirImage("img")
taipimgEX(list,0,1) この基地外毎回訂正再アップしてんな
本当に進歩しない無能だな お、更新きたのかと一瞬期待したらあのゴミ製造機だった 2018/06/24
NoxAppPlayer用にUWSCで各種便利機能を追加
・Nox用各種関数でdos窓が開かないように修正
・Tap(x,y,n):端末番号nの(x,y)をタップ
・Swipe(x1,y1,x2,y2,n):端末番号nの(x1,y1,x2,y2)をスワイプ
・tapimgEXを画面が左右回転するアプリに対応(ADBキャプチャした時に画面が回転することに対応)
・tapimgEXの第一引数に複数画像を指定できるように
・joinDirImage関数を追加(UWSC側での簡易的な関数)
***使い方***
1)
複数画像を同時検索(キャプチャは最初の1度のみ)
画像名を"|"で連結させてください
tapimgEX("a1.png|a2.png",0,1)
2)
imgフォルダの画像を全検索して存在したらタップetc
list =joinDirImage("img")
taipimgEX(list,0,1)
単にヒットした画像の座標ではなくファイル名に指定記号を用いることで指定座標をタップ、スワイプなどが可能です。
https://www.axfc.net/u/3916970 結局UWSCの金魚のフン以上にはなれなかったな
まぁ自分のスレいけよ >>650さん、1ヶ月経ちましたがそろそろ流して頂けないでしょうか.... ttps://pastebin.com/vCfmeYkc >>868
有り難うございます!
これでまたしばらく食いつないで行けます! 以前から出てたのかwww
とはいえ、今までフリーで組み続けてきたけど
プロにしたところで何か画期的に違うのかとか分からんわ。 フリー:一般人
プロ(流失キー):犯罪者(著作権法違反)
※親告罪なので訴える(訴えられる)人がいないと捕まりはしない
※もしキーを売ったりしたら商標法違反(非親告罪) まぁプロに成っても恩恵あんまないし、消されてもどうということはないな。 >>879
ぬがー。再うp希望ー!
いや、拙者はシェアウェア版を買っていたのだが、OS入れ直したはいいが、キーを控えてなかったでござるよ……。 >>880
Vectorならキー再送付サービスで対応してもらえないかな? 作者消えてサポートも切れたんだしフォトショCS2みたいに実質だれでもタダで使えるようにしてもいいんじゃねw
問題はUWSC自体がいつまで使えるかだが >>883
ほんとだ!
助かりました!!
これで明日の納期に間に合います(ノ_<) むーキャッシュ残ってなかった・・・
どなたかもう一回教えてください・・・ ebcache.googleusercontent.com/search?q=cache:https://pastebin.com/vCfmeYkc むーキャッシュ残ってなかった・・・
どなたかもう一回教えてください・・・ 二次元配列(多次元配列)のソート方法を教えてください
QSORTを用いるのは分かるのですが、どういう指定をすればいいかが分かりません。 多次元配列の場合、どういう風にソートしたいのかは人それぞれだからなぁ
連動させてソートしたいならヘルプにあるサンプルがそのままだと思うけど? 下記のような二次元配列の場合どう渡せばいいのでしょうか?
m[a][b]という二次元配列を
これを[b]の昇順に並べ替えたいです。
また、[a]を[b]の並べ替えに合わせてソートしたいです。
QSORTへの渡し方が不明です >885 >889
すみません、キャッシュ見れました!
おかげさまでproできましたー
ありがとうございます!
2回目の投稿は、なぜか同じ文章が勝手に投稿されてました。。
天丼ギャグじゃないです。。笑 >>894
m[0][b]をソートしてm[1][b]を連動させるってことなら、サンプルそのままでいけるのでは? >>897
ヘルプのQSORTの説明下部にある 例) をクリック ありがとうございます
やりたいこと実現できそうです ログウィンドウに関して2つほど教えてください
1,長い文字列をprintするとハミ出した部分が見えなくなりますが折り返し表示って出来ませんか?
単純に一定長で改行を入れると、2バイト文字を分断時にそこが文字化けしてしまうので
2,Input()で待ち状態のとき、サイズを変えたり、スクロールしたりが出来ませんが諦めるしかないですか? >>901
printの方はウインドウサイズ変更ではだめかな?
折り返しについては固定長で改行入れるんじゃなくて、文字列連結の時に入れておくとか特定のキーワードを置換するとか
何ならログファイルをtailで見るという方法もある >>902
後出しみたいになってしまい申し訳ないですが、
元になるデータは既に存在していて、随時追加されています
1行は100文字程度なのですがたまに300文字超えのものがあります
スクリプト的には、Inputでキーワードを入れて、部分一致したデータ行をログウィンドウに表示し、またInputに戻ります
ログウィンドウをデータの最大長に合わせると横長すぎて使い勝手が悪いため、大部分が表示できる120文字くらいの大きさにしています
データの加工は難しいですが、ログをtailでみるというのは思い付きませんでした。そのせんで少し試してみます
ありがとうございました >>903
pro版ならcreateform使ってみるというのはどう?
f = Createform("about:blank","ログ",true, FOM_MINIMIZE or FOM_MAXIMIZE,300,300,0,0)
str = "元になるデータは既に存在していて、随時追加されています1行は100文字程度なのですがたまに300文字超えのものがあります"
f.Document.write(str)
f.Document.location.reload()
sleep(10) スクリプトを暗号化する機能がついてますが、
1.暗号化したスクリプトを使ってexe化した場合
2.生スクリプトを使ってexe化した場合
1と2では、逆コンパイルの難易度は変わりますか?
また、厳密に比較すると、exeの実行速度も違うのでしょうか?(実行毎に内部でデコードしてる?) >>905
exe化は元々スクランブル後にやっている
従って、逆コンパイルの難度も実行速度も変わらない
ちなみにさほど強度の高い暗号化ではないのでやろうと思えば復号はできる(exeからも) >>903
>>904
よく考えたらメモ帳なりエディタなりにsendstrすればいいような? 901です
printしたあとにログファイルに反映されるまでに少し間があるようでtailでするのは出来ませんでした
ただログウィンドウに拘らなくてもいいと気づかせて貰えたので色々試した結果、
>>907さんの言われているメモ帳にsendstorする方法に落ち着きました
>>904
proだとそういう機能もあるのですね、残念ながらフリー版なので・・・
報告が遅くなりましたが、アイデア・助言などありがとうございました NekoMacro vectorで公開いたしました。
https://www.vector.co.jp/soft/winnt/prog/se518141.html
使用期限、パッキングなどを廃止しフリーソフトウェアとして配布いたします。 おう良かったな。
これで堂々とスレ立ててそっちで出来るぞ。 UWSCのコマンドについて質問させてください。
IE上で、ボタンをクリックすると、新規ブラウザが立ち上がり、そのページのロードが終わるとcsvファイルが生成され、Webから
のメッセージで、開く・保存・閉じるを選択する画面が出ます。
このロードする時間が、状況によって、待機時間が変わります。
!IE =busy や、IE.readystatus = 4 などで、IEの動きを見て、次の動作をさせたいと思ってます。
ほかになにか、よいコマンドはないのでしょうか・・・ >911です。追記します。
!IE.busyやreadystatusでは、うまくいきませんでした・・・ >>912
onloadで適当な変数でも書き換えれば? >>911
どういった記述になりますでしょうか、、
もしくは、webからのメッセージを、認識するまでループかけるという手段も考えたんですが、、どうでしょいか。。 >>911
ロードが終わらないとメッセージが出ないなら、メッセージが出たかどうかで判定する。 >>914
ああ、ごめんねonloadはuwscの関数じゃないよ
むしろ>>914のとっかかりになる手段なので後はググってくれ >>911
ページロードが終わったのではなく
ダウンロードが終わったから三つの選択肢が出たんじゃないの?
いずれにせよ、選択ウインドウが出たらその場所の色が変わるんだから
ループの中で色をチェックしてそのあと好きなショートカットキーを押させればいいだろ。頭の切り替えだよ 質問なんですが、goto文機能実装したら便利ですかね? 個人的にはあってもいいけど、
必ず乱用する馬鹿が現れてその馬鹿のソースを見ることになるのが嫌なので要らない このゴキブリ自分のスレまで建てておいていつまでここに住み着いてんだ 正常に動いているスクリプトを、exe化すると動かなくなるんですが、なにを疑えばいいですか?
具体的には、対象のウィンドウ(chrome)を認識し、対象の画像も発見出来ているのですが、マウスの移動とクリックが動作しません。
スクリプトの実行であればマウスは動いています。 exe化使ったことないけど「管理者として実行」が必要なんじゃないの >>925
>>926
逆パターンもあるので念のため注意してね
操作対象とUACの権限が「一致」してないといけなくて、UWSC側が高ければいいというわけではない >>926
>>927
ありがとうございます。
スクリプトで正常に動いている時は、管理者権限で動かしてないんですよ。
自分のPCではスクリプトもexeも正常なんですが、他人のPCでexeのみ挙動がおかしいんです。
とりあえず試してみます。 >>928
他人のPC ←あほか 最初に言うべき情報だろ
可能性としてはディスプレイの拡大率がちがっててポイントする場所があってない 初歩的な事ですいませんが、IFとIFBの使い分けがよくわかりません。
IFではダメでIFBを使わなければならない場合てどのような場合でしょうか。 >>930
1行のみで書いた条件分岐と複数行で書いた条件分岐って、あとから読むと見分けにくいでしょ?
そうならないように、1行で書くやつはIF、複数行で書くやつはIFB-ELSE-ENDIFとしてるわけ >>929
他人のPCだと、なんでアホなの?
今すぐに試せないって意味で書いただけです。
自分のPCならアホじゃないの?
ご指摘のディスプレイの件なら、スクリプトでなら動くのが説明つかないですよね? 画像発見出来てるのにカーソルの移動が出来ないってのは座標の取得が間違ってるとか?
マルチモニタとかで順番が違うとかもありえたり? >>933
うーん、見つかった画像で返ってきた座標にマウスを移動させてるんです。
テストとしてMMVでマウスをぐるぐる動かすとかやっても、マウスが持ってかれずにフリーで動かせる感じです。 今、管理者権限を試すことができました。
ビンゴでした。
exeを管理者権限で実行したら正常に動きました。
chromeもスクリプトを動かすUWSCもタスクマネージャーで確認すると、管理者権限の欄は「いいえ」でした。
とりあえず管理者権限で実行すれば動くので一歩前進しましたが、スッキリしません。
管理者権限を付与せずに正常に動かす方法はないのでしょうか。
この特定のPCのみがこの症状で、他の複数台のPCでは管理者権限じゃなくても正常に動作してます。
この特定のPCで、なにかOSの設定等でチェックすべき項目はありますか? >>935
あ、動かないPCはwindows10です。
他のwindows10PCでは動いてます。 >>937
UACについて無知でしたが、今ググってみたら確かにここは怪しいですね。
また明日確認してみます。
ありがとうございます。 UACの設定を試しましたが、ダメでした。
セキュリティソフトを停止しても効果無しでした。
お手上げです。
無礼がありましたら、すみますんでした。 まぁ、ちょっと気になるじゃない。exe化したときに何かミスってる可能性もあるけど。
マウス関連のみ効かないってなら…
バージョンが解らんけど、固有のバグもあるのか?とか いやデジタル証明書有無による権限の差だと思ったんだけどな…<UAC
外してたなら申し訳ない レス数が900を超えています。1000を超えると表示できなくなるよ。