全然更新しないブログ
HSPメモ帳
「gettime」で時刻表示
カテゴリー: HSP Ver2.61 ・ ブログ関連 ・・・ 人気blogランキング |
「gettime」
現在の年、月、日、曜日、時、分、秒、ミリ秒を取得します。
- gettime p1,p2
- p2に以下左の数値をいれると
以下右の数値がp1に代入されます。
0 年(Year)
1 月(Month)
2 曜日(DayOfWeek)
3 日(Day)
4 時(Hour)
5 分(Minute)
6 秒(Second)
7 ミリ秒(Milliseconds)
screen 0,250,20 : title "アラーム時計サンプル" font "",12 color : boxf dim time,8 sdim week,2,7 sdim timedata,64 week="日","月","火","水","木","金","土" objsize 40,20 pos 210,0 : button "♪",*set *main redraw 0 gettime time.0,0 gettime time.1,1 gettime day,2 gettime time.2,3 gettime time.3,4 gettime time.4,5 gettime time.5,6 gettime time.6,7 color : boxf color 255,255,255 timedata=""+time.0+"/"+time.1+"/"+time.2 timedata+="("+week.day+") " timedata+=""+time.3+":"+time.4+":"+time.5+"."+time.6 pos 5,5 :mes ""+timedata redraw 1 if (time.3=a)&(time.4=b):a=-1:b=-1:dialog "時間ですよ" wait 10 goto *main *set screen 2,170,40 : title "アラーム設定" cls 1 : font "",12 color a=time.3 : b=time.4+1 pos 50,15 : mes "時" pos 110,15 : mes "分" pos 10,10:input a,30,20 pos 70,10:input b,30,20 objsize 40,20 : pos 130,10 button "OK",*ok stop *ok gsel 2,-1 gsel 0 goto *main |
![]() |
コメント ( 0 ) | Trackback ( 0 )
ステルスっぽいウィンドウ作成
カテゴリー: HSP Ver2.61 ・ ブログ関連 ・・・ 人気blogランキング |
マウスが近づくと消えるウィンドウ作成
他のソフト作業中でもマウスが近づくと
ウィンドウが消えるシャイなウィンドウです。
ginfo 3でウィンドウ右下のスクリーンサイズを取得して
クライアント領域にマウスが来たときに
gsel 0,-1でウィンドウを隠しています。
方法としてはいまいちです。
「gettime」に関してはこちらを参照。
screen 0,620,70 : title "時刻" color : boxf font "",64 flag=0 *main ginfo 3:hide=prmx-winx,prmy-winy,prmx,prmy ginfo 0 if (hide.0<prmx)&(hide.2>prmx)&(hide.1<prmy)&(hide.3>prmy){ gsel 0,-1:flag=1 } else{ if flag=1 : flag=0 : gsel 0,1 } redraw 0 color:boxf color 255,255,255 gettime time.0,0 gettime time.1,1 gettime time.2,3 gettime time.3,4 gettime time.4,5 gettime time.5,6 pos 5,5 mes ""+time.0+"/"+time.1+"/"+time.2+" "+time.3+":"+time.4+":"+time.5 redraw 1 wait 10 goto *main |
クライアント領域にマウスが移動するとウィンドウが消えます。 それ以外は表示したままです。 |
コメント ( 0 ) | Trackback ( 0 )
半透明のウィンドウ作成
カテゴリー: HSP Ver2.61 ・ ブログ関連 ・・・ 人気blogランキング |
半透明のウィンドウ作成
ウィンドウ全体を半透明にすることで、
隠れていた下を見る事ができます。
半透明にした所で利用用途はあまり思いつきませんが・・・
アクセサリー的なソフトくらいでしょうか。
|
参照(「gettime」 、マウスが近づくと消えるウィンドウ) 透明率指定の箇所の120を変更することで透明率が変わります |
#include "llmod.as" screen 0,580,70:title "透明ウィンドウサンプル" font "",64 mref bmscr,67 prm=bmscr.13,-20 dllproc "GetWindowLongA",prm,2,D_USER prm.0=bmscr.13 prm.1=-20 prm.2=dllret|0x00080000 dllproc "SetWindowLongA",prm,3,D_USER //透明率指定 prm=bmscr.13,0,120,2 dllproc "SetLayeredWindowAttributes",prm,4,D_USER flag=0 *main ginfo 3:hide=prmx-winx,prmy-winy,prmx,prmy ginfo 0 if (hide.0<prmx)&(hide.2>prmx)&(hide.1<prmy)&(hide.3>prmy){ gsel 0,-1:flag=1 } else{ if flag=1 : flag=0 : gsel 0,1 } redraw 0 color:boxf color 255,255,255 gettime time.0,0 gettime time.1,1 gettime time.2,3 gettime time.3,4 gettime time.4,5 gettime time.5,6 pos 5,5 mes ""+time.0+"/"+time.1+"/"+time.2+" "+time.3+":"+time.4+":"+time.5 redraw 1 wait 10 goto *main |
コメント ( 0 ) | Trackback ( 0 )
テキスト検索ソフト(仮)
◆一覧リスト:HSP Ver2.61・ブログ関連・その他 ・・・ 人気blogランキング |
テキスト検索ソフト(仮)-未完成
![]() |
コメント ( 0 ) | Trackback ( 0 )
乱数について
◆一覧リスト:HSP Ver2.61 ブログ関連 ・・・ 人気blogランキング |
乱数は、ゲーム作成等に使用されます。
そのほかの使用例として、 ファイルの暗号化 もあります。
乱数を発生させる方法
- 「randomize」命令を使用する
randomize p1
p1(乱数の初期パラメーター):0~(不定)を指定
指定しない場合はWINDOWSタイマの値が使用されるために
「rnd」命令使用毎に数値が変化します。
する場合はp1の数値が同じなら「rnd」命令の結果は同じです。
- 「rnd」命令を使用する
rnd p1,p2
p1:乱数の結果が代入される変数
p2:乱数の最大値(1~32768)
例)rnd r,10
rに0~9の数値が代入されます
初期パラメータを空白にするとWINDOWSタイマの値になります ※重要箇所は青文字にしています |
screen 0,300,300 : title "乱数テスト" sdim mb,65536 ip1="" : ip2="" objsize winx,25 color 192,192,192 : boxf color pos 5 , 28 : mes "初期パラメーター:" pos 5 , 53 : mes "乱数の最大値 :" pos 0 , 0 : button "乱数発生",*ransuu pos 150 , 25 : input ip1,100,25 pos 150 , 50 : input ip2,100,25 pos 0 , 75 : mesbox mb,winx,winy-75,1 stop *ransuu int ip2 if ip2>32768 : ip2=32768 if ip2<1 : ip2=1 mb="" : notesel mb if ip1=""{ //引数が無しの場合、「rnd」の乱数が変化します randomize noteadd "初期パラメーター:不定な値",-1 } else{ int ip1 //引数が同じ場合、「rnd」の乱数は固定です randomize ip1 noteadd "初期パラメーター:"+ip1,-1 } noteadd "乱数の最大値 :"+ip2,-1 rp=0 repeat 100,1 //0から「ip2」-1の数値が「r」に入ります rnd r,ip2 rp+=r noteadd ""+cnt+":"+r,-1 loop noteadd "合計:"+rp,0 objprm 3,mb str ip1 : str ip2 stop |
![]() |
コメント ( 0 ) | Trackback ( 0 )
« 前ページ | 次ページ » |