[ 掲示板に戻る ]

過去ログ閲覧モード

スケジュール設定について / 田中
指定した時間から5分おきとか10分おきに動かす様なスケジュール設定はできますでしょうか?
もしできるのであれば、朝7時から5分おきに動かす場合の設定方法を教えてください。
宜しくお願いします。

No.588 2014/12/17(Wed) 06:27:11

Re: スケジュール設定について / koi
>朝7時から5分おきに動かす
直接的な方法ではないですが
スクリプトを2つ作って7時にスクリプト1を起動
スクリプト1でスクリプト2を一定時間ごとに起動するようにするのではだめですか?
時間間隔はiniファイルなどで変更可能にしておけば
時間変えるときにスクリプトを変更する必要もありません

もしくはタスクスケジューラなどで7時にUWSCを起動
起動時とインターバル毎にスクリプトを動かす  とか

スクリプトの内容次第ですが 別プロセスで実行 の
オプションは必要になるかもしれません

No.589 2014/12/17(Wed) 13:34:50

Re: スケジュール設定について / 田中
ありがとうございました。
タスクスケジューラで動かすことにしました。

No.592 2014/12/17(Wed) 18:55:10

Re: スケジュール設定について / とおりすがり
HH>6 AND NN MOD 5=0 とか
No.593 2014/12/17(Wed) 22:28:52
CALLした時について / ざっく
下の用に記述すると呼び出したモジュールの中に入っている変数strはBfile.strで呼び出せたのですが・・

Bfile.処理()で関数を呼び出そうとしたところ
「FEND文がありません」とか「関数が入れ子になっている」とエラーが出ます。


CALL先ファイルの関数を呼び出し元でも自由に呼び出すという表現は正確ではないのかもしれませんが、

一番最初に行われるモジュール呼び出しでAfileモジュールを実行して、
次にCALLでBfileのBfileモジュールが呼ばれ処理()がモジュール呼び出しできるようになると思っていたのですが、うまくいきません。(Bfile.strはできるみたいです)

任意のタイミングでAfile側からBfile.処理()をしようとしています。

おかしなところや代替案があれば回答よろしくお願いします。




一つ目のファイルの記述----Afile.UWS

Bfile.処理()

MODULE Afile
PUBLIC CALL Bfile.UWS() //パス指定
ENDMODULE


二つ目のファイルの記述----Bfile.UWS

PROCEDURE 処理()

PRINT "testtest"

FEND


CLASS Bfile

PUBLIC str = "test"
PROCEDURE 処理()

ENDCLASS

No.587 2014/12/16(Tue) 22:50:29

Re: CALLした時について / stuncloud
// class/module関数はclass/module内で定義します

CLASS Bfile
 PUBLIC str = "test"

 PROCEDURE 処理()
  PRINT "testtest"
 FEND
ENDCLASS

No.590 2014/12/17(Wed) 13:41:46

Re: CALLした時について / ざっく
解決しました。

CALLした時に不具合があったのではと思っていたのですが違ったんですね。

恥ずかしながら、モジュール内で一度も関数を使った事がありませんでした。

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

No.591 2014/12/17(Wed) 14:54:01
(No Subject) / yuuta
CLKITEM関数のアイテム一覧にない種類のアイテムの
クリック(選択)イベント発生は、可能でしょうか?

具体的には、Windowアプリ版のピクチャーボックス及びラベルになります。

No.580 2014/12/15(Mon) 15:46:49

Re: / routa
CLK_ACCを指定してみてダメなら
座標を指定して BTN関数で処理するしかないかも。

No.584 2014/12/16(Tue) 20:39:37
ランチメニューの英語つづり / Ken Skywalker
もしかすると、わざとかもしれないので、そうならば、無視してください。もし、意図していないならば、かえていただければと思います。
英語モードでuwscをつかうと、日本語のランチメニューという項目がLunch Menuになっています。普通は、Launch MenuかLaunch Settingかと思います。Jokeとしてはおもしろいのですが、私は、アメリカに住んでいて、アメリカ人に使わせたいので(たぶん、Pro版買います)、ちょっと微妙かなとおもいます。

No.582 2014/12/16(Tue) 10:34:29
初歩的な質問 / テニス爺さん
IEの複製を作ろうとして「新規セッション」というボタンを押したいのですがどうしてもうまくいきません。イカのスクリプトは間違っているでしょうか。よろしくお願いします。

Serv= CreateOLEObj("InternetExplorer.Application")
Serv.visible=true
愛知(Serv)

p=GetId("ネットあいち 施設予約システム")
msgbox ( p)

kk=CLKITEM(p, "新規セッション", CLK_MENU)

msgbox (kk)


//-------------------------------
Procedure 愛知(ie)
IE.Navigate("https://www4.pref.aichi.jp/yoyaku/index.jsp")
BusyWait(ie)
Fend

Procedure BusyWait(ie)
 repeat
  Sleep(0.1)
 until (! ie.busy) and (ie.readyState=4)
 Sleep(0.2)
Fend

No.572 2014/12/14(Sun) 09:27:14

Re: 初歩的な質問 / Nagatani
指定のアドレスには「新規セッション」というボタンがないので
「施設予約システムに入る」か「ご利用上の注意」ならIESETDATAを使います。
スクリプトは下記のとおりです。

Public IE
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True

IE.Navigate("https://www4.pref.aichi.jp/yoyaku/index.jsp")
BusyWait()
SLEEP(5)

//施設予約システムに入る
IESetData(IE,True,"tag=img","yoyaku/image/enter.gif")
BusyWait()
Sleep(2)

//ご利用上の注意
//IESetData(IE,True,"tag=img","yoyaku/image/notice.gif")
//BusyWait()
//Sleep(2)


/// BusyWait
Procedure BusyWait()   // 更新待ち処理
Const TIME_OUT = 30 //30秒迄は待ってみる
Tm = Gettime()
repeat
Sleep(0.3)
IF GetTime() - Tm > TIME_OUT THEN Exit
UNTIL (! IE.Busy) and (IE.ReadyState=4)
Fend

No.573 2014/12/14(Sun) 21:19:02
STATUS関数に関する質問 / ミリアム
ずーっと気になってたのですが。
STATUS関数の、取得項目の定数に

ST_ICON     // アイコン状態であればTrue、でなければFalse

とあるのですが。
なぜ「最小化」ではなくて「アイコン化」なのでしょうか?


アイコン状態って言葉は聞いたことがありませんでした。
「最小化」のほうが一般的だと思うのですが…

No.553 2014/12/08(Mon) 10:03:25

Re: STATUS関数に関する質問 / satocha
大昔の言い方ですね。
アットマークITのタスクバーの説明
@IT > @IT総合検索 > Insider's Computer Dictionary > [タスク・バー]
の中に、次のような記述があります。もしかして、UWSCってWin3.xでも使える?

http://www.atmarkit.co.jp/icd/root/70/5785370.html

 Windows 95登場以前のWindows(Windows 3.1まで)では、現在表示しているウィンドウを最小化すると、そのウィンドウに対応するアイコンがデスクトップに表示されるようになっていた。つまり、複数のウィンドウを切り替えて使うときに、一時的に使わないウィンドウを同じデスクトップ上で小型化する(アイコン化する)という方式である。

No.554 2014/12/08(Mon) 12:41:28

Re: STATUS関数に関する質問 / ミリアム
返信遅れてすみません。

Windowsなのにタスクバーが無いなんていう時代があったんですね!
聞いたこともありませんでした。

回答ありがとうございました!

No.571 2014/12/13(Sat) 23:24:08
OpenOfficeのcalcに日付を書き込む方法 / chumpgose
OpenOfficeのcalcにXLSETDATAで日付を書き込みたいのですが、シリアル値を設定すると元々日付に設定してあるセルが整数に戻ってしまいました。そこで2014/12/12という文字列を送ると、頭に'が付いたものが入ってしまいます。何かいい方法がありましたら、お教えくださると幸いです。
No.561 2014/12/12(Fri) 10:54:26

Re: OpenOfficeのcalcに日付を書き込む方法 / routa
セルの書式設定が日付になっているか確認しましょう。
シリアル値を文字型で設定していませんか。

No.565 2014/12/12(Fri) 23:28:43

Re: OpenOfficeのcalcに日付を書き込む方法 / chumpgose
確認してみると、ご指摘の通りそこだけ日付になっていませんでした。
ご回答ありがとうございました。

No.568 2014/12/13(Sat) 00:02:24
execで実行ファイルがない場合 / ftakara
exec関数で自前のexeファイルを実行する際、ファイルがない場合エラーが出ないですが、これは正常でしょうか。ファイルがない場合メッセージを出力してスクリプトを終了させたいのですが、方法はありますでしょうか。
No.562 2014/12/12(Fri) 17:12:52

Re: execで実行ファイルがない場合 / Liners
if exec("LTB3") = -1 then msgbox("ファイルがないよ〜") // 戻り値で判断
No.563 2014/12/12(Fri) 20:58:06

Re: execで実行ファイルがない場合 / ftakara
有難うございました。。
No.567 2014/12/12(Fri) 23:59:45
範囲チェックをするプログラム / ざっく
範囲チェックをするプログラムを書いているんですけど
下のプログラムはランダム関数を代入した値を足したり引いたりする事で範囲が変わるようにしてあります。

directionLimit = 3
WHILE
rand1 = RANDOM(20)

  FOR abcgroup.回数 = -5 TO 100 STEP 1
  
    IFB rand1 - VAL(directionLimit) >=0 AND rand1 + VAL(directionLimit) <= VAL(abcgroup.回数 - 1)
     PRINT "test1"
    ELSE
     PRINT "test2"
    ENDIF
    
  NEXT
WEND

//コンストラクタ
MODULE abcGroup
 
PUBLIC 回数 = 0
ENDMODULE




しかし、このプログラムは何故か無限ループが起きることがあるようです。ランダム関数を使っているので無限ループになるのは考えにくいのですが・・
変わりにIFBの判定部分を下のmyBetween関数を二回呼んで代替させる事で無限ループは起きなくなりました。

これが何故なのかよくわからないです。
型はVAL関数を呼ぶことで全てint型にしてあります。
VAL関数の使い方は合っているでしょうか?
気のせいだったらごめんなさい。
FUNCTION myBetween(intMin, intMax, intNumber)

IFB (intMin <= intNumber) AND (intMax >= intNumber)

flag = true
ELSE
flag = false
ENDIF

RESULT = flag

FEND

No.556 2014/12/10(Wed) 20:56:48

Re: 範囲チェックをするプログラム / ざっく
すいません。質問文に不足がありました。
IFBの判定がtrueだったら処理が終了するように
IFBのtrue部の最後に「BREAK 2」を追加してください

No.557 2014/12/10(Wed) 21:04:01

Re: 範囲チェックをするプログラム / stuncloud
非常にもうしわけないんですが、スクリプトを見ても何が目的かわからないので助言が難しいです
whileに式がなかったりするのでこれが全容ではないのだと思いますが、何か不足があったりしませんか?
あるいはもう少し具体的に何をしたいのか(何のどういった範囲なのか等)がわかれば、何かしらの助言が出来るのではないかと思います

無限ループについてはちょっとわかりかねますが、たまたまrand1に3以下の数値が入り続ければまぁ、ずっと回りますよね

valは数値に変換出来そうな文字列を数値にしてくれる関数です
また、vartypeをしてみるとわかりますが残念ながらintにもなりません

directionLimit = 3
print vartype(directionLimit) //5 (double)
print vartype(val(directionLimit)) //5 (double)

やるとしたら vartype(directionLimit, VAR_INTEGER) ですが、実際のところこの程度であればUWSCがうまいこと処理してくれるので、特に何かする必要はないですね

No.558 2014/12/11(Thu) 17:58:25

Re: 範囲チェックをするプログラム / ざっく
WHILE文の条件はtrueですね。抜けていました。

詳しくは言えないのですが、結果がランダムじゃないとダメなんですよね・・範囲は1〜100のような整数なんですけど

他の部分を見直したら安定して動いています。申し訳ないのですが見間違いだったみたいです。

色々教えていただきありがとうございました。

No.566 2014/12/12(Fri) 23:40:53
IE を別セッションで開きたいです / テニス爺さん
今まで s1=createOLEobj("internetExplorer.Application")
s2=createOLEobj("internetExplorer.Application") とやって二つのIEを起動していましたが、どうも修理中にこんがらがってエラーになってしまいます。
手動でIEの新規セッションを開くとうまくいきます。どうしたらいいのでしょうか。
マニュアルにはありませんでしたが、s1=createOLEobj"internetExplorer.Application"、1)というのはやってみました。
ご教示お願いします。

No.560 2014/12/12(Fri) 09:44:27

Re: IE を別セッションで開きたいです / Liners
IE8以降の通常起動では、セッションが共有化されます。その為別セッションにするには
?@レジストリを弄る。
?Aメニューの新規セッションを開く操作をUWSCで行う
?Biexplore.exe -nomerge などnomergeオプションで起動しGETACTIVEOLEOBJ

なおIE8以降の変更の為か直接のCOM操作は、見つけられませんでした。

No.564 2014/12/12(Fri) 22:01:02
全1170件 [ ページ : << 1 ... 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 ... 117 >> ]