HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0621
djo繰り返す処理で5解決


djo

リンク

2009/6/21(Sun) 16:23:39|NO.25913

独学で勉強ををしているのですが、また行きずまってしまいました。
ご教授お願いします。


繰り返しをさせる際のプログラムで、
repeat と loopでその間を繰り返すことができると思うのですが、
repeat だと回数指定で、時間指定ができません。

10秒間この処理を繰り返すなどはどのようにすれば、いいのでしょうか。


教えてください、お願いします。



この記事に返信する


通りすがりC

リンク

2009/6/21(Sun) 16:28:27|NO.25914

gettimeとかの時間取得する関数と、break使えば出来る気がする。
gettimeより、Windowsが起動してからの時間取得した方が計算は楽だけども。



check

リンク

2009/6/21(Sun) 16:29:38|NO.25915

gettime命令を使ってもいいが、1分経ったときの処理などがめんどくさいので、
APIを使うことを勧める。


#include "winmm.as" timeGetTime countstart = stat //Windowsが経過してからの時間を取得(ミリ秒) repeat timeGetTime nowcnt = stat - countstart //現在の経過時間を取得 title "" + nowcnt / 1000 + "秒経過" //ミリ秒を秒に直してタイトルに表示 if nowcnt > 10000 : break //10秒経っていたらループをぬける await 1 loop title "終了"



GENKI

リンク

2009/6/21(Sun) 16:31:21|NO.25916

d3timerでループ開始前とループ中の時刻を取得。
時間差を見てbreak。

d3timerはd3moduleの命令だから、スクリプトの一番最初に

#include "d3m.hsp"
を忘れずに入れること。

各命令については必ずF1キー押してマニュアルを熟読すること。
わからなくてもいいから必ず読むこと。(最重要)



Hiroaki Software

リンク

2009/6/21(Sun) 16:34:47|NO.25919

>d3timer
それwinmm.dllのtimeGetTimeと同じというかそのもの

d3timerはd3moduleのモジュール内で

;=========================================================== ; タイマー機能モジュール ;=========================================================== ; ms タイマー ;----------------------------------------------------------- #uselib "winmm.dll" #cfunc global d3timer "timeGetTime"
と定義されています



djo

リンク

2009/6/21(Sun) 20:20:31|NO.25943

返答、ありがとうございます。
F1も一緒に熟読しながら、いろいろ試しながら、
がんばってやってみます。


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



ONION software Copyright 1997-2023(c) All rights reserved.