[ 掲示板に戻る ]

過去ログ閲覧モード

IFBでfukidasiを個々の画面に応じて切替。 / ぽんきち
fukidasiテロップを個々の画面に応じて切り替えるにはどのようにしたらいいでしょうか?GETIDから画面情報を取得しそれを判別するのでしょうか?UWSC初心者なので詳しく教えて下さい。
No.2559 2016/06/28(Tue) 23:35:43

Re: IFBでfukidasiを個々の画面に応じて切替。 / ある
状況が想定しにくいのでもう少し具体的に書かれた方が答えやすいかもです。
例えばyahooからgoogleに切り替わった時にfukidasi文字を「yahooです」を「googleだよ」としたいのであればgetidとstatus、あるいはgetactiveoleobjなど使えばいけます。画面を監視し続ける場合はwhile trueが一般的です。

No.2560 2016/06/29(Wed) 07:21:58

Re: IFBでfukidasiを個々の画面に応じて切替。 / ぽんきち
済みません、例えば携帯などのデータ移行ツール(アプリ)の操作をを自動化。
UWSC起動 → アプリ起動 → xxキーを押して下さい(仮想キー) →  次の画面へ → 自動作業 MMV(座標)BTN(left、click、xx)等々・・・ → 次の携帯に取り換えますか?→ 接続 → 繰り返し/スペース選択 → 繰り返し/終了処理。
などの操作補助的な説明を個々の画面と同時に切り替えたいと思っております。因みに通電(USB)しているかの判断、判別などUWSCではできませんよね?
サンプルコードもあるのですが、中を確認するにダイアログボックスの値で判断しているのではないかなっと思うのですが。それとwhile文とIFB文はかなり使用しているコードです。分かりにくい説明で本当に失礼なのですが、ご教示頂きたく思います。><;

No.2567 2016/06/29(Wed) 19:28:29

Re: IFBでfukidasiを個々の画面に応じて切替。 / ある
コードもアプリもわからない以上何とも言えないですが、
ウインドウタイトルやウインドウ中の文字取得はできると思いますよ(サンプル#N30とか)。
どこで困っているかもイメージがつかず、お力になれず申し訳ないです。

No.2569 2016/06/29(Wed) 21:02:50

Re: IFBでfukidasiを個々の画面に応じて切替。 / ぽんきち
因みに、SENSOR関数に詳しいでしょうか?電流を感知したら起動するということはできるでしょうか?
一部コードを記載します。現在は下記の様にmsgboxにて起動判断をしEXECでリンク先から立ち上げて操作を開始するような形になっています。私もすべて把握しているわけではないので、下記のコードを見てここから先がどうなってるか分からないとどうしようもない、っという箇所があれば言ってください、記載します。宜しくお願いします。

PUBLIC msgx = 100
PUBLIC msgy = 100

m_px=200
m_py=200
f_at=0
f_size=30
f_kind=20
ok_f_color=0
ok_b_color=$00FF00
n_b_color=0

err_m_px=200
err_m_py=200
f_color=0
ng_f_color=$0000FF

// アプリ起動

ifb MsgBox("起動しますか?", BTN_YES or BTN_NO) = BTN_YES


s="電源をONし設定できる状態にして下さい。"+"<#cr>"
// Fukidasi(s, 100, 100, 0, 20)
Fukidasi(s, m_px, m_py, f_at, f_size, f_kind, ok_f_color, n_b_color)
endif
  while true

  ifb GETKEYSTATE(VK_SPACE) then
break
endif

wend

s="起動中。しばらくお待ちください。"+"<#cr>"
// Fukidasi(s, 100, 100, 0, 20)
Fukidasi(s, m_px, m_py, f_at, f_size, f_kind, ok_f_color, n_b_color)

//endif // test

// アプリ 起動
ICE_ID = GETID("xxxxxxxxxxxxxxxxxxxxxxxxxx")
ifb ICE_ID < 0 // 存在してなければ起動
ICE_ID = EXEC("xxxxxxxxxxxxxxxxxxxxxxxxx")

// 検知
ACW(GETID("xxxxxxxxxxxxxxxxxxxxxxxx"),-4,-4,1374,746,0)

No.2570 2016/06/29(Wed) 22:46:54

Re: IFBでfukidasiを個々の画面に応じて切替。 / ある
残念ながらSENSORは一度も触ったことがなく、また試せる環境もないです。
No.2571 2016/06/30(Thu) 06:04:30
再生(またはストリーミング放送)していないVLCを消す方法を教えて下さい / すすむ
VLCメディアプレイヤーで、再生していないまたは、ストリーミング放送してない
終了しているVLCメディアプレイヤー全部を消す方法を教えて下さい

自分である程度、知恵をしぼってクラス名取得などをしたんですが
うまく組み合わせができませんでした。

再生時のクラス名 : VLC video output 0195FA28
停止時のクラス名 : QWidget

FOR SSS=1 TO 50
VID = GETID("VLCメディアプレイヤー","QWidget",0.1)
IF VID < 0 THEN Break
CTRLWIN( VID , CLOSE)
NEXT

これで、QWidgetを終了させると再生している物まで消去していしまいます
QWidgetは再生していてもしてなくても、窓枠のタイトルのクラス名がQWidgetであるために
判別ができずに一緒に消去されてしまうのです。

どうやって分別つけて振り分けて消せば良いのか、良いお知恵を下さい。m(__)m

No.2565 2016/06/29(Wed) 16:31:01

Re: 再生(またはストリーミング放送)していないVLCを消す方法を教えて下さい / すすむ
すいません。自己解決しました
GETALLWIN関数を見つけて試行錯誤したらいけました。

n = GETALLWIN()
IFB n > 0
FOR i = 0 TO (n - 1)
AL2= STATUS(ALL_WIN_ID[i], ST_TITLE)
IF AL2="VLCメディアプレイヤー" Then CTRLWIN(ALL_WIN_ID[i],CLOSE)

NEXT
ENDIF

No.2566 2016/06/29(Wed) 18:09:37
IEで確認ダイアログを表示せずに画面を閉じる / rin
初心者です。

スクリプトの終了時に「ウィンドウは、表示中のWebページにより閉じられようとしています。
このウィンドウを閉じますか?」と表示されます。

この確認ダイアログを表示させずに終了する方法はありますか。

宜しくお願い致します。

No.2552 2016/06/27(Mon) 10:30:20

Re: IEで確認ダイアログを表示せずに画面を閉じる / しゅん
再現する最小のスクリプトを提示すれば、アドバイスがつくかもしれませんよ!
ただ単にUWSCからIE開いて閉じても、ダイアログは出ませんからね。
(どういう条件で出るか忘れました)

No.2556 2016/06/28(Tue) 19:35:14

Re: IEで確認ダイアログを表示せずに画面を閉じる / stuncloud
window.close() が呼ばれた場合に
>「ウィンドウは、表示中のWebページにより閉じられようとしています。
>このウィンドウを閉じますか?」

のプロンプトが表示されます

ただ、それをUWSCでやるとしたら例えば
ie.document.parentWindow.close()
なんてことをしなければならないのですが、わざわざこんな書き方しないですよね…?

あるとすれば window.close() を呼ぶボタンやリンクをクリックした場合?
そうであれば、それらのボタンまたはリンクを押さずに ie.Quit() すれば良いと思います

No.2563 2016/06/29(Wed) 10:25:18

Re: IEで確認ダイアログを表示せずに画面を閉じる / rin
しゅん様、stuncloud様ご返信ありがとうございます。

stuncloud様に教えて頂いた方法でダイアログを表示せずに
画面を閉じることが出来ました。

ありがとうございました。

No.2564 2016/06/29(Wed) 14:05:03
8桁のランダムなアルファベット数字の文字列を作成したい(先頭はアルファベット) / シスイ
8桁のランダムなアルファベット数字の文字列を作成したい(先頭はアルファベット)を作成したいのですが、下記のスクリプトでは先頭が数字になる場合があります。

先頭はアルファベットで数字とアルファベットの組み合わせの文字列の作成する方法ないでしょうか?
宜しくお願いします。

IDPASS = “” //文字列10個出力 FOR A = 1 TO 10 //文字数は8文字 FOR B = 1 TO 8 IDPASS = IDPASS + RETURNCHAR() NEXT IDPASS = IDPASS + “” NEXT SENDSTR(EXEC(“NOTEPAD”),IDPASS) FUNCTION RETURNCHAR() LETTER = CHR(97 + RANDOM(26)) //アルファベットの小文字、大文字、数字を出す SELECT RANDOM(3) CASE 0 //小文字はそのまま RESULT = LETTER CASE 1 //大文字を出す場合は変換 RESULT = STRCONV(LETTER,SC_UPPERCASE) CASE 2 //数字の場合は0〜9をランダムに出す RESULT = RANDOM(10) DEFAULT RESULT = LETTER SELEND FEND

No.2538 2016/06/24(Fri) 03:56:33

Re: 8桁のランダムなアルファベット数字の文字列を作成したい(先頭はアルファベット) / stuncloud
// RETURNCHAR()をちょっと手直しして引数でTRUEを渡すと数値を返さないようにする

IDPASS = RETURNCHAR(TRUE) // 1文字目は数値なしを受ける
for i = 2 to 8
 IDPASS = IDPASS + RETURNCHAR() // 2〜8文字目は数値も含む
next
msgbox(IDPASS)

FUNCTION RETURNCHAR(exludeNumber = FALSE)
 LETTER = CHR(97 + RANDOM(26)) //アルファベットの小文字、大文字、数字を出す
 if exludeNumber then n = 2 else n = 3 // exludeNumberがTRUEの場合はcase 2に行かないようにする
 SELECT RANDOM(n)
  CASE 0 //小文字はそのまま
   RESULT = LETTER
  CASE 1 //大文字を出す場合は変換
   RESULT = STRCONV(LETTER,SC_UPPERCASE)
  CASE 2 //数字の場合は0〜9をランダムに出す
   RESULT = RANDOM(10)
  DEFAULT
   RESULT = LETTER
 SELEND
FEND

No.2539 2016/06/24(Fri) 09:54:33

Re: 8桁のランダムなアルファベット数字の文字列を作成したい(先頭はアルファベット) / シスイ
stuncloudさん  返信ありがとうございます。さっそく試してみたのですが、確かに8桁のランダムなアルファベットを1つ作成できました。これを10個、1つのメモ帳に入力したいのですが、色々やってみてみメモ帳が10個開き、メモ帳1つ1つに1つの8桁が入力になってしまいます。
何か、良い方法はありませんでしょうか?


// RETURNCHAR()をちょっと手直しして引数でTRUEを渡すと数値を返さないようにする

IDPASS = ""
//文字列10個出力
FOR A = 1 TO 10
IDPASS = RETURNCHAR(TRUE) // 1文字目は数値なしを受ける
for i = 2 to 8
 IDPASS = IDPASS + RETURNCHAR() // 2〜8文字目は数値も含む
next


 IDPASS = IDPASS + RETURNCHAR() // 2〜8文字目は数値も含む

SENDSTR(EXEC("NOTEPAD"),IDPASS)
next
FUNCTION RETURNCHAR(exludeNumber = FALSE)
 LETTER = CHR(97 + RANDOM(26)) //アルファベットの小文字、大文字、数字を出す
 if exludeNumber then n = 2 else n = 3 // exludeNumberがTRUEの場合はcase 2に行かないようにする
 SELECT RANDOM(n)
  CASE 0 //小文字はそのまま
   RESULT = LETTER
  CASE 1 //大文字を出す場合は変換
   RESULT = STRCONV(LETTER,SC_UPPERCASE)
  CASE 2 //数字の場合は0〜9をランダムに出す
   RESULT = RANDOM(10)
  DEFAULT
   RESULT = LETTER
 SELEND
FEND

No.2542 2016/06/24(Fri) 12:22:50

Re: 8桁のランダムなアルファベット数字の文字列を作成したい(先頭はアルファベット) / stuncloud
exec("notepad") を10回やっているからです
メモ帳を開くのは一回だけにすればいいです

id = exec("notepad") // 予め開いとく
for A = 1 to 10
 // 省略
 SENDSTR(id, IDPASS + "<#CR>") // 書き込むときに改行を付け加えると10個それぞれ別の行になる
next

単純にテキストファイルに書き出したいだけならメモ帳に書くのではなくfopen, fput, fcloseを使ったほうが良いです

No.2543 2016/06/24(Fri) 13:41:47

Re: 8桁のランダムなアルファベット数字の文字列を作成したい(先頭はアルファベット) / リキュール
これではどうでしょうか。

// RETURNCHAR()をちょっと手直しして引数でTRUEを渡すと数値を返さないように

する
IDPASS = ""
//文字列10個出力
FOR A = 1 TO 10
IDPASS = IDPASS + RETURNCHAR(TRUE) // 1文字目は数値なしを受ける
for i = 2 to 8
  IDPASS = IDPASS + RETURNCHAR() // 2〜8文字目は数値も含む
next
 IDPASS = IDPASS + "<#CR>" // 連続したい場合はこの行を削除
next
SENDSTR(EXEC("NOTEPAD"),IDPASS)
//以下同じ

No.2544 2016/06/24(Fri) 14:39:03

Re: 8桁のランダムなアルファベット数字の文字列を作成したい(先頭はアルファベット) / シスイ
stuncloudさん ありがとうございます、できました。

最終的にしたいことがエクセルのA1からA10にランダムに作成した数字文字列を入力したいのですが、色々試してみた所、A1からA10に同じランダムな数字文字列が入力になってしまいます。
何か、良い方法ありませんでしょうか?


Excel = XLOPEN("hoge.xlsx")

id = exec("notepad") // 予め開いとく
IDPASS = ""
//文字列10個出力
FOR A = 1 TO 10
IDPASS = RETURNCHAR(TRUE) // 1文字目は数値なしを受ける
for i = 2 to 8
 IDPASS = IDPASS + RETURNCHAR() // 2〜8文字目は数値も含む
next


 IDPASS = IDPASS + RETURNCHAR() // 2〜8文字目は数値も含む
XLSETDATA( Excel, IDPASS + "<#CR>", "a1:a10")

next
FUNCTION RETURNCHAR(exludeNumber = FALSE)
 LETTER = CHR(97 + RANDOM(26)) //アルファベットの小文字、大文字、数字を出す
 if exludeNumber then n = 2 else n = 3 // exludeNumberがTRUEの場合はcase 2に行かないようにする
 SELECT RANDOM(n)
  CASE 0 //小文字はそのまま
   RESULT = LETTER
  CASE 1 //大文字を出す場合は変換
   RESULT = STRCONV(LETTER,SC_UPPERCASE)
  CASE 2 //数字の場合は0〜9をランダムに出す
   RESULT = RANDOM(10)
  DEFAULT
   RESULT = LETTER
 SELEND
FEND

No.2545 2016/06/24(Fri) 18:44:52

Re: 8桁のランダムなアルファベット数字の文字列を作成したい(先頭はアルファベット) / シスイ
リキュールさんの方法でできました、ありがとうございます。

最終的にしたいことがエクセルのA1からA10にランダムに作成した数字文字列を入力したいのですが、色々試してみた所、A1からA10に同じランダムな数字文字列が入力になってしまいます。
何か、良い方法ありませんでしょうか?


Excel = XLOPEN("hoge.xlsx")

id = exec("notepad") // 予め開いとく
IDPASS = ""
//文字列10個出力
FOR A = 1 TO 10
IDPASS = RETURNCHAR(TRUE) // 1文字目は数値なしを受ける
for i = 2 to 8
 IDPASS = IDPASS + RETURNCHAR() // 2〜8文字目は数値も含む
next


 IDPASS = IDPASS + RETURNCHAR() // 2〜8文字目は数値も含む
XLSETDATA( Excel, IDPASS + "<#CR>", "a1:a10")

next
FUNCTION RETURNCHAR(exludeNumber = FALSE)
 LETTER = CHR(97 + RANDOM(26)) //アルファベットの小文字、大文字、数字を出す
 if exludeNumber then n = 2 else n = 3 // exludeNumberがTRUEの場合はcase 2に行かないようにする
 SELECT RANDOM(n)
  CASE 0 //小文字はそのまま
   RESULT = LETTER
  CASE 1 //大文字を出す場合は変換
   RESULT = STRCONV(LETTER,SC_UPPERCASE)
  CASE 2 //数字の場合は0〜9をランダムに出す
   RESULT = RANDOM(10)
  DEFAULT
   RESULT = LETTER
 SELEND
FEND

No.2546 2016/06/24(Fri) 18:46:41

Re: 8桁のランダムなアルファベット数字の文字列を作成したい(先頭はアルファベット) / リキュール
id = exec("notepad") // この行は不要
XLSETDATA( Excel, IDPASS + "<#CR>", "a1:a10")
これを
Excel.sheets("Sheet1").cells(A,1).Value = IDPASS //"Sheet1"は実際の名前を使用
に変更ではどうですか。

No.2547 2016/06/24(Fri) 19:25:14

Re:別の方法(参考までに) / Liners
Excel = GETACTIVEOLEOBJ("Excel.Application") // 起動中のExcel

For i = 1 to 10
  Excel.Cells(i, 1).Value = IDPASS()
Next

Function IDPASS()
  Result = ""
  For i = 1 to 8
    Result = Result + Copy("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890", random(62) + 1 -(i = 1)*10, 1)
  Next
Fend

No.2549 2016/06/25(Sat) 11:15:38

Re: 8桁のランダムなアルファベット数字の文字列を作成したい(先頭はアルファベット) / シスイ
リキュールさん、できました、ありがとうございます。
No.2550 2016/06/25(Sat) 22:05:15

Re: 8桁のランダムなアルファベット数字の文字列を作成したい(先頭はアルファベット) / シスイ
Linersさん、できました、この簡潔なソースでしたい処理を考えれるなんて素晴らしいです。
No.2551 2016/06/25(Sat) 22:07:08
Rec-IEについて / カフェオレ
Rec-IEについて質問です。

Javascript:void(0)と表示されてるボタンが押せず、記録することが出来ません。


これをクリアするには、どうすればよいのでしょうか?

よろしくお願いします。

No.2536 2016/06/24(Fri) 00:42:22

Re: Rec-IEについて / routa
右クリックからの「クリック処理」は試されましたか。
No.2548 2016/06/24(Fri) 22:57:23
エクセルの特定のセルにあるメルアドをiniファイルに書込する方法 / シスイ
エクセルの特定のセル、例えばA1にあるメルアドの文字列を、iniファイルに下記のように書込する方法ないでしょうか?

[メルアド1]
メールアドレス=A1にあるメルアドの文字列

No.2537 2016/06/24(Fri) 03:55:37

Re: エクセルの特定のセルにあるメルアドをiniファイルに書込する方法 / stuncloud
Excel = XLOPEN("hoge.xlsx")
A1 = XLGETDATA(Excel, "A1")
WRITEINI("メルアド1", "メールアドレス", A1, "hoge.ini") // hoge.iniに書き込み
XLCLOSE(Excel)

No.2540 2016/06/24(Fri) 10:01:44

Re: エクセルの特定のセルにあるメルアドをiniファイルに書込する方法 / シスイ
stuncloudさん   ありがとうございました。作業の効率化を図ることができました。
No.2541 2016/06/24(Fri) 11:54:28
HYPER SBI / みっつ
HYPER SBIという株ソフトに関してですが
座標が認識されず、自動操作を記録できません。
何か良い方法はありませんでしょうか。

No.2530 2016/06/22(Wed) 02:44:32

Re: HYPER SBI / FAQ
これ
http://www.uwsc.info/faq.html#N29

No.2535 2016/06/23(Thu) 03:26:52
CREATEFORMでこのページは表示できませんと表示される / よし
CREATEFORMでEXEで実行すると『このページは表示できません』と表示される。

ソースで実行すると画面は正常に表示されます。

宜しくお願いいます。

No.2509 2016/06/17(Fri) 13:45:20

Re: CREATEFORMでこのページは表示できませんと表示される / routa
変数でファイル名を指定していませんか。
変数ではなく直に書きましょう。

No.2510 2016/06/17(Fri) 20:59:13

Re: CREATEFORMでこのページは表示できませんと表示される / しろまさ
昔の記憶で・・

Exe化するとCREATEFORM時はHTMLを外部ファイルから読み込むのがNGだったような。
スクリプト内にTextBlockで書けばOKだったような。。

No.2523 2016/06/21(Tue) 08:27:18

Re: CREATEFORMでこのページは表示できませんと表示される / stuncloud
exe化すると指定したHTMLファイルも一緒に取り込まれます
フォームを表示する際にHTMLファイルが%TEMP%に展開されてそこから読み出されているようです
なのでHTMLファイルが%TEMP%にうまく書き出せない、読み取れない等のトラブルがあった場合はこうなるかもしれません
試しに展開されたファイルのアクセスコントロールで読み取りを拒否してみたら予想通り「このページは表示できません」になりました

No.2526 2016/06/21(Tue) 12:13:43

Re: CREATEFORMでこのページは表示できませんと表示される / しろまさ
stuncloudさんへ
あ、そういう意味ではなく、例えば可変パスでExe化時に取り込めず、
Exe実行後に外部ファイルを読み込んで表示しようとした場合です。
複数のHTMLを条件で切り替えて表示など。

よしさんへ
エラーを再現できる最低限のコードを提示して下さい。
予想で話しても時間の無駄かと。Exe化はこちらで行いますので。

No.2531 2016/06/22(Wed) 10:52:53

Re: CREATEFORMでこのページは表示できませんと表示される / stuncloud
>Exe実行後に外部ファイルを読み込んで表示しようとした場合です。
ああ、なるほど…そういうことでしたか

その場合はそれらのファイルを%TEMP%に置けば動くかな?と以下で試してみました

html = slctbox(SLCT_BTN or SLCT_STR, 0, "えらぶ", "a.html", "b.html")
if html = -1 then exit
createform(html, html, FALSE)

結果、exeファイルと同じディレクトリに a.html と b.html が置いてあれば正常動作しました
今はHTMLファイルを外に置いておいても大丈夫みたいですね

select slctbox(SLCT_BTN, 0, "えらぶ", "a.html", "b.html")
case SLCT_1
createform("a.html", "a", FALSE)
case SLCT_2
createform("b.html", "b", FALSE)
selend

ファイル名をリテラルで書いた場合はそれぞれが取り込まれて%TEMP%に展開されていました

No.2533 2016/06/22(Wed) 12:11:24

Re: CREATEFORMでこのページは表示できませんと表示される / しろまさ
ほー。ちょっと面白くなってきたw
カレントならOKと。では階層下げてみると・・・?

ダメでした><

相対指定もGET_CUR_DIRも無効。不思議なものだ。
普段COMしか使わないから新しい発見でした。ありがとうございます^^

No.2534 2016/06/22(Wed) 15:08:35
busywaitが通用しません / 初級
Windows7のIE11上のスクリプトで、どんなにひどい回線遅延でも止まらずに処理を繰り返せるようにするために、
Web上で重いと評判のサイトでbusywait試験をしているのですが、どうにもフリーズしてしまいます。
http://tricotrico.seesaa.net/
というブログですが、何度か試行しているとIEが無応答状態に陥り、UWSCのマクロも固まります。
IE.busyやIE.readystate絡みの判定ループ処理も一度くらいしか通用しないようです。
こういうサイトでもクラッシュしないスクリプトを作りたいのですが、何か良い処理はないでしょうか?

No.2532 2016/06/22(Wed) 11:02:29
5.2.2にしたら処理が遅くなった件 / ゆきちさん
掲題のとおり、手製のスクリプトをuwscのver5.2.2にバージョンアップして、実行したところ、処理が遅くなった。

処理速度の比較は5.2.1としています。

実行環境は、win7 home 32bit

chkimgかsleepの処理箇所が遅くなっている気がします。


尚、win8、win10の64bitについては、処理速度が速くなった。

No.2529 2016/06/22(Wed) 01:38:04
全796件 [ ページ : << 1 ... 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 80 >> ]