自動化ツールUWSC使いよ集まれ17at SOFTWARE
自動化ツールUWSC使いよ集まれ17 - 暇つぶし2ch56:名無しさん@お腹いっぱい。
16/03/26 13:06:25.09 hYn1f1hz0.net
書くこと整理できてなくて、2ちゃんに短レスを連投するキチガイみたいだな

57:名無しさん@お腹いっぱい。
16/03/26 19:16:21.87 GSm2bZvn0.net
なぜ TRY - FINALLY の話しにならないのだろうか
外部の資源管理をする場合は大事だと思う

58:21
16/03/26 19:34:57.95 FVOS4u7u0.net
>>47-48
大半がログの書き出しなんで
fid = fopen("hoge.txt", F_READ or F_WRITE)
fput(fid, str)
fclose(fid)
こんな感じ3行で終わってます。
だから100件近くあるといってもチェックするのはすぐ終わる。
一部設定ファイルのようなものでファイルオープンしたまま行をシークした後
設定値を読み書きするようなREADINIもどきみたいな動作をしていて、その部分だけ
fcloseまで少し開いている。
こういうのは数か所しかないし結局チェックしてもクローズし忘れてないので嫌な感じなんですがね。
ループもそこまで時間かかる処理でもなくスリープ1秒しか入れてないのに
エラー出るのは数時間後なんで少なくとも数万回は回ってるんですよ。
簡単なクローズし忘れならこんな時間かからず数分でエラーになると思うんですが…

59:名無しさん@お腹いっぱい。
16/03/26 20:04:19.42 p5aZWDd20.net
普通にログ出力用処理もreadiniもどきも関数化して引数渡して呼び出せば100か所が1000か所だろうがopen/closeチェックなんてもんは関数部だけで済むんだよなぁ
同じような処理がコピペされまくってるコードって時点で正直信頼性が低いコードって判断しちゃうしエスパーすんのもお手上げだよね

60:名無しさん@お腹いっぱい。
16/03/26 20:25:24.81 Sxf6n7CC0.net
>>57
そのhoge.txtって全部同じログファイル?そうじゃなくても数少ない?
おれならその用途なら最初に開いて最後まで全部開きっぱなしにするわ。
書き込む度にopen/closeする必要性があると思えない。
後、fcloseのエラーも一応チェックすべき。

61:名無しさん@お腹いっぱい。
16/03/26 20:25:32.61 oPRDX9Vo0.net
>>57
タイプミス。チェックしただろうけど見逃すときは見逃す
fidが別の誰かに書き換えられてしまっているかもしれない。fcloseの成否を判定すべきかも。ついでにfopenの成否も
以上思いつき

62:名無しさん@お腹いっぱい。
16/03/26 21:37:10.61 9UoSy3eB0.net
ちょっとした発見
単に
print fclose(65);sleep(10) //65じゃなくてもいい
は、 False ではなく True と表示されるらしい

63:名無しさん@お腹いっぱい。
16/03/26 22:16:11.71 p5aZWDd20.net
>>61
プロセスで保持してないファイル番号をfcloseしようとしてもエラーが出ないってのは
エラー吐くのはあくまでファイルの解放が出来なかった時って仕様なんだろね

64:名無しさん@お腹いっぱい。
16/03/27 14:49:51.60 09YUcfzt0.net
今まで出来た画像検索が急に出来なくなった理由に心当たりある?
同じOS、ブラウザで表示される絵なのに
違いはメインか仮想かだけ

65:名無しさん@お腹いっぱい。
16/03/27 15:19:47.49 f1xszDH+0.net
画像の座標がわかってるならSAVEIMGで取得して
ペイントソフト等で比較してみる。
画像Aと画像Bをネガティブで合成して真っ黒になったら完全一致。
黒を白に色置換したりすると黒にならなかった場所が残って目立つようになる。
一部でも色が違ってたらそこが画像の差異。

66:名無しさん@お腹いっぱい。
16/03/27 15:23:35.50 f1xszDH+0.net
ちなみに心当たりについてはいっぱいある。
よくある話。
ブラウザのバージョン違いでも違ってくるし、ビデオカード違うと違ったりするし
ブラウザのウィンドウのサイズが違っただけで違ってくる場合もあるし。
同じ環境で実行しない場合は違うのが当たり前、合わせる方が大変と覚えとくべき。

67:名無しさん@お腹いっぱい。
16/03/27 15:40:05.25 pYegwVVw0.net
>>63
それは、きっとメインか仮想かの違いのせい

68:名無しさん@お腹いっぱい。
16/03/27 16:20:08.70 09YUcfzt0.net
そんなもんなのか~失敗したなあ

69:名無しさん@お腹いっぱい。
16/03/28 01:21:07.26 X3nXFpuv0.net
一度仮想にしたらゲストOS総入れ替えとかするまでずっと変わらない環境だから、
仮想で撮った画像を仮想上で使えば悩まなくて済むのがメリットだが、
ホストとゲストとでは当然何もかも違い過ぎるね。
全部撮り直しだよ。はじめて仮想に移行した時、俺もそうした。
だがその後4年間、不変の固定環境というメリットを享受し続けている。

70:名無しさん@お腹いっぱい。
16/03/28 01:47:51.85 DPQX4nXy0.net
商品名と価格が2列に並んだエクセルのファイルが2つある。一方はローカルストレージにある状態で、もう一方はGメールでブラウザ上で開いている状態である。ローカル上にあるファイル名をL、オンライン上にあるファイル名をGとする。
L,G,共に2列×100行で商品名とそれに対する価格がズラッと記載されており、商品名は、名前、並び共に全く同じである。
ただし、価格はバラ�


71:oラである。例えば、ファイルLの一行目には、テレビ 15000、と記載されているが、ファイルG一行目には、テレビ 12000、と記載されている。 この100個の商品の中から、価格差が3000円以上生じている商品の商品名を、別のエクセルファイルDに上から記載してください。 数学の問題っぽく書きましたが、要するに、うちの店の在庫の、過去の時点の商品の価格と今の商品の値付けを比較して、危なげな商品を抽出したいんです…



72:名無しさん@お腹いっぱい。
16/03/28 01:56:40.07 DPQX4nXy0.net
書き忘れましたが、ファイルGのデータをローカルストレージのファイルにコピペすることはしないものとします。。実際には量が多いので、あくまでローカル上のファイルと、ブラウザ上のファイルと比較して欲しいです。

73:名無しさん@お腹いっぱい。
16/03/28 02:06:38.91 PPmXIpzZ0.net
自分でやれ

74:名無しさん@お腹いっぱい。
16/03/28 02:21:59.78 X3nXFpuv0.net
いくら量が多かろうと6万5千行以内であるなら、
単に1つのエクセルシート上でA:商品名、B:価格L、C:価格G、D:価格差
となるようにしてエクセルで普通にやるように計算してオートフィルタするだけ。
UWSCとは何の関係もない。
エクセルのMAX行数を超える規模であるならAccessなり何なりのRDBソフトの範疇。
UWSCとは何の関係もない。
そもそもPKもついてないその運用自体が既に破綻してるんだがな。
これ、人にやらせるなら有償だよ。最低数万は払うんだな。

75:名無しさん@お腹いっぱい。
16/03/28 03:29:37.76 DPQX4nXy0.net
そりゃ申し訳ありません。
素で難易度がよくわかってなかったもんで。

76:名無しさん@お腹いっぱい。
16/03/28 03:30:05.40 DPQX4nXy0.net
素→素人

77:名無しさん@お腹いっぱい。
16/03/28 03:37:35.51 Z3kLLmGQ0.net
難易度が低ければ、要望を伝えれば奴隷が作ってくれるものなの?
いったいこのスレをなんだと思ってそんな書き込みをしたのやら

78:名無しさん@お腹いっぱい。
16/03/28 03:53:07.15 DPQX4nXy0.net
>>75
え なんだと思って書いたかって?
便所の落書きみたいなもんでしょ?
別になんか書いてあればそれで良し、なければないでまあいいかって感じ。

79:名無しさん@お腹いっぱい。
16/03/28 03:57:58.75 X3nXFpuv0.net
「うちの店」の経営システムは便所の落書きレベルなのかい?
自己卑下にも程があるだろ。

80:名無しさん@お腹いっぱい。
16/03/28 03:58:40.86 Z3kLLmGQ0.net
自分でうんこ撒き散らしたから便所っぽくなっただけじゃないかな

81:名無しさん@お腹いっぱい。
16/03/28 04:49:18.92 wr4nJrUD0.net
こういう根本的に思考がおかしい人間ってたまに見かけるけど
どうやって生きてるんだろうなあ、って思うわ
ネットならおかしな言動はすぐに叩かれるが、現実社会で指摘なんてしてあげる人は少ないだろうし
自分の異常さに気づけないまま爪弾きにされてきたのは想像に難くない
反省することも出来ず密かに嫌われて
ようやく気づいた時にはもう手遅れ
ぞっとする人生だよな
ああそうか、周囲と折り合いが付かないから自分で店やってるのか

82:名無しさん@お腹いっぱい。
16/03/28 05:12:47.64 tIyCoTI+0.net
便所の落書きに会社のデータを任せるおれかっこいいぜ

83:名無しさん@お腹いっぱい。
16/03/28 06:19:54.94 DPQX4nXy0.net
>>79
自己紹介乙

84:名無しさん@お腹いっぱい。
16/03/28 06:28:57.03 DPQX4nXy0.net
>>80
ありがとよ!

85:名無しさん@お腹いっぱい。
16/03/28 09:04:32.99 nryS6mVN0.net
悪かった悪かった。
仕事してる感じの文面が、無職の君等を嫌な気分にさせたんだろうなきっと。
そりゃ色々言いたくなるのもわかる。まぁ辛いと思うけどがんばれ。
人生山あり谷ありだよ。

86:名無しさん@お腹いっぱい。
16/03/28 10:08:56.79 BQStlz4R0.net
他人の金儲けに、匿名かつ只で協力してくれる人なんかいないんだよな
自分以外の書き込みをNPCかロボットがやってると思っている、ゲーム脳なんだろうか

87:名無しさん@お腹いっぱい。
16/03/28 12:40


88::30.26 ID:j9U4bnha0.net



89:名無しさん@お腹いっぱい。
16/03/28 14:38:55.90 xvwdRj5W0.net
     彡⌒ ミ
     (´・ω・彡⌒ ミ
   彡⌒ ミつ(´・ω・`) ))仲良く使ってね
(( (´・ω・`) ( つ  )
   ( つ  ヽ  とノ  
    〉 とノ )^(_)
   (__ノ⌒(_)

90:名無しさん@お腹いっぱい。
16/03/28 14:57:19.50 G/AnvA/m0.net
なんでここってよくキチガイが沸くん?

91:名無しさん@お腹いっぱい。
16/03/28 17:05:28.32 DPQX4nXy0.net
いやだから 悪かったって。
君等無職の気持ちを考えずに、安易なことを聞いた自分が悪かった。
それより、便所の落書きのシステムを早く導入したいんだけど、君らが回答してくれなきゃ、いつまでたっても導入できないぞ。
このままだと便所の落書きのシステム導入できずに終わっちゃうよ☆

92:名無しさん@お腹いっぱい。
16/03/28 17:37:16.17 Da/bLUsr0.net
深夜早朝にレスしてる底辺は言う事が違うね

93:名無しさん@お腹いっぱい。
16/03/28 17:43:21.80 5rhMMiN/0.net
ここまで人間の屑だと逆に清々しい気分になるねw

94:名無しさん@お腹いっぱい。
16/03/28 18:00:17.33 9/ToNEPO0.net
質問させてください
スケジュールでの実行で、実行間隔を割りと頻繁に変えるので、
設定からいちいち変更するのが面倒になって
WRITEINIでUWSC.INIを直接書き換えるスクリプトを作りました
が、このスクリプトを実行しても、スケジュールの実行間隔は代わりませんでした
設定からスケジュール設定の画面を開くと、きちんと設定時間は変更されているのですが
どうやら、この画面でOKボタンを押さないと反映されないようです
おそらく、INIでだけ変更しても、UWSCにINIを再読み込みさせないとダメということだと思うのですが
スケジュール設定の画面でOKを押す、UWSC自体を再起動する、
以外に、簡単にINIを再読み込みさせる方法をご存知の方がいらしたら、教えて下さい
よろしくお願いします

95:名無しさん@お腹いっぱい。
16/03/28 18:23:32.80 0YSA5fuQ0.net
>>91
readini

96:名無しさん@お腹いっぱい。
16/03/28 18:47:46.68 9/ToNEPO0.net
READINIやってみましたが、だめでした

97:名無しさん@お腹いっぱい。
16/03/28 19:01:02.43 gpLagcCZ0.net
UWSCを再起動してはいけない理由がないなら
再起動したほうが楽なんじゃないかと思える

98:名無しさん@お腹いっぱい。
16/03/28 19:09:41.62 iIbAjYtD0.net
>>92
1分ごとに自前INIファイルの設定を見に行くスクリプト動かして
自分でスケジュール管理すりゃいいじゃん
悩む理由が思いつかん

99:名無しさん@お腹いっぱい。
16/03/28 19:20:10.90 9/ToNEPO0.net
>>95
UWSC側のスケジュール設定では1分毎に動作するようにしておいて
別に用意したINIで実行タイミングを制御するという意味でしょうか
>>94
結局それが一番手っ取り早いんですかね

100:名無しさん@お腹いっぱい。
16/03/28 19:26:10.71 5rhMMiN/0.net
>>96
6時間周期を5時間にしたり7時間にしたりと5分周期を4分にしたり3分にしたりでは解決方法も違うよね。
> UWSC側のスケジュール設定では1分毎に動作するようにしておいて
常時起動じゃね?

101:名無しさん@お腹いっぱい。
16/03/28 19:27:02.29 Z3kLLmGQ0.net
スケジュール設定なんて機能は使わずに
自分でスクリプトにスケジュール管理機能を組み込めってこと。
間隔を簡単に変更する機能とか自分で作った方が楽だろう。

102:名無しさん@お腹いっぱい。
16/03/28 19:28:28.03 gpLagcCZ0.net
>>96
スケジュールを管理してるUWSCは
DIM idUWSC = GETID( "UWSC", "TUMain_uwsc" )
CTRLWIN(idUWSC, CLOSE)
で閉じられるし
それをしても自分のスクリプトは
別プロセスで動いているので問題ない
起動はEXECするなり
最初にUWSCを起動するときにバッチを使ってループさせるなりすればいい
と思う

103:名無しさん@お腹いっぱい。
16/03/28 19:43:31.17 15sdg0ez0.net
定数の初期化を関数で
CONST hoge = myFunc(key)
とかして初期化しようとしても弾かれます



104:uCONSTの初期化はスクリプト実行前に行われます」だそうですが、良い方法ないでしょうか?



105:名無しさん@お腹いっぱい。
16/03/28 20:07:29.93 04twtAN70.net
>>100
値が変わらないから"定数"なんだけど・・・
変えたいなら変数使え

106:名無しさん@お腹いっぱい。
16/03/28 20:23:32.39 Z3kLLmGQ0.net
どうしても関数で書き換えたいというなら
定数を書き換えるだけの別スクリプトから起動するのはどう?

107:名無しさん@お腹いっぱい。
16/03/28 20:36:00.34 15sdg0ez0.net
ありがとうございます
定数の値は一度初期化したら変更が不可能であることは理解しております
その定数の初期値を自前関数myFuncで決定したいということです。エラーは
SyntaxError
CONST hoge = myFunc(key)
として弾かれてしまいます
PUBLIC hoge = myFunc(key)
でも弾かれてしまうことがわかりました
DIM hoge = myFunc(key)
これは通ります。

108:名無しさん@お腹いっぱい。
16/03/28 20:43:17.09 96DV8l800.net
>>103
Main()
Class hoge
 Dim hoge
 Dim flagWriteEnable = True
 Procedure set( value )
  if this.flagWriteEnable = True
   this.hoge = value
   this.flagWriteEnable = false
  endif
 Fend
 Function get()
  Result = this.hoge
 Fend
EndClass
Procedure Main()
 hoge.set(1234)
 print hoge.get()
 hoge.set(5678)
 print hoge.get()
// エラーになる。
//hoge.hoge = 4567
Fend

109:名無しさん@お腹いっぱい。
16/03/28 21:02:20.09 15sdg0ez0.net
>>104
わざわざありがとうございます。m(__)m弾かれる理由はわかりませんが、それで問題無いですね。ありがとです

110:名無しさん@お腹いっぱい。
16/03/28 23:45:55.72 gpLagcCZ0.net
>>99
てっきり別プロセスで実行されるものと思い込んでたけど
試してみたら、そうされるためには
タイマー設定で「別プロセスで実行」にチェックする必要があった

111:名無しさん@お腹いっぱい。
16/03/29 05:40:30.51 kC36WXsy0.net
>>105
プログラムコードが走り出す前に評価されて初期化されるっていうだけの話だと思うが。
C言語でも#define ○に関数の戻り値そのものを定義することはできないし、グローバルな変数やstaticな変数に
関数戻り値入れての初期化も出来ない。

112:名無しさん@お腹いっぱい。
16/03/29 07:42:23.54 PfWdw+zD0.net
どうしてもconstに関数を使いたいなら
fput(id,"CONST hoge = " + myFunc(key))
みたいなのでuwsを書き換えてexecする別スクリプトから起動すればいいんだよ

113:名無しさん@お腹いっぱい。
16/03/29 15:50:38.55 G3/kO7bG0.net
const SIZE=func()
public DIM buf[SIZE]

function func()
result = LENGTH(buf)
fend

114:名無しさん@お腹いっぱい。
16/03/29 16:43:12.59 5p1K9zds0.net
これの条件式って
if a = 1,2,4,6,7,8
みたいには書けないんだっけ?
if (a = 1) or (a = 2) or (a = 4) or (a = 6) or (a = 7) or (a = 8)
ってやらないとダメ?

115:名無しさん@お腹いっぱい。
16/03/29 17:35:30.77 EuPMaW0W0.net
試せばわかることを聞くってただのものぐさじゃねえか

116:名無しさん@お腹いっぱい。
16/03/29 17:44:22.45 Mj2BBTVs0.net
select使え
select a
case 1,2,4,6,7,8
 msgbox(

117:名無しさん@お腹いっぱい。
16/03/29 17:45:48.42 Mj2BBTVs0.net
ごめんなんか途切れたけど気持ちは伝われ

118:21
16/03/29 19:02:12.33 Q08xn7tD0.net
原因判明しました。try-endtry文の中でファイルオープンしており、特定条件下で
クローズ前にエラーで抜けるという動作が起きていました。
簡略化するとこんな感じです。
for i=0 to 100
 try
  test()
 except
  print i+" error"
 endtry
next
fid = fopen("hoge.txt") //ここでエラーで止まる
  
PROCEDURE test()
 d=""
 fid = fopen("hoge.txt")
 print " test"
 a = (d-1)*10  //エラー文
 fclose(fid)
fend

119:名無しさん@お腹いっぱい。
16/03/29 19:17:34.11 HUlhHNBi0.net
解析おつかれ!

120:名無しさん@お腹いっぱい。
16/03/29 19:39:28.72 G3/kO7bG0.net
>>114
自作関数を挟むのは注意しろって話やね

121:名無しさん@お腹いっぱい。
16/03/29 20:07:52.33 RD5Q1vwc0.net
ほう、関数内でエラーがあると元に戻ってexceptに引っかかるのか
知らんかった

122:名無しさん@お腹いっぱい。
16/03/29 20:26:00.48 WfVD8TPL0.net
>>56 で指摘しているけれど
FOPENのある所で TRY - FINALLY をしていないのが根本的な原因だからね

123:21
16/03/29 22:52:06.11 Q08xn7tD0.net
>>118
今回の問題は関数ではなく地の文にFOPENを書いてもエラーになります。
問題は、エラーが出た時に停止しないで実行を継続するような
スクリプトを書いてしまった事自体にあります。
TRY-FINALLY構文の問題ではないです。

124:名無しさん@お腹いっぱい。
16/03/29 23:21:40.42 5p1K9zds0.net
>>112
thx

125:名無しさん@お腹いっぱい。
16/03/30 04:45:06.76 pElrxaJ20.net
この前の、店用のツールってもうできましたかね?
そりゃ便所の落書きでできた汚物みたいなシステムかもしれないけど、無職の君らが社会に役に立てるチャンスでもあると思うんですよね。
無職の人らって、敬語の文章に異常に拒否反応を示すんで、それで君らが無職だってわかるんですわ…。
色々辛いことがあったんでしょうけど、まずはできることからやってみるのが大事だと思いますよ。

126:名無しさん@お腹いっぱい。
16/03/30 05:09:57.20 9bEvB+1Z0.net
汚物が喋ったっ!?

127:名無しさん@お腹いっぱい。
16/03/30 06:30:45.01 qi+T6yK30.net
>>119
違うよ
資源を管理する関数内では例外処理を入れるのが基本
エラー処理がしたいなら尚更です
エラーを検知した時点でファイルを閉じてからユーザーのエラー処理をしなさいという話です

128:名無しさん@お腹いっぱい。
16/03/30 06:31:39.93 qi+T6yK30.net
で、そのエラー検知が try で 確実にファイルを閉じる処理は FINALLY に置くのよ

129:名無しさん@お腹いっぱい。
16/03/30 07:20:50.97 oVrSWbDo0.net
気のせいだろうが、21=121にしか思えなくなった

130:名無しさん@お腹いっぱい。
16/03/30 13:58:39.45 dh3xH96O0.net
>>119
121と同じ内容だが、関数内でFOPENしたなら、「その関数の責任で」
何が起きてもFCLOSEしてだ、他の部分にケツ拭きさせない。
FINALLY句がなぜ存在するのか、このためだよ。

131:名無しさん@お腹いっぱい。
16/03/30 14:03:59.37 dh3xH96O0.net
ついでに言うと、PROCEDUREではなくFUNCTIONにして、
処理の成功でTRUEを返すようにして、
呼び出し側で戻り値を見て処理を分岐するのが定石だな。

132:名無しさん@お腹いっぱい。
16/03/30 17:23:39.92 LYryXpLp0.net
全自動で履歴書書いてくれるツール下さい
それかuwsc使えたら入社できるところを教えてください

133:名無しさん@お腹いっぱい。
16/03/31 00:56:38.47 V8RQp/1+0.net
>>128
婚姻届の書き方でも良いですか?
uwsc使えるなら私のところに来てもらっていいですか?

134:名無しさん@お腹いっぱい。
16/04/01 21:20:21.79 w5PNIFQb0.net
インプットボックスの大きさが小さくて使いにくいんで大きさ変更できるならやり方教えて

135:名無しさん@お腹いっぱい。
16/04/01 21:30:04.31 4mAxvS+T0.net
は?教えて下さいだろ?
最近のガキは口の利き方も知らねーのかボケ

136:名無しさん@お腹いっぱい。
16/04/02 07:13:53.50 WrjAFswn0.net
文字が小さいならヘルプのUWSC.INIを見ろ
入力欄が短いならヘルプでINPUTBOXの引数を眺めて長く出来そうな項目をさがせ
文字高さが入力欄におさまらないならWindowsの設定をみなおせ

137:名無しさん@お腹いっぱい。
16/04/02 10:47:58.96 hU9VMHQ50.net
バッググラウンド状態だと画像認識が上手くいってない事がたまにあるのはなんでだろうか?
たまにだから困る・・・

138:名無しさん@お腹いっぱい。
16/04/02 11:14:17.13 hU9VMHQ50.net
指摘が入る前に一応、最小化にはしてないので・・・

139:名無しさん@お腹いっぱい。
16/04/02 12:04:


140:04.28 ID:hU9VMHQ50.net



141:名無しさん@お腹いっぱい。
16/04/02 23:42:57.26 7EgF5Id00.net
バックグラウンドでの画像認識のような、手動では不可能な操作は、
出来たら儲けもの、出来なくてもしょうがない、
あるとき出来で、別の時にいつ急に出来なくなっても、仕方がない。
原因は様々、茨の道を自ら進んで歩いた人が自己責任で解決してね。
俺は仮想化してフォアグラウンドでやるから君は君の道を逝くが良いw

142:名無しさん@お腹いっぱい。
16/04/03 00:34:07.64 wu9ruV+A0.net
なんか嬉しそうだねぇ~笑
ちゃんとバッググラウンド出来ない>>136が仮想化という手に逃げたということはわかった
「無能な俺は仮想化という道を逝くことにした」とも読めるよね。それこそまさしく君は君の道を逝く、というやつだ。頑張ってね

143:名無しさん@お腹いっぱい。
16/04/03 01:02:01.28 g/CrxvqT0.net
たぶん自己解決しました。3年動かしてみて大丈夫そうだけど、このまま数十年放置してみないとわからないので「たぶん」ということで

144:名無しさん@お腹いっぱい。
16/04/03 01:12:28.75 0ma8lAKr0.net
>>137
まだ裏で操作できないものに触れたこと無いんだね

145:名無しさん@お腹いっぱい。
16/04/03 01:23:58.06 skmNv/bq0.net
できんものはどうやったってできんからな

146:名無しさん@お腹いっぱい。
16/04/03 01:37:32.85 o2UtYzCU0.net
最近やけに煽ってる奴が居るな
おそらく例の店の在庫がどうこうって奴が憂さ晴らしに居座ってるんだろう
口汚い奴は以後スルーした方がいい

147:名無しさん@お腹いっぱい。
16/04/03 02:20:20.26 74BgbQTW0.net
うーん、あの人知識ゼロっぽかったし、こういうあおり方は無理じゃね?

148:名無しさん@お腹いっぱい。
16/04/04 01:02:49.36 cAVZjahA0.net
わかりやすくプログラム書くの難しい
素人がひとりでやってると書いてるうちにぐっちゃぐちゃになるわ
条件式がどんどん膨れ上がったり、
それを綺麗に書こうと工夫すると他と書き方が違うから他も書き方揃えなきゃならなかったり
処理も行数増えるとcallや自作関数使うようになったけど、
あっちこっち見なきゃいけなくなったから逆に複雑だったりするし
綺麗に書こうという気はあるし、実際に色々弄ってるんだが
それが必ずしも「わかりやすさ」には繋がってないんだよな
逆にダメになってる感すらある
良い手本がほしい

149:名無しさん@お腹いっぱい。
16/04/04 02:50:30.48 ptNi3HU60.net
CHKIMGを使うようになってからだいぶ楽になったなぁ

150:名無しさん@お腹いっぱい。
16/04/04 19:43:22.39 5U80PlMR0.net
>>143
現在の主流がオブジェクト指向なので、
非オブジェクト指向のUWSCスクリプトは、敢えて古い手法が役立つ。
ちなみにC++ではないC言語が、非オブジェクト指向言語として、
組込みという分野で現在でも現役。
よってお勧めは構造化プログラミング(構造化分析)、
具体的なコーディングとしてはコレ↓になる。
URLリンク(www.pro.or.jp)
この中で、悪い見本をどう直して見せているか、読むといいだろう。
C言語を例にされると全くわからないというレベルであれば、
構造化プログラミングについてググって理解できる記事を探すといい。
また、長大な機能群になった場合、
モジュール分割として、単体テストが可能な粒度ということを意識する。
全スクリプトを走らせないと追加変更した部分の検証が出来ない事態を避け、
簡単なスタブやドライバを書くだけで、
単機能のモジュール単独をテスト可能なように書いていくのが


151:破綻しないコツ。



152:名無しさん@お腹いっぱい。
16/04/04 22:03:28.16 S64P6XDF0.net
>>143
Git や SVN というファイルを時系列で管理するためのソフトがあるのだけど
コードの差分が分かりやすいので、あの頃はこんなコード書いてた、こう改善できそう、など見やすいコード作るのに役に立つかと思う
(企業でプログラマとかやると、今は覚えることが必須なソフト、フリーだし、自分のPCにローカル環境を構築することも可能)
あとはプログラム系のエディタには、フォーマッタも用意されていることが多い
ボタン一発でコードを整形してくれる機能
UWSCに向くフォーマッタがあるかはちょっと知らないけれど

153:名無しさん@お腹いっぱい。
16/04/04 22:10:40.81 S64P6XDF0.net
C言語は、オブジェクト指向型言語ではないけれど、
オブジェクト指向でコード書かれてたりすることも多いよなと考えたけれど、
UWSCには、関数を引数に渡す方法(抽象クラスや関数ポインタ)が無いから、実現はムリか

154:名無しさん@お腹いっぱい。
16/04/04 23:30:36.61 +fB5Bdag0.net
訳のわからないこと考えずに
数年後の自分が見ても、何をやっているか分かるように書くだけ
どうしても分からないならドキュメントを残しておけばいい

155:名無しさん@お腹いっぱい。
16/04/04 23:39:26.85 9raCTrPZ0.net
三ヶ月前の自分は別人

156:名無しさん@お腹いっぱい。
16/04/05 00:40:58.99 XTqMcmsY0.net
GitHubとかでバージョン管理しつつドキュメントも残すといいよ
プログラミングをちゃんと勉強したいならUWSCではなくて他の言語の方がいいと思う
サンプルとか情報量が違うし

157:名無しさん@お腹いっぱい。
16/04/05 11:22:41.22 6D9sK8on0.net
建設作業員で全くPC携帯触れないから便利だ

158:名無しさん@お腹いっぱい。
16/04/10 20:16:10.78 HjJ4x18r0.net
>>150
UWSCからステップアップする次のスクリプトが見当たらない

159:名無しさん@お腹いっぱい。
16/04/11 21:55:14.71 cAaCbY2Q0.net
vbaでいいんじゃないの
あれオブジェクト操作するし開発環境は高機能だし取り合えずPCに入ってるしで
uwscよりよっぽど初心者向けだと思う

160:名無しさん@お腹いっぱい。
16/04/12 03:00:05.53 DJ4VTE3e0.net
一番手前のウインドウにて"全て選択"を
こんな風にしてるんだけど
KBD(VK_alt,DOWN,0)
KBD(VK_tab,CLICK,40)
KBD(VK_alt,UP,0)
KBD(VK_CTRL,DOWN,0)
KBD(VK_A,CLICK,40)
KBD(VK_CTRL,UP,0)
イマイチ、レスポンスが

161:名無しさん@お腹いっぱい。
16/04/12 18:56:29.89 gqeovYyg0.net
TAB -> ESC とか

162:名無しさん@お腹いっぱい。
16/04/13 04:34:45.93 U5EElTpi0.net
SCKEY()とか使ったらどうかな?

163:名無しさん@お腹いっぱい。
16/04/13 07:24:14.37 DtfH/6KdX
もともとスクリプトって企業でコンピューター管理するような立場の人が必要に応じて、その都度書いてくようなもので
分からなきゃ自分で調べて解決するし、他人のスクリプトを丸写しで実行したりは絶対しないと思う。

けど、ここはプリプロセッサも知らないような人の質問が多いけど、そういう人はスクリプトの書き方をおそわるより
もっと基礎的な事やった方がいいと思う。

意味もわからずスクリプト動かしても多分、ろくなことにならないから。

164:名無しさん@お腹いっぱい。
16/04/13 20:24:40.13 XtpuoUIB0.net
色の比較の例文で
color1 = peekcolor(略)
color2 = peekcolor(略)
color = color1 * $400000 or color2
の様な記述がありましたが3行目のやってることがよくわかりません
最終的にcolorに色の情報が入るっぽいので6桁の16進数だと思うんですが、
掛け算すると桁が凄いことになりますよね
ビット演算?みたいに桁ごとにやってたりするんでしょうか


165: どういう調べ方をすればいいのかわからなくて詰んでます 内部的にどういう計算をしているかどなたか教えてください 例文がどこにあったかは、メモ帳にコピーしてたので不明です……



166:名無しさん@お腹いっぱい。
16/04/13 21:06:04.28 XtpuoUIB0.net
肝心な事を書き忘れてました
$FF0000/$10000で$FFを取り出している処理辺りからの疑問なんです
関数電卓で16進数同士の掛け算をすると
~400000とか~C00000になって元の色の情報が左に行っちゃってます
例に$FFFFFF * $400000 = 3FFFFFC00000とすると
3FFFFFC00000 or color2を処理すると、実質影響があるのは下の6桁だけで
(0とかを入れて桁を合わせたりしてるかもしれませんが)
それをcolorに入れて色の情報としてどの桁を使用しているんでしょうか?
もし下6桁を使うとすると$C00000でというような所までぐるぐると考えていましたが、意図が掴めませんでした
色の情報が左に桁が移動する事で色にどういう影響があるのかイメージが無いせいなのでしょうか
そもそもこの辺りの調べ方というか用語すらよくわかってないので、
取っ掛かりというか、その辺りも出来ればお願いします

167:名無しさん@お腹いっぱい。
16/04/13 21:09:51.46 wyzrzgvp0.net
比較?
ただの演算でしかないが。
例文全然違うんじゃ… カッコが省略されてるとか

168:名無しさん@お腹いっぱい。
16/04/13 22:16:58.92 LgdhUVMa0.net
論理積のことだろう
たとえば
($123456 and $FF0000) は $120000と等しい
($123456 and $00FF00) は $003400と等しい
($123456 and $0000FF) は $000056と等しいはず
論理積や論理和、排他的論理和あたりはプログラミングの基礎なので
ググれば無限に出てくるから調べろ
uwscのヘルプ例にも多分ある

169:名無しさん@お腹いっぱい。
16/04/13 22:42:22.49 wyzrzgvp0.net
この例文では全く違うことを意図してそうだけどな

170:名無しさん@お腹いっぱい。
16/04/14 01:54:55.26 mdBOTQua0.net
>例文がどこにあったかは、メモ帳にコピーしてたので不明です……
Fuck!

171:名無しさん@お腹いっぱい。
16/04/14 03:03:31.32 XLtSGajt0.net
color1やcolor2はともかく、colorはそういう名前の変数で「色」としての意味は全くないかと

172:名無しさん@お腹いっぱい。
16/04/14 05:41:35.55 cwGevXWW0.net
仮に、共にデフォルト(BGR値)とすれば
colorは、BGRBGR で真ん中のRとBが微妙に混ざり合ってる感じ
色情報は16進6桁でこれをどう切り出すかはプログラマ次第でどうにでも使えるかな
ただの例文なら、2つの色を論理演算して別の色が出来るってだけの話で
16進下6桁を切り出すならcolor1のR値の階調差が増幅されるようなマスクに使えるけど
特に深い意味は無いんだと思う

173:名無しさん@お腹いっぱい。
16/04/14 05:47:28.46 mdBOTQua0.net
こういう半端な知識はあるくせに中途半端な質問しかしない人間は腹立たしいな
憎しみすら覚える

174:名無しさん@お腹いっぱい。
16/04/14 06:22:16.53 6DuGmwqa0.net
どこから拾ったか覚えてすらいない例文の中の1行の意味とか
いったい何のために質問してるのやら。
$400000ってのは31ビット目だけが立ってるという値。
だから color1 * $400000 ならcolor1を30ビットシフトするって意味。
つまり赤の下位2ビットだけが最上位に残ってる値になる。
そんなのを別の色とorするってのは用途の想像がつかない。
例文が間違ってるんじゃないかなぁ。

175:名無しさん@お腹いっぱい。
16/04/14 10:26:07.03 H5u8f1aO0.net
一瞬BRG値とRGB値の変換処理かと思ったけど違うな
結局やりたいことが判らんからなぁ

176:164
16/04/14 15:46:44.06 7JsljkVo0.net
>>167は24ビットと32ビットがごっちゃになって盛大に間違ってたw
それに、UWSCって32ビットに収まらない数値も扱えるのね。
とりあえず訂正
$400000ってのは23ビット目だけが立ってるという値。
だから color1 * $400000 ならcolor1を22ビットシフトするって意味。
でもやっぱりそんなのを別の色とorするってのは用途の想像がつかない。

177:155
16/04/14 17:21:36.48 DYwWFZ8d0.net
謎な処理の一部なのに考えて頂いたみたいで、ありがとうございました
曖昧な質問で皆さんを惑わせてしまってすみませんでした
色の比較と書いてしまったのですが、こういう処理も出来るというようなもっと大きい処理で、
そこから一部コピーしたので間違っていないはずですが、一部過ぎて謎です、すみません……
だらだら書かずに
color = color1 * $400000 or color2
の結果をどう利用できるかと単純に聞けばよかったんですね
いくつかヒントを頂けたので、もう少し調べてみたいとおもいます

178:名無しさん@お腹いっぱい。
16/04/15 02:54:22.69 8uXiEcag0.net
それでも意味不明だしもはやuwsc関係ないからな
知識欲があるのは結構だが他人を巻き込むのはよく考えてからにしろ

179:名無しさん@お腹いっぱい。
16/04/15 04:32:22.74 eGdcN/MF0.net
>>171
その文句は筋違いな気がする

180:名無しさん@お腹いっぱい。
16/04/17 22:08:13.03 SVoi+KeO0.net
uwscでIEから文字列"20:43"をスクレイピングできたんだけれど、
この時間が、現在時間より35分以内なら、
Msgbox("35分以内でOK")
35分超なら、
Msgbox("35分超でOUT")というコードを書きたいんだけれど、
よく分からない。
UWSCのPGさん教えて。m(_ _)m

181:170の追加説明
16/04/17 22:18:00.12 SVoi+KeO0.net
"20:43"より、現在時刻が遅いことが前提です。

182:名無しさん@お腹いっぱい。
16/04/17 22:28:20.45 J4wDumRV0.net
GETTIMEのヘルプ見たら解決できそう

183:名無しさん@お腹いっぱい。
16/04/17 22:35:54.97 XF9juQSM0.net
NoxAppPlayer用の簡単な画像判定マクロを作ったのですが
マウス操作がとられるのを何とかしたいです
自分なりに調べてMOUSEORGでMORG_DIRECTにすればいけるかと思ったのですが
この設定だと何故かchkimgが失敗してしまいます
どなたか解決方法を教えて下さい

184:名無しさん@お腹いっぱい。
16/04/17 22:39:07.59 bdIlFgIY0.net
>>176
>>16

185:名無しさん@お腹いっぱい。
16/04/17 22:50:22.72 2LUUtu910.net
>>176
この手の質問する奴って根本的にわかってないよな
その手のエミュレーターはWindows上で泥アプリを動かせるんじゃなくて
Windows上でエミュレーターを動かして、その中で泥アプリが動いてるんだから
UWSCで直接動かせるのはエミュレーターまで
その中の泥アプリには手が届かない
モニターの中に手をつっこんでウインドウを動かそうとするようなもん

186:名無しさん@お腹いっぱい。
16/04/17 22:51:45.02 +STij5ic0.net
>>176
IDが間違ってるから正しいIDを指定しろ

187:名無しさん@お腹いっぱい。
16/04/17 23:02:59.99 XF9juQSM0.net
>>177,175
なるほど、何となくわかりました

188:名無しさん@お腹いっぱい。
16/04/18 09:51:02.91 wlEWl9WG0.net
>>173
> uwscでIEから文字列"20:43"をスクレイピングできたんだけれど、
そこまでできる能力があるのにその時間の比較が分からないってほうが不思議なんだがw
n1 = GETTIME()                 2000/01/01 00:00:00からの現在までの経過秒数
n2 = GETTIME(0, "YYYYMMDD204300")   2000/01/01 00:00:00から当日20:43までの経過秒数
                           YYYYMMDDには当日の日付を入れる(GETTIME()リファレンス参照)
n1とn2を35分考慮して比較すればいい。

189:名無しさん@お腹いっぱい。
16/04/18 12:11:29.17 txvsigUn0.net
>>173
とりあえず、こんな感じかな。
-----------------
// 4要素の配列生成
// 0番に取得した時間を入れる
Dim Jikan[3] = "20:43"
// 取得した時間を時と分に分割
Jikan[1] = SPLIT(Jikan[0],":")[0]
Jikan[2] = SPLIT(Jikan[0],":")[1]
// もし1ケタの数字なら2ケタに成形
If LENGTH(Jikan[1]) = 1 THEN Jikan[1] = "0" + Jikan[1]
If LENGTH(Jikan[2]) = 1 THEN Jikan[2] = "0" + Jikan[2]
// 現在時間を取得
Dim Genzai = GETTIME()
// �


190:栫E分 以外の要素を現在の数値で埋める Jikan[3] = "" + G_TIME_YY4 + G_TIME_MM2 + G_TIME_DD2 + Jikan[1] + Jikan[2] + "00" // 比較。2100秒=35分 Ifb ((GETTIME(0,Jikan[3]) - Genzai) < 0) MSGBOX("日付をまたいでるかも?") ElseIf ((GETTIME(0,Jikan[3]) - Genzai) < 2100) MSGBOX("35分以内でOK") Else MSGBOX("35分超でOUT") EndIf -----------------



191:名無しさん@お腹いっぱい。
16/04/18 12:48:19.95 txvsigUn0.net
ちな、日付またいだところ、ちゃんとしたいなら、さらにIfで切って比較式に1日分=86400秒を引いてあげたらいいよ。

192:名無しさん@お腹いっぱい。
16/04/18 13:12:23.92 xyw9ucBX0.net
どっちにしろ、経過時間が24時間から24時間35分だった場合に誤動作するような

193:名無しさん@お腹いっぱい。
16/04/18 16:41:12.37 Wgb/rjNX0.net
Android エミュにキーやマウスの情報送り付けて自動操縦する話題ってどこ?

194:名無しさん@お腹いっぱい。
16/04/18 19:52:28.29 ywIpRThN0.net
画像認識がうまくいかないのでchkimgxを使いたいのですがよくわからなくて困ってます
chkimgx.uwsとsampleは見ましたが引数省略されているので
どこか解説されてるサイトや使用したプログラムが見れるようなところないでしょうか

195:名無しさん@お腹いっぱい。
16/04/18 22:27:51.59 xsFnheOr0.net
あんだけ丁寧に説明されててわからないって
一体何がどうわからんのだ?

196:名無しさん@お腹いっぱい。
16/04/18 23:03:38.58 1AVL/J250.net
見ただけで読んでねえんだろ

197:名無しさん@お腹いっぱい。
16/04/18 23:13:06.45 ywIpRThN0.net
ウインドウIDは0でスクリーン全体と書いてましたが
過去スレ見ると-1という指定もあるようなのですがどういう意味なのかなとか
色指定は#ffffffとかで書けばいいのかなとか。
ウインドウIDがちゃんと渡せてなかったようでエラー吐いてたんですが
とりあえず-1入れたら吐かなくなったのでちょっと気になってます

198:名無しさん@お腹いっぱい。
16/04/19 00:00:57.34 cboyjyms0.net
普通のchkimgで間に合ってるからchkimgx使ったこともない俺が今更DLして
説明読んでみたが…
>>186
> chkimgx.uwsとsampleは見ましたが引数省略されているので
本当にチラ見しただけなんやな。
ばっちり書いてあるのに全然読んではいないというオチ
IDが-1ならどういう意味かとか全部書いてあるのに

199:名無しさん@お腹いっぱい。
16/04/19 00:53:55.63 iRco6Z9q0.net
>>186
熟読って言葉知ってる?

200:名無しさん@お腹いっぱい。
16/04/19 01:39:36.69 EWxkLkAt0.net
画像認識が作ったその日は100%問題なく認識するのに、何日かしてPC立ち上げて使うと全く認識してくれないんだけどグラボとかの問題だろうか?
また画像を撮り直せばその日はしっかり認識して動くんだけど。原因がわからん

201:名無しさん@お腹いっぱい。
16/04/19 02:46:50.79 lwWfxmR50.net
>>192
動く画像と動かない画像を比較すりゃすぐわかるだろ

202:170
16/04/19 06:44:51.89 2U5DNply0.net
>>181>>182>>183>>184
心優し皆さん、ありがとう。
解決できました。
日をまたいでの処理も、
日をスクレイピングして、つなげてUWSC秒にすることで、解決しました。
THX THX THX

203:名無しさん@お腹いっぱい。
16/04/19 07:19:45.90 5Q0/d7pJ0.net
>>190
普通のchkimgも使ってない人が今更chkimg ver1.2.1 DLしてみたが
引数についてすごく丁寧に説明されてるし他の所も読んだけど
ID=-1の意味は書いてないような気がするよ
番号とか色とかは書いてあったけど

204:名無しさん@お腹いっぱい。
16/04/19 07:21:59.91 5Q0/d7pJ0.net
× chkimg ver1.2.1
○ chkimgx ver1.2.1
すまん

205:名無しさん@お腹いっぱい。
16/04/19 12:07:26.58 4x0nELcL0.net
番号ってところならかなり丁寧な解説だけど

206:名無しさん@お腹いっぱい。
16/04/19 15:43:36.94 mYBKY3x30.net
ググったのですが、なかなか意味を理解できないので教えて下さい。
UWSCの多重起動なのですが、調べれば可能と書いてあったのですが、どのようにしたら出来るのでしょうか?
普通に多重起動しようとすると「多重起動は禁止です」と出ますよね?
UWSC.INI内を変更すれば多重う起動できるようになるのでしょうか?
お願い致します

207:名無しさん@お腹いっぱい。
16/04/19 15:49:33.21 IQPc8vix0.net
多重起動できないのはUWSCのGUI(記録ボタンとかある奴)だけ。
コマンドライン等、GUIが出ない起動方法だと多重起動できる

208:名無しさん@お腹いっぱい。
16/04/19 20:21:29.10 R+IYclwT0.net
>>198
拡張子uwsをUWSCに関連付けて*.uwsをダブルクリックするのが簡単
コマンドラインで
UWSC.exe スクリプト名 引数...
でもよい(ヘルプの起動時オプションを参照)

209:名無しさん@お腹いっぱい。
16/04/19 20:30:58.63 fJWm2rev0.net
>>199-200
横からだけど知らなかった
ありがとう

210:名無しさん@お腹いっぱい。
16/04/19 21:03:45.57 2U5DNply0.net
IEはいずれなくなると思うけど、
UWSCで
IEのスクレイピングをやっている俺は、
どうすればいいの。
うみうみさんが、EdgeもUWSC対応にしてくれないかなあ。

211:名無しさん@お腹いっぱい。
16/04/19 21:16:02.65 quOs4YaL0.net
そうそうなくならないんじゃないかなあ
いまだに「使えないスタンダード」的な位置な気がする

212:名無しさん@お腹いっぱい。
16/04/20 09:14:22.35 Nj7Z+SOz0.net
当分なくならない
W10 エンタープライズ版とかみてみ

213:名無しさん@お腹いっぱい。
16/04/20 20:34:57.10 5dAzb8Sg0.net
質問です
IE(ノンアクティブ)でタイトルがAというページとBというページを既に開いているとして
既に開いているAのページで操作を行うならID=getid("A")とctrlwin(ID,activate)でできるけど、
この時Aの現在のURLを確認して、同名タイトルの別URLになっていないか確認したい
一発でgetid("A")のURLを知るにはどのようなコマンドを使えばいいですか?
また、IDのページを別URLへ遷移させるコマンドはありませんか?

214:名無しさん@お腹いっぱい。
16/04/21 05:23:41.52 h3yorTDl0.net
VBAのIE制御入門でググれ

215:名無しさん@お腹いっぱい。
16/04/21 09:15:01.79 i+wp0eM/0.net
IEのブラウザ機能を使うにはIEオブジェクトを使う
IDでは何番目のテキストを取得とか何番目のボタンを押すといった動作しか出来ん

216:名無しさん@お腹いっぱい。
16/04/21 18:37:02.64 cVnN26dw0.net
>>205
GETSTR、SENDSTRとGETITEMを使えばなんとかなるかも。ならないかも。
ちなみに
uwsc ie操作 でぐぐると
UWSCで,IEを自動操作するためのライブラリ (ファイルアップロードも ...
というページがヒットした
中身は見てない

217:名無しさん@お腹いっぱい。
16/04/22 11:02:18.29 gLf0d9X70.net
function関数で
result = 1 または result = a
とかやるけど、aとbの二つを戻り値として返す事はできない?

218:名無しさん@お腹いっぱい。
16/04/22 12:36:57.60 vj5M1MjP0.net
戻り値は「一つ」なんだから無理でしょ。
dim r1
r2 = func(r1)
print r1+r2
function func(var tmp)
tmp="abc"
result = false
fend

219:名無しさん@お腹いっぱい。
16/04/22 12:37:59.52 Rc+EXbyL0.net
自分はこんな感じでSafeArrayで返してるけど
今ひとつ使い勝手が悪いんだよなぁ
rc =b(1,2)
a2=rc[0]; b2=rc[1]
Function b(a,b)
 Result =SafeArray(0,1)
 Result[0]=a*2
 Result[1]=b*2
Fend

220:名無しさん@お腹いっぱい。
16/04/22 13:01:08.20 u6hrcp950.net
関数で引数を書き換えちゃえば

221:名無しさん@お腹いっぱい。
16/04/22 16:13:19.59 9KhzLR9z0.net
場合によってはMODULE化もありな気がする
あまり有効じゃない例だけど
md.func(1)
PRINT "a : " + md.a
PRINT "b : " + md.b
SLEEP(10)
MODULE md
PUBLIC a,b
PROCEDURE func(i)
a=i
b=a+i
FEND
ENDMODULE

222:名無しさん@お腹いっぱい。
16/04/22 17:16:43.10 nMRFNfgf0.net
>>209
>>210>>212も書いてるけど
引数を通して結果を得ることはできる
dim ret1=-1
dim ret2=0
dim ret3[]=0,1,2
dim ret4="abc"
ret1=test1("jikken1", ret2, ret3, ret4)
msgbox("ret1=" +ret1+ _
"<#CR>ret2=" +ret2+ _
"<#CR>ret3=" +ret3[0]+","+ret3[1]+","+ret3[2]+ _
"<#CR>ret4=" +ret4)
FUNCTION test1(strmsg, Var vret2, Var vret3[], Var vret4)
msgbox(strmsg)
vret2=2
vret3[0]=31
vret3[1]=32
vret3[2]=33
vret4="by test1"
RESULT=1
FEND

223:名無しさん@お腹いっぱい。
16/04/22 17:56:21.58 AceIcNpC0.net
無理せず引数を var で参照渡しにして書き換え、
resultでは処理の成功・失敗を返すのが非オブジェクト言語での王道だよ。

224:名無しさん@お腹いっぱい。
16/04/22 22:24:25.81 RhStxIrH0.net
最近UWSCを使い始めたのですが
眠たい詩人さんの「UWSCコードの断片生成器(fcuc.uws)」やテンプレにあるChkImgXのような
スクリプト作成に役立つスクリプトで何かオススメはありますか?

225:名無しさん@お腹いっぱい。
16/04/22 22:29:43.39 eN9IG2Lf0.net
ねーよ
死ね

226:名無しさん@お腹いっぱい。
16/04/22 22:35:50.76 TCJUc2h/0.net
>>216
UWSCのヘルプを熟読
かなり丁寧な作りになっている

227:名無しさん@お腹いっぱい。
16/04/23 12:38:00.07 yWvI5oFe0.net
UWSCのヘルプが、ある意味丁寧な造りになってるのは認めるが、
極限まで必要最小限のことしか書かないことによって誤記を無くしたといった印象だな…
一部は他のプログラミング経験がないと理解が出来ずググって
C++辺りの同名用語で推測するとかいうハメになるしその推測があっているかどうか仕様にない。

228:名無しさん@お腹いっぱい。
16/04/23 13:34:34.60 inQp7mp80.net
わかる人だけがわかれといった内容だな。それがいい!(・∀・)イイ!!

229:名無しさん@お腹いっぱい。
16/04/23 15:55:40.31 mK7fAqJX0.net
大抵の言語の付属ドキュメントには
完全初心者の入門用資料なんて入ってないかと。

230:名無しさん@お腹いっぱい。
16/04/23 16:12:17.03 jXeN4emt0.net
マウスカーソルの移動範囲を制限する方法を教えて下さい
その範囲からマウスカーソルがでないようにしたいです

231:名無しさん@お腹いっぱい。
16/04/23 16:32:54.86 fokCCqTv0.net
脳内でなら完成した

232:名無しさん@お腹いっぱい。
16/04/23 16:37:59.71 CTgAlhFk0.net
現在のマウス座標を調べて範囲内から出ていたら範囲内に連行・・・
という処理を0.5秒おきにするとかではなくて?

233:名無しさん@お腹いっぱい。
16/04/23 17:51:56.88 kWeHMXfS0.net
このスレで松屋で食事しながら脳内でプログラム書いてた人いたな

234:名無しさん@お腹いっぱい。
16/04/23 17:57:02.79 FrWAaMBE0.net
夢の中でコーディング

235:名無しさん@お腹いっぱい。
16/04/23 20:02:26.99 uzJvz14v0.net
>>211
これって関数呼ぶた度に配列領域が確保されてずーっと残ったままなんだよね?
意識して使わないといけないからあんまり使いたくない手法だな。

236:名無しさん@お腹いっぱい。
16/04/23 20:54:28.34 UbMYcD610.net
配列分のメモリが確保されてその格納先が戻り値に入るイメージなので
普通の変数のスコープを超えたらアクセス出来ないし
単純なループなら上書きされて管理対象から消える
但し、ど


237:のタイミングで消えるかはUWSC次第 速度優先で最後まで消さないかもしれないし メモリ優先で逐次消すかもしれないし 基本的に今時のPCで気にすることじゃない 気にするほどの領域が必要なロジックなら配列使っている時点でヤバイ



238:名無しさん@お腹いっぱい。
16/04/23 21:34:03.49 k0yDsQpe0.net
>>227
safearrayで返すってのはSplit関数とかと同じじゃないの?
組み込みとユーザー関数で領域確保が同じか違うかは知らないけど

239:名無しさん@お腹いっぱい。
16/04/23 23:50:12.89 jXeN4emt0.net
>>224
それだと一旦範囲から出てしまうので
出来れば最初から範囲の外には出ないようにしたいです

240:名無しさん@お腹いっぱい。
16/04/24 00:24:23.71 bYfy34Rs0.net
UWSCでやる意味が見出だせない
ClipCursorとかじゃだめなの?

241:名無しさん@お腹いっぱい。
16/04/24 14:04:05.13 ow1EVkP10.net
>>231
ありがとうございます
こういう方法があるんですね

242:名無しさん@お腹いっぱい。
16/04/24 17:39:06.36 AfUGO3qi0.net
たとえば、方々から頻繁に使う画像検索を関数化して
呼び出して戻ってきた後に画像座標を利用したい場合、
CHKIMG_HOGEHOGE("hoge.bmp")
PRINT G_IMG_X+" / "+G_IMG_Y
FUNCTION CHKIMG_HOGEHOGE(画像)
 RESULT = CHKIMG(画像,,0,0,500,500)
FEND
↑これだと、-999999 / -999999と表示されます
グローバル変数を用意して、
↓こんな感じで座標を渡すしかありませんか?
PUBLIC GX,GY
CHKIMG_HOGEHOGE("hoge.bmp")
BTN(LEFT,CLICK,GX,GY)
FUNCTION CHKIMG_HOGEHOGE(画像)
 RESULT = CHKIMG(画像,,0,0,500,500)
 GX = G_IMG_X
 GY = G_IMG_Y
FEND

243:名無しさん@お腹いっぱい。
16/04/24 17:55:58.37 44IwWdLc0.net
>>233
ちょっと上で話題になってるけど、こうでしょ。
DIM X
DIM Y
CHKIMG_HOGEHOGE("hoge.bmp", X, Y)
PRINT X+" / "+Y
FUNCTION CHKIMG_HOGEHOGE(画像, var X, var Y)
 RESULT = CHKIMG(画像,,0,0,500,500)
IF RESULT then
X = G_IMG_X
Y = G_IMG_Y
ENDIF
FEND
関数との間の数値のやりとりに大域変数使ってると、スレッドを活用しようとした時にはまる。
そういう癖をつけちゃだめです。

244:名無しさん@お腹いっぱい。
16/04/25 15:28:51.79 yFhZQjxGi
処理A
処理B
の順になっているプログラムです。
処理Aの途中である画像を見つけたら処理Aを飛ばして処理Bに行きたいんですが、CHKIMGを割り込み的に使う方法はないのでしょうか?

245:名無しさん@お腹いっぱい。
16/04/25 20:08:50.18 n2JWi5CJz
Public 発見 = 0

処理A()
処理B()

Procedure 処理A()
 ~Aの処理~

 If ChkImg("画像.bmp") Then Exit // ←画像見つけたら抜ける

 // ↑単純にあったらB処理に抜ける↓B処理で画像があったことを認識させる

 Ifb ChkImg("画像.bmp")
  発見 = 1 // ←画像が見つかった事を認識するためのフラグ
  Exit // ←抜ける
 EndIf

 ~Aの処理続き~
FEnd

Procedure 処理B()
 ~Bの処理~
FEnd

246:230
16/04/25 21:44:22.35 QACcq/Qz0.net
>>234
ありがとうございました

247:名無しさん@お腹いっぱい。
16/04/26 09:53:38.41 1ER8otiW0.net
どなたかお助けお願いします。
ローカルPCに置くスクリプトには、HTTPサーバー上に置いてあるメインのスクリプトを呼び出すだけの記述をし、実行毎にHTTPサーバーから最新のものを取得して実行したいと思ってます。
ローカルのスクリプトに
Call http://~~~.com/main.UWS
と記載してもダメなのですが、何か良い方法は無いでしょうか?
今は、
・実行毎にHTTPからスクリプトをダウンロートし、
・ローカルにメインスクリプトを「Temp.UWS」として保存し、
・POFF(P_UWSC_REEXEC,True)で自分自身を再起動実行し、
・CALLにて「Temp.UWS」を読み込みしています。
あまり賢くないやりかたのような気がしてまして、もっとスマートな方法があ�


248:黷ホ助言をお願いしたいです。 頻繁に更新されるスクリプトを複数人で使う時は、いちいち全員に配布→導入という作業を簡略化する目的です。 また、できれば「Temp.UWS」をローカルに残したくないのですが、ファイルを消してしまうと、次の実行時に If FOPEN(IniName, F_EXISTS) THEN Call Temp.UWS としても、ファイルが無いとエラーが出るので、今は仕方なく読み込み後に「Temp.UWS」を無意味な文字で上書きしています。 CALLにこだわらなくても、とにかく毎回ネットから取得したスクリプトを実行できればOKです。 どうぞ宜しくお願いします。



249:名無しさん@お腹いっぱい。
16/04/26 10:21:11.92 /yiY1BCf0.net
>>238
> ローカルのスクリプトに
> Call http://~~~.com/main.UWS
> と記載してもダメなのですが、何か良い方法は無いでしょうか?
何がどうダメなのか詳しく

250:名無しさん@お腹いっぱい。
16/04/26 10:24:39.33 q320tsC80.net
URLはファイルパスじゃねーし試すまでもなくダメってわかるじゃん

251:名無しさん@お腹いっぱい。
16/04/26 10:55:42.72 hvbM0/Fl0.net
httpでいけたっけ?
セキュリティ的にそんな動作するブラウザあんの?

252:名無しさん@お腹いっぱい。
16/04/26 11:08:46.91 +kU8vIDq0.net
Msxml2.XMLHTTPとかでhttp://~~~.com/main.UWSをGET
ResponseTextをTemp.UWSにFPUTで書く
EXECでTemp.UWSを実行
そんでTemp.UWSが最後に自分を消すようにしとけば良い

253:名無しさん@お腹いっぱい。
16/04/26 11:20:27.01 1ER8otiW0.net
233です。
みなさま、どうもありがとうございます。
>>239
実行すると、
「NOT FOUND c:\UWSCのあるフォルダ名:http://~~~」
となるので、ローカルファイルしかダメなんだと思います。
ちなみに絶対パスでもOKでした。
>>241
ブラウザではなく、UWSCです。
>>242
その方法でローカル保存してますが、その場合main.UWSの記述に例えば<#CR>とか<#DBL>があると、そのままではダメで、
"<#C"+"R>"みたいな記載をしないとダメで、結構ややこしいです。
なるほど一時的に重複起動ですね。
確かに、自分自身を再起動するよりもファイルを消せるメリットはありますね。
ありがとうございます。
やっぱローカルに一時保存するしかないですかね~。
せめて変数とかクリップボードとか経由でCALLできたら良いのですがね。

254:名無しさん@お腹いっぱい。
16/04/26 11:57:06.25 /yiY1BCf0.net
Dropboxのクライアントを端末にインストールするとかはNG?

255:名無しさん@お腹いっぱい。
16/04/26 12:08:51.14 RUatem+Y0.net
ローカルに一時保存でもしたくないらしいからNGでしょ
UWSCはそういう「仕様」なんだから、観念して一時保存すると決断すれば良い
ID:1ER8otiW0が観念してしまうだけの話なので簡単ですよ

256:名無しさん@お腹いっぱい。
16/04/26 12:11:27.68 stCTt5LO0.net
>>243
PowerShellは?
URLリンク(technet.microsoft.com)
特殊文字を含むuwsファイルをWEBサーバーにアップしてダウンロードしてUWSCで問題なく実行できた
が、お前の言ってることちょっと意味わからないから解決できてるかわからない

257:名無しさん@お腹いっぱい。
16/04/26 13:00:46.52 1ER8otiW0.net
233です。
みなさまありがとうございます。
とりあえず観念します!
本当にありがとうございました。
>>246
PowerShellやBitsAdminなら、確かにUWSCを経由せずに保存できるのでエスケープは必要ないのですが、WindowsXPも考慮しないとならないのでNGでした。
XPにもそれらをインストールすればいいじゃんってのは無しで。
> お前の言ってることちょっと意味わからない
えと、サーバーに置くUWSファイルの中に例えば
FUKIDASHI ("あいうえお<#CR>かきくけこ")
とあったら、Msxml2.XMLHTTPとかで取得した文字列をFPUTで書き込む際に
----------
FUKIDASHI ("あいうえお
かきくけこ")
----------
のように書かれてしまい、実行時にエラーになります。
FUKIDASHI ("あいうえお<#C"+"R>かきくけこ")
このように書いておけば大丈夫でした。

258:名無しさん@お腹いっぱい。
16/04/26 13:09:16.58 BJeFAOR90.net
一時保存もしたくないとなると、1行づつ読んでevalとかw

259:名無しさん@お腹いっぱい。
16/04/26 14:10:30.37 +kU8vIDq0.net
そういうことならResponseBodyをADB.Streamでファイルに書き出せばいいんじゃないかな

260:名無しさん@お腹いっぱい。
16/04/26 14:54:30.74 1ER8otiW0.net
233です。
ありがとうございます。
>>248
少しかじってみましたが、EVALのみだと変数の定義すら、ままならないんですね(笑)
ありがとうございます。
>>249
助かりました。早速その方法に変えました。
これで変なエスケープから解放されました。
ありがとうございます。

261:名無しさん@お腹いっぱい。
16/04/26 15:19:29.68 6MQq72MG0.net
>>91だけど>>238
>・POFF(P_UWSC_REEXEC,True)
こんなんあるの知らんかったわ!
マジでありがとう

262:名無しさん@お腹いっぱい。
16/04/27 17:17:14.39 s15QSyu90.net
現在、改行された文字列
青森
チョコレート
パスタ
を、コピーし、1行ペースト TAB 2行目ペースト TAB 3行目ペースト
sendstr(id, trim(replace(data[0],"","")) + "<#tab>")
sendstr(id, trim(replace(data[1],"","")) + "<#tab>")
sendstr(id, trim(replace(data[2],"","")) + "<#tab>")
sendstr(id, trim(replace(data[3],"","")) + "<#tab>")
って、やってますが
青森:チョコレート:パスタ
のように:で区切られていた場合、どうすれば良いですか?

263:名無しさん@お腹いっぱい。
16/04/27 17:42:16.74 kO9zjJX10.net
:をTABに置き換えりゃいいんじゃね

264:名無しさん@お腹いっぱい。
16/04/27 17:45:16.91 0r9oUYqo0.net
決まった区切り文字で処理したい時は
SPLIT関数で一旦配列に分割して処理するのがセオリーだけど
そのケースなら単純なreplace関数でも出来そう
でも元データのエスケープ処理がどうなっているかで最終的なコードは変化するので自分で考えろ

265:名無しさん@お腹いっぱい。
16/04/27 17:45:50.38 uCZPA68V0.net
最初のも改行をtabに置換すりゃいいだけで、一行ずつちまちまやる必要ないな

266:名無しさん@お腹いっぱい。
16/04/27 17:46:11.38 s15QSyu90.net
>>253
メモ帳を開いて、一旦 青森:チョコレート:パスタ をペースとして
青森
チョコレート
パスタ
に変えて、全選択コピーを毎回するって事ですか?

267:名無しさん@お腹いっぱい。
16/04/27 18:03:49.97 8t6BnMkc0.net
PRINT replace(data,"<#CR>","<#TAB>")
TEXTBLOCK data
青森
チョコレート
パスタ
ENDTEXTBLOCK

data2="青森:チョコレート:パスタ"
PRINT replace(data2,":","<#TAB>")

268:235
16/04/27 20:46:31.99 291T3bF+i
>>236 遅くなって申し訳ありません。ありがとうございました!

269:名無しさん@お腹いっぱい。
16/04/27 20:46:58.25 eNKc67OQ0.net
テキストエディタのTeraPadなら、
改行を\n、TABを\tとして一括置き換えできるぞw

270:名無しさん@お腹いっぱい。
16/04/28 01:31:19.68 oYywxD710.net
なんでterapad限定?w
テキストエディタでいいなら初めからそうするだろうけどな

271:名無しさん@お腹いっぱい。
16/04/28 10:39:01.02 PldhoJmY0.net
とあるMMOブラウザゲームを自動で動かすために使ってたけど、昨日サービス終了したのでもう使えないw
当分ゲームはしないのでいつ作るかわからないけど、uwsファイルの中身を見て思い出せる自信が無いw
例えば何年か前に別のゲームで使ってたuws
for roop =1 to 3
orange = PEEKCOLOR(922,320)
sleep(0.2)
if orange=$FFFFFF then break
next
何のためにこれを入れてたのかまったく思い出せないからなぁ
後から見てわかるようにドキュメントファイルでも作っておいた方がいいのかしら?

272:名無しさん@お腹いっぱい。
16/04/28 10:55:31.91 S/E9tJ6+0.net
コメントがなくても理解できるコードがある一方で
コメントがあっても理解できないコードもある

273:名無しさん@お腹いっぱい。
16/04/28 11:00:00.43 uduQDDMk0.net
それはコメントの書き方が悪いからじゃないのか?

274:名無しさん@お腹いっぱい。
16/04/28 11:02:15.07 op8bTGMo0.net
ともあれ'roop'がイヤすぎる

275:名無しさん@お腹いっぱい。
16/04/28 11:04:26.29 BHIAiMaT0.net
roop


276:は言語によっては予約語だからな。 「i」が嫌な派な俺は「cnt」「idx」などを使うな。



277:名無しさん@お腹いっぱい。
16/04/28 11:11:29.04 op8bTGMo0.net
>>265
ん?loopと書きたかったんじゃないのかという意味だったんだが・・・

278:名無しさん@お腹いっぱい。
16/04/28 11:15:14.76 BHIAiMaT0.net
const BRG_COLOR_WHITE = $FFFFFF
for waitCnt = 1 to 3
  sleep(0.2)
  peekedColorOfTheFruit = peekcolor(922,320)
  if peekedColorOfOrange = BRG_COLOR_WHITE then break // 消失
next

279:名無しさん@お腹いっぱい。
16/04/28 11:15:49.22 BHIAiMaT0.net
スペルミスだったか…

280:名無しさん@お腹いっぱい。
16/04/28 11:31:21.62 2IZIaP2/0.net
バッググラウンドで操作してるんですが
Firefoxだと事足りるんですが
Chromeだとchkimgは大丈夫なんですが
BTNになるとウィンドウがアクティブになるんですが
なにか思い当たることありますが?

281:名無しさん@お腹いっぱい。
16/04/28 11:51:59.11 BHIAiMaT0.net
ボタン押すイベントでウィンドウがアクティブにならないのは
セキュリティ上問題ある(誤操作を狙った悪質サイトなど)ので、
クロームのポリシーでそういう動きになってるんじゃね?
仮…

282:名無しさん@お腹いっぱい。
16/04/28 13:10:18.99 2IZIaP2/0.net
>>270
なんか過去ログ読み進めてたらそんな感じのなのかなってのも見かけましたぁ…
あと書いて無かったのでが、自分はIronを起動オプションのアプリケーションモードとStylishと併用して、
一つゲームタイトル専用の環境にして使ってるので、悪質サイトに繋げない繋がらないという前提でやってるので
(拡張の製作者がソフトを売り渡して、悪意ある製作者が何やら仕込んだりしてたら手に負えませんが…)
どうにかならんかなぁ…

283:名無しさん@お腹いっぱい。
16/04/28 13:23:04.39 PldhoJmY0.net
ドキュメントファイルを作っておいた。何年後か経ってから見てもわかるはず(多分)
>>271
専用の環境にして使ってるなら、Firefoxを専用にしたらいいんでない?俺は諦めてそうしてる

284:名無しさん@お腹いっぱい。
16/04/28 14:31:19.56 2IZIaP2/0.net
>>272
うーん、最終案としてはあるんだけども……
如何せんFirefoxでのFlashの動作への不満と拡張での不備があってなぁ…
基本的にはバックグラウンドでの操作で事足らそうと考えているけども
ゲームだからリザルト次第で手持ちが溢れたりとそうなると手動での操作だから
Firefox+Flashだと緩慢でコマ落ちで誤操作とかしてしまったことがあって…
Chromeなら快適だからってのが大きい

あとChromeのWindow Resizerって拡張が便利で
ウィンドウサイズを登録する時に「画面の描画領域を対象にする」みたいなのがあって
画面の拡大/縮小率を追従してウィンドウサイズも変わってくれる…みたいな
これがFirefoxだと実装されてないCSSの機能で実現できているようだから、
こういう所でちょっと不便だなと……まあ我がままなんですけどね

285:名無しさん@お腹いっぱい。
16/04/28 15:35:15.50 +ymiHBWt0.net
chkimgXでバグっぽいのあるんだけどここに書いても無駄だよね
作者に伝えるにはどこに行ったらいいんだろ

286:名無しさん@お腹いっぱい。
16/04/28 15:43:17.65 uduQDDMk0.net
バグではなく仕様です

287:名無しさん@お腹いっぱい。
16/04/28 15:46:28.44 0zJJ/33e0.net
書いてみたら?
ソースついてるんだから直すのは作者に限定する必要もないし

288:名無しさん@お腹いっぱい。
16/04/28 16:17:42.65 +ymiHBWt0.net
ありがとう 自分の環境固有の問題ではないと思うんだけど
再現性も低そうでなんとも変な現象なんだけど・・・
前スレで、select文で select true としておくと
最初にtrueだったcaseが実行されるって話が出てて、
複数の画像をチェックするときにifb~elseでどんどん入れ


289:子になったりするより そっちの書き方の方がすっきりするなーと思って ifb chkimgX(画像,id) then (処理) elseif ~ ってやってたのを select true case chkimgX(画像A,id) (処理) case chkimgX(画像B,id) というふうにしたんですね そしたら、ifbだとちゃんと検出できるのにcaseだと検出できなくなる画像があるんです (処理)の部分で吹き出し出るようにして検出してるかどうか判定する簡単なスクリプト作って 試してみたんですが、ifbだと普通に検出する画像が、select true~caseだと途端にダメになるんです よくわからないのが、ちゃんと検出できる画像もあって、特定の画像でだけダメなんですよ 画像ファイル名やcaseで判定する順番を変えても同じだったので、そこの問題ではないようで お手上げになってしまいました まあ、ifbでやれば使えるんですけども・・・なんか釈然としないというか



290:名無しさん@お腹いっぱい。
16/04/28 16:43:08.88 +ymiHBWt0.net
えーと、上記の現象で試した画像数が少なかったので
いろいろ試してみたところ、どうもcaseだと失敗する画像の方が多いみたいです
以下の感じで試しました idにウインドウID入れてバックグラウンドにしても結果は同じでした
id = 0
call chkimgX
STARTUP_CHKIMGX()
textblock 画像名
hoge
endtextblock
ifb chkimgX(画像名 + ".bmp",id) then
 fukidasi("OK " + G_IMGX_X + "," + G_IMGX_Y)
 sleep(1)
else
 fukidasi("NG")
 sleep(1)
endif
fukidasi("")
sleep(0.5)
select true
 case chkimgX(画像名 + ".bmp",id)
  fukidasi("OK " + G_IMGX_X + "," + G_IMGX_Y)
  sleep(1)
 default
  fukidasi("NG")
  sleep(1)
selend
SHUTDOWN_CHKIMGX()

291:名無しさん@お腹いっぱい。
16/04/28 16:53:22.41 0zJJ/33e0.net
>>278
問題ないけど

292:名無しさん@お腹いっぱい。
16/04/28 17:06:19.15 BHIAiMaT0.net
勘だけど多分、chkImgXの戻り値を一旦変数に受けてから、
caseにその変数を指定した場合は想定通りの動きするってパターンじゃね?
だとしたら仕様扱いされるだろうから
elseif連鎖で行けるなら戻したほうが早い。
そもそも順序判定ならelseif使うほうが構文としては真っ当だと思う。

293:名無しさん@お腹いっぱい。
16/04/28 17:25:09.28 mYQNq9vf0.net
UWSCのTRUEは、中身1の定数
IF文の真は0以外
chkImgXの戻り値はヒットした数(番号を省略した場合)
ということだと思うよ

294:名無しさん@お腹いっぱい。
16/04/28 17:34:56.60 pEM1GWOr0.net
chkimgXはヒットした場合trueを返すとは書いてあるけど、実際はヒット数返してる
そしてifの条件は0以外は全部trueになる
if 2
print "true"
else
print "false"
endif
で試せば分かる

295:名無しさん@お腹いっぱい。
16/04/28 17:35:03.07 +ymiHBWt0.net
>>279
>>280
>>281
レスありがとうございます
>そもそも順序判定ならelseif使うほうが構文としては真っ当だと思う。
ですよねえ・・・
>IF文の真は0以外
そっかー!
たぶんchkimgXの戻り値の問題なんだろうけど、
ifで動いてるのにtrue以外を返してるなんてあり得るのかなあとか思ってたんですが
そういうことなんですね、勉強になりました!
>>280さんのおっしゃるとおり、仕様ってことになりそうですね
if~elseに戻すか、こねくり回すかしばらく考えてみます
ありがとうございました

296:名無しさん@お腹いっぱい。
16/04/28 17:36:57.50 PldhoJmY0.net
>>273
Firefox+Flashはたしかにいまいち。俺の場合はcyberfoxで解決した
>ウィンドウサイズを登録する時に「画面の描画領域を対象にする」みたいなのがあって
>画面の拡大/縮小率を追従してウィンドウサイズも変わってくれる…みたいな
この「描画領域を対象」てのがいまいちわからんけど、ウインドウサイズや位置も記憶して欲しいならUWSCでも可能なの知ってた?
たとえば
ACW(GETID("google - Google 検索 - Cyberfox","MozillaWindowClass"),330,85,1399,928,0)

ACW(GETID("google - Google 検索 - Cyberfox","MozillaWindowClass"),31,228,1140,822,0)
みたいにそれぞれ違うウインドウサイズや位置にしてくれる
google - Google 検索のページを表示して実行しないと有効にならないのがちと面倒くさいけど問題はない
まあバッググラウンドを優先するか、の違いでしょ。
他のことが出来ないのは困るからcyberfoxを専用にしてバッググラウンド優先にしてるわけだし。
我がままなあなたは専用PCを用意しておいた方がいいかもね笑

297:名無しさん@お腹いっぱい。
16/04/28 17:37:51.34 +ymiHBWt0.net
>>282
ありがとうございます
>>281さんのおっしゃるとおり、戻り値はヒット数ってことなんですね
てことは、失敗してるやつは複数ヒットしてるってことで、
どうも関係ない画像もヒットしてるのがあるってことみたいです・・・
なんかいろいろ思案のしどころだな・・

298:名無しさん@お腹いっぱい。
16/04/28 18:27:42.87 ahvGVCBl0.net
case chkimgX(画像,id)=1
ってしたらいいんじゃないの

299:名無しさん@お腹いっぱい。
16/04/28 18:41:18.78 TIz766Eo0.net
>>286
それじゃ case どころか if でも動かなくなるぞ

300:名無しさん@お腹いっぱい。
16/04/28 18:42:41.03 +ymiHBWt0.net
case chkimgX(画像,id)>0
で、一応自分の思った動作はできるようです

301:名無しさん@お腹いっぱい。
16/04/28 19:29:11.64 eQWAKkYi0.net
最近使い始めたのですが、書いたスクリプトを後で見てもすぐに分かるようコメントを頻繁に使っています
これのせいで処理が遅くなることってありますか?
気にする必要ないんでしょうか

302:名無しさん@お腹いっぱい。
16/04/28 19:55:39.21 BHIAiMaT0.net
lp=500000
gettime(); print G_TIME_HH2+

303:名無しさん@お腹いっぱい。
16/04/28 19:59:28.64 BHIAiMaT0.net
lp=500000
gettime(); print G_TIME_HH2+

304:名無しさん@お腹いっぱい。
16/04/28 20:03:34.26 2IZIaP2/0.net
>>284
そりゃUWSCでウィンドウサイズがどうこうは分かるけどどっちのが手間掛からないかで拡張で済ます方が楽なのよ
>「描画領域を対象」
どのブラウザでもウィンドウのりサイザーはあるんだけど、
Firefoxなんかのアドオンだと「ツールバー、メニューバー、アドレスバー、ブックマークバーなどを含めた上」でのリサイズに限定されちゃう。
Chromeの場合だとツールバーとかアドレスバーとかを含めない「ウェブページの描画領域のみを対象」にリサイズすることもできる。
 (もちろんFirefoxでの各種アドオンを併用すればアドレスバーとかでも非表示にできるけど、Chromeのアプリケーションモードの方が洗練されてる。)

例えばあるゲーム画面をStylishによって諸々を省いて960x540だったとして、それを50%とか200%にズームした時に、
Firefoxだとそれぞれの倍率に合わせた目的となるウィンドウサイズを予め設定しておかないといけない。
でもChromeの「Window resizer」って拡張だと基本となる「リサイズの対象を描画領域にして960x540」という設定が一つあれば、
50%だろうと200%だろうと勝手にその倍率でウィンドウサイズがついてくる。
この描画領域が対象になってることで他にも便利なところがあって、
具体的にはOS側の「デザインの詳細設定」なんかでタイトルバーなどのフォント、あるいはフォントサイズなんかを変更すると、
ブラウザのタイトルバーやツールバーの幅なんかも変化するので、当然ウィンドウサイズにも影響してくる。
Chromeならこれらのデザイン設定が変更されようとも、描画領域を対象としたリサイズなので影響はうけない。
「専用の環境」ということでポータブル化して持ち運びとか、バックアップしといてリストアした時なんかもデザインの影響は考える必要がない。

Cyberfoxは初耳だったので考慮します。
専用PCだなんてのは「そのPCでしか出来ない」わけだからナンセンスです。

スレの皆さまほぼスレ違いの長文とか諸々と申し訳ありません。失礼します。

305:名無しさん@お腹いっぱい。
16/04/28 20:20:33.71 pEM1GWOr0.net
おう
二度とくんなよ糞野郎

306:名無しさん@お腹いっぱい。
16/04/28 20:27:01.09 PldhoJmY0.net
Window Resizerにはマルウェアが入ってるのかw わろたw 
我がままなID:2IZIaP2/0に良くお似合いな拡張機能であろう。情報を抜き取られるがいい!
URLリンク(gigazine.net)

307:名無しさん@お腹いっぱい。
16/04/28 22:17:39.05 2IZIaP2/0.net
>>293
あまり有用な回答は無かったが、今日はゆえあって下手に


308:出て質問してやっただけだ 明日からはいつもどおりさ >>294 これまた随分と今更な記事だなw それは俺も知ってるけど使い始めたのはそれより大分あとだ それに知らないかも知れないけど拡張機能なんかのマルウェアのチェックする方法なんかも色々あるんだぞ!!



309:名無しさん@お腹いっぱい。
16/04/28 22:36:28.17 PldhoJmY0.net
chromeを使いたいという希望がかなわなかっただけ。
上の方でも書いたが旧バージョンでは出来た。現行バージョンでは強制的にアクティブになる。これを回避する術は存在しないので諦めるしか無い

310:名無しさん@お腹いっぱい。
16/04/28 23:51:28.04 8AWXxtsF0.net
つーか関数呼び出し時にラップしないのって怖くね?
chkimgxラップして戻り値>0ならtrue返す関数こさえれば良いだけじゃないの

311:名無しさん@お腹いっぱい。
16/04/29 00:11:47.83 pvqnx4h40.net
UWSCのログウィンドウが時々おかしくなってスクロールが
上に張り付いたようになったりしますが、こういう状態に
なったことを知るにはどうしたらいいんでしょうか?
ウィンドウのスクロールバーの位置でもわかったらなんとかなりそうなんですが。

312:名無しさん@お腹いっぱい。
16/04/29 00:20:52.42 pvqnx4h40.net
>>298
自己解決したので忘れて下さい

313:名無しさん@お腹いっぱい。
16/04/29 06:57:46.17 5dV596+V0.net
10分で自己解決できる質問は控えめに

314:名無しさん@お腹いっぱい。
16/04/29 08:28:12.32 ceze3CT+0.net
ゲーデルの不完全性定理的にそれは防ぎようが無いだろう

315:名無しさん@お腹いっぱい。
16/04/30 11:58:20.90 W4LjsA4k0.net
>>296
> これを回避する術は存在しない
chromiumがオープンソースなので…w

316:名無しさん@お腹いっぱい。
16/04/30 13:10:19.34 CVc85OLY0.net
すみません、質問です。
UWSC公式のトップページ
URLリンク(www.uwsc.info)
で表示されてる画像で、魔法使い?のお爺ちゃんが「いつもより余計に~」って吹き出しが出てますが、この吹き出しは分かるのですが、同時にこのお爺ちゃん画像を出すのはどうやってるんでしょうか?
画像は透過処理もされてるように見えます。

317:名無しさん@お腹いっぱい。
16/04/30 15:41:43.69 VZAQESHi0.net
透過処理したジジイの画像を上から貼り付けたのだと思います

318:名無しさん@お腹いっぱい。
16/04/30 15:54:23.55 f5AaTOYz0.net
>>303
スクリプトの該当箇所を見てみよう
その上で改めて質問があればコードについて具体的に聞こう

319:名無しさん@お腹いっぱい。
16/04/30 18:43:07.44 CVc85OLY0.net
>>305
うわー。MsAgentを呼んでるんですね。
失礼しました。

320:名無しさん@お腹いっぱい。
16/04/30 18:50:29.11 qNGF7tOS0.net
>>303の思い描いたことが出来なくて残念でしたね♪

321:名無しさん@お腹いっぱい。
16/04/30 19:57:24.44 BWz/9uUs0.net
g_img_xとかの特殊変数はグローバル変数だと思ってたけど違うんだ
グローバル変数の頭にg_を付ける規約に慣れてたから勘違いしてた

322:名無しさん@お腹いっぱい。
16/05/03 01:42:21.54 w7pV4zrW0.net
どうにもわからなくなってしまって教えていただきたいのですが
座標Aをクリックして画面遷移をし、
座標Aをクリックした時点から1200ミリ秒後に座標Bをクリックしたく、
座標Bをクリックする前に、1200 - 画面遷移にかかった時間 だけsleepさせたいのですが、
当然、画面遷移に1200ミリ秒以上かかっているときは、sleepする必要はなく、
時間はオーバーしていますがとりあえず座標Bをクリックさせたいのです
で、gettime()してG_TIME_ZZを使って、1200ミリ秒以内で画面遷移できている時は問題ないのですが、
1200ミリ秒を超えてしまっている時の判定をどうしたらいいのかわからなくなってしまいました
秒を取得したとしても2秒またぐことになる場合もあって、分が繰り上がって58秒から00秒になったときとか
どう考えたらいいのか混乱してしまって・・・
良い方法がありましたら教えてください

323:名無しさん@お腹いっぱい。
16/05/03 02:06:54.71 JXHy2Pns0.net
>>309 特殊変数を使わずに、gettime()の戻り値を使う 戻値は2000年1月1日からの秒数らしい



325:名無しさん@お腹いっぱい。
16/05/03 02:08:04.71 dHaLy1E+0.net
>>309
そういう組み方は誤動作の原因になるからやめんさい
画面遷移が完了したかどうかをチェックして、完了してたらクリックするようにすればいい

326:名無しさん@お腹いっぱい。
16/05/03 02:22:41.84 w7pV4zrW0.net
すみません自己解決しました

327:名無しさん@お腹いっぱい。
16/05/03 12:20:48.05 75e58taU0.net
自分勝手な質問して解決しても方法書かずに終わりのクズw
二度とくんな

328:名無しさん@お腹いっぱい。
16/05/03 13:11:33.27 5EfREkba0.net
BTN(LEFT,0,AX座標,AY座標)
GETTIME()
T=G_TIME_ZZ+G_TIME_SS*1000+G_TIME_NN*60*1000+G_TIME_HH*24*60*1000
T2=G_TIME_DD
WAIT(0.01)
GETTIME()
IF G_TIME_ZZ+G_TIME_SS*1000+G_TIME_NN*60*1000+G_TIME_HH*24*60*1000 > T+1200 THEN BREAK
IF T2<G_TIME_DD THEN BREAK
UNTIL CHKIMG 遷移済.BMP
BTN(LEFT,0,BX座標,BY座標)
どのくらいの精度が必要なのかよーわからんがこんな感じか?
短時間にCHKIMGしまくると重そうだが

329:名無しさん@お腹いっぱい。
16/05/03 13:34:38.89 j8OI2liO0.net
tm =GetTime()
tm =tm+G_TIME_ZZ/1000
こんな感じでミリ秒にできるからあとは差分でいいんじゃ?

330:名無しさん@お腹いっぱい。
16/05/03 13:38:13.53 Wrlyj34N0.net
>>311のやり方じゃだめなん?IEオブジェクト監視すればいいじゃん
って言ったらChromeとかfirefoxでやりたいって言われるのかな

331:名無しさん@お腹いっぱい。
16/05/03 14:14:30.09 tRaAW2Ni0.net
画面遷移で色が変わるピクセルをpeekcolorで監視するとか
いろいろ手段はあると思うけどね

332:名無しさん@お腹いっぱい。
16/05/03 14:34:21.16 kHjzQcm90.net
CHKIMGってマウスカーソルは考慮しなくていいんだよな?

333:名無しさん@お腹いっぱい。
16/05/03 14:35:22.60 kHjzQcm90.net
CHKIMGってマウスカーソルは考慮しなくていいんだよな?

334:名無しさん@お腹いっぱい。
16/05/03 16:15:36.09 w7pV4zrW0.net
>>313
自分勝手な質問って何
意味わかんねーわ
リアルが惨めだからネットで他人を攻撃してないと死んじゃう病の人かな?
まさに>>315のとおりでした
差分を1000から引いて、座標Bをクリックすす処理の引数に設定
これだけでした

335:名無しさん@お腹いっぱい。
16/05/03 16:25:56.95 kaYKMS3g0.net
BTN(LEFT,0,AX座標,AY座標)
T=GETTIME()+G_TIME_ZZ/1000
REPEAT
WAIT(0.01)
IF GETTIME()+G_TIME_ZZ/1000-T>1.2 THEN BREAK
UNTIL CHKIMG 遷移済.BMP
BTN(LEFT,0,BX座標,BY座標)
こーか

336:名無しさん@お腹いっぱい。
16/05/03 16:46:54.56 PpQQp7iC0.net
質問に答えた304と305を無視して自己解決しましたの一言で立ち去った
これは感じ悪いですよね

337:名無しさん@お腹いっぱい。
16/05/03 16:54:59.10 w7pV4zrW0.net
>>320
1000じゃなくて1200だった
>>321
そんな感じ
304と305がなんか言うんならわかるんだけど
勝手に代弁してんのは何のつもりなの?

338:名無しさん@お腹いっぱい。
16/05/03 16:58:41.64 Cqmu+9jU0.net
謝罪と賠償を要求するニダ!

339:名無しさん@お腹いっぱい。
16/05/03 17:12:06.46 tRaAW2Ni0.net
304,305に対してだけの感じの悪さじゃなくて
全体に対する感じの悪さを問題視してるんだと思う。
あと、
>リアルが惨めだからネットで他人を攻撃してないと死んじゃう病の人かな?
これ系の発言って自分自身も攻撃してる気がするぞ?

340:名無しさん@お腹いっぱい。
16/05/03 17:22:12.37 9icseLeH0.net
ソースは俺が省略されてるだけやろw
まあそりゃ端から見てても不快に思う奴もいるやろw
こういうスレで質問して答えて貰ったなら、例え自分の望む答えではなくても
こういうやり方で解決しました、ありがとうございましたくらい言うのが常識人ってもんだ

341:名無しさん@お腹いっぱい。
16/05/03 17:33:39.88 7QwzhXpa0.net
常識人やったら自分の書いたソース書いた上で相談するんやで?
つまりそういうこと。

342:名無しさん@お腹いっぱい。
16/05/03 17:37:10.36 w7pV4zrW0.net
>>325
>これ系の発言って自分自身も攻撃してる気がするぞ?
絡まれたから返信したのにそれはないだろ
俺が一方的にいきなり誰かに絡みだしたならわかるが
>>326
わからんでもないけど
じゃあ>>313が適�


343:リな発言なのかも評価してほしいところですわ 「自分勝手な質問」←意味不明 「クズ」「二度とくんな」 そんな言われ方するほどのこととは到底思えんのだが 俺の質問自体が自分でちょっとくだらない質問だろうなと思ってたから だらだら書かずにサッと締めようと思って一行で済ませたんだけど >>310と>>311にはとりあえず謝っとくわ レスしてもらったのに返信しなくてゴメンね 本人が不快だとか言ってるわけでもないのに意味わからんけど 端から見てて不快ならチラシの裏に「不快だー」とでも書いとけばいんじゃね



344:名無しさん@お腹いっぱい。
16/05/03 17:44:41.94 w7pV4zrW0.net
>>327
そりゃこれまで何度も普通にそういう風にやりとりして終わったこと何回もあるんだけどね
このスレで>>312みたいな形で終わらせたの初めてだし
たまたまというか、いろいろ余裕がなかったこともあって
そんな手の込んだ回答もらったわけでもないからまあいいかみたいなつもりでで済ませたら>>313だから

345:名無しさん@お腹いっぱい。
16/05/03 17:50:28.46 vcYmIYM10.net
これがゆとり世代です。

346:名無しさん@お腹いっぱい。
16/05/03 17:50:45.06 tRaAW2Ni0.net
なんというか、自己正当化しかしないのな。
>>313の発言は確かにどうかと思うけど、結果的に正しかったな。

347:名無しさん@お腹いっぱい。
16/05/03 17:58:32.35 w7pV4zrW0.net
そもそも反応しなきゃいい話だったんだけど
ヒマだったのもあって、
こういう返事をしたらどういう反応が返ってくるんだろう、
とかちょっと興味出てきていろいろレスしてみたんだけど
スレ荒らしてすまんかった
というかこうやって荒れるんだなーとか実感できたわ
つーか、こういう時ってそもそも>>313みたいなのがなければ荒れてないのに
>>313についての言及がまったくなかったのが興味深いわ
なんか、最初に叩かれた奴は反論しても反論すること自体を悪とみなす
みたいな人間心理があるんだろなーとかわかったわ
出かけるんで俺は今日はこれで最後のレスになるけど
どうせ0時になったらID変わるしなー
明日からもいつもどおりよろしくたのむわw

348:名無しさん@お腹いっぱい。
16/05/03 18:01:07.18 mjD8Udm/0.net
>>310>>311を無視して申し訳ないと思う程度の良心が残ってるだけマシ
寛大な心で許してやろうじゃないか

349:名無しさん@お腹いっぱい。
16/05/03 18:01:38.12 rB65LDB+0.net
           |
            |  彡⌒ミ
           \ (´・ω・`)セトモノとセトモノがぶつかったら壊れちゃう
             (|   |)::::
              (γ /:::::::
               し \:::
                  \

350:名無しさん@お腹いっぱい。
16/05/03 18:03:04.47 w7pV4zrW0.net
書いてるうちにレスついてたからもう1レスだけ
>>331
まあどうでもいいけど今回の俺みたいなのをチクチク叩くより
>>313みたいなのを無くす方が荒れることは確実に減ると思うわ

351:名無しさん@お腹いっぱい。
16/05/03 18:07:42.06 i6xBKBtg0.net
ワロタ

352:名無しさん@お腹いっぱい。
16/05/03 18:10:00.77 9icseLeH0.net
GWで暇を持て余したリアルキッズによるテンプレのような捨て台詞ワロタw
反論が悪というか、その反論に正当性も論理の欠片もないのが問題とういうことがわからんのだろうなw
ここで荒れてるのって大抵こういう頭のおかしい質問者が出た時くらいだよな

353:名無しさん@お腹いっぱい。
16/05/04 10:50:40.26 ry+Ef/A80.net
ニダーランでUWSC使ってる人いる?

354:名無しさん@お腹いっぱい。
16/05/04 16:34:50.20 /cbnpFQW0.net
技術系の質問掲示板で、聞くだけ聞いて(TAKE)、
問題解決の成果を公表(GIVE)しないのは、
ギブアンドテイクが成立しないので嫌われる。
技術系じゃなくても、デザインのコンペでタダで�


355:桾蛯ウせて、 全員不採用にして応募作品をパクって自分の案として出したら、 そういうとこは嫌われるし、 実名社会なら晒されて社会的に死ぬわな。



356:名無しさん@お腹いっぱい。
16/05/04 16:53:46.31 7KAG3Xnl0.net
君の会社に入社するかもだよ

357:名無しさん@お腹いっぱい。
16/05/04 17:17:46.17 YFUNwe0t0.net
ギブアンドテイク使いどころちげえ

358:名無しさん@お腹いっぱい。
16/05/04 17:40:54.64 y6DZkn350.net
           |
            |  彡⌒ミ
           \ (´・ω・`)力抜いていこう
             (|   |)::::
              (γ /:::::::
               し \:::
                  \

359:名無しさん@お腹いっぱい。
16/05/04 17:45:14.88 VoCGJ/0s0.net
>>339
このスレは乞食ばっかりということだな

360:名無しさん@お腹いっぱい。
16/05/04 18:02:12.04 CpJLWPO80.net
>>339
正論だとおもうよけど所詮ネットだし社会人とは限らないしほんと力抜いてこ
2chの色々な板やスレを見てるけどこのスレは本当に良スレ
世話になりっぱなしで申し訳ない

361:名無しさん@お腹いっぱい。
16/05/04 18:51:24.92 h15qc9Hu0.net
何を隠そう>>313は俺だが特に深く考えずイライラしてたので煽った
今は反省してる

362:名無しさん@お腹いっぱい。
16/05/04 19:51:22.82 xRyRQI0c0.net
次スレからはワッチョイだな

363:名無しさん@お腹いっぱい。
16/05/04 20:06:25.17 CUu8jIYx0.net
>>345
ええんやでw
惨めなキッズが見られて面白かったでw

364:名無しさん@お腹いっぱい。
16/05/04 20:16:54.84 b5xgVypM0.net
質問する奴ってどうしても煽りにビン・カンなキッズしかおらんからなw

365:名無しさん@お腹いっぱい。
16/05/04 22:19:02.04 dsmsbp3C0.net
最初の質問は丁寧な言葉なのにちょっとつつかれると発狂するとことか
リアルが惨めだからとか無職だからとか、脈絡も根拠もない攻撃してくるとことか
>>69と同一人物なんじゃないかな?

366:名無しさん@お腹いっぱい。
16/05/04 22:59:28.56 CUu8jIYx0.net
文章読む限り、知能レベルが違うような気がするわw
ID:DPQX4nXy0は普段は割とまともだけど、質問したらやたらと叩かれてちょっと頭に来ちゃっただけの残念なおっさんって感じがする
ID:w7pV4zrW0からはひたすら中高生のような幼稚さしか感じない

367:名無しさん@お腹いっぱい。
16/05/05 00:21:41.09 /QC2q7dj0.net
そういうのってどんぐりの背比べとか目くそ鼻くそって言うんじゃないの?

368:名無しさん@お腹いっぱい。
16/05/05 05:51:33.56 VAIGNOWz0.net
>>350
> ID:DPQX4nXy0は普段は割とまともだけど、質問したらやたらと叩かれてちょっと頭に来ちゃっただけの残念なおっさんって感じがする
そいつが書いたのって「質問」じゃないし、普段からアホな奴だと思うぞw

369:名無しさん@お腹いっぱい。
16/05/05 06:13:07.67 gnnSupBR0.net
楽しませてもらってます

370:名無しさん@お腹いっぱい。
16/05/05 08:04:13.78 D5y84pzX0.net
>>350=ID:DPQX4nXy0

371:名無しさん@お腹いっぱい。
16/05/05 11:58:21.55 B+dnRrIX0.net
chkimgx使って画像認識させてたけど、Chromeのブラゲの画像を一切読まなくなったんだけど
ハードウェアアクセラレーション切ったら一時治りはした

372:名無しさん@お腹いっぱい。
16/05/05 12:02:01.18 or8OrUdR0.net
これは期待できそう

373:名無しさん@お腹いっぱい。
16/05/05 23:18:53.82 xAiidTMI0.net
ちょっと知識を貸して下さい。
スクリプトは単純なものです。(画像を認識しクリック、while、wendにて繰り返し)
多重起動させた場合に早い段階でフリーズを起こします。
色々調べて回ると、メモリリークというものに行き着きました。
繰り返しスクリプトを実行しながらメモリの解放も同時に行う、または定期的に行うにはどうしたらいいのでしょうか?

374:名無しさん@お腹いっぱい。
16/05/05 23:46:56.76 or8OrUdR0.net
>>357
WHILE
画像認識
メモリ監視
WEND
PROCEDURE 画像認識
FEND
PROCEDURE メモリ監視
FEND

375:名無しさん@お腹いっぱい。
16/05/06 00:07:39.43 ermNrHBi0.net
>>358
ありがとうございます。
自分は一番上のwhile,wendを使っています
画像認識はifb chkimgで行�


376:チています ここでいうメモリ監視とはどのような組み方をすればいいのでしょうか? また、監視してパンク寸前、または繰り返し毎に解放させる等のスクリプトはどのようなものがあるのでしょうか?



377:名無しさん@お腹いっぱい。
16/05/06 00:29:45.76 gqSshbjG0.net
>>358は多重起動を考慮してなかった
メモリを監視&解放するツール使ってみた?恐らくやりたいことに合致したものがあるはず
UWSCで完結したいならコマンドプロンプトでメモリ使用量をみたり、プロセスを終了できる
他の方法やコマンドプロンプトの具体的な使い方はぐぐってくれ

378:名無しさん@お腹いっぱい。
16/05/06 01:07:05.37 O2AOJtvI0.net
フリーズの原因はメモリリークとは限らないし
原因を特定しなきゃメモリ解放なんて効果がない
むしろsleepをきちんと入れてないとか
デッドロックを疑え

379:名無しさん@お腹いっぱい。
16/05/06 05:29:42.05 wyFRHjVU0.net
十中八九、無限ループ中にCALL書いてる

380:名無しさん@お腹いっぱい。
16/05/06 06:27:02.61 ermNrHBi0.net
ループの中にcallは使用しておりません
またsleepも都度入れております
うーん、手詰まりかなぁ
uwscの中でメモリを解放させるスクリプトはないんですかね?

381:名無しさん@お腹いっぱい。
16/05/06 08:04:27.00 ermNrHBi0.net
ちなみにこれの一番簡単な方法は
多重起動でもう1つ1時間毎にメモリ解放させるだけのスクリプトを組めばいいんですかね?
メモリ解放ソフトは他窓で起動させているuwscのメモリも全て解放してくれるんですかね?

382:名無しさん@お腹いっぱい。
16/05/06 10:39:16.54 gqSshbjG0.net
なんだよUWSC実行中に自身のプロセスを解放したいって話?
それだけの質問がなんで>>357みたいな文章になるんだ?
>>364の内容は自分で試せることだよな?やってないの?
実行したいuwsファイルをスタートアップに入れておく
メモリ使用量が一定に達したら全てのUWSC終了、OS再起動
この方法が気に食わなければ他の回答に期待してくれ
コードも書かかないし、スクリプトは単純なものです(メモリリーク起こす)
文章から地雷を見抜けなかった自分に腹が立つは朝から気分悪い

383:名無しさん@お腹いっぱい。
16/05/06 10:41:19.90 KNyIkd0N0.net
一言で言えば無能だからねw

384:名無しさん@お腹いっぱい。
16/05/06 10:50:21.58 xMXgJqbn0.net
>>357
とりあえずそのマクロうpしておくれ

385:名無しさん@お腹いっぱい。
16/05/06 11:39:08.04 gIH9X5Ap0.net
そもそもメモリリーク起こしてフリーズしたと判断した根拠がさっぱり。

386:名無しさん@お腹いっぱい。
16/05/06 11:42:29.40 dOrCs1Dj0.net
chkimgx試してるんだけど エラーやり直します が出て上手く処理できない
画像ファイルのパスが間違ってるのかと思ったけどそうでもなかった
なぜなのかサッパリだ・・・

387:名無しさん@お腹いっぱい。
16/05/06 11:52:05.52 qryXhtAA0.net
おま環

388:名無しさん@お腹いっぱい。
16/05/06 11:58:26.06 dOrCs1Dj0.net
win7 64bitでやってるけども
続けて2回目の処理を実行するとエラーになるみたいだ

389:名無しさん@お腹いっぱい。
16/05/06 12:10:14.08 f1z/TO/j0.net
シャットダウン抜けてるとかは?

390:名無しさん@お腹いっぱい。
16/05/06 12:20:00.02 dOrCs1Dj0.net
>>372
逆にinit処理してなかった アホだった…
そして今度は
getid(GET_ACTIVE_WIN)
で取得したウインドウIDを引数にセットすると画像認識ができなくなってしもうた
スクリーン全体(0)を引き渡すと問題なく認識する

391:名無しさん@お腹いっぱい。
16/05/06 14:08:00.00 f1z/TO/j0.net
>>373
ハンドル取ってHANDtoID

392:名無しさん@お腹いっぱい。
16/05/06 15:19:06.72 dOrCs1Dj0.net
>>374
できるようになった ありがとう
後は画像認識の誤認がなくなれば完成や・・・

393:名無しさん@お腹いっぱい。
16/05/06 15:40:03.04 EoIc8WAB0.net
普段はChromeを使って
裏でFirefoxの画像認識マクロを快適に24時間とまらずに動かしたいんですが
裏で安定して動かす方法って無いかな?
現状、しょっちゅう画像が認識できなかったり
裏で動かし�


394:トるFirefoxの動作が安定しなくてクリック失敗してたりして 途中で止まる・・。 Firefoxの高速化とかFlash最適化はいろいろやったんだけども。



395:名無しさん@お腹いっぱい。
16/05/06 16:10:04.38 qryXhtAA0.net
なんもしなくても止まるからなffは

396:名無しさん@お腹いっぱい。
16/05/06 16:12:28.37 f1z/TO/j0.net
>>375
chkimgXのサンプルやら見れば分かるようになってるから次からは頑張って調べような

397:名無しさん@お腹いっぱい。
16/05/06 16:33:39.82 EoIc8WAB0.net
FireFox使うなって事か?
Chromeをメインで使いたいから
裏は他のブラウザでマクロ動かしたいんだけど
Operaならいいんかな。

398:名無しさん@お腹いっぱい。
16/05/06 16:35:40.75 KNyIkd0N0.net
とりあえず画面OFFにしなかったらちゃんと動くよ、Firefoxでもね

399:名無しさん@お腹いっぱい。
16/05/06 17:09:44.40 rsxxkLKW0.net
解決能力が試される質問だな
出来ない奴はそこでFxはそういうものだと留まり続けてる

400:名無しさん@お腹いっぱい。
16/05/06 17:33:52.69 EoIc8WAB0.net
画面つけっぱなしで放置してても
だんだん Firefox がもっさりしてくる感じ。
終了して再起動しかないんか?

401:名無しさん@お腹いっぱい。
16/05/06 17:36:51.93 D533/cdj0.net
スワップしてるってことはメモリ足りてないってことだ

402:名無しさん@お腹いっぱい。
16/05/06 19:30:06.16 uEkgA7Zv0.net
>>365
メモリ解放ソフトのバッチファイルを5分毎に起動、1時間でフリーズしていたものが4時間でフリーズに多少改善
ちなみにメモリ使用量からPCの再起動はせずにうまいことフリーズさせない方法はないですかね?

403:名無しさん@お腹いっぱい。
16/05/06 20:01:53.76 NREwTPZ40.net
>>384
正攻法だとメモリリークをしないOSとアプリケーションを使う

404:名無しさん@お腹いっぱい。
16/05/06 20:09:51.35 7jlRHt/J0.net
メモリ買ってきたらUWSC以外も捗るぞ

405:名無しさん@お腹いっぱい。
16/05/06 20:30:01.75 uEkgA7Zv0.net
>>386
メモリは16Gです
ちなみにタスクマネージャーだと利用可能メモリが12Gなんですよね
ただメモリ解放ソフトを定期起動させると前より改善されるので原因はメモリかと思っているのですが

406:名無しさん@お腹いっぱい。
16/05/06 20:39:54.82 7jlRHt/J0.net
16G積んでてメモリ解放ソフトってヤバイなw

407:名無しさん@お腹いっぱい。
16/05/06 20:50:01.48 uEkgA7Zv0.net
>>388
他に原因わからんのだよ…

408:名無しさん@お腹いっぱい。
16/05/06 20:50:08.61 qryXhtAA0.net
pcに増設して16Gまでと書いてありますが
無理やり32Gにしても意味ないですよね?

409:名無しさん@お腹いっぱい。
16/05/06 21:02:35.80 igCZNQAV0.net
それはUWSCの質問か?

410:名無しさん@お腹いっぱい。
16/05/06 21:04:22.56 S2ewZBQ40.net
スワップするので遅くなるのはわかるが
フリーズしたりするのは全く別の問題

411:名無しさん@お腹いっぱい。
16/05/06 21:08:31.21 gIH9X5Ap0.net
UWSCって32bitだろ?
いったい何のメモリ解法が漏れてフリーズ(これも一体何がフリーズ?)してると考えてるんだ?

412:名無しさん@お腹いっぱい。
16/05/06 21:24:26.15 igCZNQAV0.net
不具合の発生する単純な検証用ソースコードを提示すればいいのに
それが無理ってことはコードがグシャグシャで手に負えず、バグが入ってるってこと
相手にするだけ無駄なので察しろ

413:名無しさん@お腹いっぱい。
16/05/06 21:57:07.44 uEkgA7Zv0.net
すいません、ポイントサイトで多重起動してます
UWSCのメモリ解放について
ウィンドウに対しての連打ソフトとUWSCを併用しています。UWSCを多重起動させ、複数のウィンドウで併用していた場合
約1時間程経過すると画面のフリーズを起こします。
色々と調べてみたところ、メモリリーク?を起こしているのではというところまで辿り着きました。
スクリプトは画像を認識してクリックするという単純なものです。(下記に簡潔に記載します)
ウィンドウを単独で起動させていた場合は約20時間くらいは繰り返し起動してくれます。
2つ以上になった場合に比較的すぐにフリーズを起こします。
この繰り返しのスクリプトを実行させながら、都度メモリを解放することは可能でしょうか?
どうかお力をお貸し下さい。
宜しくお願い致します。
while true
ifb CHKIMG("A.bmp")
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x+5, y+5, 30)
sleep(0.5)
endif
ifb CHKIMG("B.bmp")
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x+5, y+5, 30)
sleep(0.5)
endif
wend
これを2窓で行うとフリーズします
(同様のスクリプトがずっとですが、行数書き込み規制により割愛)
uwsc以外のソフトは連打系のソフトを使用しています


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch