UWSC 掲 示 板
投稿時に「証明書が不正です」と出る場合には、JavaScriptをオンにしてください
動作不具合での質問の場合には環境(OS,IEのバージョン等)の表記もしてください
タイトルは質問内容を表したものにしてください
ネットゲーム関係の質問はご遠慮ください

PROCEDURE内からTHREADの実行 / ギン
THREAD A

PROCEDURE A
THREAD B
FEND

PROCEDURE B
処理
FEND

というようにPROCEDURE A内からTHREAD Bを実行したいのですができません。
PROCEDURE AのFENDと同時に実行したはずのTHREAD Bも終了してしまうのではないかと思い
PROCEDURE A
THREAD B
sleep(100000)
FEND
としてみたのですが駄目でした。

何が原因でしょうか?

No.3483 2017/02/15(Wed) 14:30:09

Re: PROCEDURE内からTHREADの実行 / しろまさ
メインプロセスが終了してると思われます。

THREAD A
Sleep(10) // 待機しないとプロセスが高速で死ぬ。

PROCEDURE A
THREAD B
Fukidasi("A", 50, 50)
Sleep(5)
FEND

PROCEDURE B
Fukidasi("B", 100, 100)
Sleep(5)
FEND

No.3484 2017/02/15(Wed) 14:37:41

Re: PROCEDURE内からTHREADの実行 / ギン
しろまささん、ありがとうございます。

すいません、THREAD Aの下のsleepを記述し忘れていました。
THREAD A
sleep(100000)
としているのですが駄目なようです。

No.3485 2017/02/15(Wed) 14:42:03

Re: PROCEDURE内からTHREADの実行 / stuncloud
UWSCのバージョンが古いとか?
僕の環境でもBが呼べてますし、Aが終わってもBは動いてますね

thread A()
sleep(10)

procedure A
 fukidasi("A")
 thread B()
 sleep(2)
fend

procedure B
 fukidasi("B", 0, 50)
 sleep(5)
fend

No.3486 2017/02/15(Wed) 16:00:10

Re: PROCEDURE内からTHREADの実行 / ギン
stuncloudさん、ありがとうございます
コピーして使用してみたところ正常に動作しました。
なのでこちらの組んだスクリプトに問題があるのだと思い色々確認してみたところ、原因がわかりました。
Aの中でBを呼び出す直前にDOSCMDでバッチファイル(C)を呼び出しているのですが、DOSCMD(”C”,FALSE,TRUE)で確認してみたところそのバッチが終了していなかった為次の処理(THREAD B)に移れないでいたようです。

バッチファイルの内容は
コマンド < exit.txt
となっておりuwscにexitという名で内容は
exit
exit
のテキストを保存しているのですがバッチが終了しません。
手動でコマンドプロンプトを閉じたところTHREAD Bに移行したのでこれが原因で間違いなさそうです。
何が間違っているかわかりますでしょうか?
(UWSCというよりバッチファイルやコマンドの質問になってしまっていますがよろしければ教えて頂けると幸いです。申し訳ありません。)

No.3489 2017/02/15(Wed) 17:08:20

Re: PROCEDURE内からTHREADの実行 / stuncloud
> 何が間違っているかわかりますでしょうか?
わかりません
> コマンド < exit.txt
のコマンドがなんだかわかりませんがそれが終わってないんでしょう
そのコマンドがちゃんと終わるようにしてください

あと別にその程度ならわざわざbatファイルを通さなくてもDOSCMDで直接叩けばいいのでは…

No.3492 2017/02/15(Wed) 18:03:38

Re: PROCEDURE内からTHREADの実行 / ギン
ありがとうございます。
確かにそうですね。いつもの癖で何故かバッチを通してしまっていました。
DOSCMD(”コマンド”,TRUE,TRUE)としたところCMD.exeは残ったまま次の処理に移ることはできたのですがこのままプログラムを組んでいくとPROCEDURE内からTHREADを実行するたびにCMD.exeが裏に溜まっていってしまうのでしょうか?

No.3493 2017/02/15(Wed) 18:26:01

Re: PROCEDURE内からTHREADの実行 / stuncloud
> PROCEDURE内からTHREADを実行するたびにCMD.exeが裏に溜まっていってしまうのでしょうか?
THREADかどうかは全く関係ありません
が、DOSCMDで叩いたコマンドが終了しないのであればそうでしょうね

問題はUWSCではなくその実行コマンドにほかならないので
・コマンドプロンプト上で直接試す
・DOSCMDの部分だけ切り出したスクリプトを書いて試す
でうまくいくようになったら本番のスクリプトでうまくいくコマンドを実行するようにしてください
実行コマンドが明かされない以上こちらからの助言は無理なのであとはがんばってください

No.3494 2017/02/15(Wed) 18:51:54

Re: PROCEDURE内からTHREADの実行 / ギン
ありがとうございます。
すいません、コマンドの内容もきちんと書くべきでした。
DOSCMD(”nox.exe -clone:Nox_1”,TRUE,TRUE)
Nox app playerという仮装androidを扱うこのソフト専用のコマンドでエミュレータを一つ指定して起動する、という内容のコマンドです。
これをDOSCMDから実行するとコマンド自体は正常に動作するのですがCMD.exeには何も表示されておらず、手動で何かを打ち込もうとしても何も打ち込めない状態です。
コマンドプロンプト上で直接試すとその後も普通にキーボードを叩けば反応する状態で、exitを入力すれば窓は閉じます。
DOSCMD(”nox.exe -clone:Nox_1”,TRUE,TRUE)のみを実行しても先程と結果は同じでした。

No.3495 2017/02/15(Wed) 19:35:35

Re: PROCEDURE内からTHREADの実行 / しろまさ
,TRUE,TRUE) ではなく
,TRUE,FALSE) では?

No.3496 2017/02/16(Thu) 09:53:30

Re: PROCEDURE内からTHREADの実行 / ギン
CMD.exeが終了しているのかいないのかを確かめる為に今はTRUE,TRUEにしています。
No.3497 2017/02/16(Thu) 13:16:29

Re: PROCEDURE内からTHREADの実行 / しろまさ
なるほど。では、「Exitで終了する」のであれば、Exitを記述して起動しては?
DosCmd("nox.exe -clone:Nox_1;exit", TRUE, TRUE)

No.3498 2017/02/16(Thu) 14:08:00
ウィルスソフトに削除されてしまいます。 / kj
今まで、長年問題なくつかえてましたが、最近、uwsc の exe ファイル を実行すると ウィル対策ソフトにより削除される ことが多いです。uwsc、本体も実行したら削除されました。ウィルス対策ソフトは nifty が提供するソフトです。nifty に 問い合わせるべきことですが、ウィルス対策ソフトに削除されないような、uwsc を作っていただければと思い、投稿いたしました。
No.3480 2017/02/15(Wed) 07:56:29

Re: ウィルスソフトに削除されてしまいます。 / しゅみん
類似なのでココへ
バージョン5.2.3にするとトレンドマイクロのウイルスバスターcorpで警告がでます。
5.2.2では問題ありません。

No.3481 2017/02/15(Wed) 08:43:27

Re: ウィルスソフトに削除されてしまいます。 / しゅみん
訂正
5.2.2も警告でます。
5.2.1は大丈夫。

No.3482 2017/02/15(Wed) 09:20:20

Re: ウィルスソフトに削除されてしまいます。 / stuncloud
ウイルス対策ソフトにはだいたい例外設定があるので、uwsc.exeは削除対象にしないというように設定しておくべきかと思います
No.3487 2017/02/15(Wed) 16:02:53

Re: ウィルスソフトに削除されてしまいます。 / satocha
先ほどhttps://www.virustotal.com/ja/で最新版を一括スキャンしてみたのですが、Trend Microを含むすべてのエンジンで問題は検出されませんでした。

万一を考え、入手経路やPC環境の再確認をおすすめします。

No.3488 2017/02/15(Wed) 16:42:06

Re: ウィルスソフトに削除されてしまいます。 / mogutan
それって無理でしょ。ウイルス対策ソフト側が後から対策を取るのですから。
つまりですね、exeファイルなんだから何でもアリな訳で、それを"脅威"とみなしたメーカーが有ると言う事ですよ。"VirusTotal"での検証では58社中、3社が脅威と判断しているようです。

No.3490 2017/02/15(Wed) 17:10:03

Re: ウィルスソフトに削除されてしまいます。 / mogutan
※補足
↑はUWSC.EXEの事では無く、EXE化したスクリプトの事ね。

No.3491 2017/02/15(Wed) 17:14:59
複数のExcelブックへ複数のUWSCスクリプトから別々の処理をしたい。 / たいし
windows10 64bit
Excel 2013

windows7の時は以下で動作していたのですが
10アップグレード後、数年たって昔のスクリプトを動かすと
前面にあるブックへの書き込みになってしまい、それぞれへの
同時処理ができなくなってしまいました。

修正方法を指南していただけるとありがたいです。


・やりたいこと
 11.xlsx、22.xlsxを開いた状態で
 11.uwsから11.xlsxへの書き込み
 22.uwsから22.xlsxへの書き込み
 を、同時起動して処理したい。

// 11.uws
Excel = GETACTIVEOLEOBJ("Excel.Application", "11.xlsx")
for i = 0 to 100
Excel.ActiveCell.Offset(i, 0).value = "11 " + i
sleep(1)
next

// 11.uws
Excel2 = GETACTIVEOLEOBJ("Excel.Application", "22.xlsx")
for i = 0 to 1000
Excel2.ActiveCell.Offset(i, 0).value = "22 " + i
sleep(1)
next

よろしくお願いいたします。

No.3475 2017/02/11(Sat) 13:41:55

Re: 複数のExcelブックへ複数のUWSCスクリプトから別々の処理をしたい。 / たいし
↑ // 11.uws → // 22.uws 訂正します。すいません
No.3476 2017/02/11(Sat) 16:35:37

Re: 複数のExcelブックへ複数のUWSCスクリプトから別々の処理をしたい。 / miles
> 前面にあるブックへの書き込みになってしまい、
ActiveCellの切り替えがうまくいかないなら、
Row,Columnを取得して、裏で操作したらどうでしょうか?
(必要ならsheet名も取得)

Excel = GETACTIVEOLEOBJ("Excel.Application")
With Excel.WorkBooks("11.xlsx")
 .Activate
 x = Excel.ActiveCell.Row
 y = Excel.ActiveCell.Column
// name = .ActiveSheet.Name
 for i = 0 to 100
  .WorkSheets(1).Cells(x+i, y).value = "11 " + i
//  .WorkSheets(name).Cells(x+i, y).value = "11 " + i
  sleep(1)
 next
EndWith

No.3479 2017/02/14(Tue) 16:45:41
EXCELの行を非表示にしたい / もり
excelで値がセットされていない行を非表示に、セットされている行を表示したいのですが。

宜しくお願いいたします。

No.3477 2017/02/13(Mon) 10:53:16

Re: EXCELの行を非表示にしたい / stuncloud
もう少し要件をつめてください

> 値がセットされていない行
それはその行のすべての列に値がないということですか?それとも特定の列だけ?

フィルタを使いたいという話ですか?
それとも1行1行確認して非表示にしていく?
行の範囲は?

No.3478 2017/02/13(Mon) 11:30:08
AirDroid3.4.0.1のメッセージ作成ボタンが押せません。 / ちっき
AirDroid3.4.0.1とエクセル(EXCEL2016)一覧表を組み合わせて、スマホからショートメールを自動的に送信する動作の記録に挑戦しているのですが、UWSCの「低レベル記録」「高レベル記録」のどちらを利用しても、メッセージ作成ボタンを押すことができません。このような特定のアプリについての不具合の解決は難しいのかもしれませんが、解決方法や代案等について、ご教示いただける方がおりましたら、よろしくお願いいたします。
ちなみに同様の操作をmysmsというソフトでは問題なく操作可能です。

No.3471 2017/02/09(Thu) 20:08:14

Re: AirDroid3.4.0.1のメッセージ作成ボタンが押せません。 / stuncloud
> mysmsというソフトでは問題なく操作可能
なのであればそれ使ったら良いんじゃないですかね?
> 同様の操作
が出来るのならなんの不都合もないはずですし
そのmysmsとやらをUWSCで操作されたらどうでしょう

No.3474 2017/02/10(Fri) 09:44:06
READINIの変数で値を取得について / NER
READINIの変数で値を取得したいのですができません、何か良い方法ないでしょうか?
下記の2つパターンのコードで試しています。

(1つ目パターン)
ID = READINI("ID1","id","C:\Users\ランダム.INI")
ID1 = READINI("ID2","id","C:\Users\ランダム.INI")
ID2 = READINI("ID3","id","C:\Users\ランダム.INI")
ID3 = READINI("ID4","id","C:\Users\ランダム.INI")
ID4 = READINI("ID5","id","C:\Users\ランダム.INI")
ID5 = READINI("ID6","id","C:\Users\ランダム.INI")


for i = 1 to 5
tes="id"+i
print tes
i=i+1
next


(2つ目パターン)

ID = READINI("ID1","id","C:\Users\ランダム.INI")
ID1 = READINI("ID2","id","C:\Users\ランダム.INI")
ID2 = READINI("ID3","id","C:\Users\ランダム.INI")
ID3 = READINI("ID4","id","C:\Users\ランダム.INI")
ID4 = READINI("ID5","id","C:\Users\ランダム.INI")
ID5 = READINI("ID6","id","C:\Users\ランダム.INI")


for i = 1 to 5
tes=id+i
print tes
i=i+1
next

No.3472 2017/02/09(Thu) 22:29:56

Re: READINIの変数で値を取得について / しろまさ
tes=id+i

tes=READINI("ID" + i ,"id","C:\Users\ランダム.INI")
でいいんじゃないですか?

それと i=i+1 は書く意味ないですよ。

No.3473 2017/02/10(Fri) 08:53:51
IEのスクリプトの操作について / やま
http://jp.demotrade.highlow.net/Trading
上記のサイトのスクリプト部分の操作は、どの様にすればよいのでしょうか。
具体的には、取引方法の切り替えと通貨の選択です。
いろいろ試していますが、うまく動作しません。
よろしくお願い致します。

No.3467 2017/02/08(Wed) 09:24:58
既に開いているSleipnirを操作したい / こっこ
通常はIEで行っている処理を、Sleipnirで行いたいです。

既に開いているSleipnirを操作したいのですが
IEの時に使うGETACTIVEOLEOBJは利用できないのでしょうか。
もし利用できないのであれば、これに代わるものはありますか。

GETACTIVEOLEOBJ("Sleipnir.API")とすると
COM_ERROR:操作を利用できません と表示されて動きません。
ちなみに、CreateOLEobj("Sleipnir.API")では正常に新規画面が開きます。

なんだか単純な質問で申し訳ないのですが
調べても分かりませんでして、よろしくお願い致します。

No.3462 2017/02/06(Mon) 23:33:58

Re: 既に開いているSleipnirを操作したい / stuncloud
> GETACTIVEOLEOBJ("Sleipnir.API")とすると
これはむりです
既に開いてるものでも
> CreateOLEobj("Sleipnir.API")
すれば操作できたはずなんだけどだめですか?
そういう使い方してた気がするんだけどな、記憶違いだったかな…

No.3463 2017/02/07(Tue) 11:16:20

Re: 既に開いているSleipnirを操作したい / こっこ
ありがとうございます!

> CreateOLEobj("Sleipnir.API")
これで認識されているようです。

助かりました。本当にありがとうございました。

No.3466 2017/02/07(Tue) 23:47:07
ランチメニュの簡素化について / タカハシ
WriteIniの第3引数をtitl、pathの交互に出力する処理がなかなか思い浮かびません。
何か良い方法ないでしょうか?

sec="LUNCHMENU"
t_path="C:\Users\aruke\Desktop\T1.txt"
t_path1="C:\Users\aruke\AppData\Roaming\UWSC\UWSC.INI"
Dim res = test_hairetu(t_path)

for i in res
print "WriteIni(<#DBL>LUNCHMENU<#DBL>,<#DBL>"+i+"<#DBL>,path,t_path1)"
next


function test_hairetu(t_path)
fid = FOPEN(t_path,F_READ or F_WRITE)
list = FGET(fid,F_LINECOUNT) //---ファイル内の行数を返す
Dim アカウント[list] //---配列の宣言
count=1
for i = 0 to list-1
 アカウント[i] = FGET(fid,count) //---配列:アカウントに挿入
count=count+1
next
FCLOSE(fid)
result = slice(アカウント, 0, length(アカウント)-1)
fend

上記のコードでは下記になる。
WriteIni("LUNCHMENU","T1",path,t_path1)
WriteIni("LUNCHMENU","s1",path,t_path1)
WriteIni("LUNCHMENU","T2",path,t_path1)
WriteIni("LUNCHMENU","s2",path,t_path1)
WriteIni("LUNCHMENU","T3",path,t_path1)
WriteIni("LUNCHMENU","s3",path,t_path1)
WriteIni("LUNCHMENU","T4",path,t_path1)
WriteIni("LUNCHMENU","s4",path,t_path1)
WriteIni("LUNCHMENU","T5",path,t_path1)
WriteIni("LUNCHMENU","s5",path,t_path1)
WriteIni("LUNCHMENU","T6",path,t_path1)
WriteIni("LUNCHMENU","s6",path,t_path1)


【したい処理】
WriteIni("LUNCHMENU","T1",titl,t_path1)
WriteIni("LUNCHMENU","s1",path,t_path1)
WriteIni("LUNCHMENU","T2",titl,t_path1)
WriteIni("LUNCHMENU","s2",path,t_path1)
WriteIni("LUNCHMENU","T3",titl,t_path1)
WriteIni("LUNCHMENU","s3",path,t_path1)
WriteIni("LUNCHMENU","T4",titl,t_path1)
WriteIni("LUNCHMENU","s4",path,t_path1)
WriteIni("LUNCHMENU","T5",titl,t_path1)
WriteIni("LUNCHMENU","s5",path,t_path1)
WriteIni("LUNCHMENU","T6",titl,t_path1)
WriteIni("LUNCHMENU","s6",path,t_path1)


【T1.txt】
T1
s1
T2
s2
T3
s3
T4
s4
T5
s5
T6
s6

No.3459 2017/02/06(Mon) 15:05:56

Re: ランチメニュの簡素化について / しろまさ
// pathが不明ですが。。

sec="LUNCHMENU"
t_path="C:\Users\aruke\Desktop\T1.txt"
t_path1="C:\Users\aruke\AppData\Roaming\UWSC\UWSC.INI"
path="pathはなんだろか?"
fid = FOPEN(t_path, F_READ or F_WRITE)
  for i = 0 to FGET(fid, F_LINECOUNT)-1 step 2
    WriteIni(sec, FGET(fid,i ), path, t_path1)
    WriteIni(sec, FGET(fid,i+1), path, t_path1)
  next
FCLOSE(fid)

No.3461 2017/02/06(Mon) 17:10:01

Re: ランチメニュの簡素化について / タカハシ
しろまさ様、すごいです、できました。こういう発想ができるのがうらやましい。

  for i = 0 to FGET(fid, F_LINECOUNT)-1 step 2
    WriteIni(sec, FGET(fid,i ), path, t_path1)
    WriteIni(sec, FGET(fid,i+1), path, t_path1)
  next

No.3465 2017/02/07(Tue) 23:44:50
テキストファイルを配列で読込、出力すると4行のテキストと先頭に空白行が出力される理由 / タカハシ
テキストファイルにある4行のテキストを配列で読込、print文で出力すると先頭に空白行が入り2行目から4行のテキスト出力されます。先頭に空白行が入らないようにする方法ないでしょうか?
下記のコードでやっています。

t_path="C:\Users\配列URL.txt"

fid = FOPEN(t_path,F_READ or F_WRITE)
list = FGET(fid,F_LINECOUNT) //---ファイル内の行数を返す
Dim アカウント[list] //---配列の宣言
for i = 1 to list
 アカウント[i] = FGET(fid,i) //---配列:アカウントに挿入
next
FCLOSE(fid)


【C:\Users\配列URL.txtの内容 4行のテキスト】

//aaaaaaa.net/wp-admin/hhhhh
//aaaaaaa.net/wp-admin/hhhhh?paged=2
//aaaaaaa.net/wp-admin/hhhhh?paged=3
//aaaaaaa.net/wp-admin/hhhhh?paged=4

【print分出力結果】

空白行
//aaaaaaa.net/wp-admin/hhhhh
//aaaaaaa.net/wp-admin/hhhhh?paged=2
//aaaaaaa.net/wp-admin/hhhhh?paged=3
//aaaaaaa.net/wp-admin/hhhhh?paged=4

No.3456 2017/02/06(Mon) 12:19:37

Re: テキストファイルを配列で読込、出力すると4行のテキストと先頭に空白行が出力される理由 / しろまさ
配列は0からなので アカウント[list] とすると0,1,2,3,4で要素は5です。

print文が記載されてませんが、配列0から読んでませんか?

No.3457 2017/02/06(Mon) 13:06:59

Re: テキストファイルを配列で読込、出力すると4行のテキストと先頭に空白行が出力される理由 / タカハシ
しろまさ様、回答ありがとうございます。count変数の設置とforを0から指定で解決できました。

function test_hairetu(t_path)
fid = FOPEN(t_path,F_READ or F_WRITE)
list = FGET(fid,F_LINECOUNT) //---ファイル内の行数を返す
Dim アカウント[list] //---配列の宣言
count=1
for i = 0 to list-1
 アカウント[i] = FGET(fid,count) //---配列:アカウントに挿入
count=count+1
next
FCLOSE(fid)
result = slice(アカウント, 0, length(アカウント)-1)
fend

No.3458 2017/02/06(Mon) 13:30:36

Re: テキストファイルを配列で読込、出力すると4行のテキストと先頭に空白行が出力される理由 / しろまさ
FGET(fid, i+1)

これでいいんじゃないかな?

No.3460 2017/02/06(Mon) 16:51:17

Re: テキストファイルを配列で読込、出力すると4行のテキストと先頭に空白行が出力される理由 / タカハシ
しろまさ様、回答ありがとうございます。
確かにFGET(fid, i+1)でこれでできますね、失礼致しました。

No.3464 2017/02/07(Tue) 23:40:00


 過去ログ(〜2017/03/22)・検索ツール


以下のフォームに記事No.と投稿時のパスワードを入力すれば
投稿後に記事の編集や削除が行えます。
199/200件 [ ページ : << 1 ... 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 >> | 過去ログ ]