|
| ̤²ò·è |
| ²ò·è |
| Ää»ß |
| ºï½üÍ×ÀÁ |
|
2015/11/12(Thu) 18:18:41|NO.72960
Á°¥¹¥ì¤Ï°Ê²¼¤Ç¤¹¡£
http://hsp.tv/play/pforum.php?mode=all&num=70762
¥ë¡¼¥ë¤Ï°Ê²¼¤Î2¤Ä¤Ç¤¹¡£
¡¦¥½¡¼¥¹¥³¡¼¥É°Ê³°¤ÎµÄÏÀ(Ãøºî¸¢¡¦¥Þ¥Ê¡¼Åù)¤äÏäϹԤï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
¡¦¤³¤Î¥¹¥ì¥Ã¥É¤ËÅê¹Æ¤µ¤ì¤¿¥½¡¼¥¹¥³¡¼¥É¤ÏÃøºî¸¢¤Ë´Ø¤·¤ÆµºÜ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¥Ñ¥Ö¥ê¥Ã¥¯¥É¥á¥¤¥ó(Ãøºî¸¢¥Õ¥ê¡¼)¤È¤·¤Þ¤¹¡£
¤³¤³¤«¤é¤ÏË°¤¯¤Þ¤Ç¤â¡Ö¤ª´ê¤¤¡×¤Ç¤¹¡£
1¹Ô¤¢¤¿¤êºÇÂç100byt(Ⱦ³Ñ100ʸ»ú¡¢Á´³Ñ50ʸ»ú)Äø¤Ë¤ª´ê¤¤¤·¤Þ¤¹¡£
¤½¤ì°Ê¾å¤À¤È¥Ú¡¼¥¸¤Î¥ì¥¤¥¢¥¦¥È¤¬Êø¤ì¡¢¸«¤Å¤é¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¥½¡¼¥¹¥³¡¼¥É¤ÎŤµ¤Ï300¹Ô°Ê¾å¤Î¾ì¹ç¡¢Â¾¤Î¥µ¥¤¥È¤ËµºÜ¤·URL¤òŽ¤Ã¤Æ失¤ë¤È¡¢
¡Ö¤á¤Ã¤Á¤ã¥¹¥¯¥í¡¼¥¹¤·¤Ê¤¤ã¤¤¤±¤Ê¤¤¤·¤³¤Î¥¹¥ì½Å¤¹¤®¡ª¡×¤È¤¤¤¦»öÂÖ¤òÈò¤±¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
Î㤨¤ÐGoogleDrive¡¢OneDriveÅù¤Ë¥½¡¼¥¹¥³¡¼¥É¤òÅê¹Æ¤·¡¢°ìÈ̸ø³«¤¹¤ë¤È¤¤¤¦ÊýË¡¤Ç¤¹¡£
¤³¤ÎÊýË¡¤Î¾ì¹ç¡¢¥Ð¥°¤¬¸å¤«¤é¸«¤Ä¤«¤Ã¤Æ¤â´Êñ¤Ë½¤Àµ¤Ç¤¤ë¤È¤¤¤¦ÍøÅÀ¤â¤¢¤ê¤Þ¤¹¡£
|
|
2015/11/12(Thu) 18:42:19|NO.72962
X¼´¡¢Y¼´¤Î¥Þ¥¦¥¹´¶ÅÙ¤ò¸ÄÊ̤ËÄ´À°¤Ç¤¤Þ¤¹¡£
¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ¤¤¤ëÉôʬ¤ò̵¤¯¤»¤Ð¥¦¥£¥ó¥É¥¦Ã±°Ì¤Ç¤â¤Ç¤¤ë¤Þ¤¹¡£
#include "user32.as"
¥¦¥£¥ó¥É¥¦Ì¾="¥á¥âÄ¢"
XÇÜΨ="2.0"
YÇÜΨ="2.0"
pos 5,10:mes "Âоݥ¦¥£¥ó¥É¥¦:"
pos 5,40:mes "XÀ©¸ÂÎÌ:"
pos 5,70:mes "YÀ©¸ÂÎÌ:"
pos 130,10:input ¥¦¥£¥ó¥É¥¦Ì¾,100,20,100
pos 70,40:input XÇÜΨ,50,20,5
pos 70,70:input YÇÜΨ,50,20,5
Ãæ¿´mx=double(ginfo_mx)
Ãæ¿´my=double(ginfo_my)
mxbac=ginfo_mx
mybac=ginfo_my
acwinT=""
gsel 0,2
repeat
/*if cnt\100000=0:{//¥¢¥¯¥Æ¥£¥Ö¥¦¥£¥ó¥É¥¦¤Î¸¡½Ð
GetForegroundWindow
hnd = stat
a = ""
z = 128
GetWindowText hnd, varptr(acwinT), z
}
if instr(acwinT,0,¥¦¥£¥ó¥É¥¦Ì¾)!-1:{
title "À©¸Â͸ú ¥¢¥¯¥Æ¥£¥Ö¥¦¥£¥ó¥É¥¦:"+acwinT+""*/
mx=ginfo_mx
my=ginfo_my
Ãæ¿´mx+double(mx-Ãæ¿´mx)/limitf(double(XÇÜΨ),0.1,20.0)
Ãæ¿´my+double(my-Ãæ¿´my)/limitf(double(YÇÜΨ),0.1,20.0)
mouse_event $1 | $1, int(Ãæ¿´mx-mx), int(Ãæ¿´my-my), 0, 0
/*}else:title "À©¸Â̵¸ú ¥¢¥¯¥Æ¥£¥Ö¥¦¥£¥ó¥É¥¦:"+acwinT+""*/
await
loop
|
|
2015/11/12(Thu) 20:09:27|NO.72965
¼ÁÌä
£±¡§¡Ö¤Á¤ç¤Ã¤È¤·¤¿¡×¤Î°ÕÌ£¹ç¤¤¤Ï¡©
¡û¿ôÀé¹Ô¤â¤¢¤ë¤¬ÆâÍƤÏÂ礷¤¿¤³¤È¤Î̵¤¤¡Ö¤Á¤ç¤Ã¤È¤·¤¿¡×
¡û½½¿ô¹Ô¤À¤±¤É¡¢¤¢¤ë¤ÈÊØÍø¤Ê¡Ö¤Á¤ç¤Ã¤È¤·¤¿¡×
¡û¤¤¤Ä¤â¿ÍѤ·¤Æ¤¤¤ë°ÂÄꤷ¤¿¡Ö¤Á¤ç¤Ã¤È¤·¤¿¡×
¡û¤ï¤¶¤ï¤¶¹Í¤¨¤¿ÉÔ°ÂÄê¤ÇÉÔ¶ñ¹ç¤Î¿¤¤¡Ö¤Á¤ç¤Ã¤È¤·¤¿¡×
£²¡§¡Ö¥½¡¼¥¹¥³¡¼¥É¤ÎµÄÏÀ¡×¤Ê¤é±ä¡¹¤È³¤±¤Æ¤âÎɤ¤¡©
¿¾¯¤Î½¤Àµ¤Ï¤·¤ç¤¦¤¬Ìµ¤¤¤È¤·¤Æ¤â¡¢±ä¡¹¤È¡Ö¤¢¤¢¤Ç¤â¤Ê¤¤¤³¤¦¤Ç¤â¤Ê¤¤¡×¤Î
µÄÏÀ¤ò·«¤êÊÖ¤µ¤ì¤ë¤Î¤Ï¥¹¥ì¥¿¥¤¤ËÈ¿¤¹¤ë¤Î¤Ç¤Ï¡©
µÄÏÀ¤·¤Æ¤¤¤ëËܿͤϥ¹¥ì¤ÎºÇ¸å¤ÎÊý¤À¤±¸«¤ì¤ÐÎɤ¤¤±¤É¡¢½é¤á¤Æ¸«¤ë¿Í¤Ï¥¹¥ì
¤ÎºÇ½é¤«¤é¸«¤Ê¤¤¤È°ÕÌ£¤¬Ê¬¤«¤é¤Ê¤¤¡£
Á°¤Î¥¹¥ì¤Ç¤â½ñ¤¤Þ¤·¤¿¤¬¡¢°Æ¤ÎÄê¤Î¸åȾ¤Ç¤·¤¿¤è¡©
¤³¤ÎÊÕ¤ò¤É¤¦¹Í¤¨¤ë¤Î¤«¤Ï¥¹¥ì¼ç¤Î¼«Í³¤Ç¤¹¤¬¡¢¡ÖÅê¹Æ¤¹¤ë¡×¤È¤¤¤¦¥¹¥ì¥¿¥¤
¤Ê¤é¡¢ËÜÍè¤Ï¡ÖµÄÏÀ¤â¶Ø»ß¤¹¤ë¤Ù¤¡×¤È¤¤¤¦¸Ä¿ÍŪ°Õ¸«¤Ç¤¹¡£
|
|
2015/11/12(Thu) 20:16:41|NO.72966
llmod3/console.hsp¤ò»È¤ï¤Ê¤¯¤Æ¤â¤Ç¤¤ë¡ÖÁȤ߹þ¤ß¥³¥ó¥½¡¼¥ë¡×
HSP¤Çºî¤Ã¤Æ¤¤¤ë¡¤Donaldows¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È¤Ï¡¤wparam
¤Ç¥¡¼È½Äê¤ò¤·¤Æ¡¤¤½¤Î¥¡¼ÈÖ¹æ¤Îʸ»úÎó¤òÊÖ¤·¤Þ¤¹¤¬¡¤¤½¤ì¤ÏÂçÊÑÊ£»¨¤Ê»ÅÁȤߤǤ¹¡£
º£²ó¤Î¥½¡¼¥¹¤Ç¤Ï¡¤¥¡¼¥Ü¡¼¥É¤ÎÈÖ¹æ¤ò¤½¤Î¤Þ¤ÞcnvwtosÌ¿Îá¤Ç»²¾È¤·¤Þ¤¹¡£
Î㡧¥¡¼¥Ü¡¼¥É¡ÖA¡×¥¡¼¤Ï¡¤wparam=65¡£Unicode¥³¡¼¥É¤ÇA¤ËÊÑ´¹
¡¡¡¡A¢ÍA
¤È¤¤¤¦É÷¤Ë¡¤HSP 3.4¤Ç¼ÂÁõ¤µ¤ì¤¿µ¡Ç½¤Ç´Êά²½¤È¥½¡¼¥¹¤Îû½Ì¤Ë¸ú²Ì¤òȯ´ø¤·¤Æ¤¤¤Þ¤¹¡£
¡Ì¥½¡¼¥¹¥³¡¼¥ÉURL¡Í http://seatex.webcrow.jp/embed/source/konsole.hsp
¡Ì¥Û¡¼¥à¥Ú¡¼¥¸(¹©»öÃæ¤Ç¤¹¤¬)¡Í http://seatex.webcrow.jp/
|
|
2015/11/12(Thu) 20:24:01|NO.72967
¤´¤á¤ó¤Ê¤µ¤¤¡¤Unicode¥³¡¼¥É¤ÇA¤ËÊÑ´¹¡¡¤È¡¡A¢ÍA¡¡¤ÎÉôʬ¤Ç¤¹¤¬
Åê¹Æ»þ¤Ë¡¤Unicodeʸ»ú¼ÂÂλ²¾È¥³¡¼¥É¤ò¡õamp¤Ç¡õ°Ê¹ß¤ò¼ÂÂλ²¾È¥³¡¼¥É¤È¤·¤Æǧ¼±
¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Ï¤º¤À¤Ã¤¿Éôʬ¤òA¤ÈËÜÅö¤Ëµ½Ò¤·¤¿¤Î¤ÇA¢ÍA¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
|
|
2015/11/12(Thu) 20:49:42|NO.72968
>>KA¤µ¤ó
¡Ö¤Á¤ç¤Ã¤È¤·¤¿¡×¤Ï¡Ö¤ï¤¶¤ï¤¶¥¹¥ì¤òΩ¤Æ¤ëÄø¤Ç¤â¤Ê¤¤¡×¤È¤¤¤¦°ÕÌ£¹ç¤¤¤Ç¤¹¡£
½¾¤Ã¤Æ¿ô½½¹Ô~400¹Ô°Ì¤Ç¡¢¤¢¤ë¤ÈÊØÍø¡¦¤¤¤Ä¤â¿ÍѤ·¤Æ¤ë¡¦ÉÔ°ÂÄê¤À¤±¤É¤â¤Ã¤¿¤¤¤Ê¤¤¤«¤é¸ø³«¤·¤¿¤¤
¤È¤¤¤¦¤è¤¦¤Ê¥×¥í¥°¥é¥à¤¬ÂоݤǤ¹¡£
¥½¡¼¥¹¥³¡¼¥É¤ÎµÄÏÀ¤Ç¤¹¤¬¡¢³Î¤«¤Ë½ñ¤Êý¤¬Û£Ëæ¤Ç¤·¤¿¤Í¡£
²ñÏäΥ¥ã¥Ã¥Á¥Ü¡¼¥ë¤Ï¹ç·×5¥ì¥¹¤Ç¼ý¤Þ¤ë¤è¤¦¤ËÅØÎϤ·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ÎÏä˴ؤ·¤Æ»ä¤Ï¤¢¤È1¥ì¥¹¤òºÇ¸å¤Ë¤·¤Þ¤¹¡£
|
|
2015/11/12(Thu) 21:31:15|NO.72969
¥½¡¼¥¹¥³¡¼¥É°Ê³°¤ÎµÄÏÀ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¤¬¡¢
º£¤µ¤é¤Ç¤¹¤¬¤³¤¦¤·¤Æ°ì¤Ä¤Î·Ç¼¨ÈĤΥ¹¥ì¥Ã¥É¤Ë½ñ¤¤³¤à¤Î¤Ï¡¢HSPWiki¤Ë°ìÍ÷¤ò¤Ä¤¯¤ë¤Ê¤É¤·¤Æ¤âõ¤·¤Ë¤¯¤¯·ë¶É»È¤ï¤ì¤Ê¤¤µ¤¤¬¤·¤Þ¤¹¡£¤ï¤¿¤·¤¬¤³¤¦½ñ¤¯¤Î¤Ï¤ª¤«¤·¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¾¯¤Ê¤¯¤È¤â¤ï¤¿¤·¤Î¾ì¹ç¤¢¤Þ¤ê¤Ë¤â¿¤¯¤Æ»È¤¨¤Þ¤»¤ó¡£
y.tack¤µ¤ó¤ÎWiki( http://zuzazann.boy.jp/wiki/)¤Î¤è¤¦¤Ê¤È¤³¤í¤Ë½ñ¤¤³¤à¤Î¤Ï¤É¤¦¤Ç¤·¤ç¤¦¤«¡£¤¿¤Ày.tack¤µ¤ó¤ÎWiki¤Î¾ì¹ç¤Ïy.tack¤µ¤ó¤ËÌÂÏǤ«¤â¤·¤ì¤Þ¤»¤ó¡£
¤ï¤¿¤·¤Ï´ÉÍý¼Ô¤Ç¤â¤Ê¤ó¤Ç¤â¤Ê¤¯¤¿¤À¤Î¤³¤Î·Ç¼¨ÈĤò»È¤ï¤»¤Æ¤â¤é¤Ã¤Æ¤¤¤ë¤À¤±¤Ç¤¹¤Î¤Ç¡¢¤³¤ó¤Ê¤³¤È¤ò½ñ¤¤³¤à¤Î¤Ï;·×¤Ê¤ªÀ¤Ï䫤⤷¤ì¤Þ¤»¤ó¡£ÌÂÏǤǤ¢¤ì¤Ð¤³¤ÎÅê¹Æ¤Ïºï½ü¤·¤Þ¤¹¡£
return¤ò¤Ä¤±Ëº¤ì¤¿»þ¤Ëȯ¸«¤·¤¿¤Á¤ç¤Ã¤È¤·¤¿¤³¤È
#deffunc¤ÎÉôʬ¤Ë¾å¤«¤éÆþ¤ì¤Ð¡¢°ú¿ô¤Î¥¹¥¿¥Ã¥¯¤ò¤½¤Î¤Þ¤Þ½èÍý¤·¤Æ¤¯¤ì¤ë
#module
#deffunc hyouji str d
#deffunc dummy int h
dupptr moji,h,1,vartype("str")
mes moji
return
#deffunc hyouji2 int dd,int ddd
#deffunc dummy2 double hh
mes hh
return
#global
hyouji "ʸ»ú¤òɽ¼¨"
a=4.5
hyouji2 lpeek(a,0),lpeek(a,4)
|
|
2015/11/12(Thu) 21:47:04|NO.72970
ËͤΤȤ³¤ËºÜ¤»¤ë¤Î¤ÏÂç´¿·Þ¤Ç¤¹£÷
µÕ¤Ë¤â¤¦°ì¸Ä¡¡¥½¥ìÍѤËpukiwikiÍÑ°Õ¤·¤¿Êý¤¬¤¤¤¤¤Ê¤éÍÑ°Õ¤·¤Þ¤¹¤è¡¼£÷
HSPwiki¤è¤êËͤó¤È¤³¤ÎÊý¤¬Îɤ¤Íýͳ¤Ï¤ï¤«¤ê¤Þ¤»¤ó¤¬£÷
|
|
2015/11/13(Fri) 01:21:18|NO.72977
¤¤¤¤´¶¤¸¤ËµÄÏÀ¤Ð¤«¤ê¤Î¥¹¥ì¤Ë¡Ä
¡Ö¤Á¤ç¤Ã¤È¤·¤¿¥½¡¼¥¹¥³¡¼¥É¤òÅê¹Æ¤¹¤ë¥¹¥ì¡ÚµÄÏÀÀìÍѡۡפäƥ¹¥ìºî¤Ã¤È¤¤¤Æ¡¢¤ä¤ê¼è¤ê¤¬°ìÄê¿ôĶ¤¨¤¿¤é¡Ö¤¸¤ã¤¢Â³¤¤Ï¤¢¤Ã¤Á¤Ç¡ª¡×¤Ã¤ÆÀë¸À¤·¤ÆµÄÏÀÍÑ¥¹¥ì¤Ë°ÜÆ°¤¹¤ë¤è¤¦¤Ë¤¹¤ì¤Ð¤¤¤¤¤È»×¤¦¡£
¤Ç¡¢½½Ê¬µÄÏÀ¤·¤¿¤é¡¢Ìá¤Ã¤Æ¤¤Æ·ë²Ì¤ò¤Þ¤È¤á¤ÆÊó¹ð¡¢¤È¤«¡¢¥Ð¥°½¤Àµ¤¬½ª¤ï¤Ã¤¿¥¹¥¯¥ê¤òÅê¹Æ¤È¤«¡£
ºÇ½é¤Î¡Ö¤ä¤ê¼è¤ê¤¬°ìÄê¿ô¡Ä¡×¤Ï¡¢¥ì¥¹¤¹¤ë¤È¤¤Ëº£²¿²óÌܤȤ«¤¢¤È²¿²ó¤È¤«¥«¥¦¥ó¥È¤â½ñ¤¹þ¤ó¤Ç¤ª¤¯¤Î¤â¤¤¤¤¤«¤â¡£
>º£¤µ¤é¤Ç¤¹¤¬¤³¤¦¤·¤Æ°ì¤Ä¤Î·Ç¼¨ÈĤΥ¹¥ì¥Ã¥É¤Ë½ñ¤¤³¤à¤Î¤Ï¡¢HSPWiki¤Ë°ìÍ÷¤ò¤Ä¤¯¤ë¤Ê¤É¤·¤Æ¤âõ¤·¤Ë¤¯¤¯·ë¶É»È¤ï¤ì¤Ê¤¤µ¤¤¬¤·¤Þ¤¹¡£
wiki¤ËºÜ¤»¤ë¤Ë¤·¤Æ¤â¡¢Ê¬ÎàÀ°Íý¤·¤Ê¤¤¤È¸«¤Ä¤±¤é¤ì¤Ê¤¤¤Ç¤·¤ç¤¦¤Í¡£
°ìÍ÷ºîÀ®¤Ï¤½¤Î¤¿¤á¤Î½àÈ÷¤«¤Ê¡£
|
|
2015/11/13(Fri) 16:23:23|NO.72983
Àκî¤Ã¤¿ÁÇ°ø¿ôʬ²ò¤Î¥¹¥¯¥ê¥×¥È¤Ç¤¹¡£
¿ô»ú¤òÆþ¤ì¤Æ¥ê¥¿¡¼¥ó¤¹¤ë¤À¤±¡ÊÈ¿±þ¤¬°¤¤¡Ë¡£
screen 0,420,75,0
objmode 2,0
title "°ø¿ôʬ²ò"
TEX=""
NUM1=2
pos 0, 0 : input NUM1,100,25,10
pos 110, 5 : mes "ÆþÎÏ¤Ï 2 ¤«¤é 2,147,483,647 ¤Þ¤Ç¤ÎÀ°¿ô"
pos 0,25 : mesbox TEX,420,50,0
repeat
wait 10
getkey KY,13
if ky=0 : continue
gosub *main
loop
stop
;-----------------------------------
*main
NUM=NUM1
if (2>NUM)|(NUM>$7FFFFFFF) {dialog "ÈϰϤ¬Ìµ¸ú¤Ç¤¹",0 : return }
dim BNM,100,2 ;½ü¿ô¤È¾è¿ô¤ÎÆþ¤ìʪ
SNM=2 ;½ü¿ô
QTY=0
TEX=""+NUM+" = "
repeat
;-----------------------------------
repeat ;Ʊ¤¸¿ô»ú¤Ç³ä¤ë
if (NUM\SNM)!0 : break ;³ä¤êÀÚ¤ì̵¤¤
BNM(QTY,0)=SNM ;³ä¤ì¤¿¿ô»ú
BNM(QTY,1)=cnt+1 ;Îß¾è¿ô
NUM=(NUM/SNM) ;³ä¤ê³¤±¤ë
loop
if BNM(QTY,1)!0 : QTY+= ;¹àÌÜ¿ô
if NUM=1 : break ;¹àÌÜ¿ô
;-----------------------------------
if (NUM/(SNM+1))<(SNM) {;½ªÎ»È½ÃÇ
BNM(QTY,0)=NUM ;»Ä¤ê¤Î¿ô»ú
BNM(QTY,1)=1 ;¾ï¤Ë£±
QTY+= ;¹àÌÜ¿ô
break ;½ª¤ï¤ê
}
;-----------------------------------
if SNM>2 {SNM=SNM+2} ;£²°Ê¾å¤Î¶ö¿ô¤Ï¤È¤Ð¤¹
if SNM=2 : SNM+= ;£²°Ê¾å¤Î¶ö¿ô¤Ï¤È¤Ð¤¹
loop
;-----------------------------------
repeat QTY ;·ë²Ìɽ¼¨
TEX+=""+BNM(cnt,0)
if BNM(cnt,1)!1 {TEX=TEX+"^"+BNM(cnt,1)}
if (QTY-1)!cnt : TEX+=" * "
loop
;-----------------------------------
objprm 1,TEX
;-----------------------------------
return
;-----------------------------------
| |
|
2015/11/13(Fri) 23:16:56|NO.72997
¥ì¥¸¥¹¥È¥ê¤Î¥µ¥Ö¥¡¼¤Î°ìÍ÷
#module
#uselib "kernel32.dll"
#cfunc LoadLibrary "LoadLibraryA" str
#cfunc GetProcAddress "GetProcAddress" sptr,str
#func FreeLibrary "FreeLibrary" sptr
#define MAX_PATH 260
#define HKEY_CLASSES_ROOT $80000000
#define HKEY_CURRENT_USER $80000001
#define HKEY_LOCAL_MACHINE $80000002
#define HKEY_USERS $80000003
#define HKEY_PERFORMANCE_DATA $80000004
#define HKEY_CURRENT_CONFIG $80000005
#define HKEY_DYN_DATA $80000006
#define KEY_ENUMERATE_SUB_KEYS $00000008
#define KEY_QUERY_VALUE $00000001
#deffunc getregkeylist array p1, str p2, int p3, local tmp, local regkeyname, local funcarg, local regsubname
#define listvar p1
#define regkeyname2 p2
#define option p3
#define p_advapi32_dll tmp.0
#define p_RegEnumKey tmp.1
#define p_RegOpenKey tmp.2
#define p_RegCloseKey tmp.3
#define p_RegQueryInfoKey tmp.4
#define h_subkey tmp.5
#define h_mainkey tmp.6
#define l_1st_back_slash tmp.7
#define l_subkeyindex tmp.8
#define l_callkekka tmp.9
#define l_kekka tmp.10
#define l_key_name_length tmp.11
dim tmp,12
dim funcarg,12
sdim regkeyname,MAX_PATH,2
l_kekka==-1
p_advapi32_dll=LoadLibrary("advapi32.dll")
if p_advapi32_dll{
regkeyname.0=regkeyname2
l_1st_back_slash=instr(regkeyname.0,,"\\")
if l_1st_back_slash>=0{
memcpy regkeyname.1,regkeyname.0,MAX_PATH-1-l_1st_back_slash,,l_1st_back_slash+1
poke regkeyname.0,l_1st_back_slash,0
}
h_mainkey=0
if regkeyname.0=="HKEY_DYN_DATA" : h_mainkey=HKEY_DYN_DATA
if regkeyname.0=="HKEY_CURRENT_CONFIG" : h_mainkey=HKEY_CURRENT_CONFIG
if regkeyname.0=="HKEY_PERFORMANCE_DATA": h_mainkey=HKEY_PERFORMANCE_DATA
if regkeyname.0=="HKEY_USERS" : h_mainkey=HKEY_USERS
if regkeyname.0=="HKEY_LOCAL_MACHINE" : h_mainkey=HKEY_LOCAL_MACHINE
if regkeyname.0=="HKEY_CURRENT_USER" : h_mainkey=HKEY_CURRENT_USER
if regkeyname.0=="HKEY_CLASSES_ROOT" : h_mainkey=HKEY_CLASSES_ROOT
if h_mainkey{
p_RegCloseKey =GetProcAddress(p_advapi32_dll,"RegCloseKey")
p_RegOpenKey =GetProcAddress(p_advapi32_dll,"RegOpenKeyExA")
p_RegEnumKey =GetProcAddress(p_advapi32_dll,"RegEnumKeyA")
p_RegQueryInfoKey=GetProcAddress(p_advapi32_dll,"RegQueryInfoKeyA")
if (p_RegQueryInfoKey!=0) & (p_RegCloseKey!=0) & (p_RegOpenKey!=0) & (p_RegEnumKey!=0){
funcarg.0=h_mainkey
funcarg.1=varptr(regkeyname.1)
funcarg.2=0
funcarg.3=KEY_ENUMERATE_SUB_KEYS | KEY_QUERY_VALUE
funcarg.4=varptr(h_subkey)
l_callkekka=callfunc(funcarg,p_RegOpenKey,5)
if l_callkekka==0{
funcarg.0=h_subkey
funcarg.1=0
funcarg.2=0
funcarg.3=0
funcarg.4=varptr(l_subkeyindex)//¥µ¥Ö¥¡¼¤Î¿ô
funcarg.5=varptr(l_key_name_length)//°ìÈÖ̾Á°¤¬Ä¹¤¤¥µ¥Ö¥¡¼¤Î̾Á°¤ÎŤµ
funcarg.6=0
funcarg.7=0//¥ì¥¸¥¹¥È¥ê¥¨¥ó¥È¥ê¡¼¤Î¿ô
funcarg.8=0//°ìÈÖ̾Á°¤¬Ä¹¤¤¥ì¥¸¥¹¥È¥ê¥¨¥ó¥È¥ê¡¼(³ÆÃÍ)¤Î̾Á°¤ÎŤµ
funcarg.9=0
funcarg.10=0
funcarg.11=0
l_callkekka=callfunc(funcarg,p_RegQueryInfoKey,12)
if l_callkekka==0{
l_key_name_length++//NULL½ªÃ¼¤Îʬ
if (option==2) | (option==3){
sdim regsubname,l_key_name_length
l_subkeyindex=0
funcarg.0=h_subkey
funcarg.2=varptr(regsubname)
funcarg.3=l_key_name_length
while
funcarg.1=l_subkeyindex
memset regsubname,0,l_key_name_length
l_callkekka=callfunc(funcarg,p_RegEnumKey,4)
if l_callkekka: _break
memcpy listvar(l_subkeyindex),regsubname,l_key_name_length
l_subkeyindex++
wend
}
l_kekka=l_subkeyindex
if option==1: l_kekka=l_key_name_length
}
funcarg.0=h_subkey
l_callkekka=callfunc(funcarg,p_RegCloseKey,1)
}
}
}
FreeLibrary p_advapi32_dll
}
return l_kekka
#global
//»ÈÍÑÎã
#define MAX_PATH 260
sdim applist1
sdim applist2
//HKEY_LOCAL_MACHINE¦(Á´¥æ¡¼¥¶¡¼¤ËÂФ·¤ÆÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë)
//¥µ¥Ö¥¡¼¤Î¸Ä¿ô
getregkeylist applist,"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall",0
applist1length=stat
//°ìÈÖ̾Á°¤ÎŤ¤¥µ¥Ö¥¡¼¤Î̾Á°¤ÎŤµ(NULL½ªÃ¼¤ò´Þ¤à)
getregkeylist applist,"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall",1
applist1subkeylength=stat
//¼ÂºÝ¤Ë¼èÆÀ
sdim applist1,applist1subkeylength,applist1length
getregkeylist applist1,"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall",2
//HKEY_CURRENT_USER¦(¥í¥°¥¤¥óÃæ¤Î¥æ¡¼¥¶¡¼¤ËÂФ·¤Æ¤À¤±ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë)
getregkeylist applist2,"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall",0
applist2length=stat
getregkeylist applist2,"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall",1
applist2subkeylength=stat
sdim applist2,applist2subkeylength,applist2length
getregkeylist applist2,"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall",2
//¤È¤ê¤¢¤¨¤º¤Ä¤Ê¤²¤Æ¥ê¥¹¥È¤Ë¤·¤Æ¤ß¤ë
sdim applist,(applist1length*(applist1subkeylength+2)) + (applist2length*(applist2subkeylength+2))
repeat applist1length
applist+=applist1.cnt+"\n"
loop
repeat applist2length
applist+=applist2.cnt
if cnt<(applist2length-1) : applist+="\n"
loop
cls
mes "¥Õ¥¡¥¤¥ë¤ÎÄɲäȺï½ü¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥½¥Õ¥È¾ðÊó°ìÍ÷(½çÈ֤ϤФé¤Ð¤é)"
mesbox applist,ginfo_winx,ginfo_winy-ginfo_cy,4
| |
|
2015/11/14(Sat) 08:29:28|NO.73007
KA¤µ¤ó¡¢¤È¤ê¤¢¤¨¤ºÂ®ÅÙ¤ò¾å¤²¤é¤ì¤Ê¤¤¤«¤¤¤í¤¤¤í»î¤·¤Æ¤ß¤Þ¤¹¡£
¥¿¥¤¥È¥ë¥Ð¡¼¤Îʸ»úÎó¤Ã¤ÆÁÇ°ø¿ôʬ²ò¤Î´Ö°ã¤¤¤Ç¤¹¤è¤Í¡©
³Î¤«¤ËÁÇ°ø¿ôʬ²ò¤â°ø¿ôʬ²ò¤Î°ì¤Ä¤Ç¤¹¤¬¡£
|
|
2015/11/14(Sat) 20:58:45|NO.73018
>>³Î¤«¤ËÁÇ°ø¿ôʬ²ò¤â°ø¿ôʬ²ò¤Î°ì¤Ä¤Ç¤¹¤¬¡£
ÀΡ¢²¿¤«¤Î¤¿¤á¤Ë¤Á¤ã¤Á¤ã¤Ã¤Èºî¤Ã¤¿¤Î¤ÇŬÅö¤Ç¤¹¡£
¤³¤Î¼ê¤Î¥½¥Õ¥È¤Ï°Æ³°Îɤ¯¸«¤«¤±¤ë¤È»×¤¤¤Þ¤¹¡£
ÆâÍÆŪ¤Ë¤Ï¡Ö¼«Á³¿ô£Î¤ÎºÇÂç¤ÎÌó¿ô¤Ï¢å£Î¤è¤êÂ礤¯¤Ï̵¤¤¡×¤È¤¤¤¦
½èÍý¤òÁȤ߹þ¤ó¤Ç¤¤¤ë¤À¤±¤ÎÎ϶ȤǤ¹¡£
|
|
2015/11/14(Sat) 22:25:07|NO.73021
¥·¥ç¡¼¥È¥×¥í¥°¥é¥à¤Ç»ÈÍѤ·¤¿
¤Ê¤ó¤Á¤ã¤Ã¤Æ3D¥¨¥ó¥¸¥ó¤Ç¤¹¡£
¤´¼«Í³¤Ë¤ª»È¤¤¤¯¤À¤µ¤¤...
#module my3d
//my3dcamvec = 0.0 //¥«¥á¥é¸þ¤x
//my3dcamang = 0.0 //¥«¥á¥é¸þ¤y
//my3dcamx = 0.0 //¥«¥á¥é°ÌÃÖx
//my3dcamy = 0.0 //¥«¥á¥é°ÌÃÖy
//my3dcamz = 0.0 //¥«¥á¥é°ÌÃÖz
//my3dx = 0.0 //ÊÑ´¹¸åºÂɸx
//my3dy = 0.0 //ÊÑ´¹¸åºÂɸy
#defcfunc my3dxyzset double set_x,double set_y,double set_z
set_to = sqrt((set_x * set_x) + (set_y * set_y))
set_tr = atan(set_x,set_y) + my3dcamvec
//my3dx = sin(set_tr) * set_to
my3dy = cos(set_tr) * set_to
//set_depth = limitf(1.0 - my3dy/1000,0,100)
set_depth = 1.0 - my3dy/1000
if (set_depth <= 0):return 1
my3dx = sin(set_tr) * set_to / set_depth + 320
my3dy = (set_z + my3dy * my3dcamang) / set_depth + 240
//return ((0 + my3dx+640) / 640) + ((0 + my3dy+480) / 480) - 2
return ((80 + my3dx+800) / 800) + ((60 + my3dy+600) / 600) - 2 //¤Á¤ç¤Ã¤È²èÌ̳°¤Ç¤âɽ¼¨¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë
#deffunc my3dsetcam double cam_x , double cam_y , double cam_z , double cam_vec , double cam_ang
my3dcamx = cam_x - sin(-cam_vec) * 1000
my3dcamy = cam_y - cos(-cam_vec) * 1000
my3dcamz = 1.0 * my3dcamz + (cam_z - my3dcamz)/limitf(20-(s@/3),4,20)
my3dcamvec = cam_vec
my3dcamang = 1.0 * my3dcamang + (cam_ang - my3dcamang)/100
return
#deffunc my3dball double bl_x, double bl_y, double bl_z, double bl_r,double bl_o, int bl_no,double bl_depth
if (my3dxyzset(bl_x - my3dcamx,bl_y - my3dcamy,bl_z - my3dcamz) == 0 && bl_o / set_depth > bl_depth){
pos my3dx,my3dy
pset
celput 10,bl_no,bl_o / 32 / set_depth,bl_o / 32 / set_depth,bl_r
}
return
#deffunc my3dpset double bl_x, double bl_y, double bl_z
if (my3dxyzset(bl_x - my3dcamx,bl_y - my3dcamy,bl_z - my3dcamz) == 0){
pset 320 + my3dx,240 + my3dy
}
return
#deffunc my3dtexture array tx_arx, array tx_ary, array tx_arz, int tx_inx, int tx_iny
//ɽ¼¨²èÁüÃͼèÆÀ
//tx_intx = tx_inx*64
//tx_inty = tx_iny*64
tx_inx2 = tx_inx,tx_inx + 62,tx_inx + 62,tx_inx
tx_iny2 = tx_iny,tx_iny,tx_iny + 62,tx_iny + 62
//ºÂɸ¼èÆÀ
tx_c = 0
repeat 4
if (my3dxyzset(tx_arx(cnt) - my3dcamx,tx_ary(cnt) - my3dcamy,tx_arz(cnt) - my3dcamz) == 1):tx_c = 0:break
tx_arx2(cnt) = 320 + my3dx
tx_ary2(cnt) = 240 + my3dy
if ((tx_arx2(cnt)+640)/640 == 1 && (tx_ary2(cnt)+480)/480 == 1):tx_c+
loop
//ÉÁ²è
if tx_c > 0:gsquare 10, tx_arx2, tx_ary2, tx_inx2, tx_iny2
return
#deffunc my3dline int int_x1, int int_y1, int int_z1, int int_x2, int int_y2,int int_z2
tx_c = 0
tx_c += my3dxyzset(int_x1 - my3dcamx,int_y1 - my3dcamy,int_z1 - my3dcamz)
tx = my3dx:ty = my3dy
tx_c += my3dxyzset(int_x2 - my3dcamx,int_y2 - my3dcamy,int_z2 - my3dcamz)
if (tx_c <= 1):line tx,ty,my3dx,my3dy
return
#global
| |
|
2015/11/15(Sun) 17:57:13|NO.73038
ÀΡ¢ÀìÌçŪ¤Ê¤Á¤ç¤Ã¤È¤·¤¿Æ°µ¡¤Çºî¤Ã¤¿¥¹¥¯¥ê¥×¥È¤Ç¤¹¡£
°ÕÌ£¤¬Ê¬¤«¤é¤Ê¤¤¿Í¤Ï¡¢¶õµ¤¤ÎÍͤËÆɤßÈô¤Ð¤·¤Æ²¼¤µ¤¤¡£
;===========================================================
;²¹ÅÙ[¡î]¤òÆþÎϤ·¡¢ÍÍ¡¹¤ÊË°Ï¿å¾øµ¤°µ[hPa]¤Î¼°¤òÈæ³Ó¤¹¤ë¡£
;============================================================
#module
#defcfunc expc double B
return expf(B*logf(10))
#defcfunc expn double B
return expf(B)
#defcfunc exp double A,double B
return expf(B*logf(A))
#defcfunc logc double B
return logf(B)/logf(10)
#defcfunc logn double B
return logf(B)
#defcfunc log double A,double B
return logf(B)/logf(A)
#global
sdim TXT,25
input £ô,100,20,5
button gosub "OK",*OK
stop
*OK
pos 100,0
£ô=1.0*£ô
£Ô=£ô+273.15
;============================================================
; ¶á»÷¼°
; Pws=A*10^(B*t/(C+t)) Tetens [1]
; Pws=A*EXP(B*t/(C+t)) FAO [2]
; Pws=10^(A-(B/(C+t))) Antonie[3]
;============================================================
; A B C Typ ²¹ÅÙ
Pws= 6.1134 *expc( 9.7911 *£ô/( 273.47 +£ô )) : TXT( 0)=""+Pws+" [1] -70¡Á 0 VAISALA ÁúÅÀ²¹ÅÙÍÑ"
Pws= 6.1162 *expc( 7.5892 *£ô/( 240.71 +£ô )) : TXT( 1)=""+Pws+" [1] -20¡Á 50 VAISALA"
Pws= 6.1078 *expc( 7.5000 *£ô/( 237.30 +£ô )) : TXT( 2)=""+Pws+" [1] -40¡Á 60 VAISALA"
Pws= 5.9987 *expc( 7.3313 *£ô/( 229.10 +£ô )) : TXT( 3)=""+Pws+" [1] 50¡Á100 VAISALA"
Pws= 5.8493 *expc( 7.2756 *£ô/( 225.00 +£ô )) : TXT( 4)=""+Pws+" [1] 100¡Á150 VAISALA"
Pws= 6.2301 *expc( 7.3033 *£ô/( 230.00 +£ô )) : TXT( 5)=""+Pws+" [1] 150¡Á180 VAISALA"
Pws= 6.1100 *expc( 9.5000 *£ô/( 265.50 +£ô )) : TXT( 6)=""+Pws+" [1] <0 Tetens ÁúÅÀ²¹ÅÙÍÑ"
Pws= 6.1100 *expc( 7.5000 *£ô/( 237.30 +£ô )) : TXT( 7)=""+Pws+" [1] >0 Tetens"
Pws= 6.1100 *expc( 7.5000 *£ô/( 240.90 +£ô )) : TXT( 8)=""+Pws+" [1] ??? ???"
Pws= 6.1100 *expn( 17.2700 *£ô/( 237.30 +£ô )) : TXT( 9)=""+Pws+" [2] ??? FAO"
Pws= 6.1100 *expn( 17.5020 *£ô/( 240.90 +£ô )) : TXT(10)=""+Pws+" [2] ??? ???"
Pws= 6.1121 *expn( 17.5020 *£ô/( 240.90 +£ô )) : TXT(11)=""+Pws+" [2] ??? ???"
Pws=expc( 8.2030 -( 1735.74 /( 234.00 +£ô))) : TXT(12)=""+Pws+" [3] ??? Antonie"
;============================================================
;¿¹à¼°
;============================================================
A=0.0
A=£Ô-(4.931358E-01)+(4.609430E-03)*£Ô-(1.374645E-05)*exp(£Ô,2)+(1.274321E-08)*exp(£Ô,3)
A=-5.8002206E+03*exp(A,-1)-3.2136709-4.8640239E-02*A+4.1764768E-05*exp(A,2)-1.4452093E-08*exp(A,3)+6.5459673*logn(A)
Pws=expn(A) : TXT(13)=""+Pws
;¥¦¥§¥¯¥¹¥é¡¼ - ¥Ï¥¤¥é¥ó¥É(Wexler-Hyland)¤Î¼°
; ¿å¤ÈÀܤ¹¤ë¾ì¹ç¡Ê0.01¡î°Ê¾å¡Ë
A=0.0
A= -5.8002206E+03*exp(£Ô,-1)-3.2136709-4.8640239E-02*£Ô+4.1764768E-05*exp(£Ô,2)-1.4452093E-08*exp(£Ô,3)+6.5459673*logn(£Ô)
Pws=expn(A) : TXT(14)=""+Pws
; ɹ¤ÈÀܤ¹¤ë¾ì¹ç¡Ê0.01¡î°Ê²¼¡Ë
A=0.0
A= -5.6745359E+03*exp(£Ô,-1)+1.7873545-9.6778430E-03*£Ô+6.2215701E-07*exp(£Ô,2)+2.0747825E-09*exp(£Ô,3)-9.4840240E-13*exp(£Ô,4)+4.1635019*logn(£Ô)
Pws=expn(A) : TXT(15)=""+Pws
;Âè°ì²Ê³Ø
; ¿å¤ÈÀܤ¹¤ë¾ì¹ç¡Ê0.01¡î°Ê¾å¡Ë
A=0.0
A= -6.0969385E+03*exp(£Ô,-1)+1.6635794E+01-2.711193E-02*£Ô+1.673952E-05*exp(£Ô,2)+2.433502*logn(£Ô)
Pws=expn(A) : TXT(16)=""+Pws
; ɹ¤ÈÀܤ¹¤ë¾ì¹ç¡Ê0.01¡î°Ê²¼¡Ë
A=0.0
A= -6.0245282E+03*exp(£Ô,-1)+2.47218998E+01+1.0613863E-02*£Ô-1.3198825E-05*exp(£Ô,2)-4.9382577E-01*logn(£Ô)
Pws=expn(A) : TXT(17)=""+Pws
; ¡Ê¾øµ¤£±£°£°¡Ý£³£·£´¡î¡Ë
A=0.0 : B=1.0-£Ô/647.096
A= -7.85951783*B+1.84408259*exp(B,1.5)-1.17866497E+01*exp(B,3)+2.26807411E+01*exp(B,3.5)-1.59618719E+01*exp(B,4)+1.80122502E+00*exp(B,7.5)
A= 647.096*A/£Ô+12.30428868
Pws=expn(A) : TXT(18)=""+Pws
;½ñ̾ÉÔÌÀ¡Ê¼êÄͽӰ졦ÌîÏ©¿¼£¡¦¸Å¿ùË¡¡½ñ¡Ë
; ¿å¤ÈÀܤ¹¤ë¾ì¹ç¡Ê0.01¡î°Ê¾å¡Ë
A=0.0 : B=1.0-£Ô/647.3
A= -7.6912346*B-2.6080237E+01*exp(B,2)-1.6817065E+02*exp(B,3)+6.4232855E+01*exp(B,4)-1.1896462E+02*exp(B,5)
C=(1.0+4.1671173*B+2.0975068E+01*exp(B,2))*(1.0-B)
D=B/(6.0+expc(9)*exp(B,2))
Pws=221200.0*expf(A/C-D) : TXT(19)=""+Pws
; ɹ¤ÈÀܤ¹¤ë¾ì¹ç¡Ê0.01¡î°Ê²¼¡Ë
A=273.15/£Ô
Pws=expc(-9.09718*(A-1.0)-3.56654*logc(A)+8.76793E-01*(1.0-1.0/A)+logc(0.0060273))*1013.25 : TXT(20)=""+Pws
;---------------------------------
ALL=""
repeat 20
ALL+=TXT(cnt)+"\n"
loop
mesbox ALL,400,400
return
| |
|
2015/11/17(Tue) 01:23:31|NO.73076
¡¦¥Õ¥¡¥¤¥ë¤¬Ìµ¤¯¤Æ¤â¥¨¥é¡¼¤Ë¤Ï¤Ê¤é¤Ê¤¤ bload¡¦picload
¡¡ÂçÄñ¤½¤Î¸å¤Î½èÍý¤ÇÌäÂ꤬µ¯¤³¤ê¤Þ¤¹¤¬¡¢¥Õ¥¡¥¤¥ë̾¡¦¥«¥ì¥ó¥È¥Õ¥©¥ë¥À¤¬È½¤ëʬ½¤Àµ¤·¤ä¤¹¤¤¤«¤â¤Ç¤¹¡£
#module _mod_exist_load
#undef bload
#deffunc bload str p0, var pv, int p1, int p2, local a
exist p0 :if(strsize<0){
dialog strf("¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó\n\"%s\"\n[%s]",p0,dir_cur),1,"bload" :return 0}
if(p1>0){a=p1}else{a=-1} :bload@hsp p0,pv,a,p2 :return stat
#undef picload
#deffunc picload str p0, int p1
exist p0 :if(strsize<0){
dialog strf("²èÁü¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó\n\"%s\"\n[%s]",p0,dir_cur),1,"picload" :return 0}
picload@hsp p0,p1 :return strsize
#global
¡¦¥¦¥£¥ó¥É¥¦Æâ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¸ºß³Îǧ
/***************************************************************
¢£ ObjCheck( ¥ª¥Ö¥¸¥§¥¯¥ÈID[-1] ) = 0:̵¤· / 0°Ê³°:ͤê
¸½ºß¤ÎHSP¥¦¥£¥ó¥É¥¦Æâ¤Ë¡¢»ØÄêID¤Î¥ª¥Ö¥¸¥§¥¯¥È¤¬Â¸ºß¤¹¤ë¤«¤òÊÖ¤·¤Þ¤¹¡£
¥ª¥Ö¥¸¥§¥¯¥ÈID¾Êά(-1)»þ¤Ï¡¢¥¦¥£¥ó¥É¥¦Æâ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎºÇÂç¿ô¤òÊÖ¤·¤Þ¤¹¡£
⤷clrobj¤Ë¤è¤ë·çÈÖ¤â´Þ¤Þ¤ì¤ë°Ù¡¢¸½Â¸¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¿ô¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£
¢£ ObjMax = ¥ª¥Ö¥¸¥§¥¯¥ÈºÇÂç¿ô
¾å¤Î¤Î¥Þ¥¯¥í¤Ç¤¹¡£¤ä¤Ã¤Ñ¤ê¸½Â¸¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¿ô¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£
***************************************************************/
#module _mod_exist_object
;--¥ª¥Ö¥¸¥§¥¯¥È¸ºß³Îǧ(objID) = 0:̵¤·
#define global cType ObjCheck(%1=-1) _ObjCheck(%1)
#defcfunc _ObjCheck int p0, local a, local b
mRef b,67 :If(p0<0){Return b.72} :If(p0>=b.72){Return 0} :DupPtr a,b.71+p0*48+8,4
Return a
#define global ObjMax _ObjCheck(-1)
#global
¡¦¥Ç¥Ð¥Ã¥°¥í¥°¤ËÇÛÎ󡦥Х¤¥Ê¥êÃͤò½ÐÎÏ
/***************************************************************
¢£ LogArr ÇÛÎóÊÑ¿ô, 1¹Ô¤Îɽ¼¨¿ô[8], "ɽ¼¨Ì¾", ³«»ÏÍ×ÁÇ[0], ɽ¼¨¿ô[0]
ÇÛÎóÊÑ¿ô¤Î³ÆÍ×ÁǤÎÆâÍƤò¥Ç¥Ð¥Ã¥°¥í¥°¤ËÎóµó¤·¤Þ¤¹¡£
¡Ö1¹Ô¤Îɽ¼¨¿ô¡×¤Ë¤Ï1¹ÔÅö¤ê¤Ëɽ¼¨¤¹¤ëÍ×ÁǤκÇÂç¿ô¤ò»ØÄꤷ¤Þ¤¹¡£
À°¿ôÇÛÎó³î¤Ä¡Ö1¹Ô¤Îɽ¼¨¿ô¡×¤¬Éé¿ô¤Î¾ì¹ç¡¢16¿Ê¿ôɽµ¤È¤Ê¤ê¤Þ¤¹¡£
refstr¤Ë½ÐÎÏÆâÍƤòÊÖ¤·¤Þ¤¹¡£
¢£ LogBin ÊÑ¿ô, "ɽ¼¨Ì¾", ³«»Ï°ÌÃÖ[0], ɽ¼¨¿ô[0], 1¹Ô¤Îɽ¼¨¿ô[16]
ÊÑ¿ô¤ÎÆâÍƤò¡¢1byteʬ¤º¤Ä16¿Ê¿ôɽµ¤Ç¥Ç¥Ð¥Ã¥°¥í¥°¤Ëɽ¼¨¤·¤Þ¤¹¡£
¡Ö³«»Ï°ÌÃ֡סÖɽ¼¨¿ô¡×¡Ö1¹Ô¤Îɽ¼¨¿ô¡×¤Ïbyteñ°Ì»ØÄê¤Ç¤¹¡£
refstr¤Ë½ÐÎÏÆâÍƤòÊÖ¤·¤Þ¤¹¡£
***************************************************************/
#ifdef _debug
#module _mod_debug_log
;--¥í¥°¤ËÇÛÎó½ÐÎÏ(<array>, lineNum[<0:hex], "Caption", start, len)
#define global LogArr(%1,%2=8,%3="",%4=0,%5=0) _LogArr %1,%2,%3,%4,%5
#deffunc _LogArr array pa, int p0, str p1, int p2, int p3, local a, local b, local c, local d
a.0=1,Abs(p0),p2,p3,vartype(pa)
Dim d,8 :d.4=Length(pa),Length2(pa),Length3(pa),Length4(pa)
Repeat 2,2 :If(a.cnt<0){a.cnt=0} :Loop
Repeat 4,4 :If(d.cnt){a*=d.cnt} :Loop
If(a.3<1)||((a.2+a.3)>a){a.3=a-a.2}
If(a.1<1){a.1=8} :d=a.2 :If(a.3<1){Return ""}
Repeat 3
If(d(cnt)<d(cnt|4)){Break}
d(cnt+1)=d(cnt)/d(cnt|4) :d(cnt)\=d(cnt|4)
Loop
sDim b,$80,2 :b=p1 :If(a.4==3){If(b==""){b="dbl"} :b.1="%f"}
If(a.4==2){If(b==""){b="str"} :b.1="\"%s\""}
If(a.4==4){If(b==""){b="int"} :If(p0<0){b.1="%p"}else{b.1="%2d"}}
b+="(%2d" :Repeat 3,5 :If(d.cnt){b+=",%2d"} :Loop :b+=") = "
a=0 :b.1+=", " :sDim c,$10000
Repeat a.3
If(d.7){
If(a==0){c+="\n"+StrF(b,d.0,d.1,d.2,d.3)}
c+=StrF(b.1,pa(d.0,d.1,d.2,d.3))
}else{If(d.6){
If(a==0){c+="\n"+StrF(b,d.0,d.1,d.2)}
c+=StrF(b.1,pa(d.0,d.1,d.2))
}else{If(d.5){
If(a==0){c+="\n"+StrF(b,d.0,d.1)}
c+=StrF(b.1,pa(d.0,d.1))
}else{
If(a==0){c+="\n"+StrF(b,d.0)}
c+=StrF(b.1,pa(d.0))}}}
a++ :d++ :If(a>=a.1){a=0}
Repeat 3
If(d(cnt)<d(cnt|4))||(d(cnt|4)==0){Break}
a=0 :d(cnt+1)++ :d(cnt)\=d(cnt|4)
Loop
Loop :LogMes c
Return c
;--¥í¥°¤Ë¥Ð¥¤¥Ê¥ê½ÐÎÏ(<var>, "Caption", start, len, FLG[$FF:lineByte $100:LowerCase])
#define global LogBin(%1,%2="BIN",%3=0,%4=0,%5=$10) _LogBin %1,%2,%3,%4,%5
#deffunc _LogBin var pv, str p0, int p1, int p2, int p3, local a, local b, local c
a.0=p1,4,p3&$ff :If(a.2<4){a.2=8}
If(p2){a.1=p2}else{If(vartype(pv)==3){a.1=8}
If(vartype(pv)==2){DupPtr b,varptr(pv)-16,4 :a.1=b-a}}
c=a.0+a.1 :sDim b,$10,2 :b.0="%0"+(8>>((c<$10000)+(c<$100)))," %02"
Repeat 2 :If(p3&$100){b.cnt+="x"}else{b.cnt+="X"} :Loop
b+="|" :sDim c,$10000 :c=StrF("\n---- %s [%d] ----",p0,a.1)
Repeat a.1
If((cnt\a.2)==0){c+="\n"+StrF(b.0,a)}
c+=StrF(b.1,Peek(pv,a)) :a++
Loop
LogMes c
Return c
#global
#else
#define global LogArr(%1=0,%2=0,%3=0,%4=0,%5=0) :
#define global LogBin(%1=0,%2=0,%3=0,%4=0,%5=0) :
#endif
| |
|
2015/11/18(Wed) 01:44:20|NO.73094
¾¥¹¥ì¤ËÅê¹Æ¤·¤¿¤â¤Î¤Ê¤Î¤Ç¡Ö¤ï¤¶¤ï¤¶¥¹¥ì¤òΩ¤Æ¤ëÄø¤Ç¤â¤Ê¤¤¡×¤Ë¤Ï¹çÃפ·¤Ê¤¤¤±¤É¡¢»î¤·¤ËÅê¹Æ¡£¡Ê¤³¤¦¤¤¤¦¤Î¤Ï¤¢¤ê¤À¤í¤¦¤«¤Ê¤·¤À¤í¤¦¤«¤È¤¤¤¦ÍͻҸ«¡Ä¡£¡Ë
Àµµ¬É½¸½¤Ë¤è¤ë¥á¡¼¥ë¥¢¥É¥ì¥¹¤Î¥Á¥§¥Ã¥¯¤ò¤¹¤ë¥¹¥¯¥ê¥×¥È
http://hsp.tv/play/pforum.php?mode=all&num=73092
¥¿¥¤¥È¥ëÄ̤êʸ»úÎ󤬥᡼¥ë¥¢¥É¥ì¥¹¤È¤·¤Æ»ÈÍѤǤ¤ëʸ»úÎ󤫤ɤ¦¤«¤òȽÄꤷ¤Þ¤¹¡£
ÍÑÅӤȤ·¤Æ¤Ï¡¢¥æ¡¼¥¶¡¼¤ËÆþÎϤ·¤Æ¤â¤é¤Ã¤¿¥á¡¼¥ë¥¢¥É¥ì¥¹¤¬¤Ç¤¿¤é¤á¤Ç¤Ê¤¤¤«¡¢ÆþÎϥߥ¹¤Ç¤Ï¤Ê¤¤¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ëºÝ¤Ê¤É¤Ë»ÈÍѤ·¤Þ¤¹¡£
Àµµ¬É½¸½¤Ë¤è¤ë¸¡º÷·ë²Ì¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤À¤±¤Ê¤Î¤Ç¡¢¥â¥¸¥å¡¼¥ë¤Ë¤¹¤ë¤Ë¤ÏÂ礲¤µ¤«¤Ê¤È¡£¥á¥ë¥¢¥É¤À¤±¤À¤·¡£
¸¡º÷ʸ»úÎó¡ÊÀµµ¬É½¸½¡Ë¤ò¥Þ¥¯¥í¤Ë¤·¤Æ¸Æ¤Ó½Ð¤·¤ä¤¹¤¯¤¹¤ë¤È¤«¤¹¤ì¤Ð¿¾¯ÊØÍø¤«¤â¡£
¤½¤ì¤Ë¤·¤Æ¤â¤³¤Î¥¹¥ì¤Ïµ¤¹çÆþ¤Ã¤¿¥¹¥¯¥ê¥×¥È¿¤¤¤Ç¤¹¤Í¡£
¥Þ¥Ë¥å¥¢¥ë¤È²òÀâ¤ò¤·¤Ã¤«¤êºî¤Ã¤Æ¼«Ê¬¤Î¥µ¥¤¥È¤ä¥Ù¥¯¥¿¡¼¤Ç¸ø³«¤¹¤ì¤Ð¤¤¤¤¤Î¤Ë¡£
|
|
2015/11/18(Wed) 15:24:11|NO.73099
Àκî¤Ã¤¿²Ö¿áÀã ESC¤Ç½ªÎ»
#uselib "user32.dll"
#func GetWindowLongA "GetWindowLongA" int , int
#func SetWindowLongA "SetWindowLongA" int , int , int
#func SetLayered "SetLayeredWindowAttributes" int , int , int , int
#func SendMessageA "SendMessageA" int , int , int , int
#func PostMessageA "PostMessageA" int , int , int , int
#func SetCapture "SetCapture" int
#func ReleaseCapture "ReleaseCapture"
amax = 157 //¥¢¥Ë¥á¡¼¥·¥ç¥ó¥Õ¥ì¡¼¥à¿ô
randomize
buffer 1,ginfo(20),ginfo(21)
; gradf 0,0,480,480,1,$303030 //ÇØ·ÊÉÁ²è
boxf
buffer 2,32,32*amax
buffer 3,32,32 : gmode 4,,,255
buffer 4,ginfo(20),ginfo(21)
r = 0.0 : r2 = 0.0 //»æ¿áÀã¤Î²óž³Ñ¤ò½é´ü²½
pmax = 400 //»æ¿áÀã¤ÎºÇÂç¿ô
ddim pr,pmax //»æ¿áÀã¤Î³ÑÅÙ
ddim px,pmax //»æ¿áÀã¤ÎxºÂɸ
ddim py,pmax //»æ¿áÀã¤ÎyºÂɸ
ddim pq,pmax
ddim padd,pmax
dim pc,pmax
dim pcolor,pmax //»æ¿áÀã¤Î¿§
dim pa,pmax //»æ¿áÀã¤Î¥¢¥Ë¥á¡¼¥·¥ç¥óID
gsel 2 //»æ¿áÀã¤Î¥¢¥Ë¥á¡¼¥·¥ç¥óºîÀ®
color : boxf
repeat amax : cn = cnt
r + 0.2
rx = int(cos(r)*8) : ry = int(sin(r+1.57)*8) : ry2 = int(sin(r)*8)
dx = 8+rx,16+rx,24-rx,16-ry : dy = 16-ry2,0,16+ry2,32
repeat 4
dy(cnt) + cn*32
loop
await 0
color 255,255,255 : gsquare -255,dx,dy
loop
bgscr 0,ginfo(20),ginfo(21),0,0,0
gsel 0,2
gsel 4
*Main
stick key,,0
if key&128 : end
pcn = 0 //»æ¿áÀã¤Î¥Ñ¥é¥á¡¼¥¿ÀßÄê
repeat pmax
if pcolor(cnt) = 0{
px(cnt) = double( ginfo(0) )
py(cnt) = double( ginfo(1) )
pr(cnt) = double( rnd(628) ) / 100
padd(cnt) = double( rnd(3) ) / 100 + 0.01
pq(cnt) = double( rnd(40) ) / 10 + 0.2
pcolor(cnt) = rnd(15)+1
pa(cnt) = rnd(amax)
pcn++
if pcn = 2 : break //Ëè¥Õ¥ì¡¼¥à3¸Ä¤º¤ÄÁý¤ä¤¹
}
loop
redraw 0
gmode 0
pos 0,0 : gcopy 1,0,0,ginfo(20),ginfo(21)
gmode 2
repeat pmax //»æ¿áÀãÉÁ²è
if pcolor(cnt) = 0 : continue
pc(cnt)++
gsel 3
//»æ¿áÀã¤Î¿§¤òÀßÄê
if pcolor(cnt) = 1 : gradf 0,0,32,32,1,$512452,$A349A4
if pcolor(cnt) = 2 : gradf 0,0,32,32,1,$38495F,$7092BE
if pcolor(cnt) = 3 : gradf 0,0,32,32,1,$1E2466,$3D48CC
if pcolor(cnt) = 4 : gradf 0,0,32,32,1,$4C6C75,$99D9EA
if pcolor(cnt) = 5 : gradf 0,0,32,32,1,$005174,$00A2E8
if pcolor(cnt) = 6 : gradf 0,0,32,32,1,$5A730E,$B5E61D
if pcolor(cnt) = 7 : gradf 0,0,32,32,1,$115826,$22B14C
if pcolor(cnt) = 8 : gradf 0,0,32,32,1,$777258,$EFE4B0
if pcolor(cnt) = 9 : gradf 0,0,32,32,1,$7F7900,$FFF200
if pcolor(cnt) = 10 : gradf 0,0,32,32,1,$7F6407,$FFC90E
if pcolor(cnt) = 11 : gradf 0,0,32,32,1,$7F3F13,$FF7F27
if pcolor(cnt) = 12 : gradf 0,0,32,32,1,$7F5764,$FFAEC9
if pcolor(cnt) = 13 : gradf 0,0,32,32,1,$760E12,$ED1C24
if pcolor(cnt) = 14 : gradf 0,0,32,32,1,$7F7F7F,$FEFEFE
if pcolor(cnt) = 15 : gradf 0,0,32,32,1,$645F73,$C8BFE7
color 255,255,255 : gcopy 2,0,pa(cnt)*32,32,32 //°ì»þŪ¤ËÉÁ²è
pa(cnt)+rnd(3) : if pa(cnt) >= amax : pa(cnt) = 0 //¥¢¥Ë¥á¡¼¥·¥ç¥ó
gsel 4
pos px(cnt),py(cnt)
grotate 3,0,0,pr(cnt),32,32
psp = double(abs(pa(cnt)\(amax/4)-(amax/8)))/4 //®ÅÙÄ´À°
pr(cnt)+padd(cnt) : py(cnt)+psp+2.5+absf(sin(pr(cnt))) //²óž°ÜÆ°
px(cnt)+cos(pr(cnt))*pq(cnt)
if py(cnt) >= ginfo(21) : pcolor(cnt) = 0 ;px(cnt) = double(rnd(480)) : py(cnt) = -32.0 //¥Õ¥ì¡¼¥à¥¢¥¦¥È»þ¤ÎºÂɸ½é´ü²½
loop
redraw 1
gsel 0
GetWindowLongA hwnd , -20
SetWindowLongA hwnd , -20 , stat | 0x00080000
//¹õ¿§(0x000000)¤òÆ©²á
SetLayered hwnd , 0 , 0 , 1
gcopy 4,0,0,ginfo(20),ginfo(21)
gsel 4
await 17
goto *Main
| |
|
2015/11/18(Wed) 16:11:16|NO.73100
>>¤Æ¤ì¤Æ¤ì¤µ¤ó
¤ï¡¼¤¹¤´¤¤¡£
¼Â¤ÏÁ°¤Ë¤³¤¦¤¤¤¦¤Îºî¤ê¤¿¤«¤Ã¤¿¤ó¤Ç¤¹¤è¤Í¡£
ºù¤Î»æ¿áÀã¤ËºÇŬ¤Ç¤¹¤Í¡£
¤É¤¦¤Ç¤â¤¤¤¤¤Ç¤¹¤±¤É¥Þ¥¦¥¹¤ò´ÓÄ̤µ¤»¤ë¥×¥í¥°¥é¥à¤âÄɲ乤ë¤È±þÍѤÎÉý¤¬¹¤¬¤ê¤½¤¦¡£
http://hsp.tv/play/pforum.php?mode=pastwch&num=53280
|
|
2015/11/19(Thu) 17:46:48|NO.73122
ÌÏÍͤȤ¤¤¦¤³¤È¤Ç¡¦¡¦¡¦
;======================================
;ÌÏÍͺîÀ®¥µ¥ó¥×¥ë
;======================================
screen 0,640,480
X=ginfo(12) : Y=ginfo(13) : M=X*Y
repeat M
X1=cnt\X : Y1=cnt/X
A=X1+Y1
R1=X1\255 : G1=Y1\255 : B1=A\255
color R1,G1,B1
pset X1,Y1
loop
repeat M
X1=cnt\X : Y1=cnt/X
A=X1+Y1
R1=(A*3)\255 : G1=(A*6)\255 : B1=(A*9)\255
color R1,G1,B1
pset X1,Y1
loop
repeat M
X1=cnt\X : Y1=cnt/X
A=X1+Y1
R1=(A*1)\255 : G1=(A*3)\255 : B1=(A*5)\255
color R1,G1,B1
pset X1,Y1
loop
repeat M
X1=cnt\X : Y1=cnt/X
A=X1+Y1 : B=X1+(Y-Y1)
R1=(A*1)\255 : G1=(A*3)\255 : B1=(A*5)\255
R2=(B*2)\255 : G2=(B*4)\255 : B2=(B*6)\255
color R1^R2,G1^G2,B1^B2
pset X1,Y1
loop
repeat M
X1=cnt\X : Y1=cnt/X
A=X1+Y1 : B=X1+(Y-Y1)
R1=(A*2)\255 : G1=(A*4)\255 : B1=(A*6)\255
R2=(B*2)\255 : G2=(B*4)\255 : B2=(B*6)\255
color R1^R2,G1^G2,B1^B2
pset X1,Y1
loop
repeat M
X1=cnt\X : Y1=cnt/X
A=X1+Y1 : B=X1+(Y-Y1)
R1=(A+X1*1)\255 : G1=(A+X1*2)\255 : B1=(A+X1*3)\255
R2=(B+X1*1)\255 : G2=(B+X1*2)\255 : B2=(B+X1*3)\255
color R1^R2,G1^G2,B1^B2
pset X1,Y1
loop
| |
|
2015/11/21(Sat) 16:23:24|NO.73169
º£¤Þ¤ÇAPI¤Î¥¢¥É¥ì¥¹¤¬¤Û¤·¤¤¤È¤¤Ï(Windows API¤Ê¤É¤¹¤Ç¤ËÆɤߤ³¤ó¤Ç¤¤¤ë¤â¤Î¤Ç)
p_function=GetProcAddress( GetModuleHandle("user32.dll") ,"CreateWindowExA")GetProcAddress( GetModuleHandle("user32.dll") ,"CreateWindowExA")
¤Î¤è¤¦¤Ë¤·¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬(LoadLibrary¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ïµ¡³£Åª¤ËHSP2¤«¤é½ñ¤´¹¤¨¤¿¤â¤Î)
#uselib "user32.dll"
#func CreateWindowEx "CreateWindowExA"
p_function=varptr(CreateWindowEx)
¤Î¤è¤¦¤Ëvarptr¤¬´Ø¿ô¤ËÂФ·¤Æ¤â»È¤¨¤ë¤³¤È¤òȯ¸«¤·¤Þ¤·¤¿¡£
¤È¤Æ¤â¶Ã¤¤Þ¤·¤¿¡£
|
|
2015/11/21(Sat) 20:21:31|NO.73172
>>Noap¤µ¤ó
¤¨¡¦¡¦¡¦¤¨¡©¡¦¡¦¡¦
£í£ê£ë¡¦¡¦¡¦
|
|
2015/11/21(Sat) 20:53:57|NO.73173
º£»×¤Ã¤¿¤ó¤À¤±¤É¤³¤Î¥¹¥ì¥Ã¥É¤Ã¤Æ²¿¤Ë»È¤¦¤Î?
°ÕÌ£¤Ê¤¤¤È»×¤¦¡£
¤Ê¤ó¤«´ë¤ó¤Ç¤¤¤ë¤Î?
¶µ¤¨¤Æ¡£
|
|
2015/11/21(Sat) 23:52:49|NO.73180
>>º£»×¤Ã¤¿¤ó¤À¤±¤É¤³¤Î¥¹¥ì¥Ã¥É¤Ã¤Æ²¿¤Ë»È¤¦¤Î?
¤¤¤ä¡Ö²¿¤Ë»È¤¦¡©¡×¤¸¤ã¤Ê¤¯¤Æ¡¢²¿¤Ë»È¤¦¤«»È¤¨¤ë¤«¤Ï¸«¤¿¿Í¤¬
ȽÃǤ¹¤ë¥¹¥ì¤Ç¤¹¡£
>>°ÕÌ£¤Ê¤¤¤È»×¤¦¡£
¤Þ¤¢ºÇ½ªÅª¤Ë¤Ïή¤ì¤ÆËä¤â¤ì¤Á¤ã¤¦¤Î¤Ç¡¦¡¦¡¦¡¦¡£
>>¤Ê¤ó¤«´ë¤ó¤Ç¤¤¤ë¤Î?
¼Â¤Ï¹ñ²Èžʤ¤ò´ë¤Æ¤Æ¤¤¤Þ¤¹¡£
|
|
2015/11/22(Sun) 01:08:53|NO.73183
>> NO.73122
pset¤ÏËüǽ¤À¤±¤É¡¢Â®ÅÙ¤¬½Ð¤Ê¤¤¤Î¤Ç¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï»È¤¤Ê¬¤±¡£
x1 = 0,256, 0,0
y1 = 0, 0,256,0
c1 = 0,$ff00ff,$00ffff,0
x2 = 256,256, 0,256
y2 = 0,256,255, 0
c2 = $ff0000,$ffffff,$00ff00
repeat 2
i = cnt
repeat 3
sx = 256*cnt
sy = 256*i
;ºÂɸ°ÜÆ°
repeat 4
x1s(cnt) = x1(cnt)+sx
y1s(cnt) = y1(cnt)+sy
x2s(cnt) = x2(cnt)+sx
y2s(cnt) = y2(cnt)+sy
loop
;ÉÁ²è
gsquare gsquare_grad, x1s, y1s, c1
gsquare gsquare_grad, x2s, y2s, c2
loop
loop
> °ÕÌ£¤Ê¤¤¤È»×¤¦¡£
¤¹¤Ç¤Î»ä¤Î¥¹¥¯¥ê¥×¥È¤ò¿Í¤Ë¸«¤»¤¿¤¤ÍߤòËþ¤¹¤ë¤¿¤á¤ËÌòΩ¤Á¤Þ¤·¤¿¡ª
¤Þ¤¿¼«Ê¬¤Ç¤ÏÀäÂлȤ¦¤³¤È¤Ê¤¤¤À¤í¤¦¤Ê¤È»×¤Ã¤Æ¾¤ÎÊý¤Î¥¹¥¯¥ê¥×¥È¤òį¤á¤Æ¤¤¤Þ¤¹¤¬¡¢¤½¤ì¤Ç¤â²¿¤«¤Î¤¤Ã¤«¤±¤ÇɬÍפˤʤä¿»þ¤Ï²áµî¥í¥°¤«¤é¤³¤Î¥¹¥ì¸¡º÷¤¹¤ë¤ó¤À¤í¤¦¤È»×¤¤¤Þ¤¹¡£
¤É¤³¤Ç²¿¤¬Ìò¤ËΩ¤Ä¤«¤ï¤«¤é¤Ê¤¤¤â¤Î¤Ç¤¹¡£
> ¤Ê¤ó¤«´ë¤ó¤Ç¤¤¤ë¤Î?
¤³¤³¤À¤±¤ÎÏá¢À¤³¦À¬Éþ¤ò´ë¤Æ¤Æ¤¤¤Þ¤¹¡£
|
|
2015/11/22(Sun) 10:16:12|NO.73187
Éòƺ¿§¤µ¤ó¤¹¤ß¤Þ¤»¤ó
ÊѤÊÀâÌÀ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿
ÅÁ¤¨¤¿¤«¤Ã¤¿¤Î¤Ï¤³¤¦¤¤¤¦¤³¤È¤Ç¤¹
API¤Î¥¢¥É¥ì¥¹¼èÆÀ¤Ë¤³¤¦¤·¤Æ¤¤¤¿¤Î¤¬(¤³¤Î¾ì¹ç¤Ï¤ï¤¶¤ï¤¶¼èÆÀ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¤¬¥µ¥ó¥×¥ë¤Ê¤Î¤Ç)
#uselib "kernel32.dll"
#cfunc GetModuleHandle "GetModuleHandleA" sptr
#cfunc GetProcAddress "GetProcAddress" sptr,sptr
#define GPTR $40
p_dl_kernel32 =GetModuleHandle("kernel32.dll")
p_fn_GlobalAlloc=GetProcAddress( p_dl_kernel32 ,"GlobalAlloc")
p_fn_GlobalFree =GetProcAddress( p_dl_kernel32 ,"GlobalFree")
bufsize=64
funcarg=bufsize, GPTR
p_buf=callfunc(funcarg,p_fn_GlobalAlloc,2)
if p_buf==0 : dialog "¥á¥â¥ê³ÎÊݼºÇÔ",1 : end
dupptr buf,p_buf,bufsize,vartype("str")
buf="GlobalAlloc¤Ç"+p_buf+"¤Ë"+bufsize+"¥Ð¥¤¥È¤Î¥Ð¥Ã¥Õ¥¡¤ò³ÎÊݤ·¤Þ¤·¤¿"
mes "buf= "+buf
mes "strlen(buf)= "+strlen(buf)
funcarg=p_buf
funcarg=callfunc(funcarg,p_fn_GlobalFree,1)
if funcarg==0 : mes "²òÊü¤·¤Þ¤·¤¿"
¤³¤¦¤·¤Ævarptr¤Ç¤â¼èÆÀ¤Ç¤¤ë¤È¤¤¤¦¤³¤È¤¬Ê¬¤«¤ê¤Þ¤·¤¿
#uselib "kernel32.dll"
#cfunc GlobalAlloc "GlobalAlloc" int,int
#func GlobalFree "GlobalFree" sptr
#define GPTR $40
p_fn_GlobalAlloc= varptr(GlobalAlloc)
p_fn_GlobalFree = varptr(GlobalFree)
bufsize=64
funcarg=bufsize, GPTR
p_buf=callfunc(funcarg,p_fn_GlobalAlloc,2)
if p_buf==0 : dialog "¥á¥â¥ê³ÎÊݼºÇÔ",1 : end
dupptr buf,p_buf,bufsize,vartype("str")
buf="GlobalAlloc¤Ç"+p_buf+"¤Ë"+bufsize+"¥Ð¥¤¥È¤Î¥Ð¥Ã¥Õ¥¡¤ò³ÎÊݤ·¤Þ¤·¤¿"
mes "buf= "+buf
mes "strlen(buf)= "+strlen(buf)
funcarg=p_buf
funcarg=callfunc(funcarg,p_fn_GlobalFree,1)
if funcarg==0 : mes "²òÊü¤·¤Þ¤·¤¿"
Ä«¤«¤é¤Á¤ç¤Ã¤ÈÌÌÇò¤¤¥â¥¸¥å¡¼¥ë¤È¤½¤Î¥µ¥ó¥×¥ë¤ò¤Ä¤¯¤Ã¤¿¤Î¤Ç¤¹¤¬¤³¤Î¥¹¥ì¥Ã¥É¤ËÅê¹Æ¤Ç¤¤ë¤Û¤É¤Î¥¹¥¯¥ê¥×¥È¤«¤É¤¦¤«Ê¬¤«¤ê¤Þ¤»¤ó¡£
¼«Ê¬¤ÎÁ°¤ÎÅê¹Æ¤ò¸«¤Æ¤¤¤ë¤ÈÊѤʥ¹¥¯¥ê¥×¥È¤òÅê¹Æ¤·¤Æ¤¤¤¿¤ê¤·¤Æ¤Ï¤º¤«¤·¤¯¤Ê¤ê¤Þ¤·¤¿¡£
¤ï¤¿¤·¤ÏËü¤¬°ì¤Ë¤Ç¤â狼¤ÎÌܤˤȤޤäƤ½¤·¤Æ¾¯¤·¤Ç¤â´î¤ó¤À¤ê¡¢¤¯¤¹¤Ã¤È¾Ð¤Ã¤Æ¤¯¤ì¤¿¤ê¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¤¤¤¤¤Ê¤È»×¤¤¤Þ¤¹¡£Ã¯¤«¤ÎÌܤˤȤޤ뤫¤âʬ¤«¤ê¤Þ¤»¤ó¤·¡¢¤¿¤À¤Î¼«¸ÊËþ¤Υ¹¥¯¥ê¥×¥È¤Ë²á¤®¤Ê¤¤¤Î¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤Ç¤â¤½¤¦¤¤¤¦Íýͳ¤ÇÅê¹Æ¤·¤Æ¤¤¤Þ¤¹¡£
| |
|
2015/11/22(Sun) 10:18:50|NO.73188
¤ï¤¶¤ï¤¶GlobalAlloc¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ï´Êά²½¤Î¤¿¤á¤Ç¤¹
|
|
2015/11/22(Sun) 17:01:22|NO.73201
>>Snake
¤½¤¦¤À¤Í¤·¤È¤¤Þ¤·¤¿¡ª
¥Õ¥©¥í¡¼¤·¤Þ¤¹w
|
|
2015/11/22(Sun) 17:19:58|NO.73203
ÊÑ¿ô¤Î¥Ó¥Ã¥ÈÁàºî
A ÊÑ¿ô
B A¤Î¥Ð¥¤¥È°ÌÃÖ(0-)
C B¤Î¥Ó¥Ã¥È°ÌÃÖ(0-7)
Ǥ°Õ¥Ó¥Ã¥È¤Î¥ª¥ó
>> poke A,B,peek(A,B)|int(powf(2,C))
Ǥ°Õ¥Ó¥Ã¥È¤Î¥ª¥Õ
>> poke A,B,peek(A,B)&(int(powf(2,C))^$FF)
Ǥ°Õ¥Ó¥Ã¥È¤Î¾õÂÖ
>> D=((peek(A,B)&int(powf(2,C)))<<(7-C))>>7
²¿¤Ë»È¤¨¤ë¤«¤È¤¤¤¦¤È¡¢Í¤ê̵¤·¤Ç´ÉÍý¤¹¤ë¥Õ¥é¥°¥Ç¡¼¥¿¤ò°µ½Ì½ÐÍè¤ë¤°¤é¤¤¤Ç¤¹¡£
¿ôÃÍ·¿¤Ê¤é£³£²¸Ä¤ÎÊÑ¿ô¤¬£±¤Ä¤Ë¡¢Ê¸»úÎ󷿤ʤé³ÎÊݤµ¤ì¤¿¥Ð¥¤¥È¿ô¤Î£¸Çܤ¬»È¤¨¤Þ¤¹¡£
|
|
2015/11/23(Mon) 01:09:33|NO.73209
>>KA¤µ¤ó¡ÊNO.73203¡Ë
»È¤¤Êý¤Î¥µ¥ó¥×¥ë¤¬¤Ê¤¤¤È»È¤¤Êý¤¬¤è¤¯¤ï¤«¤é¤Ê¤¤¤Ç¤¹¡£
¤³¤ó¤Ê´¶¤¸¤Î¤³¤È¤È¤Ï°ã¤¦¤Î¤«¤Ê¤È¡Ä¡£
;for HSP3
#module
;ÃÍbits¤òw·å¤Î£²¿Êɽµ¤Îʸ»úÎó¤ËÊÑ´¹¤·¤¿¤â¤Î¤òÊÖ¤¹¥â¥¸¥å¡¼¥ë¡£
#defcfunc strbit int bits,int w
if (w<1)|(w>32) : w=32
s=""
repeat w
if bits&(1<<cnt) : s="1"+s : else : s="0"+s
loop
return s
#global
;#################################################
; 10987654321098765432109876543210
A = %00000000000000000000000000000010 ;¥Ç¡¼¥¿¤ò³ÊǼ¤¹¤ëÊÑ¿ô
B = 5 ;Æɤ߽ñ¤¤¹¤ë¥¢¥É¥ì¥¹
mes "B = " + B
mes "10987654321098765432109876543210 : INDEX"
mes strbit(A,32) + " : A"
; Ǥ°Õ¤Î¥Ó¥Ã¥È¤òON
A |= 1<<B
mes strbit(A,32) + " : Ǥ°Õ¤Î¥Ó¥Ã¥È¤òON"
; Ǥ°Õ¤Î¥Ó¥Ã¥È¤òOFF
A = A&(1<<B)^A
mes strbit(A,32) + " : Ǥ°Õ¤Î¥Ó¥Ã¥È¤òOFF"
; Ǥ°Õ¥Ó¥Ã¥È¤Î¾õÂÖ¤ò¼èÆÀ
mes "0 -> " + (A>>0&1)
mes "1 -> " + (A>>1&1)
mes "2 -> " + (A>>2&1)
mes "3 -> " + (A>>3&1)
mes "4 -> " + (A>>4&1)
mes "5 -> " + (A>>5&1)
»²¹Í»ñÎÁ¡§ http://wiki.hsp.moe/%E5%B0%8F%E3%83%AF%E3%82%B6%EF%BC%8F%E3%83%93%E3%83%83%E3%83%88%E6%93%8D%E4%BD%9C.html
| |
|
2015/11/23(Mon) 07:25:06|NO.73210
>>¤³¤ó¤Ê´¶¤¸¤Î¤³¤È¤È¤Ï°ã¤¦¤Î¤«¤Ê¤È¡Ä¡£
¤®¤ã¤®¤ã¡¢´û½Ð¤Ç¤·¤¿¤«¡¦¡¦¡¦¡£
¤Ç¤â¥Ð¥¤¥Èñ°Ì¤Ë¤·¤¿¤Î¤Ï¥¨¥ó¥Ç¥£¥¢¥ó¤ò¹Íθ¤·¤Æ¥Ð¥¤¥Ê¥ê¥ì¥Ù¥ë¤Î
½çÈÖ¤ò¹ç¤ï¤»¤ëÌÜŪ¤Ç¡¢¤È¤¢¤ë¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤Î²òÀϤ˼¹Ç°¤òdz¤ä¤·
¤¿¸Å¤Îɤ»þÂå¤ÎÉû»ºÊª¤Ç¤¹¡£
|
|
2015/11/23(Mon) 16:26:33|NO.73216
;·×¤Ç¤Ï¤Ê¤¤¤È»×¤¤¤Þ¤¹¡£
¤¿¤À¡¢¿§Ê¬¤±¤ò¼«Æ°¤Ë¤·¤ÆÍߤ·¤¤¡£
¤µ¤é¤ËÍߤò¸À¤¦¤È¡¢Ç¤°Õ¤Ç¡¢hs¥Õ¥¡¥¤¥ë¤ä¥â¥¸¥å¡¼¥ëÆâ¤Ç»È¤¦²èÁü(¤¿¤Þ¤Ë¤¢¤ë)¤¬Åê¹Æ¤Ç¤¤ë¤È¤¤¤¤Ž¡
hspÍѤȤ¤¤¦¤Î¤Ç¤·¤¿¤é¡¢¤³¤Î¤°¤é¤¤¤ÏɬÍפ«¤Ê¤È¡£
wiki·Ï¤È¤â¸À¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¸·¤·¤¤¤«¤âÃΤì¤Þ¤»¤ó¤¬¡£
|
|
2015/11/23(Mon) 18:03:12|NO.73222
¥â¥¸¥å¡¼¥ë¤Î»ÈÍÑÎã
C¥é¥ó¥¿¥¤¥à¤Ç¥¯¥¤¥Ã¥¯¥½¡¼¥È
//quciksort_by_crt p1,p2
//p1=ÇÛÎó̾ C¥é¥ó¥¿¥¤¥à¤Îqsort¤ÇʤÓÂؤ¨¤¿¤¤°ì¼¡¸µÇÛÎó
//p2=0|1(0) p2=0 Â礤¤½ç p2=1 ¾®¤µ¤¤½ç
//C¸À¸ì¤Î¥é¥ó¥¿¥¤¥à¤Ç¥¯¥¤¥Ã¥¯¥½¡¼¥È¤ò¤·¤Þ¤¹
//HSP¤Ç¥³¡¼¥ë¥Ð¥Ã¥¯¥â¥¸¥å¡¼¥ë(http://nopswebpages.webcrow.jp/apps/ccallfn/)¤ò»È¤¤¤Þ¤¹
//HSP3.5 beta 2¤È3.4¤ÇÆ°ºî³Îǧ
//¥Ñ¥Ö¥ê¥Ã¥¯¥É¥á¥¤¥ó¤Ç¤¹
//CC0 1.0¤Ç¥é¥¤¥»¥ó¥¹¤·¤Þ¤¹(CC0¤Î¥³¥â¥ó¥º¸¢Íø¾Ú https://creativecommons.org/publicdomain/zero/1.0/deed.ja)
//¥â¥¸¥å¡¼¥ë¤Î¥Õ¥¡¥¤¥ë̾¤ËŬÅÙ½ñ¤¤«¤¨¤Æ¤¯¤À¤µ¤¤
#include "ccallfn.txt"
#module
#uselib "crtdll.dll"
#func qsort "qsort" sptr,int,int,sptr
#deffunc quciksort_by_crt array p1, int opt, local comparea, local compareb, local comparep, local statbak, local hspctx
mref hspctx,68
statbak= wparam, lparam, stat
if p_compare==0: makeclbkfunc p_compare,2, *compare,1 //C¸À¸ì¤Î¥é¥ó¥¿¥¤¥à¤ò»È¤¦¤Î¤Ç¸Æ¤Ó½Ð¤·µ¬Ìó¤Ïcdecl¤Ë¤¹¤ë(stdcall¤Î¾ì¹ç¤ÏÂè4¥Ñ¥é¥á¡¼¥¿¤Ï0¤Ë¤¹¤ë¤«¾Êά)
qsort varptr(p1),length(p1),4,p_compare
hspctx(9)=statbak(0)
hspctx(10)=statbak(1)
hspctx(196)=statbak(2)
return
*compare
argclbkfunc comparep
dupptr comparea,comparep.0,4
dupptr compareb,comparep.1,4
if opt{
return comparea-compareb
}else{
return compareb-comparea
}
#global
//¥µ¥ó¥×¥ë
/*
dim a,20
randomize
repeat length(a)
a.cnt=rnd(20)
mes a.cnt
loop
quciksort_by_crt a,0
pos ginfo_sx/3,0
repeat length(a)
mes a.cnt
loop
quciksort_by_crt a,1
pos ginfo_sx-ginfo_sx/3,0
repeat length(a)
mes a.cnt
loop
stop
*/
| |
|
2015/11/24(Tue) 05:22:36|NO.73230
//¥¨¥Ç¥£¥Ã¥È¥Ü¥Ã¥¯¥¹¤ò¥µ¥Ö¥¯¥é¥¹²½¤·¤Æ±¦¥¯¥ê¥Ã¥¯¥á¥Ë¥å¡¼¤òÃÖ¤´¹¤¨¤ë
//HSP¤Ç¥³¡¼¥ë¥Ð¥Ã¥¯¥â¥¸¥å¡¼¥ë(http://nopswebpages.webcrow.jp/apps/ccallfn/)¤ò»È¤¤¤Þ¤¹
//HSP3.5 beta 2¤È3.4¤ÇÆ°ºî³Îǧ
//¥Ñ¥Ö¥ê¥Ã¥¯¥É¥á¥¤¥ó¤Ç¤¹
//CC0 1.0¤Ç¥é¥¤¥»¥ó¥¹¤·¤Þ¤¹(CC0¤Î¥³¥â¥ó¥º¸¢Íø¾Ú https://creativecommons.org/publicdomain/zero/1.0/deed.ja)
//¥â¥¸¥å¡¼¥ë¤Î¥Õ¥¡¥¤¥ë̾¤ËŬÅÙ½ñ¤¤«¤¨¤Æ¤¯¤À¤µ¤¤
#include "ccallfn.txt"
#uselib "user32.dll"
#cfunc GetWindowLong "GetWindowLongA" sptr,int
#func SetWindowLong "SetWindowLongA" sptr,int,sptr
#cfunc CallWindowProc "CallWindowProcA" sptr,sptr,int,int,int
#cfunc CreatePopupMenu "CreatePopupMenu"
#func AppendMenu "AppendMenuA" sptr,int,sptr,sptr
#func ModifyMenu "ModifyMenuA" sptr,int,int,sptr,sptr
#func DestroyMenu "DestroyMenu" sptr
#func TrackPopupMenu "TrackPopupMenu" sptr,int,int,int,int,int,int
#func CheckMenuItem "CheckMenuItem" sptr,int,int
#func CheckMenuRadioItem "CheckMenuRadioItem" sptr,int,int,int,int
#define GWL_WNDPROC $FFFFFFFC
#define WM_CONTEXTMENU $0000007B
//±¦¥á¥Ë¥å¡¼ÀßÄê
#define MF_POPUP $00000010//¥µ¥Ö¥á¥Ë¥å¡¼¥Ü¥¿¥ó
#define MF_SEPARATOR $00000800//¶èÀÚ¤êÀþ
#define MFS_CHECKED $00000008//¥Á¥§¥Ã¥¯
#define MF_STRING $00000000//ʸ»ú
#define MF_DISABLED $00000002//̵¸úɽ¼¨
#define MF_MENUBARBREAK $00000020//¥µ¥Ö¥á¥Ë¥å¡¼
//±¦¥á¥Ë¥å¡¼É½¼¨
#define TPM_NONOTIFY $00000080//WM_COMMAND¤Ï»È¤ï¤Ê¤¤
#define TPM_RETURNCMD $00000100//stat
#define TPM_RIGHTBUTTON $00000002//±¦¥¯¥ê¥Ã¥¯¤Ç¤âÁªÂò
dim p_new_inputbox_proc,1
dim callbkarg,4
dim hmesbox
buf="¥·¥ç¡¼¥È¥«¥Ã¥È¥á¥Ë¥å¡¼¤¬°ã¤¦\n±¦¥¯¥ê¥Ã¥¯\nShift + F10\n¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¡¼"
buf2="¤³¤ì¤Î¥á¥Ë¥å¡¼¤ÏÉáÄÌ"
schr="a"
dupptr chr,varptr(schr),1
subsubcontextmenu=CreatePopupMenu()
subcontextmenu=CreatePopupMenu()
maincontextmenu=CreatePopupMenu()
//¥á¥¤¥ó¥á¥Ë¥å¡¼
repeat 5,1
AppendMenu maincontextmenu,MF_STRING,cnt,"¥À¥¤¥¢¥í¥°"+cnt+"(&"+schr+")"
chr++
loop
AppendMenu maincontextmenu, MF_POPUP, subcontextmenu,"¥µ¥Ö¥á¥Ë¥å¡¼"
//¥µ¥Ö¥á¥Ë¥å¡¼
repeat 5,6
AppendMenu subcontextmenu,MF_STRING,cnt,"¥À¥¤¥¢¥í¥°"+cnt+"(&"+schr+")"
chr++
loop
AppendMenu subcontextmenu, MF_POPUP, subsubcontextmenu,"¥µ¥Ö¥µ¥Ö¥á¥Ë¥å¡¼"
//¥µ¥Ö¥µ¥Ö¥á¥Ë¥å¡¼
repeat 5,11
AppendMenu subsubcontextmenu,MF_STRING,cnt,"¥À¥¤¥¢¥í¥°"+cnt+"(&"+schr+")"
chr++
loop
cls
mesbox buf,ginfo_winx/3,ginfo_winy/3,,0
pos ginfo_winx/3
mesbox buf2,ginfo_winx/3,ginfo_winy/3,,0
hmesbox=objinfo_hwnd(0)
makeclbkfunc p_new_inputbox_proc,4, *inputbox_proc
p_previous_inputbox_proc=GetWindowLong(hmesbox,GWL_WNDPROC)
SetWindowLong hmesbox, GWL_WNDPROC, p_new_inputbox_proc
oncmd gosub *inputbox_contextmenu, WM_CONTEXTMENU
onexit *owari
stop
*owari
DestroyMenu maincontextmenu
end
*inputbox_proc
argclbkfunc callbkarg
if callbkarg.1==WM_CONTEXTMENU{
sendmsg hwnd, WM_CONTEXTMENU, callbkarg.2, callbkarg.3
return 0
}
return CallWindowProc(p_previous_inputbox_proc, callbkarg.0, callbkarg.1, callbkarg.2, callbkarg.3)
*inputbox_contextmenu
if wparam==hmesbox{
TrackPopupMenu maincontextmenu, TPM_NONOTIFY | TPM_RETURNCMD | TPM_RIGHTBUTTON , ginfo_mx, ginfo_my, 0, hwnd, 0
if stat: dialog "¥À¥¤¥¢¥í¥°"+stat+"¤òÁª¤Ó¤Þ¤·¤¿"
}
return 0
| |
|
2015/11/25(Wed) 00:37:17|NO.73249
¼Â¹Ô¥Õ¥¡¥¤¥ë¤¬CUI¤«GUI¤«È½Äꤹ¤ë¥â¥¸¥å¡¼¥ë
//getexesubsys p1
//p1=ʸ»úÎó ¾ðÊó¤ò¼èÆÀ¤·¤¿¤¤¥Õ¥¡¥¤¥ë
//p2=0|1(0) p2=0(¾Êά) ¥µ¥Ö¥·¥¹¥Æ¥à¤Î¥Õ¥é¥°¤ÎÃÍ p2=1 ¥µ¥Ö¥·¥¹¥Æ¥à¤Î¥Õ¥é¥°¤Î¥ª¥Õ¥»¥Ã¥È
//p2=0¤Î¾ì¹ç¤Î¼ç¤ÊÊÖ¤·ÃÍ
// 2=IMAGE_SUBSYSTEM_WINDOWS_GUI GUI¥¢¥×¥ê
// 3=IMAGE_SUBSYSTEM_WINDOWS_CUI CUI¥¢¥×¥ê
// 9=IMAGE_SUBSYSTEM_WINDOWS_CE_GUI CE¥¢¥×¥ê
//-1= ¼èÆÀ¼ºÇÔ
//p2=1¤Î¾ì¹ç¥µ¥Ö¥·¥¹¥Æ¥à¤Î¥Õ¥é¥°¤Î¥ª¥Õ¥»¥Ã¥È¤¬ÊÖ¤µ¤ì¤Þ¤¹
//ÊÖ¤·ÃÍ=-1 ¼èÆÀ¼ºÇÔ
#module
#define IMAGE_NT_SIGNATURE $00004550
#define COFF_HEADER_SIZE 20
#defcfunc getexesubsys str sz_filepath, int mode, local in_tmp, local in_signature_offset
exist sz_filepath
if strsize==-1 : return -1
bload sz_filepath,in_tmp,2, 0
if in_tmp!=$5A4D : return -1
bload sz_filepath,in_signature_offset, 4, $3C //¥·¥°¥Í¥¯¥Á¥ã¡¼¤Î°ÌÃÖ
bload sz_filepath,in_tmp, 4, in_signature_offset
if in_tmp!=IMAGE_NT_SIGNATURE : return -1
//bload sz_filepath,in_option_header_size, 2, in_signature_offset+20 //¥ª¥×¥·¥ç¥ó¥Ø¥Ã¥À¤ÎÂ礤µ
if mode{
in_tmp = in_signature_offset+4+COFF_HEADER_SIZE + 68
}else{
in_tmp=0
bload sz_filepath,in_tmp, 2, in_signature_offset+4+COFF_HEADER_SIZE + 68
}
return in_tmp
#global
//¥µ¥ó¥×¥ë
/*
in_sub_system= getexesubsys("C:\\hsp34\\runtime\\hsp3cl.hrt", 0)
mes in_sub_system
*/
| |
|
2015/11/26(Thu) 18:36:04|NO.73289
Àè¤Û¤É¤Î¥¹¥¯¥ê¥×¥È¤ò¥¢¥Ã¥×¥í¡¼¥É¤·¤Þ¤·¤¿
http://nopswebpages.webcrow.jp/apps/ccallfn/cntxmn.txt
http://nopswebpages.webcrow.jp/apps/ccallfn/hspclwnd.txt
http://nopswebpages.webcrow.jp/apps/ccallfn/qsortcrt.txt
°ìÍ÷
http://nopswebpages.webcrow.jp/apps/ccallfn
¥¿¡¼¥È¥ë¥°¥é¥Õ¥£¥Ã¥¯¤È¤¤¤¦¤Î¤¬¤¢¤ë¤é¤·¤¤¤Î¤ÇÊØÍø¤½¤¦¤Ê¤Î¤Ç¤Ä¤¯¤Ã¤Æ»È¤Ã¤Æ¤ß¤Þ¤·¤¿
¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë
http://nopswebpages.webcrow.jp/apps/trtlgrp.txt
//HSP¤Ç´Ê°×¥¿¡¼¥È¥ë¥°¥é¥Õ¥£¥Ã¥¯
//¥Ñ¥Ö¥ê¥Ã¥¯¥É¥á¥¤¥ó¤Ç¤¹
//CC0 1.0¤Ç¥é¥¤¥»¥ó¥¹¤·¤Þ¤¹(CC0¤Î¥³¥â¥ó¥º¸¢Íø¾Ú https://creativecommons.org/publicdomain/zero/1.0/deed.ja)
//¥¿¡¼¥È¥ë¤Ï½é´ü¾õÂ֤ǤÏ5¤Ò¤¤¤¤Þ¤¹
//¥¿¡¼¥È¥ë¤Ï½é´ü¾õÂ֤Ǥϱ¦¤ò¸þ¤¤¤Æ¤¤¤Æ¹õ¿§¤Ç¤¹ ºÂɸ¤Ï0,0¤Ç¤¹
//¥¿¡¼¥È¥ë¸þ¤¤òÊѤ¨¤Æ(Àþ¤Î¸þ¤¤òÊѹ¹¤¹¤ë)
//turn_turtle p1,p2
//p1=0~ : ¥¿¡¼¥È¥ë¤ÎÈÖ¹æ
//p2=0.0~ : ³ÑÅÙ(¼Â¿ô·¿)
//p2>0.0¤Î¾ì¹çÈ¿»þ·×²ó¤ê p2<0.0¤Î¾ì¹ç»þ·×²ó¤ê¤Ç¤¹
//¸ºß¤·¤Ê¤¤ÈÖ¹æ¤Î¥¿¡¼¥È¥ë¤ò»ØÄꤷ¤¿¾ì¹ç¡¢stat¤Ë0¤¬ÊÖ¤µ¤ì¤Þ¤¹
//stat¤Ë1¤¬ÊÖ¤µ¤ì¤Þ¤¹
//¥¿¡¼¥È¥ëÁö¤Ã¤Æ(Àþ¤ò°ú¤¯)
//run_turtle p1,p2
//p1=0~ : ¥¿¡¼¥È¥ë¤ÎÈÖ¹æ
//p2=0~ : Àþ¤ÎŤµ
//Àþ¤ÎÀ褬¥¿¡¼¥È¥ë¤Î¿·¤¿¤ÊºÂɸ¤Ë¤Ê¤ê¤Þ¤¹
//p2<0¤Î¾ì¹ç¥Ð¥Ã¥¯¤·¤Þ¤¹
//¸ºß¤·¤Ê¤¤ÈÖ¹æ¤Î¥¿¡¼¥È¥ë¤ò»ØÄꤷ¤¿¾ì¹ç¡¢stat¤Ë0¤¬ÊÖ¤µ¤ì¤Þ¤¹
//stat¤Ë1¤¬ÊÖ¤µ¤ì¤Þ¤¹
//¥¿¡¼¥È¥ëÊѿȤ·¤Æ(¥ª¥×¥·¥ç¥óÀßÄê)
//set_opt_turtle p1,p2,p3
//p1=0~ : ¥¿¡¼¥È¥ë¤ÎÈÖ¹æ
//p2=($000000) : ¿§(COLORREF¹½Â¤ÂÎ)
//p3=0.0~ : ³ÑÅÙ(¼Â¿ô·¿)
//p3>0.0¤Î¾ì¹çÈ¿»þ·×²ó¤ê p3<0.0¤Î¾ì¹ç»þ·×²ó¤ê¤Ç¤¹
//p2=-1¤Î¾ì¹çrun_turtle¤ÇÀþ¤Ï°ú¤«¤ì¤º¥¿¡¼¥È¥ë¤ÎºÂɸ¤À¤±¤¬°ÜÆ°¤µ¤ì¤Þ¤¹
//¸ºß¤·¤Ê¤¤ÈÖ¹æ¤Î¥¿¡¼¥È¥ë¤ò»ØÄꤷ¤¿¾ì¹ç¡¢stat¤Ë0¤¬ÊÖ¤µ¤ì¤Þ¤¹
//stat¤Ë1¤¬ÊÖ¤µ¤ì¤Þ¤¹
//¥¿¡¼¥È¥ë¥ï¡¼¥×¤·¤Æ(ºÂɸÀßÄê)
//set_pos_turtle p1,p2,p3
//p1=0~ : ¥¿¡¼¥È¥ë¤ÎÈÖ¹æ
//p2=(0) : xºÂɸ
//p3=(0) : yºÂɸ
//¸ºß¤·¤Ê¤¤ÈÖ¹æ¤Î¥¿¡¼¥È¥ë¤ò»ØÄꤷ¤¿¾ì¹ç¡¢stat¤Ë0¤¬ÊÖ¤µ¤ì¤Þ¤¹
//stat¤Ë1¤¬ÊÖ¤µ¤ì¤Þ¤¹
//¥¿¡¼¥È¥ë¶µ¤¨¤Æ(¾ðÊó¤Î¼èÆÀ)
//val=get_info_turtle(p1,p2)
//p1=0~ : ¥¿¡¼¥È¥ë¤ÎÈÖ¹æ
//p2=0~ : ¼èÆÀ¤¹¤ë¾ðÊó p2=0 xºÂɸ , p2=1 yºÂɸ , p2=2 ¿§ , p2=3 , ³ÑÅÙ
//¸ºß¤·¤Ê¤¤ÈÖ¹æ¤Î¥¿¡¼¥È¥ë¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤Þ¤¿p2<0 | p2>3¤Î¾ì¹ç 0¤¬ÊÖ¤µ¤ì¤Þ¤¹
//p2=3¤Î¾ì¹ç¼Â¿ô·¿¤Ç³ÑÅÙ¤¬ÊÖ¤µ¤ì¤Þ¤¹
//¥¿¡¼¥È¥ë¾Ã¤¨¤Æ(¥¿¡¼¥È¥ë¤Î½é´ü²½)
//¥¿¡¼¥È¥ë¤Ï½é´ü¾õÂ֤Ǥϱ¦¤ò¸þ¤¤¤Æ¤¤¤Æ¹õ¿§¤Ç¤¹ ºÂɸ¤Ï0,0¤Ç¤¹
//set_num_turtle p1
//p1=1~ : ¥¿¡¼¥È¥ë¤Î¿ô
//p1<1¤Î¾ì¹ç stat=0
//p1>=1¤Î¾ì¹ç stat=1
//¥¿¡¼¥È¥ë¥°¥é¥Õ¥£¥Ã¥¯¥â¥¸¥å¡¼¥ë
//-----//-----//-----//-----//-----//-----//-----//-----//-----//-----|-----\\-----\\-----\\-----\\-----\\-----\\-----\\-----\\-----\\-----\\
#module
#define NUM_ELEMENTS_TURTLE 4
//arg_int_info_turtle.0= xºÂɸ
//arg_int_info_turtle.1= yºÂɸ
//arg_int_info_turtle.2= ¿§
//arg_int_info_turtle.3= ¸þ¤(³ÑÅÙ¤ò100Çܤ·¤Æ´ÉÍý)
#define ctype ELEM_TURTLE_POS_X(%1) arg_int_info_turtle(%1*NUM_ELEMENTS_TURTLE+0)
#define ctype ELEM_TURTLE_POS_Y(%1) arg_int_info_turtle(%1*NUM_ELEMENTS_TURTLE+1)
#define ctype ELEM_TURTLE_COLOR(%1) arg_int_info_turtle(%1*NUM_ELEMENTS_TURTLE+2)
#define ctype ELEM_TURTLE_DIRCT(%1) arg_int_info_turtle(%1*NUM_ELEMENTS_TURTLE+3)
//³ÑÅÙ¤ò²¿Çܤ·¤Æ´ÉÍý¤¹¤ë¤«
#define DIRECTACCUR 100
//ºÂɸ¤ò²¿Çܤ·¤Æ´ÉÍý¤¹¤ë¤«
#define POSACCUR 1
#define GET_ELEMENT_POSX
#deffunc set_num_turtle int p1_set_num_turtle
#define num_turtle p1_set_num_turtle
if num_turtle<1 : return 0
int_num_turtle=num_turtle-1
dim arg_int_info_turtle , (int_num_turtle+1) * NUM_ELEMENTS_TURTLE
return 1
#undef num_turtle
#defcfunc get_info_turtle int p1_get_info_turtle, int p2_get_info_turtle
#define num_turtle p1_get_info_turtle
#define idx_turtle p2_get_info_turtle
if int_num_turtle<num_turtle | idx_turtle<0 | idx_turtle>=NUM_ELEMENTS_TURTLE : return 0
if idx_turtle==3 : return (0.0+arg_int_info_turtle(num_turtle*NUM_ELEMENTS_TURTLE+idx_turtle))/DIRECTACCUR
return arg_int_info_turtle(num_turtle*NUM_ELEMENTS_TURTLE+idx_turtle)
#undef num_turtle
#undef idx_turtle
#deffunc set_pos_turtle int p1_set_pos_turtle, int p2_set_pos_turtle, int p3_set_pos_turtle
#define num_turtle p1_set_pos_turtle
#define posx_turtle p2_set_pos_turtle
#define posy_turtle p3_set_pos_turtle
if int_num_turtle<num_turtle : return 0
ELEM_TURTLE_POS_X(num_turtle)=posx_turtle*POSACCUR
ELEM_TURTLE_POS_Y(num_turtle)=posy_turtle*POSACCUR
return 1
#undef num_turtle
#undef posx_turtle
#undef posy_turtle
#deffunc set_opt_turtle int p1_set_opt_turtle, int p2_set_opt_turtle, double p3_set_opt_turtle
#define num_turtle p1_set_opt_turtle
#define color_turtle p2_set_opt_turtle
#define dirct_turtle p3_set_opt_turtle
if int_num_turtle<num_turtle : return 0
ELEM_TURTLE_COLOR(num_turtle)=color_turtle
ELEM_TURTLE_DIRCT(num_turtle)=0+(dirct_turtle*DIRECTACCUR)
return 1
#undef num_turtle
#undef color_turtle
#undef dirct_turtle
#deffunc run_turtle int p1_run_turtle, int p2_run_turtle, local tmp
#define num_turtle p1_run_turtle
#define length_turtle p2_run_turtle
if int_num_turtle<num_turtle : return 0
dim tmp,4
tmp.0=POSACCUR*(sin( (0.0+(arg_int_info_turtle(num_turtle*NUM_ELEMENTS_TURTLE+3)/DIRECTACCUR)) *M_PI/180 )* length_turtle)
tmp.1=POSACCUR*(cos( (0.0+(arg_int_info_turtle(num_turtle*NUM_ELEMENTS_TURTLE+3)/DIRECTACCUR)) *M_PI/180 )* length_turtle)
if arg_int_info_turtle(num_turtle*NUM_ELEMENTS_TURTLE+2) != -1{
tmp.2=ginfo_r | ginfo_g<<8 | ginfo_b<<16
tmp.3=ginfo_cx | ginfo_cy<<16
color ELEM_TURTLE_COLOR(num_turtle) & $FF, (ELEM_TURTLE_COLOR(num_turtle)>>8) & $FF, (ELEM_TURTLE_COLOR(num_turtle)>>16) & $FF
line ELEM_TURTLE_POS_X(num_turtle)/POSACCUR, ELEM_TURTLE_POS_Y(num_turtle)/POSACCUR, (ELEM_TURTLE_POS_X(num_turtle)+tmp.1)/POSACCUR, (ELEM_TURTLE_POS_Y(num_turtle)-tmp.0)/POSACCUR
color tmp.2 & $FF, (tmp.2>>8) & $FF, (tmp.2>>16) & $FF
pos tmp.3 & $FFFF, tmp.3>>16
}
ELEM_TURTLE_POS_X(num_turtle)+=tmp.1
ELEM_TURTLE_POS_Y(num_turtle)-=tmp.0
return 1
#undef num_turtle
#undef length_turtle
#deffunc turn_turtle int p1_turn_turtle, double p2_turn_turtle, local tmp
#define num_turtle p1_turn_turtle
#define dirct_turtle p2_turn_turtle
if int_num_turtle<num_turtle : return 0
tmp=ELEM_TURTLE_DIRCT(num_turtle) +(dirct_turtle*DIRECTACCUR)
if tmp<0 : tmp+=(360*DIRECTACCUR)
if tmp>=360*DIRECTACCUR : tmp-=(360*DIRECTACCUR)
ELEM_TURTLE_DIRCT(num_turtle)=tmp
return 1
#undef num_turtle
#undef dirct_turtle
#global
set_num_turtle 5
//¥¿¡¼¥È¥ë¥°¥é¥Õ¥£¥Ã¥¯¥â¥¸¥å¡¼¥ë¤ª¤·¤Þ¤¤
//-----//-----//-----//-----//-----//-----//-----//-----//-----//-----|-----\\-----\\-----\\-----\\-----\\-----\\-----\\-----\\-----\\-----\\
//¥µ¥ó¥×¥ë
/*
set_pos_turtle 4,20,420
set_opt_turtle 4,$00FF00,0
set_pos_turtle 3,280,470
set_opt_turtle 3,$0000FF,0
set_pos_turtle 2,60,240
set_opt_turtle 2,$0000FF,36
set_pos_turtle 1,200,300
set_opt_turtle 1,$FF0000,15
set_pos_turtle 0,400,200
set_opt_turtle 0,$00FF00,15
color 255,180,0
mes get_info_turtle(1,3)
repeat 5
run_turtle 2,250
turn_turtle 2,144
loop
repeat 12
run_turtle 1,100
turn_turtle 1,150
loop
repeat 12
run_turtle 0,40
turn_turtle 0,30
loop
set_pos_turtle 2,400,400
set_opt_turtle 2,$FF00FF,180.0/7*2
repeat 7
run_turtle 2,200
turn_turtle 2,180.1-180.0/7 //·×»»¸íº¹¤Ç¾¯¤·¤º¤ì¤ë¤Î¤Ç¾¯¤·Ä´Àá
loop
int_level=4
dim arg_int_length_koch, int_level+1
arg_int_length_koch(int_level)= 350
num_turtle_koch=3
gosub *koch_curve
int_max_level=3
int_level=int_max_level
dim arg_int_length_koch, int_level+1
dim arg_int_flag_koch_curve2, int_level+1
arg_int_length_koch(int_level)= 350
num_turtle_koch=4
gosub *koch_curve2
mes "¤¢"
stop
//¥³¥Ã¥Û¶ÊÀþ(ºÆµ¢ÈÇ)
*koch_curve
if int_level<=0: run_turtle num_turtle_koch,arg_int_length_koch(int_level) : int_level++: return
arg_int_length_koch(int_level-1)=arg_int_length_koch(int_level)/3
int_level--
gosub *koch_curve
turn_turtle num_turtle_koch,60
arg_int_length_koch(int_level-1)=arg_int_length_koch(int_level)/3
int_level--
gosub *koch_curve
turn_turtle num_turtle_koch,-120
arg_int_length_koch(int_level-1)=arg_int_length_koch(int_level)/3
int_level--
gosub *koch_curve
turn_turtle num_turtle_koch,60
arg_int_length_koch(int_level-1)=arg_int_length_koch(int_level)/3
int_level--
gosub *koch_curve
int_level++
return
//¥³¥Ã¥Û¶ÊÀþ(¥ë¡¼¥×ÈÇ)
*koch_curve2
repeat
if int_level<=0: run_turtle num_turtle_koch,arg_int_length_koch(int_level) : int_level++: continue
if arg_int_flag_koch_curve2(int_level)==0{
arg_int_length_koch(int_level-1)=arg_int_length_koch(int_level)/3
arg_int_flag_koch_curve2(int_level)=1
int_level--
continue
}
if arg_int_flag_koch_curve2(int_level)==1 : arg_int_flag_koch_curve2(int_level)==0
if arg_int_flag_koch_curve2(int_level)==0{
turn_turtle num_turtle_koch,60
arg_int_length_koch(int_level-1)=arg_int_length_koch(int_level)/3
arg_int_flag_koch_curve2(int_level)=2
int_level--
continue
}
if arg_int_flag_koch_curve2(int_level)==2 : arg_int_flag_koch_curve2(int_level)==0
if arg_int_flag_koch_curve2(int_level)==0{
turn_turtle num_turtle_koch,-120
arg_int_length_koch(int_level-1)=arg_int_length_koch(int_level)/3
arg_int_flag_koch_curve2(int_level)=3
int_level--
continue
}
if arg_int_flag_koch_curve2(int_level)==3 : arg_int_flag_koch_curve2(int_level)==0
if arg_int_flag_koch_curve2(int_level)==0{
turn_turtle num_turtle_koch,60
arg_int_length_koch(int_level-1)=arg_int_length_koch(int_level)/3
arg_int_flag_koch_curve2(int_level)=4
int_level--
continue
}
if arg_int_flag_koch_curve2(int_level)==4 : arg_int_flag_koch_curve2(int_level)==0
int_level++
if int_level>int_max_level : break
loop
return
*/
| |
|
2015/11/26(Thu) 22:43:37|NO.73290
hsp3cl¥é¥ó¥¿¥¤¥à¤ò»ÈÍѤ»¤º¡¢¥³¥ó¥½¡¼¥ë¤Ëʸ»úÎó¤ò½ÐÎϤ¹¤ë¥µ¥ó¥×¥ë
¢¨¤³¤Î¥µ¥ó¥×¥ë¤Ç¤Ï¡¢¥¦¥£¥ó¥É¥¦ID0¤òÈóɽ¼¨¤Ë¤·¤Æ¤¤¤Þ¤¹¤¬¡¢
Ä̾ï¤Î¥¦¥£¥ó¥É¥¦¤È¡¢¥³¥ó¥½¡¼¥ë¥¦¥£¥ó¥É¥¦¤ÎξÊýɽ¼¨²Äǽ¤Ê¤¿¤á¡¢
¥³¥ó¥½¡¼¥ë¥¦¥£¥ó¥É¥¦¤ÎÊý¤ò¥È¥ì¡¼¥¹¥í¥°Åª¤Ê»È¤¤Êý¤¬¤Ç¤¤Þ¤¹¡£
#module
#uselib "kernel32"
#cfunc GetStdHandle "GetStdHandle" int
#func WriteConsoleA "WriteConsoleA" int, str, int, int, int
#define STD_OUTPUT_HANDLE (-11)
#deffunc mes2 str s
if (0 == hOut) {
hOut = GetStdHandle(STD_OUTPUT_HANDLE)
}
WriteConsoleA hOut, s + "\n", strlen(s + "\n"), 0, 0
return
#global
#uselib "kernel32"
#cfunc AttachConsole "AttachConsole" int
#func AllocConsole "AllocConsole"
#func FreeConsole "FreeConsole"
#define ATTACH_PARENT_PROCESS (-1)
#ifdef _debug
// ¥Ç¥Ð¥Ã¥°¼Â¹Ô»þ¤Î¤ß¡¢Èóɽ¼¨¤Ë¤¹¤ë
gsel 0, -1
#endif
#packopt hide 1
// CMD.exe¤«¤é¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤«¡©
if 0 == AttachConsole(ATTACH_PARENT_PROCESS) {
// ¥³¥ó¥½¡¼¥ë¥¦¥£¥ó¥É¥¦¤òÀ¸À®¤¹¤ë
AllocConsole
}
// ¥³¥ó¥½¡¼¥ë¤Ëʸ»ú¤ò½ÐÎϤ¹¤ë
mes2 "¤³¤ó¤Ë¤Á¤Ï"
mes2 "Hello! HSP! ¥³¥ó¥½¡¼¥ëAPP"
dialog "OK¤ò²¡¤¹¤È½ªÎ»¤·¤Þ¤¹"
FreeConsole
end
| |
|
2015/11/27(Fri) 18:54:24|NO.73292
º£¤¯¤Á¤µ¤ó¤ÎWiki( http://hspscript.cswiki.jp/)¤ËÅê¹Æ¤·¤è¤¦¤È¤·¤¿¤é¤â¤¦¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤Æ¶Ã¤¤Þ¤·¤¿
³Î¤«Á°¤¯¤Á¤µ¤ó¤¬¤Ä¤¯¤ê¤Þ¤·¤¿HSP¥Á¥ã¥Ã¥È¤â¤¹¤°¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¤¬Wiki¤â¤¹¤°¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿
¤Ê¤¯¤¹¤Ê¤É¤Ï¤¯¤Á¤µ¤ó¤Î¼«Í³¤Ê¤Î¤Ç¤Ê¤¯¤Ê¤Ã¤Æ¤â¤·¤«¤¿¤¬¤Ê¤¤¤Ç¤¹¤¬¤Á¤ç¤Ã¤È»ÄÇ°¤Ç¤¹
¼«¸Ê¥×¥í¥»¥¹¤ÎÍ¥ÀèÅÙ³Îǧ¤ª¤è¤ÓÊѹ¹¤Î¥µ¥ó¥×¥ë
#uselib "kernel32.dll"
#cfunc GetCurrentProcess "GetCurrentProcess"
#func SetPriorityClass "SetPriorityClass" sptr,int
#cfunc GetPriorityClass "GetPriorityClass" sptr
#define REALTIME_PRIORITY_CLASS $00000100 //¥ê¥¢¥ë¥¿¥¤¥à
#define HIGH_PRIORITY_CLASS $00000080 //¹â
#define ABOVE_NORMAL_PRIORITY_CLASS $00008000 //Ä̾ï°Ê¾å(2000°Ê¹ß¤Ç»È¤¨¤ë)
#define NORMAL_PRIORITY_CLASS $00000020 //Ä̾ï
#define BELOW_NORMAL_PRIORITY_CLASS $00004000 //Ä̾ï°Ê²¼(2000°Ê¹ß¤Ç»È¤¨¤ë)
#define IDLE_PRIORITY_CLASS $00000040 //Äã
sdim buf,64
dim primary_class,1
h_current_process=GetCurrentProcess()
button gosub "¹â", *set_priority_class
button gosub "Ä̾ï°Ê¾å", *set_priority_class
button gosub "Ä̾ï", *set_priority_class
button gosub "Ä̾ï°Ê²¼", *set_priority_class
button gosub "Äã", *set_priority_class
int_position=ginfo_cx,ginfo_cy
while
color 255,255,255: boxf: color : pos int_position.0 , int_position.1
primary_class=GetPriorityClass(h_current_process)
switch primary_class
case REALTIME_PRIORITY_CLASS
buf="¥ê¥¢¥ë¥¿¥¤¥à"
swbreak
case HIGH_PRIORITY_CLASS
buf="¹â"
swbreak
case ABOVE_NORMAL_PRIORITY_CLASS
buf="Ä̾ï°Ê¾å"
swbreak
case NORMAL_PRIORITY_CLASS
buf="Ä̾ï"
swbreak
case BELOW_NORMAL_PRIORITY_CLASS
buf="Ä̾ï°Ê²¼"
swbreak
case IDLE_PRIORITY_CLASS
buf="Äã"
swbreak
default
buf="ÉÔÌÀ"
swbreak
swend
mes "¤³¤Î¥×¥í¥»¥¹¤ÎÍ¥ÀèÅÙ="+buf
await 100
wend
*set_priority_class
if stat==0 : primary_class=HIGH_PRIORITY_CLASS
if stat==1 : primary_class=ABOVE_NORMAL_PRIORITY_CLASS
if stat==2 : primary_class=NORMAL_PRIORITY_CLASS
if stat==3 : primary_class=BELOW_NORMAL_PRIORITY_CLASS
if stat==4 : primary_class=IDLE_PRIORITY_CLASS
SetPriorityClass h_current_process, primary_class
return
| |
|
2015/11/28(Sat) 06:50:48|NO.73303
8.3·Á¼°¤Î¥Õ¥¡¥¤¥ë̾¤Î¼èÆÀ¥µ¥ó¥×¥ë
#uselib "kernel32.dll"
#func GetShortPathName "GetShortPathNameA" var,var,int
p_fn_GetShortPathName=varptr(GetShortPathName)
str_long_name="D:\\testnametestname.txt"
sdim str_short_name,260
dim arg_int_function_arguments,3
arg_int_function_arguments.0=varptr(str_long_name)
arg_int_function_arguments.1=varptr(str_short_name)
arg_int_function_arguments.2=260
int_dummy=callfunc( arg_int_function_arguments, p_fn_GetShortPathName, 3)
mes int_dummy
mes str_short_name
|
|
2015/11/28(Sat) 18:29:52|NO.73314
¤½¤ó¤Ê¤Ë̵Íý¤·¤Æ¤ª¤Ä¤¯¤ê¤¯¤À¤µ¤é¤Ê¤¯¤Æ¤â¤¤¤¤¤Ç¤¹
¤ä¤Ï¤ê¥³¡¼¥ë¥Ð¥Ã¥¯¥â¥¸¥å¡¼¥ë¤ÏÊ̤Υ¹¥ì¥Ã¥É¤Ë¤·¤¿¤Û¤¦¤¬¤¤¤¤¤Ç¤·¤ç¤¦¤«
http://nopswebpages.webcrow.jp/apps/dialog22.txt
HSP2Íѥ⥸¥å¡¼¥ë¤ò¤Ä¤¯¤ê¤Þ¤·¤¿
ɸ½à¤ÎdialogÌ¿Îá¤è¤ê¹âµ¡Ç½¤Ê¥Õ¥¡¥¤¥ëÊݸ¤ª¤è¤Ó³«¤¯¥À¥¤¥¢¥í¥°¥â¥¸¥å¡¼¥ë
¥Þ¥·¥ó¸ì¤ò¥¹¥¯¥ê¥×¥ÈÆâ¤ËÇÛÎó¤È¤·¤Æ½ñ¤¯¤³¤È¤Ë¤è¤ê¥â¥¸¥å¡¼¥ëñÂΤǻ°¼ïÎà¤Î¥Õ¥¡¥¤¥ë¥À¥¤¥¢¥í¥°¤ò°·¤¨¤Þ¤¹
¤Ï¤ë¤«ÀΤΥÀ¥¤¥¢¥í¥°¡¢ÉáÄ̤ΥÀ¥¤¥¢¥í¥°¡¢º¸Â¦¤Î¥Ä¥ê¡¼(¾ì½ê¥Ð¡¼)¤¬¤Ê¤¤¥·¥ó¥×¥ë¤Ê¥À¥¤¥¢¥í¥°¤Î»°¼ïÎà¤ò°·¤¨¤Þ¤¹
³ÈÄ¥»Òʬ¤±¤¬¤·¤ä¤¹¤¤¤Ç¤¹
http://nopswebpages.webcrow.jp/apps/dialog2.txt
HSP3¤Ë¤â°Ü¿¢¤·¤Þ¤·¤¿
|
|
2015/11/29(Sun) 16:26:28|NO.73335
¥µ¥¤¥º²ÄÊѤΥ¦¥£¥ó¥É¥¦
#define WS_THICKFRAME $00040000
#define WS_MAXIMIZEBOX $00010000
#define GWL_STYLE $FFFFFFF0
#define SWP_NOSIZE $00000001
#define SWP_NOZORDER $00000004
#define SWP_NOACTIVATE $00000010
#define SWP_NOMOVE $00000002
#define SWP_NOOWNERZORDER $00000200
#define SWP_FRAMECHANGED $00000020
#define SWP_DRAWFRAME SWP_FRAMECHANGED
#define HTCAPTION $00000002
#define WM_NCLBUTTONDOWN $000000A1
#define WM_MOUSEMOVE $00000200
#define WM_NCCALCSIZE $00000083
#define WM_GETMINMAXINFO $00000024
#define WM_LBUTTONDOWN $00000201
#define WM_SIZE $00000005
#uselib "user32.dll"
#cfunc GetWindowLong "GetWindowLongA" sptr,int
#func SetWindowLong "SetWindowLongA" sptr,int,int
#func SetWindowPos "SetWindowPos" sptr,int,int,int,int,int,int
#func MoveWindow "MoveWindow" sptr,int,int,int,int,int
screen 0,1,1,screen_palette+screen_hide
SetWindowLong hwnd, GWL_STYLE, WS_MAXIMIZEBOX | WS_THICKFRAME | GetWindowLong(hwnd,GWL_STYLE)
//SetWindowPos hwnd,,,,,,SWP_NOZORDER | SWP_NOMOVE | SWP_DRAWFRAME | SWP_NOACTIVATE | SWP_NOSIZE //MoveWindow¤ò»È¤ï¤Ê¤¤¤Ê¤é¤³¤¦¤·¤Æ¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ë¤³¤È
objsize ginfo_winx,ginfo_winy
button "½ª¤ï¤ê", *owari
h_button=objinfo_hwnd(0)
oncmd gosub *on_WM_GETMINMAXINFO, WM_GETMINMAXINFO
oncmd gosub *on_WM_SIZE, WM_SIZE
MoveWindow hwnd,ginfo_wx1,ginfo_wy1,300,200,1
gsel 0,1
stop
*owari
end
*on_WM_GETMINMAXINFO
return 0
*on_WM_SIZE
MoveWindow h_button,,,ginfo_winx,ginfo_winy,1
return
| |
|
2015/11/30(Mon) 18:35:38|NO.73351
GetProcAddres¤òºÆ¸½¤·¤Æ¤ß¤¿
Æñ¤·¤«¤Ã¤¿¤Ç¤¹
»²¹Í
http://chokuto.ifdef.jp/lab/reschg/pe_format.html
http://resources.infosecinstitute.com/the-export-directory/
¿Þ¤¬¤ï¤¿¤·¤Ïʬ¤«¤ê¤ä¤¹¤«¤Ã¤¿¤Ç¤¹
//GetProcAddres¤ò»È¤ï¤º¤ËAPI¥¢¥É¥ì¥¹¤ò¼èÆÀ
//val=kanuu_namae(p1,p2)
//p1!=0(0) : API¤ò´Þ¤àDLL¤Î¥á¥â¤ê¥¢¥É¥ì¥¹
//p2=ʸ»úÎó : API̾
//p1=0 ¤Þ¤¿¤Ï p2¤Ç»ØÄꤷ¤¿API¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç API¥¢¥É¥ì¥¹¤Ç¤Ï¤Ê¤¯0¤¬ÊÖ¤ê¤Þ¤¹
#module
#define COFF_HEADER_SIZE 20
#defcfunc kansuu_namae int funcarg_p_dll_selected_module, str funcarg_str_name_selected_function,\
local int_idx_name_function, local int_idex_p_fn_function, local int_offset_signature,\
local p_relative_virtual_addres_data_dict, local tag_image_export_dictionary, local arr_p_fn_function,\
local arr_p_name_function, local arr_p_name_original_function, local str_name_function
dim int_idx_name_function,1 : dim int_idex_p_fn_function,1
if funcarg_p_dll_selected_module==0:return 0
//¥·¥°¥Í¥¯¥Á¥ã¤Î°ÌÃÖ
dupptr int_offset_signature, funcarg_p_dll_selected_module+60, 4
//IMAGE_DATA_DIRECTORY_ENTRY_EXPORT¤«¤é¥¨¥¯¥¹¥Ý¡¼¥È¤ÎÁêÂÐ¥¢¥É¥ì¥¹
dupptr p_relative_virtual_addres_data_dict, funcarg_p_dll_selected_module + int_offset_signature+4+COFF_HEADER_SIZE+96, 4
dupptr tag_image_export_dictionary, p_relative_virtual_addres_data_dict + funcarg_p_dll_selected_module, 40
//DLL̾
//dupptr str_name_dll, tag_image_export_dictionary.3+funcarg_p_dll_selected_module , 1, vartype("str")
//mes str_name_dll
//´Ø¿ô¥¢¥É¥ì¥¹É½
dupptr arr_p_fn_function, tag_image_export_dictionary.7+funcarg_p_dll_selected_module, 4*tag_image_export_dictionary.5
//´Ø¿ô̾ɽ
dupptr arr_p_name_function, tag_image_export_dictionary.8+funcarg_p_dll_selected_module, 4*tag_image_export_dictionary.6
//´Ø¿ô̾¤ÎÈÖ¹æ¤È´Ø¿ô¥¢¥É¥ì¥¹¤ÎÈÖ¹æ¤Î´Ø·¸É½
dupptr arr_p_name_original_function, tag_image_export_dictionary.9+funcarg_p_dll_selected_module, 2*tag_image_export_dictionary.6
int_idx_name_function=-1
repeat tag_image_export_dictionary.6
dupptr str_name_function, arr_p_name_function.cnt+funcarg_p_dll_selected_module, 1,vartype("str")
if str_name_function==funcarg_str_name_selected_function : int_idx_name_function=cnt: break
loop
if int_idx_name_function==-1{
return 0
}else{
int_idex_p_fn_function=wpeek( arr_p_name_original_function, int_idx_name_function*2)
return arr_p_fn_function.int_idex_p_fn_function + funcarg_p_dll_selected_module
}
#global
//¥µ¥ó¥×¥ë
/*
#uselib "kernel32.dll"
#cfunc GetModuleHandle "GetModuleHandleA" sptr
#define MB_TOPMOST 0x00040000
#define MB_TASKMODAL 0x00002000
#define MB_DEFBUTTON1 0x00000000
#define MB_DEFBUTTON2 0x00000100
#define MB_DEFBUTTON3 0x00000200
#define MB_DEFBUTTON4 0x00000300
#define MB_ICONASTERISK 0x00000040
#define MB_YESNOCANCEL 0x00000003
#define MB_OK 0x00000000
#define IDOK 0x00000001
#define IDCANCEL 0x00000002
#define IDABORT 0x00000003
#define IDRETRY 0x00000004
#define IDIGNORE 0x00000005
#define IDYES 0x00000006
#define IDNO 0x00000007
#define IDTRYAGAIN 0x0000000A
#define IDCONTINUE 0x0000000B
dim str_buffer_calloc_test,4
p_dll_kernel32 = GetModuleHandle("kernel32.dll")
p_fn_LoadLibrary = kansuu_namae(p_dll_kernel32, "LoadLibraryA")
p_fn_FreeLibrary = kansuu_namae(p_dll_kernel32, "FreeLibrary")
print "kernel32.dll="+p_dll_kernel32
print "LoadLibrary="+p_fn_LoadLibrary
print "FreeLibrary="+p_fn_FreeLibrary
str_tmp="crtdll.dll"
function_arguments.0=varptr(str_tmp)
p_dll_crtdll = callfunc(function_arguments, p_fn_LoadLibrary, 1)
p_fn_calloc = kansuu_namae(p_dll_crtdll, "calloc")
p_fn_free = kansuu_namae(p_dll_crtdll, "free")
print "\ncrtdll.dll="+p_dll_crtdll
print "calloc="+p_fn_calloc
print "free="+p_fn_free
function_arguments.1=1
function_arguments.0=32
p_str_buffer_calloc_test=callfunc(function_arguments, p_fn_calloc, 2)
if p_str_buffer_calloc_test{
print "calloc¤Ç" + function_arguments.0 + "¥Ð¥¤¥È³ÎÊÝ=" + p_str_buffer_calloc_test
dupptr str_buffer_calloc_test, p_str_buffer_calloc_test, function_arguments.0, vartype("str")
str_buffer_calloc_test="¥á¥â¥ê¥¢¥¯¥»¥¹¤Î¥Æ¥¹¥È"
print str_buffer_calloc_test
function_arguments.0=p_str_buffer_calloc_test
int_tmp=callfunc(function_arguments, p_fn_free, 1)
}else{
print "calloc¤Ç" + function_arguments.0 + "¥Ð¥¤¥È³ÎÊݼºÇÔ"
}
function_arguments.0=p_dll_crtdll
int_tmp=callfunc(function_arguments, p_fn_FreeLibrary, 1)
p_dll_user32 = GetModuleHandle("user32.dll")
p_fn_MessageBox= kansuu_namae(p_dll_user32, "MessageBoxA")
print "\nuser32.dll="+p_dll_user32
print "MessageBox="+p_fn_MessageBox
str_tmp="¥¿¥¤¥È¥ë"
str_tmp2="¥À¥¤¥¢¥í¥°¥Æ¥¹¥È"
function_arguments.3=MB_TOPMOST | MB_TASKMODAL | MB_ICONASTERISK | MB_YESNOCANCEL | MB_DEFBUTTON3
function_arguments.2=varptr(str_tmp)
function_arguments.1=varptr(str_tmp2)
function_arguments.0=hwnd
int_tmp=callfunc( function_arguments, p_fn_MessageBox, 4)
if int_tmp==IDYES : str_tmp2="¤Ï¤¤¤òÁªÂò"
if int_tmp==IDNO : str_tmp2="¤¤¤¤¤¨¤òÁªÂò"
if int_tmp==IDCANCEL: str_tmp2="¥¥ã¥ó¥»¥ë¤òÁªÂò"
function_arguments.3= function_arguments.3 ^ MB_DEFBUTTON3 ^ MB_YESNOCANCEL | MB_OK
int_tmp=callfunc( function_arguments, p_fn_MessageBox, 4)
*/
| |
|
2015/12/4(Fri) 17:56:25|NO.73400
dir_cmdline¤ò²þ¤¤·¤Æ¡¢
dir_cmdline(n)¤ÇnÈÖÌܤΥ³¥Þ¥ó¥É¥é¥¤¥ó¥Ñ¥é¥á¡¼¥¿¤ò¼èÆÀ¤Ç¤¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤Þ¤·¤¿¡£
¥¯¥©¡¼¥Æ¡¼¥·¥ç¥ó¤ÎÃæ¤ÎȾ³Ñ¥¹¥Ú¡¼¥¹¤â¶èÀÚ¤ê¤È¤·¤Æǧ¼±¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¤¬¡£
#module dircmd
#defcfunc local getcmdline int num
cmd=dir_cmdline
split cmd," ",cmd2
if(length(cmd2)<num+1){
dialog "¸ºß¤·¤Ê¤¤¥³¥Þ¥ó¥É¥é¥¤¥ó¥Ñ¥é¥á¡¼¥¿¤Ç¤¹¡£",1,"¥¨¥é¡¼"
end
}
return cmd2(num)
#global
#undef dir_cmdline
#define dir_cmdline getcmdline@dircmd
mes dir_cmdline(0)
|
|
2015/12/4(Fri) 18:27:53|NO.73401
//´ÉÍý¼Ô¸¢¸Â¤Çµ¯Æ°¤·¤Æ¤¤¤ë¤«¤Î³Îǧ - AllocateAndInitializeSid
#define SECURITY_NULL_SID_AUTHORITY $00000000
#define SECURITY_WORLD_SID_AUTHORITY $00000001
#define SECURITY_LOCAL_SID_AUTHORITY $00000002
#define SECURITY_CREATOR_SID_AUTHORITY $00000003
#define SECURITY_NON_UNIQUE_AUTHORITY $00000004
#define SECURITY_NT_AUTHORITY $00000005
#define SECURITY_RESOURCE_MANAGER_AUTHORITY $00000009
#define SECURITY_LOCAL_SYSTEM_RID $00000012
#define SECURITY_BUILTIN_DOMAIN_RID $00000020
#define DOMAIN_ALIAS_RID_ADMINS $00000220
#define BCM_SETSHIELD $0000160C
#define SEE_MASK_DEFAULT $00000000
#define SEE_MASK_CLASSNAME $00000001
#define SW_SHOW $00000005
#define WinBuiltinAdministratorsSid $0000001A
#define WinBuiltinUsersSid $0000001B
#define WinBuiltinGuestsSid $0000001C
#define WinBuiltinPowerUsersSid $0000001D
#uselib "advapi32.dll"
#func AllocateAndInitializeSid "AllocateAndInitializeSid" sptr,int,int,int,int,int,int,int,int,int,sptr
#func FreeSid "FreeSid" sptr
//#cfunc GetLengthSid "GetLengthSid" sptr
#func CheckTokenMembership "CheckTokenMembership" sptr,sptr,sptr
#uselib "shell32.dll"
#func ShellExecuteEx "ShellExecuteEx" sptr
str_executefile="cmd.exe"
str_performmode="runas"
//SID
dim int_is_member,1
dim p_tag_SID,1
sdim tag_SID_identifier_authority,6
poke tag_SID_identifier_authority,5, SECURITY_NT_AUTHORITY
AllocateAndInitializeSid varptr(tag_SID_identifier_authority), 2, SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS,,,,,,,varptr(p_tag_SID)
//Administrators
// S-1-5-32-544
if stat{
CheckTokenMembership 0, p_tag_SID, varptr(int_is_member)
if int_is_member{
mes "´ÉÍý¼Ô¸¢¸Â¤Ç¤¹"
}else{
mes "´ÉÍý¼Ô¸¢¸Â¤Ç¤¢¤ê¤Þ¤»¤ó"
}
}else{
mes "SIDºîÀ®¼ºÇÔ"
}
FreeSid p_tag_SID
button:gosub "¥á¥âÄ¢", *run_notepad
sendmsg objinfo_hwnd(0), BCM_SETSHIELD,,1
stop
*run_notepad
dim tag_shell_excute_info,15
tag_shell_excute_info= 4*15, SEE_MASK_DEFAULT, 0, varptr(str_performmode), varptr(str_executefile), 0, 0, SW_SHOW
ShellExecuteEx varptr(tag_shell_excute_info)
return
//ʬ¤±¤Æ¤ß¤¿¤±¤Éʬ¤±¤ëɬÍפϤʤ¤
//exec¤À¤È¥¥ã¥ó¥»¥ë¤·¤¿¤È¤¤Ë¥¨¥é¡¼¤Ë¤Ê¤ë¤Î¤Çonerror¤ò»È¤¦¤«ShellExecuteEx¤ò»È¤¦¤È¤¤¤¤¤È»×¤¦
/*
*run_notepad
if int_is_member{
exec str_executefile
}else{
onerror gosub *dummy
exec str_executefile,,str_performmode
onerror 0
}
return
*dummy
return
*/
| |
|
2015/12/4(Fri) 18:28:56|NO.73402
//´ÉÍý¼Ô¸¢¸Â¤Çµ¯Æ°¤·¤Æ¤¤¤ë¤«¤Î³Îǧ - ¼«Ê¬¤ÇSID¤ò¤Ä¤¯¤ë(Èó¿ä¾©)
#define SECURITY_NULL_SID_AUTHORITY $00000000
#define SECURITY_WORLD_SID_AUTHORITY $00000001
#define SECURITY_LOCAL_SID_AUTHORITY $00000002
#define SECURITY_CREATOR_SID_AUTHORITY $00000003
#define SECURITY_NON_UNIQUE_AUTHORITY $00000004
#define SECURITY_NT_AUTHORITY $00000005
#define SECURITY_RESOURCE_MANAGER_AUTHORITY $00000009
#define SECURITY_LOCAL_SYSTEM_RID $00000012
#define SECURITY_BUILTIN_DOMAIN_RID $00000020
#define DOMAIN_ALIAS_RID_ADMINS $00000220
#define BCM_SETSHIELD $0000160C
#define SEE_MASK_DEFAULT $00000000
#define SEE_MASK_CLASSNAME $00000001
#define SW_SHOW $00000005
#define WinBuiltinAdministratorsSid $0000001A
#define WinBuiltinUsersSid $0000001B
#define WinBuiltinGuestsSid $0000001C
#define WinBuiltinPowerUsersSid $0000001D
#uselib "advapi32.dll"
#func CheckTokenMembership "CheckTokenMembership" sptr,sptr,sptr
#uselib "shell32.dll"
#func ShellExecuteEx "ShellExecuteEx" sptr
str_executefile="cmd.exe"
str_performmode="runas"
//SID
dim int_is_member,1
dim p_tag_SID,1
sdim tag_SID_identifier_authority,6
poke tag_SID_identifier_authority,5, SECURITY_NT_AUTHORITY
//Administrators
// S-1-5-32-544
dim tag_SID,4
poke tag_SID,0,1 //²þÄêÈÖ¹æ
poke tag_SID,1,2 //¥µ¥Ö¸¢¸ÂÃͤοô
memcpy tag_SID,tag_SID_identifier_authority,6,2
tag_SID.2= SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS //¥µ¥Ö¸¢¸ÂÃÍ
CheckTokenMembership 0, varptr(tag_SID), varptr(int_is_member)
if int_is_member{
mes "´ÉÍý¼Ô¸¢¸Â¤Ç¤¹"
}else{
mes "´ÉÍý¼Ô¸¢¸Â¤Ç¤¢¤ê¤Þ¤»¤ó"
}
button:gosub "¥á¥âÄ¢", *run_notepad
sendmsg objinfo_hwnd(0), BCM_SETSHIELD,,1
stop
*run_notepad
dim tag_shell_excute_info,15
tag_shell_excute_info= 4*15, SEE_MASK_DEFAULT, 0, varptr(str_performmode), varptr(str_executefile), 0, 0, SW_SHOW
ShellExecuteEx varptr(tag_shell_excute_info)
return
| |
|
2015/12/4(Fri) 18:29:43|NO.73403
//´ÉÍý¼Ô¸¢¸Â¤Çµ¯Æ°¤·¤Æ¤¤¤ë¤«¤Î³Îǧ - IsUserAnAdmin(Èó¿ä¾©)
#define BCM_SETSHIELD $0000160C
#define SEE_MASK_DEFAULT $00000000
#define SEE_MASK_CLASSNAME $00000001
#define SW_SHOW $00000005
#uselib "shell32.dll"
#func ShellExecuteEx "ShellExecuteEx" sptr
#cfunc IsUserAnAdmin "IsUserAnAdmin"
str_executefile="cmd.exe"
str_performmode="runas"
if IsUserAnAdmin(){
mes "´ÉÍý¼Ô¸¢¸Â¤Ç¤¹"
}else{
mes "´ÉÍý¼Ô¸¢¸Â¤Ç¤¢¤ê¤Þ¤»¤ó"
}
button:gosub "¥á¥âÄ¢", *run_notepad
sendmsg objinfo_hwnd(0), BCM_SETSHIELD,,1
stop
*run_notepad
dim tag_shell_excute_info,15
tag_shell_excute_info= 4*15, SEE_MASK_DEFAULT, 0, varptr(str_performmode), varptr(str_executefile), 0, 0, SW_SHOW
ShellExecuteEx varptr(tag_shell_excute_info)
return
|
|
2015/12/4(Fri) 18:30:37|NO.73405
//´ÉÍý¼Ô¸¢¸Â¤Çµ¯Æ°¤·¤Æ¤¤¤ë¤«¤Î³Îǧ - CreateWellKnownSid
#define BCM_SETSHIELD $0000160C
#define SEE_MASK_DEFAULT $00000000
#define SEE_MASK_CLASSNAME $00000001
#define SW_SHOW $00000005
#define SECURITY_MAX_SID_SIZE $00000044
#define WinBuiltinAdministratorsSid $0000001A
#define WinBuiltinUsersSid $0000001B
#define WinBuiltinGuestsSid $0000001C
#define WinBuiltinPowerUsersSid $0000001D
#uselib "advapi32.dll"
#func CreateWellKnownSid "CreateWellKnownSid" int,sptr,sptr,sptr
#func CheckTokenMembership "CheckTokenMembership" sptr,sptr,sptr
#uselib "shell32.dll"
#func ShellExecuteEx "ShellExecuteEx" sptr
str_executefile="cmd.exe"
str_performmode="runas"
int_SID_size= SECURITY_MAX_SID_SIZE
sdim tag_SID, SECURITY_MAX_SID_SIZE
CreateWellKnownSid WinBuiltinAdministratorsSid, 0, varptr(tag_SID), varptr(int_SID_size)
CheckTokenMembership 0, varptr(tag_SID), varptr(int_is_member)
if int_is_member{
mes "´ÉÍý¼Ô¸¢¸Â¤Ç¤¹"
}else{
mes "´ÉÍý¼Ô¸¢¸Â¤Ç¤¢¤ê¤Þ¤»¤ó"
}
button:gosub "¥á¥âÄ¢", *run_notepad
sendmsg objinfo_hwnd(0), BCM_SETSHIELD,,1
stop
*run_notepad
dim tag_shell_excute_info,15
tag_shell_excute_info= 4*15, SEE_MASK_DEFAULT, 0, varptr(str_performmode), varptr(str_executefile), 0, 0, SW_SHOW
ShellExecuteEx varptr(tag_shell_excute_info)
return
| |
|
2015/12/6(Sun) 20:53:27|NO.73478
#deffunc¤ä#func¤ä#cfunc¤Ê¤É¤ÇÄêµÁ¤·¤¿Ì¿Îá¤Î°ú¤¿ô¤ò¸«¤ë¥µ¥ó¥×¥ë
²¿¤«¤ÎÌò¤ËΩ¤Ä¤«¤ÏÈù̯¤Ç¤¹
#uselib ""
#func dummy2 "" int,double,str,var
#cfunc dummy "" int,double,str,var,int,wstr,sptr,float,comobj,wstr,wptr,sptr
#module
#deffunc dummy3 int p1, label p2, var p3, array p4
return
#global
#define MPTYPE_LOCALVAR (-1)
#define MPTYPE_ARRAYVAR (-2)
#define MPTYPE_SINGLEVAR (-3)
#define MPTYPE_FLOAT (-4)
#define MPTYPE_LOCALSTRING (-6)
#define MPTYPE_PVARPTR (-10)
#define MPTYPE_IOBJECTVAR (-12)
#define MPTYPE_LOCALWSTR (-13)
#define MPTYPE_FLEXSPTR (-14)
#define MPTYPE_FLEXWPTR (-15)
#define MPTYPE_DNUM 3
#define MPTYPE_INUM 4
#define MPTYPE_LABEL 7
int_tmp=libptr(dummy2)//°ìÅÙ¤â»È¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹çºÇŬ²½¤Çºï½ü¤µ¤ì¤ë¤«¤é
int_tmp=libptr(dummy3)//°ìÅÙ¤â»È¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹çºÇŬ²½¤Çºï½ü¤µ¤ì¤ë¤«¤é
p_structdat=libptr(dummy)
dupptr tag_structdat, p_structdat, 28
mref hspctx,68
repeat tag_structdat.2, tag_structdat.1
dupptr tag_structprm, hspctx.209 + cnt*8, 8
int_tmp=tag_structprm.0 & $FFFF
if int_tmp & $8000: int_tmp |= $FFFF0000
switch int_tmp
case MPTYPE_DNUM
mes "double"
swbreak
case MPTYPE_INUM
mes "int"
swbreak
case MPTYPE_LABEL
mes "label"
swbreak
case MPTYPE_LOCALVAR
mes "local"
swbreak
case MPTYPE_ARRAYVAR
mes "array"
swbreak
case MPTYPE_SINGLEVAR
case MPTYPE_PVARPTR
mes "var"
swbreak
case MPTYPE_FLOAT
mes "float"
swbreak
case MPTYPE_LOCALSTRING
mes "str"
swbreak
case MPTYPE_IOBJECTVAR
mes "comobj"
swbreak
case MPTYPE_LOCALWSTR
mes "wstr"
swbreak
case MPTYPE_FLEXSPTR
mes "sptr"
swbreak
case MPTYPE_FLEXWPTR
mes "wptr"
swbreak
default
mes "other"
swend
loop
| |
|
2015/12/10(Thu) 23:56:21|NO.73560
¼«Æ°¤ÇÁ´³ÑÆþÎϤˤ¹¤ë
#uselib "imm32.dll"
#cfunc ImmGetContext "ImmGetContext" sptr
#func ImmReleaseContext "ImmReleaseContext" sptr,sptr
#func ImmSetOpenStatus "ImmSetOpenStatus" sptr,int
sdim a,2048
cls
input a,ginfo_winx,,64
h_edit=hwnd//objinfo_hwnd(0)
h_edit_context=ImmGetContext(h_edit)
ImmSetOpenStatus h_edit_context,1
ImmReleaseContext h_edit, h_edit_context
|
|
2015/12/14(Mon) 07:46:56|NO.73604
ɸ½àÌ¿Îá¤Î¤ß¤ÇÂÀÀþ¤òÉÁ¼Ì¤¹¤ë½èÍý¤Ç¤¹
³Ñ¤ÎÉôʬ¤¬¼ã´³ÏĤó¤Ç¤Þ¤¹¤¬¡¢¤½¤³¤Ïµ¤¤Ë¤Ê¤é¤Ê¤¤¿Í¤Ï¤É¤¦¤¾
#module
#deffunc hline int ex,int ey,int sx,int sy,int r
inter=atan(ey-sy,ex-sx)
xinter=sin(inter)*r
yinter=cos(inter)*r
;Àþ¤ÎÉÁ¼Ì
if r<=1{
line ex,ey,sx,sy
}else{
dim xdata,4:xdata=sx+xinter,ex+xinter,ex-xinter,sx-xinter
dim ydata,4:ydata=sy-yinter,ey-yinter,ey+yinter,sy+yinter
gsquare -1,xdata,ydata
}
return
#global
randomize
repeat 19
hsvcolor cnt*10,255,255
ex=rnd(640):ey=rnd(480) ;½ªÅÀ
sx=rnd(640):sy=rnd(480) ;»ÏÅÀ
r=rnd(10)+1 ;Àþ¤ÎÂÀ¤µ
hline ex,ey,sx,sy,r
loop
|
|
2015/12/14(Mon) 21:10:01|NO.73609
Linux¤Ë¤¢¤ë¡¤¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤Ä¤è¤ê·ÚÎ̤ʥ·¥ó¥×¥ë¤Ê¥Æ¥¥¹¥È¥ª¥ó¥ê¡¼¤Î¥Ö¥é¥¦¥¶¡¤w3m¤¬
¤¢¤ê¤Þ¤¹¡£¤½¤ó¤Êw3m¤Ï¡¤Windows¤Ç¤ÏMygWin¤äANSI.sysÅù¤ò»È¤Ã¤ÆLinuxÍѤΥ½¡¼¥¹¤ò¥³¥ó¥Ñ¥¤¥ë
¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤·¤«¤·¡¤º£HSP¤Ë¤¢¤ëµ»½Ñ¤ò»È¤¨¤Ðw3m¤Î¤è¤¦¤Ê¤â¤Î¤Ïºî¤ì¤ë¤È»×¤¤
30ʬ¤Çºî¤ê¤Þ¤·¤¿¡£¤Þ¤À¡¤Yahoo!JAPAN¤ä°ìÉô¤Î¥µ¥¤¥È¤Ç¤ÏHTML¥³¡¼¥É¤¬Ä¾ÀÜɽ¼¨¤µ¤ì¤Æ¤·¤Þ¤¦
¥Ð¥°¤¬¤¢¤ê¤Þ¤¹¡£º£¸å²þÁ±¤·¤Æ¤¤¤¤Þ¤¹¡£
¢¨¤³¤Î¥½¡¼¥¹¤Ï¡¤llmod3/console.hsp¤Î¥â¥¸¥å¡¼¥ë¤ÎÆâÍƤò°ìÉô²þÎɤ·¤Æ¤¤¤Þ¤¹¡£
¡¡¤½¤Î¤¿¤á¡¤Àµ¤·¤¯Æ°ºî¤·¤Þ¤»¤ó¡£(ɽ¼¨¤¬Êø¤ì¤ë¡¤¥¨¥é¡¼¤¬µ¯¤¤ë¤Ê¤É)
¡¡²¼¤ÎURL¤«¤é²þÎɤ·¤¿console.hsp¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¡¤HSP¥Ç¥£¥ì¥¯¥È¥ê¢ªcommon¥Õ¥©¥ë¥À¢ªllmod3¥Õ¥©¥ë¥À¢ªconsole.hsp
¤ò¾å½ñ¤¥³¥Ô¡¼¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡ http://seatex.webcrow.jp/embed/source/console.hsp
#include "hspinet.as"
#include "llmod3/llmod3.hsp"
#include "llmod3/console.hsp"
netinit
sdim SiteURL
axobj ie,"InternetExplorer.Application",1,1
gsel 0,-1
console
putz "Text Only Site Viewer ver1.0"
putz "¥Æ¥¥¹¥È¤À¤±¤Î¥·¥ó¥×¥ë¥µ¥¤¥È¥Ó¥å¡¼¥¢ **Ver1.0**"
putz ""
*Input_SiteURL
putz "±ÜÍ÷¤·¤¿¤¤¥µ¥¤¥È¤ÎURL>",1
gets SiteURL
if SiteURL="\n" or SiteURL="":putz "Error:ÆþÎÏÆâÍƤ¬Ìµ¸ú¤Ç¤¹":goto *Input_SiteURL
*Connect
ie->"Navigate" SiteURL
putz "Àܳ¤·¤Æ¤¤¤Þ¤¹¡£¤·¤Ð¤é¤¯¤ªÂÔ¤Á¤¯¤À¤µ¤¤¡£"
repeat
wait 10
if ie("Busy")=0:break
loop
putz "Àܳ¤¬³ÎΩ¤·¤Þ¤·¤¿¡£Æɤ߹þ¤ó¤Ç¤¤¤Þ¤¹¡£"
doc=ie("Document")
repeat
wait 10
if doc("readyState")="complete":break
loop
doc=ie("Document")
body=doc("body")
html=body("innerText")
delcom doc
delcom body
putz html
putz ""
putz ""
sdim SiteURL
goto *Input_SiteURL
| |
|
2015/12/15(Tue) 21:43:09|NO.73618
|
|
2015/12/23(Wed) 23:51:33|NO.73761
²»À¼¥Õ¥¡¥¤¥ë¤Î¥Ð¥¤¥Ê¥ê¤«¤éľÀܾðÊó¤ò¼èÆÀ¤·¤Æ¤ß¤Þ¤·¤¿¡£
/*** ²»À¼¥Õ¥¡¥¤¥ë¾ðÊó¼èÆÀÍÑ ************************************
¡¦mmGetInfo( "¥Õ¥¡¥¤¥ë̾", ¾ðÊ󥿥¤¥× ) = ¥Õ¥¡¥¤¥ë¾ðÊó
²»À¼¥Õ¥¡¥¤¥ë¤Î¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤«¤é¾ðÊó¤ò¼èÆÀ¤·¤Þ¤¹¡£
³ÈÄ¥»Ò¡Ö*.wav, *.mid, *.mp3, *.ogg¡×¤Î¤ßÂбþ¤Ç¤¹¡£
¾ðÊ󥿥¤¥×¤Î¿ôÃͤǼèÆÀ¤¹¤ëÆâÍƤò»ØÄꤷ¤Þ¤¹¡£
0:±éÁÕ»þ´Ö[ms]
1:bps? <midi:ºÇÂç/ºÇ¾®¥Æ¥ó¥Ý[$AAAABBBB]>
2:SampleRate? <midi:CC111[ms]>
3:¥Á¥ã¥ó¥Í¥ë¿ô <midi:¥È¥é¥Ã¥¯¿ô>
4:"¶Ê̾?"
5:"ºî¼Ô̾?"
6:"¥¢¥ë¥Ð¥à̾?"
7:"¥³¥á¥ó¥È?"
¡Ö0:±éÁÕ»þ´Ö¡×¤ÏMCIÅù¤Ç¼èÆÀ¤Ç¤¤ëÃͤÈÈù̯¤Ë¥º¥ì¤Þ¤¹¡¢´°Á´°ìÃפÏÄü¤á¤Þ¤·¤¿¡£
MIDI¥Õ¥¡¥¤¥ë¤ÏÎß·×»þ´Ö»»½Ð¤·¤Æ¤ë¤Î¤Ç»þ´Ö³Ý¤«¤ê¤Þ¤¹¡£
4¡Á7¤Îʸ»úÎó¾ðÊó¤Ï¡¢¤½¤ì¤Ã¤Ý¤¤¤â¤Î¤ò¼èÆÀ¤·¤Æ¤ë¤À¤±¤Ç¤¹¡£
¸«Åö°ã¤¤¤ÊÆâÍƤò½¦¤¦»ö¤â¤¢¤ê¤Þ¤¹¡£
***************************************************************/
#module _mod_mmmm
Dim iInfoW :sDim sInfoW :Dim iInfoM :sDim sInfoM ;¾ðÊóÊÝ»ýÍÑ
Dim iInfoP :sDim sInfoP :Dim iInfoO :sDim sInfoO
#ifdef __hsp3dish__
#define cType _mmCCC(%1="",%2=3) (%1)
#else
#usecom _IMultiLanguage "{275c23e1-3747-11d0-9fea-00aa003f8646}" "{275c23e2-3747-11d0-9fea-00aa003f8646}"
#comfunc _ML_ConvertString 9 var,int,int,var,var,var,var
;__ConvertCharCode("strUTF?", type) = "strSJIS"
#define cType _mmCCC(%1="",%2=3) __mmCCC(%1,%2)
#defcfunc __mmCCC str p0, int p1, local a, local b
If(p1==0){Return p0} :If(p1>3){Return ""}
If(vartype(_ml)!=6){NewCom _ml,_IMultiLanguage}
a=0,0,StrLen(p0),1200 :If(p1==2){a.3=1201} :If(p1==3){a.3=65001}
sDim b,a.2*2 :b.1=p0 ;CODEPAGE_UNICODE/UNICODE_BE/UTF_8
_ML_ConvertString _ml,a.0,a.3,932,b.1,a.2,b.0,a.1 ;CODEPAGE_S_JIS
_ML_ConvertString _ml,a.0,a.3,932,b.1,a.2,b.0,a.1
Return b.0
#deffunc __mmCCC_Remove onexit ;¸åÊÒÉÕ¤±
If(vartype(_ml)==6){DelCom _ml} :Return
#endif
;__BigEndian(intBE, byte[4]) = intLE
#define cType _mmMSB(%1=0,%2=4) __mmMSB(%1,%2)
#defcfunc __mmMSB int p0, int p1, local a
a=0,Limit(p1,1,4),p0 :Repeat a.1 :a=(a<<8)|Peek(a.2,cnt) :Loop
Return a
//---- WAVE ----------------------------------------------------
;--WAVE¾ðÊó¼èÆÀ("file.wav", Type) = Info
#defcfunc _mmGetInfoW str p0, int p1, local a, local b
If(vartype(sInfoW)==2){If((sInfoW.4)==p0){If(p1<4){Return iInfoW(p1)}else{Return sInfoW(p1-4)}}}
Exist p0 :a.6=12,strsize :If(a.7<12){Return ""}
sDim b,$1000,2 :bLoad p0,b,$80
If(lPeek(b,0)!=$46464952)||(lPeek(b,8)!=$45564157){Return ""} ;'RIFF','WAVE'
Dim iInfoW,4 :sDim sInfoW,$200,5
Repeat :If(a.6>=a.7){Break} :bLoad p0,a.2,4,a.6 :bLoad p0,a.3,4,a.6+4
If(a.2==$20746d66){ ;[fmt ] ¾ðÊó¼èÆÀ
bLoad p0,b,Limit(a.3+8,1,$1000),a.6 :a.4=lPeek(b,16)
iInfoW.1=lPeek(b,16)<<3,lPeek(b,12),wPeek(b,10)}
If(a.2==$61746164){a.5=a.3} ;[data] ¥Ç¡¼¥¿¥µ¥¤¥º¼èÆÀ
If((a.2|$20202020)==$7473696c){bLoad p0,a.1,4,a.6+8 ;'LIST'
If((a.1|$20202020)==$6f666e69){ ;[LIST.INFO]
a.1=0,Limit(a.3-4,1,$1000) :bLoad p0,b,a.2,a.6+12
Repeat :If(a.1>=a.2){Break} ;¥¿¥°?¾ðÊó¼èÆÀ
a=lPeek(b,a.1)|$20202020 :a.8=lPeek(b,a.1+4) :MemCpy b.1,b,a.8,,a.1+8
If(a==$6d616e69){sInfoW.0=b.1} ;'INAM'
If(a==$74726169){sInfoW.1=b.1} ;'IART'
If(a==$64727069){sInfoW.2=b.1} ;'IPRD'
If(a==$746d6369){sInfoW.3=b.1} ;'ICMT'
a.1+=a.8+8 :*@ :If(Peek(b,a.1)||(a.1>=a.2)){}else{a.1++ :Goto *@b}
Loop}}
a.6+=a.3+8
Loop
If(a.4){iInfoW.0=int(double(a.5)*1000/a.4)} ;dataByte / (Byte/Sec)
sInfoW.4=p0 :If(p1<4){Return iInfoW(p1)}else{Return sInfoW(p1-4)}
Return ""
//---- MIDI ----------------------------------------------------
;__MIDI¥¤¥Ù¥ó¥È¥Ç¥ë¥¿¥¿¥¤¥à¼èÆÀ(<buf>, <pos>) = dTime
#defcfunc _mmDeltaTime var p0, var p1, local a
Repeat 4 :a=Peek(p0,p1) :a.1=(a.1<<7)|(a&$7f) :p1++ :If(a>>7){}else{Break} :Loop
Return a.1
;--MIDI¾ðÊó¼èÆÀ("file.mid", Type) = Info
#defcfunc _mmGetInfoM str p0, int p1, local a, local b, local c, local d
If(vartype(sInfoM)==2){If((sInfoM.4)==p0){If(p1<4){Return iInfoM(p1)}else{Return sInfoM(p1-4)}}}
Exist p0 :a.8=14,strsize :If(a.9<1){Return ""} :sDim b,a.9+4,2 :bLoad p0,b,a.9
If(lPeek(b,0)!=$6468544d)||(lPeek(b,14)!=$6b72544d){Return ""} ;'MThd','MTrk'
Dim iInfoM,4 :sDim sInfoM,$200,5 :Dim d,2,1 :d(0,0)=0,500000
iInfoM.3=_mmMSB(wPeek(b,10),2) :a.6=1,_mmMSB(wPeek(b,12),2) ;¥È¥é¥Ã¥¯¿ô,ʬ²òǽ
Repeat iInfoM.3
*@ :If(a.8>=a.9){Break} :If(lPeek(b,a.8)!=$6b72544d){a.8++ :Goto *@b} ;'MTrk'
a.4=0,_mmMSB(lPeek(b,a.8+4))+a.8+8 :a.8+=8
Repeat :If(a.8>=a.5){Break} :a.3=_mmDeltaTime(b,a.8) :a.4+=a.3
If(a&$80){a.2=a>>4&$f} :a=Peek(b,a.8) ;RunningStatusÍÑ
If(a==$ff){a.1=Peek(b,a.8+1) ;<¥á¥¿¥¤¥Ù¥ó¥È>
a.2=Peek(b,a.8+2) :MemCpy b.1,b,a.2,,a.8+3 :Poke b.1,a.2
If(a.1==$03)&&(sInfoM.0==""){sInfoM.0=b.1} ;SequenceName=Title?
If(a.1==$02){sInfoM.1=b.1} :If(a.1==$01){sInfoM.3=b.1} ;:If(a.1==$04){sInfoM.2=b.1}
If(a.1==$51){a.2=_mmMSB(lPeek(b,a.8+3)&$ffffff,3) :d(0,a.6)=a.4,a.2 :a.6++} ;SetTempo
a.8+=Peek(b,a.8+2)+3 :If(a.1==$2f){Break} ;EndOfTrack
}else{a.1=a>>4&$f
If(a.1=$b){If(Peek(b,a.8+1)==111){iInfoM.2=a.4}} ;CC:111
If(a.1==$f){a.8+=Peek(b,a.8+1)+2 :Continue} ;<SysEx¥¤¥Ù¥ó¥È>
a.8+=2+(($7<a.1)&($c>a.1))|(a.1==$e)-((a.1<$8)&((a.2==$c)|(a.2==$d)))} ;<¤½¤Î¾>
Loop :c(cnt)=a.4
Loop :a.0=Length2(d)-1,0,$7fffffff,0,iInfoM.2 :iInfoM.2=0 ;CC:111¤â»þ´Öñ°Ì¤Ë
Repeat Length(c) :If(a.1<c.cnt){a.1=c.cnt} :Loop :dDim c,2
Repeat Length2(d) :c+=double(a.1-d(0,a))*d(1,a)/a.7 ;¥Æ¥ó¥ÝËè¤ÎÎß·×»þ´Ö
If(a.4>d(0,a)){c.1+=double(a.4-d(0,a))*d(1,a)/a.7 :a.4=d(0,a)}
If(a.3<d(1,a)){a.3=d(1,a)} :If(a.2>d(1,a)){a.2=d(1,a)} :a.1=d(0,a) :a--
Loop
iInfoM.0=int(c.0+500)/1000 :iInfoM.2=int(c.1+500)/1000 ;»Í¼Î¸ÞÆþ¤ÇÀÉô¹»»
iInfoM.1=(60000000/a.3)|((60000000/a.2)<<16) ;ºÇÂç/ºÇ¾®¥Æ¥ó¥Ý³ÊǼ
sInfoM.4=p0 :If(p1<4){Return iInfoM(p1)}else{Return sInfoM(p1-4)}
Return ""
//---- MP3 -----------------------------------------------------
;__MP3ID3v1ʸ»úÎó¶õÇò½üµî(<buf>, start, len) = "text"
#defcfunc _mmCutSpc var pv, int p1, int p2, local a, local b
a=p2-1 :If(a<1){Return ""} :sDim b,p2+4 :MemCpy b,pv,p2,,p1
*@ :If(Peek(b,a)==$20){Poke b,a :a-- :If(a>=0){Goto *@b}} :Return b
;__MP3ID3v2_Syncsafe(intSS) = int
#defcfunc _mmSyncsafe int p0, local a
Repeat 4 :a=(a<<7)|(p0>>(cnt<<3)&$7f) :Loop :Return a
;--MP3¾ðÊó¼èÆÀ("file.mp3", Type) = Info
#defcfunc _mmGetInfoP str p0, int p1, local a, local b, local c
If(vartype(sInfoP)==2){If((sInfoP.4)==p0){If(p1<4){Return iInfoP(p1)}else{Return sInfoP(p1-4)}}}
Exist p0 :a.7=strsize :If(a.7<1){Return ""}
bLoad p0,a,4 :a&=$ffffff :If(a!=$334449)&&((a&$e0ff)!=$e0ff){Return ""} ;'ID3'v2.x?
Dim iInfoP,4 :sDim sInfoP,$200,5
If(a==$334449){bLoad p0,a.5,4,6 :a.4=10,_mmSyncsafe(a.5)+10 ;'ID3':ID3v2.x¥¿¥°
sDim b,a.5+4,2 :bLoad p0,b,a.5 :a.6=wPeek(b,3)
If(Peek(b,5)&$40){a=lPeek(b,10) :If(a.6>3){a=_mmSyncsafe(a)}else{a=_mmMSB(a)} :a.4+=a}
Repeat :If(a.4>=a.5){Break} :a=lPeek(b,a.4) :If(a==0){Break}
If(a.6<3){a&=$ffffff ;v2.2
a.1=_mmMSB(lPeek(b,a.4+3)&$ffffff,3),Peek(b,a.4+6)
If(a==$325454){a=$32544954} :If(a==$315450){a=$31455054}
If(a==$4c4154){a=$424c4154} :If(a==$4d4f43){a=$4d4d4f43}
MemCpy b.1,b,a.1-1,,a.4+7 :Poke b.1,a.1-1 :a.1+=6
}else{a.1=lPeek(b,a.4+4),Peek(b,a.4+10) ;v2.3/2.4
If(a.6>3){a.1=_mmSyncsafe(a.1)}else{a.1=_mmMSB(a.1)}
MemCpy b.1,b,a.1-1,,a.4+11 :Poke b.1,a.1-1 :a.1+=10}
b.1=_mmCCC(b.1,a.2) :a.4+=a.1
If(a==$32544954){sInfoP.0=b.1} :If(a==$31455054){sInfoP.1=b.1} ;'TIT2','TPE1'
If(a==$424c4154){sInfoP.2=b.1} :If(a==$4d4d4f43){sInfoP.3=b.1} ;'TALB','COMM'
Loop}
bLoad p0,a,4,a.5 :a.2=a>>9&15,a>>20&15,a>>18&3
c=11025,12000,8000,0, 0,0,0,0, 22050,24000,16000,0, 44100,48000,32000,0
iInfoP.2=c((a.2&12)+a.4),((a>>30&3)!=3)+1
a.1=a.5+21+(iInfoP.3>1)*15 :bLoad p0,a,4,a.1
If(a==$676e6958){bLoad p0,a,4,a.1+4 :If(a&$1000000){ ;'Xing' ±éÁÕ»þ´Ö@VBR
bLoad p0,a,4,a.1+8 :iInfoP.0=int(double(_mmMSB(a))*1152000/iInfoP.2)}}
If(a.2==15){ ;MPEG1/L1 [bps¥Æ¡¼¥Ö¥ë]
c=0, 32, 64, 96,128,160,192,224,256,288,320,352,384,416,448,0
}else{If(a.2==14){ ;MPEG1/L2
c=0, 32, 48, 56, 64, 80, 96,112,128,160,192,224,256,320,384,0
}else{If(a.2==13){ ;MPEG1/L3
c=0, 32, 40, 48, 56, 64, 80, 96,112,128,160,192,224,256,320,0
}else{If(a.2==11){ ;MPEG2/L1
c=0, 32, 48, 56, 64, 80, 96,112,128,144,160,176,192,224,256,0
}else{ ;MPEG2/L2,3 MPEG2.5/L1,2,3
c=0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96,112,128,144,160,0
}}}}
bLoad p0,a,4,a.7-$80 :a.1=a.7-a.5-((a&$ffffff)==$474154)*$80
If(iInfoP.0==0){iInfoP.0=a.1*8/c(a.3)} ;PlayTime
iInfoP.1=c(a.3)*1000 ;BitRate
bLoad p0,a,4,a.7-$80 :a&=$ffffff :sDim b,$84
If(a==$474154){bLoad p0,b,$80,a.7-$80 ;'TAG':ID3v1¥¿¥°
If(sInfoP.0==""){sInfoP.0=_mmCutSpc(b,3,30)}
If(sInfoP.1==""){sInfoP.1=_mmCutSpc(b,33,30)}
If(sInfoP.2==""){sInfoP.2=_mmCutSpc(b,63,30)}
If(sInfoP.3==""){sInfoP.3=_mmCutSpc(b,97,28)}}
sInfoP.4=p0 :If(p1<4){Return iInfoP(p1)}else{Return sInfoP(p1-4)}
Return ""
//---- OGG vorbis ----------------------------------------------
;--OGG¾ðÊó¼èÆÀ("file.ogg", Type) = Info
#defcfunc _mmGetInfoO str p0, int p1, local a, local b
If(vartype(sInfoO)==2){If((sInfoO.4)==p0){If(p1<4){Return iInfoO(p1)}else{Return sInfoO(p1-4)}}}
Exist p0 :a.8=strsize :If(a.8<1){Return ""} :Dim iInfoO,6 :sDim sInfoO,$200,5 :sDim b,$10100,4
Repeat ;Ogg¥Ú¡¼¥¸Ãµº÷
*@ :If(a.6>=a.8){Break} :bLoad p0,a,4,a.6 :If(a!=$5367674F){a.6++ :Goto *@b} ;'OggS'
a.4=0 :bLoad p0,a.5,1,a.6+26 :bLoad p0,b.1,a.5,a.6+27 :Poke b.1,a.5 :a.6+=a.5+27
Repeat :a.5=0 :*@ :a=Peek(b.1,a.4) :a.4++ :a.5+=a :If(a==$ff){Goto *@b}
If(a.5==0){Break} :bLoad p0,a,7,a.6 :If(a&1^1){Goto *@f}
If((a.0&$ffffff00)!=$726f7600)||((a.1&$ffffff)!=$736962){Goto *@f} ;'vorbis'
bLoad p0,b,a.5-7,a.6+7 :a.3=0
If((a&$ff)==1){iInfoO.1=lPeek(b,13),lPeek(b,5),Peek(b,4) :a.7|=1 :Goto *@f} ;[¼±Ê̥إåÀ]
If((a&$ff)==3){a.3+=lPeek(b)+4 :a.2=lPeek(b,a.3) :a.3+4 :a.7|=2 :If(a.2==0){Goto *@f}
Repeat a.2 :a.1=lPeek(b,a.3) ;[¥³¥á¥ó¥È¥Ø¥Ã¥À]
MemCpy b.2,b,a.1,,a.3+4 :Poke b.2,a.1 :a.3+=a.1+4
b.2=_mmCCC(b.2) :a.1=InStr(b.2,,"=") :If(a.1<1){Continue}
b.3=GetPath(StrMid(b.2,0,a.1),16) ;ȽÄêÍѤ˾®Ê¸»ú²½
If(b.3=="title"){sInfoO.0=StrMid(b.2,a.1+1,$ffff)}
If(b.3=="artist"){sInfoO.1=StrMid(b.2,a.1+1,$ffff)}
If(b.3=="album"){sInfoO.2=StrMid(b.2,a.1+1,$ffff)}
If(b.3=="comment"){sInfoO.3=StrMid(b.2,a.1+1,$ffff)}
If(b.3=="loopstart"){iInfoO.4=int(StrMid(b.2,a.1+1,$ffff))}
If(b.3=="looplength"){iInfoO.5=int(StrMid(b.2,a.1+1,$ffff))}
Loop}
*@ :a.6+=a.5
Loop :If(a.7==3){Break} ;ɬÍפʾðÊó·¤Ã¤Æ¤ë¤Ê¤éÈ´¤±¤ë
Loop
bLoad p0,b,$10080,a.8-$10080 :a.2=$1007c ;¥Õ¥¡¥¤¥ëËöÈø¤«¤éºÇ½ª¥Ú¡¼¥¸Ãµ¤·
*@ :If(lPeek(b,a.2)==$5367674f){If(Peek(b,a.2+5)&4){iInfoO=lPeek(b,a.2+6) :a.2=0}}
a.2-- :If(a.2>=0){Goto *@b} ;¢¬ºÇ½ªOgg¥Ú¡¼¥¸¤Î¥Ø¥Ã¥À¤«¤éÁí¥µ¥ó¥×¥ë¿ô¼èÆÀ
If(iInfoO.5==0){iInfoO.5=iInfoO.0} ;¥ë¡¼¥×»ØÄ꥿¥°¤â°ì±þÊÝ»ý
iInfoO.5+=iInfoO.4 :If(iInfoO.5>iInfoO.0){iInfoO.5=iInfoO.0}
If(iInfoO.2){iInfoO.0=int(double(iInfoO.0)*1000/iInfoO.2)} ;ÀÉô¹»»
sInfoO.4=p0 :If(p1<4){Return iInfoO(p1)}else{Return sInfoO(p1-4)}
Return ""
;---------------------------------------------------------------
;--²»À¼¥Õ¥¡¥¤¥ë¾ðÊó¼èÆÀ("file.***", Type) = Info
#defcfunc mmGetInfo str p0, int p1, local a, local b
Exist p0 :a=strsize,p1&7 :If(a<1){If(a.1<4){Return 0}else{Return ""}}
sDim b,$200,2 :b=p0 :b=GetPath(StrMid(b,StrLen(b)-8,8),18)+"."
b.1=".wav." :If(InStr(b.1,,b)>=0){Return _mmGetInfoW(p0,a.1)}
b.1=".mid.midi." :If(InStr(b.1,,b)>=0){Return _mmGetInfoM(p0,a.1)}
b.1=".mp3." :If(InStr(b.1,,b)>=0){Return _mmGetInfoP(p0,a.1)}
b.1=".ogg." :If(InStr(b.1,,b)>=0){If(p1<8){Return _mmGetInfoO(p0,a.1)}
a=_mmGetInfoO(p0,0),((p1-8)&1)|4 :Return iInfoO(a.1)}
Return 1
#global
| |
|
2016/1/1(Fri) 07:25:24|NO.73908
>>Noap¤µ¤ó
µ¤»ý¤Á¤Ïʬ¤«¤ê¤Þ¤¹¤¬¡¢¿·Ç¯Á᡹̵°ÕÌ£¤ÊÅê¹Æ¤Ï¹µ¤¨¤¿Êý¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£
¤Ç¤â¤É¤¦¤ä¤Ã¤Æ¥¿¥¤¥ß¥ó¥°¤ò¹ç¤ï¤»¤¿¤Î¡©
¤É¤³¤«¤Ç¥Æ¥¹¥È¤Ç¤â¤ä¤Ã¤¿¤Î¤«¤Ê¡©
|
|
2016/1/1(Fri) 11:12:10|NO.73911
callfunc¤Ê¤É¤Ç¥µ¥Ö¥ë¡¼¥Á¥ó¤ò¸Æ¤Ó½Ð¤¹¼Â¸³¤Î¥¹¥¯¥ê¥×¥È
¥á¥¤¥ó¥ë¡¼¥Á¥ó¤È¥µ¥Ö¥ë¡¼¥Á¥ó¤òʬ¤±¤Æ¤¢¤ê¤Þ¤¹
̾Á°¤¬¡Ö½ñ¤¤¤Æ¤¤¤ë¤È¤Á¤å¤¦¤Î¥¹¥¯¥ê¥×¥È¡×¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤³¤È¤È
¥Ð¥°¤¬¤¢¤Ã¤¿¤Î¤ò½¤Àµ¤·¤Þ¤·¤¿
¥¿¥¤¥ß¥ó¥°¤Ï¤¿¤Þ¤¿¤Þ¤Ç¤¹
#uselib "kernel32.dll"
#func VirtualProtect "VirtualProtect" sptr,int,int,sptr
#define PAGE_EXECUTE_READWRITE $00000040
v_label=*raberu
memcpy p_label,v_label,4
dim tmp,2
mref hspctx,68
dim bin_func_main,24
bin_func_main.0 = $BE56C031, varptr(tmp), $bb530689, varptr(hspctx.47), $85044689
bin_func_main.5 = $511C7EC9, $5102E1C1, $895913ff, $85590446, $890c74c0
bin_func_main.10 = $8C74FF0E, $88448F10, $50f6e2fc, $0c244c8b, $ff08798b
bin_func_main.15 = $078F0471, $15FF37FF, varptr(hspctx.54), $85505858, $ff0374c0
bin_func_main.20 = $A1580453, varptr(hspctx.196), $C9315E5B, $C3900F89
p_bin_func_main=varptr(bin_func_main)
dim bin,7
int_num_args=5
bin.0 = $b9909057, int_num_args, $15ff9066, varptr(p_bin_func_main), $0004c25f, p_label, varptr(int_decision)
VirtualProtect varptr(bin_func_main), 24*4, PAGE_EXECUTE_READWRITE, varptr(tmp)
VirtualProtect varptr(bin), 7*4 , PAGE_EXECUTE_READWRITE, varptr(tmp)
args=3,-5,6,7,8
mes "·ë²Ì="+callfunc(args,varptr(bin),int_num_args)
mes int_decision
stop
*raberu
mes "¸Ä¿ô="+tmp.0
mes "°ú¤¿ô¥¢¥É¥ì¥¹="+tmp.1
mes "¥é¥Ù¥ë¥Ý¥¤¥ó¥¿="+int_decision
dupptr buf,tmp.1,tmp.0*4
repeat tmp.0
mes "°ú¤¿ô"+cnt+"="+buf.cnt
loop
return 1192
| |
|
2016/1/1(Fri) 16:48:16|NO.73920
>¥¿¥¤¥ß¥ó¥°¤Ï¤¿¤Þ¤¿¤Þ¤Ç¤¹
±³¤Ï¤Ä¤«¤Ê¤¤Êý¤¬Îɤ¤¤Ç¤¹¤è¡£
|
|
2016/1/1(Fri) 18:07:05|NO.73922
¤Ð¤ì¤Þ¤·¤¿¤«¡£¤ä¤Ï¤ê±³¤Ï¤Ä¤±¤Þ¤»¤ó¡£³Î¤«¤Ë¼Â¤Ï12»þ¤Á¤ç¤¦¤É¤Î¾¯¤·Á°¤Ë½ñ¤¤¢¤¬¤Ã¤Æ¤»¤Ã¤«¤¯¤Ê¤Î¤Ç12¤Á¤ç¤¦¤É¤ËÅê¹Æ¤·¤è¤¦¤È»þ·×¤ò¹ç¤ï¤»¤ÆÂԤäƤ¤¤Þ¤·¤¿¡£
ÊØÍø¤½¤¦¤Ê¥¹¥¯¥ê¥×¥È¤Ë¤Ê¤Ã¤¿¤È»×¤Ã¤¿¤Î¤ÇÅê¹Æ¤·¤Þ¤·¤¿¡£
º£ÅÙ¤«¤é¤Ï±³¤Ï½ñ¤¤³¤Þ¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£
|
|
2016/1/3(Sun) 12:58:10|NO.73965
//À°¿ô·¿ÇÛÎó¤ÎǤ°Õ¤ÎÃͤǤνé´ü²½
//repeat¤Ê¤É¤ò»È¤¦¤è¤ê¤Ï®¤¤¤È»×¤¤¤Þ¤¹
//memset_int p1,p2,p3
//p1=ÊÑ¿ô : p3¤Ë»ØÄꤷ¤¿Ãͤǥ¯¥ê¥¢¤¹¤ëÀ°¿ô·¿ÇÛÎó
//p2=0~(0) : ¤¤¤¯¤Äʬ¥¯¥ê¥¢¤¹¤ë¤« p2<=0¤Î¾ì¹ç¥¯¥ê¥¢¤µ¤ì¤Ê¤¤
//p3=(0) : ¥¯¥ê¥¢¤¹¤ëÃÍ
//|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|
#ifndef memset_int
#module
#uselib "kernel32.dll"
#func VirtualProtect "VirtualProtect" sptr,int,int,sptr
#define PAGE_EXECUTE_READWRITE $00000040
#uselib ""
#func global memset_int "" var,int,int
#deffunc _register_memset_int_ local p_memset_int, local int_tmp, local int_statbak
int_statbak=stat
bin="UVWj$X$@PTXj,Y)ŽÈ_W3x@^V3pDVY]U3hH^VXP9ŽÁ~$PXPXPXIUP]U+,7UP]X)ŽÅ),7X]1,7FFFF9ŽÁuŽÞXVX_^]ŽÃ"
dupptr p_memset_int, libptr(memset_int)+24, 4
p_memset_int=varptr(bin)
VirtualProtect p_memset_int, strlen(bin), PAGE_EXECUTE_READWRITE, varptr(int_tmp)
return int_statbak
#global
_register_memset_int_
#endif
//|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|
//Æ°ºî¥µ¥ó¥×¥ë
cls
dim buf,8
memset_int buf.1,length(buf)-2,400
repeat length(buf)
mes buf.cnt
loop
pos ginfo_sx/4,0
dim buf,8
memset_int buf.1,0,400
repeat length(buf)
mes buf.cnt
loop
pos ginfo_sx/2,0
dim buf,8
memset_int buf.1,-1,400
repeat length(buf)
mes buf.cnt
loop
pos ginfo_sx/4*3,0
dim buf,8
memset_int buf,length(buf),-1192
repeat length(buf)
mes buf.cnt
loop
| |
|
2016/1/3(Sun) 19:51:56|NO.73968
À°¿ôÇÛÎóÁ´ÂΤò¼ê·Ú¤ËǤ°Õ¤ÎÃͤǽé´ü²½¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿
//À°¿ô·¿ÇÛÎóÁ´ÂΤÎǤ°Õ¤ÎÃͤǤνé´ü²½
//repeat¤Ê¤É¤ò»È¤¦¤è¤ê¤Ï®¤¤µ¤¤¬¤·¤Þ¤¹
//memset_int p1,p2,p3
//p1=ÊÑ¿ô : p3¤Ë»ØÄꤷ¤¿Ãͤǥ¯¥ê¥¢¤¹¤ëÀ°¿ô·¿ÇÛÎó
//p2=0~(0) : ¤¤¤¯¤Äʬ¥¯¥ê¥¢¤¹¤ë¤« p2<=0¤Î¾ì¹ç¥¯¥ê¥¢¤µ¤ì¤Ê¤¤
//p3=(0) : ¥¯¥ê¥¢¤¹¤ëÃÍ
//arrayreset p1,p2,p3
//p1=ÊÑ¿ô : p2¤Ë»ØÄꤷ¤¿Ãͤǥ¯¥ê¥¢¤¹¤ëÀ°¿ô·¿ÇÛÎó
//p2=(0) : ¥¯¥ê¥¢¤¹¤ëÃÍ
//p3=0~(0) : ²¿³¬Áؤޤǥ¯¥ê¥¢¤¹¤ë¤« (p3<=0 ¤Þ¤¿¤Ï p3>=4 ¤Þ¤¿¤Ï p3¤ò¾Êά¤·¤¿¾ì¹ç ÇÛÎóÁ´ÂΤνé´ü²½¤¬¤µ¤ì¤Þ¤¹)
//|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|
#ifndef memset_int
#module
#uselib "kernel32.dll"
#func VirtualProtect "VirtualProtect" sptr,int,int,sptr
#define PAGE_EXECUTE_READWRITE $00000040
#uselib ""
#func global memset_int "" var,int,int
#deffunc _register_memset_int_ local p_memset_int, local int_tmp, local int_statbak
int_statbak=stat
bin="UVWj$X$@PTXj,Y)ŽÈ_W3x@^V3pDVY]U3hH^VXP9ŽÁ~$PXPXPXIUP]U+,7UP]X)ŽÅ),7X]1,7FFFF9ŽÁuŽÞXVX_^]ŽÃ"
dupptr p_memset_int, libptr(memset_int)+24, 4
p_memset_int=varptr(bin)
VirtualProtect p_memset_int, strlen(bin), PAGE_EXECUTE_READWRITE, varptr(int_tmp)
return int_statbak
#global
_register_memset_int_
#endif
//|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|
//|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|
#module
#deffunc arrayreset array arr_int_p1, int int_value, int int_p3,\
local i,\
local int_level,\
local int_statbak,\
local pval_arr_int_p1,\
local p_pval_arr_int_p1
int_statbak=stat
mref p_pval_arr_int_p1, 0
dupptr pval_arr_int_p1, p_pval_arr_int_p1, 48
int_level=int_p3
if int_level != limit(int_level,1,4) : int_level=4
i=1
repeat int_level,2
if pval_arr_int_p1.cnt: i*=pval_arr_int_p1.cnt
loop
memset_int arr_int_p1, i, int_value
return int_statbak
#global
//|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|
//»ÈÍÑ¥µ¥ó¥×¥ë
dim int_length,4
dim arr_int_buf,2,3,3
int_length.0=length(arr_int_buf)
int_length.1=length2(arr_int_buf)
int_length.2=length3(arr_int_buf)
int_length.3=length4(arr_int_buf)
arrayreset arr_int_buf, -999, 7
gosub *printarr
pos ginfo_sx/2,0
arrayreset arr_int_buf, 1192, 2
gosub *printarr
stop
*printarr
for i,,int_length.0
if int_length.1{
for j,,int_length.1
if int_length.2{
for k,,int_length.2
if int_length.3{
for l,,int_length.3
print "arr_int_buf."+i+"."+j+"."+k+"."+l+"=" + arr_int_buf.i.j.k.l
next
}else{
print "arr_int_buf."+i+"."+j+"."+k+"=" + arr_int_buf.i.j.k
}
next
}else{
print "arr_int_buf."+i+"."+j+"=" + arr_int_buf.i.j
}
next
}else{
print "arr_int_buf."+i+"=" + arr_int_buf.i
}
next
return
| |
|
2016/1/3(Sun) 21:02:19|NO.73971
No.73968¤ò¡ÖDLL̵¤·¡×¤Çºî¤êľ¤·¤Æ¤ß¤Þ¤·¤¿¡£
memset_int¤ÎÆâÉô¥³¥Ô¡¼¤ò¼Â¼ÁºÆµ¢Åª¤Ë¹Ô¤¦¤³¤È¤Ç¡¢ÉáÄ̤Îrepeat ~ loop¤è¤ê°µÅÝŪ¤Ë¹â®²½¤·¤Æ¤¤¤Þ¤¹¡£
#module
#deffunc memset_int array p1,int p2,int p3
ptr=0
if(ptr>=p2):return
a=p3,p3,p3,p3,p3,p3,p3,p3,p3,p3,p3,p3,p3,p3,p3,p3
ptr=64
memcpy p1,a,limit(p2*4,0,ptr),0,0
while (ptr<p2*4)
wait 0
memcpy p1,p1,limit(p2*4-ptr,0,ptr),ptr,0
ptr<<=1
wend
return
//arrayreset p1,p2,p3
//p1=ÊÑ¿ô : p2¤Ë»ØÄꤷ¤¿Ãͤǥ¯¥ê¥¢¤¹¤ëÀ°¿ô·¿ÇÛÎó
//p2=(0) : ¥¯¥ê¥¢¤¹¤ëÃÍ
//p3=0~(0) : ²¿³¬Áؤޤǥ¯¥ê¥¢¤¹¤ë¤« (p3<=0 ¤Þ¤¿¤Ï p3>=4 ¤Þ¤¿¤Ï p3¤ò¾Êά¤·¤¿¾ì¹ç ÇÛÎóÁ´ÂΤνé´ü²½¤¬¤µ¤ì¤Þ¤¹)
#deffunc arrayreset array arr_int_p1, int int_value, int int_p3,\
local i,\
local int_level,\
local int_statbak,\
local pval_arr_int_p1,\
local p_pval_arr_int_p1
int_statbak=stat
mref p_pval_arr_int_p1, 0
dupptr pval_arr_int_p1, p_pval_arr_int_p1, 48
int_level=int_p3
if int_level != limit(int_level,1,4) : int_level=4
i=1
repeat int_level,2
if pval_arr_int_p1.cnt: i*=pval_arr_int_p1.cnt
loop
memset_int arr_int_p1, i, int_value
return int_statbak
#global
//|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|
//»ÈÍÑ¥µ¥ó¥×¥ë
dim int_length,4
dim arr_int_buf,2,3,3
int_length.0=length(arr_int_buf)
int_length.1=length2(arr_int_buf)
int_length.2=length3(arr_int_buf)
int_length.3=length4(arr_int_buf)
arrayreset arr_int_buf, -999, 7
gosub *printarr
pos ginfo_sx/2,0
arrayreset arr_int_buf, 1192, 2
gosub *printarr
stop
*printarr
for i,,int_length.0
if int_length.1{
for j,,int_length.1
if int_length.2{
for k,,int_length.2
if int_length.3{
for l,,int_length.3
print "arr_int_buf."+i+"."+j+"."+k+"."+l+"=" + arr_int_buf.i.j.k.l
next
}else{
print "arr_int_buf."+i+"."+j+"."+k+"=" + arr_int_buf.i.j.k
}
next
}else{
print "arr_int_buf."+i+"."+j+"=" + arr_int_buf.i.j
}
next
}else{
print "arr_int_buf."+i+"=" + arr_int_buf.i
}
next
return
| |
|
2016/1/3(Sun) 21:59:11|NO.73973
Ê䡧memset_intÆâ¤Îa¤ÎÇÛÎó¤¬16Í×ÁǤÎÍýͳ¤Ï¥¥ã¥Ã¥·¥å¥é¥¤¥ó¥µ¥¤¥º¤¢¤¿¤ê¤Ë°Õ¿ÞŪ¤Ë¤Ö¤Ä¤±¤¿·Á¤Ç¤¹¡£
¤Ö¤Ã¤Á¤ã¤±Â礷¤¿°ÕÌ£¤Ï̵¤¤¤Î¤Ç¤¹¤¬¡¢¤³¤ÎÄøÅ٤ʤéµöÍƤµ¤ì¤ëÃÙ±ä(16Í×Áǰʲ¼¤Î¥Õ¥£¥ë»þ)¤À¤í¤¦¤È¸«ÀѤâ¤Ã¤¿ÄøÅ٤Ǥ¹¡£
|
|
2016/1/4(Mon) 18:53:47|NO.73991
´Ê°×¥Ù¥ó¥Á¥Þ¡¼¥¯¥â¥¸¥å¡¼¥ë¤òºî¤ê¤Þ¤·¤¿¡£
(¥é¥Ù¥ë¤òÊ£¿ô²ó¼Â¹Ô¤·¤Æ¡¢¤«¤«¤Ã¤¿»þ´Ö¤ò logmes ¤¹¤ë)
https://gist.github.com/vain0/5aeda019eb11835987f4
¤»¤Ã¤«¤¯¤Ê¤Î¤Ç¬¤Ã¤Æ¤ß¤Þ¤¹¡£
/* memset_int ¥â¥¸¥å¡¼¥ë¤Ï¾Êά */
#include "benchmark.hsp"
randomize
r = rnd(254) + 1 // [1, 0xFE]
len = 100000
times = 100
dim xs, len
benchmark_logmes *lb_memset_int, "memset_int (large)", 10
len = 8
times = 10000
dim xs, len
benchmark_logmes *lb_memset_int, "memset_int (small)", 10
stop
*lb_memset_int
repeat times
memset_int xs, len, r
loop
return
|
|
2016/1/4(Mon) 23:00:16|NO.73995
¤Ê¤ó¤Ç¼Â¹Ô·ë²ÌŽ¤Ã¤Æ¤¯¤ì¤Ê¤«¤Ã¤¿¤ó¤Ç¤¹¤«¤ä¤À¡¼
Core i3 / Win7 64bit / MEM:8GB
NoapÈÇmemset_int
·×¬·ë²Ì: memset_int (large)
Ê¿¶Ñ: 69.000000ms
Ãæ±û: 69.000000ms
·×¬·ë²Ì: memset_int (small)
Ê¿¶Ñ: 1.875000ms
Ãæ±û: 2.000000ms
»äÈÇmemset_int
·×¬·ë²Ì: memset_int (large)
Ê¿¶Ñ: 3.250000ms
Ãæ±û: 3.500000ms
·×¬·ë²Ì: memset_int (small)
Ê¿¶Ñ: 11.625000ms
Ãæ±û: 11.000000ms
¤Ä¤Þ¤ê¡¢»ä¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢small¦¤Ë²þÁ±¤Î;ÃÏͤê¡Ä¡Ä¤È¡£
»×¤Ã¤Æ¤Á¤ç¤Ã¤Èa¤ÎŤµÊѤ¨¤¿¤È¤³¤í»þ´Ö¤¬¿¤Ó¤¿¤À¤±¤À¤Ã¤¿¡Ä¡Ä¤À¤á¤¸¤ã¤ó¡£
|
|
2016/1/6(Wed) 05:54:07|NO.74015
//ÊÑ¿ô¥Ý¥¤¥ó¥¿¤«¤é¥¯¥í¡¼¥óÊÑ¿ô¤òºîÀ®¤¹¤ë¥â¥¸¥å¡¼¥ë
//PVal¥Ý¥¤¥ó¥¿¤«¤éÇÛÎó¤Î³ÆÍ×ÁǤΥݥ¤¥ó¥¿¼èÆÀ
//get_ptr_from_pval(p1,p2)
//p1=(0) : PVal¥Ý¥¤¥ó¥¿
//p2=(0) : ÊÑ¿ôÆ⥪¥Õ¥»¥Ã¥È
//ÊÑ¿ô¥Ý¥¤¥ó¥¿¤«¤é¥¯¥í¡¼¥óÊÑ¿ôºîÀ®
//dupptrpval p1,p2
//p1=ÊÑ¿ô : ¥¯¥í¡¼¥óÊÑ¿ô¤Ë¤¹¤ëÊÑ¿ô
//p2=(0) : ¥Ý¥¤¥ó¥¿
#module
#define SIZE_PVAL_INT 12
#const SIZE_PVAL (SIZE_PVAL_INT*4)
#define SIZE_HSPVARPROC 140
#define HSPVAR_FLAG_STR 2
#define HSPVAR_FLAG_DOUBLE 3
#defcfunc get_ptr_from_pval int p_pval, int int_index_element,\
local hspctx,\
local pval,\
local copy_pval,\
local arr_int_function_arguments,\
local p_hspvarproc, local hspvarproc,\
if (p_pval==0) | (int_index_element<0): return 0
mref hspctx,68
dupptr pval, p_pval, SIZE_PVAL
dim copy_pval, SIZE_PVAL_INT
memcpy copy_pval, pval, SIZE_PVAL
copy_pval.10= int_index_element
//HspFunc_GetProc(ÊÑ¿ô·¿)
arr_int_function_arguments= pval.0 & $FFFF
p_hspvarproc=callfunc( arr_int_function_arguments, hspctx.37, 1)
dupptr hspvarproc, p_hspvarproc, SIZE_HSPVARPROC
arr_int_function_arguments= varptr(copy_pval)
return callfunc( arr_int_function_arguments, hspvarproc.7, 1)
#deffunc dupptrpval var v_to_var, int p_from_ptr,\
local pval_tmp,\
local pval_bak,\
local pval_found,\
local pval_v_to_var,\
local pval,\
local hspctx,\
local p_pval_v_to_var,\
local p_pval_found,\
local i, local j,\
local int_size_array
if p_from_ptr==0: return
mref p_pval_v_to_var,0
dupptr pval_v_to_var, p_pval_v_to_var, SIZE_PVAL
mref hspctx,68
dim pval_bak, SIZE_PVAL_INT
for i, hspctx.11, p_pval_v_to_var, SIZE_PVAL
dupptr pval, i, SIZE_PVAL
if pval.0 & $FFFF == HSPVAR_FLAG_STR{
int_size_array=1
for j,2,6
if pval.j: int_size_array*=pval.j
next
//mes "i="+i+" size="+int_size_array
for j,,int_size_array
if p_from_ptr == get_ptr_from_pval(i, j){
p_pval_found= i
_break
}
next
}else{
if p_from_ptr == limit(p_from_ptr, pval.7, pval.7+pval.6){
p_pval_found= i
_break
}
}
if p_pval_found: _break
next
if p_pval_found{
//ÊÑ¿ô·¿¤Î¥³¥Ô¡¼
dupptr pval_found, p_pval_found, SIZE_PVAL
dupptr pval, hspctx.207+12, SIZE_PVAL
memcpy pval_bak, pval, SIZE_PVAL
memcpy pval, pval_found, SIZE_PVAL
dup v_to_var, pval_tmp
memcpy pval, pval_bak , SIZE_PVAL
memcpy pval_v_to_var, pval_found, 44 ,4, 4
//dup v_to_var, v_to_var
}
//mes p_pval_found
return
#global
//Æ°ºî¥µ¥ó¥×¥ë
/*
dim int_dummy,2,5
sdim buf,200,3,5
mes varptr(buf.1.1)
//mes varptr(buf.4)
buf.0.0="¤«¤¤¯¤±¤³"
buf.1.1="¤¢¤¤¤¦¤¨¤ª"
dupptrpval clonebuf, varptr(buf)
mes "resut="+clonebuf.1.1
dim clonebuf
dim int_dummy,2,5
dim buf,3,5
mes varptr(buf.1.1)
//mes varptr(buf.4)
buf.0.0=999
buf.1.1=100
dupptrpval clonebuf, varptr(buf)
mes "resut="+clonebuf.1.1
mes "resut="+clonebuf.0.0
dim clonebuf,200
*/
| |
|
2016/1/6(Wed) 20:34:25|NO.74026
HSPVarProc¤«¤é»Í§±é»»´Ø¿ô¤òľÀܻȤäƤߤޤ·¤¿
²¿¤«¤ÎÌò¤ËΩ¤Ä¤«¤Ïʬ¤«¤ê¤Þ¤»¤ó
//HSPVarProc¤«¤é»Í§±é»»´Ø¿ô¤òľÀܻȤ¦¥¹¥¯¥ê¥×¥È
#define HSPVAR_FLAG_DOUBLE 3
#define HSPVAR_FLAG_INT 4
mref hspctx,68
arr_int_function_arguments= HSPVAR_FLAG_INT
p_hspvarproc=callfunc( arr_int_function_arguments, hspctx.37, 1)
dupptr hspvarproc, p_hspvarproc, 140
int_tmp=70,8
//GtI
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.29, 2)
if stat{
mes ""+int_tmp.0+">"+int_tmp.1
}
//LtI
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.30, 2)
if stat{
mes ""+int_tmp.0+"<"+int_tmp.1
}
int_tmp=100,200
//GtEqI
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.31, 2)
if stat{
mes ""+int_tmp.0+">="+int_tmp.1
}
//GtI(2)
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.29, 2)
if stat{
mes ""+int_tmp.0+">"+int_tmp.1
}
//LtI(2)
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.30, 2)
if stat{
mes ""+int_tmp.0+"<"+int_tmp.1
}
//GtEqI(2)
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.31, 2)
if stat{
mes ""+int_tmp.0+">="+int_tmp.1
}
//EqI(2)
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.27, 2)
if stat{
mes ""+int_tmp.0+"=="+int_tmp.1
}
//NeI(2)
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.28, 2)
if stat{
mes ""+int_tmp.0+"!="+int_tmp.1
}
int_tmp=80,80
//GtEqI(2)
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.31, 2)
if stat{
mes ""+int_tmp.0+">="+int_tmp.1
}
//LtEqI(2)
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.32, 2)
if stat{
mes ""+int_tmp.0+"<="+int_tmp.1
}
//EqI(2)
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.27, 2)
if stat{
mes ""+int_tmp.0+"=="+int_tmp.1
}
//NeI(2)
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.28, 2)
if stat{
mes ""+int_tmp.0+"!="+int_tmp.1
}
int_tmp=64,3
//RrI
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.33, 2)
mes ""+int_tmp.0+">>"+int_tmp.1+"="+stat
//LrI
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.34, 2)
mes ""+int_tmp.0+"<<"+int_tmp.1+"="+stat
//AddI
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.19, 2)
mes ""+int_tmp.0+"+"+int_tmp.1+"="+stat
//SubI
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.20, 2)
mes ""+int_tmp.0+"-"+int_tmp.1+"="+stat
//MulI
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.21, 2)
mes ""+int_tmp.0+"*"+int_tmp.1+"="+stat
//DivI
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.22, 2)
mes ""+int_tmp.0+"/"+int_tmp.1+"="+stat
//ModI
hspctx.196=int_tmp.0
arr_int_function_arguments= varptr(hspctx.196), varptr(int_tmp.1)
int_result=callfunc( arr_int_function_arguments, hspvarproc.23, 2)
mes ""+int_tmp.0+"\\"+int_tmp.1+"="+stat
| |
|
2016/1/8(Fri) 22:23:55|NO.74059
//¥¨¥Ç¥£¥È¥Ü¥Ã¥¯¥¹¤ËÆþÎÏÀâÌÀ(¥×¥í¥ó¥×¥È)¤òɽ¼¨¤¹¤ë¥¹¥¯¥ê¥×¥È
//¥â¥¸¥å¡¼¥ë¤Ë¤¹¤ë°ÕÌ£¤Ï¤¢¤Þ¤ê¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿
#module
#define EM_SETCUEBANNER $00001501
#uselib "user32.dll"
#func SendMessageW "SendMessageW" int,int,wptr,wptr
#deffunc prompt_inputbox int int_id_object, str str_tip, int int_option_behavor
SendMessageW objinfo_hwnd(int_id_object), EM_SETCUEBANNER, int_option_behavor, str_tip
return
#global
#define EM_SETCUEBANNER $00001501
#define WA_INACTIVE $00000000
#define WM_ACTIVATE $00000006
sdim buf,512
input buf,ginfo_sx/2,,511
input buf,ginfo_sx/2,,511
input buf,ginfo_sx/2,,511
prompt_inputbox 0, "ÀâÌÀ", 1
//prompt_inputbox 1, "ÀâÌÀ", 0
cnvstow buf,"ÀâÌÀ"
sendmsg objinfo_hwnd(1), EM_SETCUEBANNER, 0 , varptr(buf)
|
|
2016/1/10(Sun) 17:18:43|NO.74086
¤Õ¤ê¤¬¤Ê¤ò¤Ä¤±¤ë¥µ¥ó¥×¥ë¡£
#module ʸ»úÎó²Ã¹©
#defcfunc cat str str1 ,str str2 ,str str3,int ct
ct2=ct
³«»Ïʸ»ú¿ô = strlen(str1)
½ªÎ»Ê¸»ú¿ô = strlen(str3)
³«»Ï=str1
ʸ»úÎó=str2
½ªÎ»=str3
³«»Ïin=0
½ªÎ»in=0
repeat ct2+1
³«»Ïin = instr(ʸ»úÎó,³«»Ïin,³«»Ï)+³«»Ïʸ»ú¿ô+³«»Ïin
loop
½ªÎ»in = instr(ʸ»úÎó,³«»Ïin,½ªÎ»)+³«»Ïin
ºÇ½ª=strmid(ʸ»úÎó,³«»Ïin,½ªÎ»in-³«»Ïin)
return ºÇ½ª
#defcfunc Cstrrep str str1 ,str str2 ,str str3,str str4//p1 ³«»Ï¥æ¥Ë¡¼¥¯Ê¸»ú p2 ÃÖ´¹ÂоݤÎʸ¾Ï p3 ½ªÎ»¥æ¥Ë¡¼¥¯Ê¸»ú p4 ÃÖ´¹¤¹¤ëʸ»úÎó
³«»Ïʸ»ú¿ô = strlen(str1)
Á´ÂÎʸ»ú¿ô = strlen(str2)
½ªÎ»Ê¸»ú¿ô = strlen(str3)
ÃÖ´¹Ê¸»ú¿ô = strlen(str4)
³«»Ï=str1
ºÇ½ª=""
ʸ»úÎó=str2
½ªÎ»=str3
³«»Ïin=0
ÃÖ´¹¸å=str4
Index=0
repeat
³«»Ïin2 = instr(ʸ»úÎó,Index,³«»Ï)
³«»Ïin = Index + ³«»Ïin2
if ³«»Ïin2!-1:{
½ªÎ»in = instr(ʸ»úÎó,³«»Ïin,½ªÎ»)+³«»Ïin
if ½ªÎ»in!-1:{
ʸ»úÎó=""+strmid(ʸ»úÎó,0,³«»Ïin)+""+ÃÖ´¹¸å+""+strmid(ʸ»úÎó,½ªÎ»in+½ªÎ»Ê¸»ú¿ô,Á´ÂÎʸ»ú¿ô)+""
}else:break
}else:break
Index + ³«»Ïin2 + ÃÖ´¹Ê¸»ú¿ô
//Dialog ""+³«»Ïin2+","+ÃÖ´¹Ê¸»ú¿ô+","+Index+""
loop
return ʸ»úÎó
#defcfunc Cinstr str str1,int int2,str str3
ʸ»úÎó = str1
Index = int2
¸¡º÷ʸ»úÎó = str3
¸¡º÷ʸ»ú¿ô = strlen(str3)
¥Ò¥Ã¥È¿ô=0
repeat
³«»Ïin2 = instr(ʸ»úÎó,Index,¸¡º÷ʸ»úÎó)
//Dialog ""+³«»Ïin2+","+Index+""
³«»Ïin = Index + ³«»Ïin2
if ³«»Ïin2!-1:¥Ò¥Ã¥È¿ô+1:else:break
Index + ³«»Ïin2 + ¸¡º÷ʸ»ú¿ô
loop
return ¥Ò¥Ã¥È¿ô
#global
Screen 0,1900,500
posy=50
a="{+ÅìµþÆõöµö²Ä¶É,¤È¤¦¤¤ç¤¦¤È¤Ã¤¤ç¤¤ç¤«¤¤ç¤¯+}¤Ï¼Â¤Ï¸ºß¤·¤Ê¤¤¡£{+À¸ÇþÀ¸ÊÆÀ¸Íñ,¤Ê¤Þ¤à¤®¤Ê¤Þ¤´¤á¤Ê¤Þ¤¿¤Þ¤´+}¤âÁá¸ý¸ÀÍÕ¤ÎÄêÈÖ¡£"
repeat
ºÇ½éin=0
ºÇ¸åin=0
pos 0,0
fontsize=double(mousex)/1.0
font "¥á¥¤¥ê¥ª",int(fontsize+0.5)
redraw 0
Color 255,255,255:boxf:Color 0,0,0
¥ë¥Ó¿ô=Cinstr(a,0,"{+")//¥ë¥Ó¤¬¤¤¤¯¤Ä¤¢¤ë¤«¤òÄ´¤Ù¤ë
dim ¼çʸ¾Ïpos,¥ë¥Ó¿ô
dim ¼çʸ¾Ïsize,¥ë¥Ó¿ô
ºÇ½éin = instr(a,0,"{+")
pos ,posy:mes strmid(a,0,ºÇ½éin)//0~ºÇ½é¤Î¥ë¥Ó¤Þ¤Ç¤òÉÁ²è
repeat ¥ë¥Ó¿ô//¥ë¥Ó¤Î¼ç´Á»ú¤òÉÁ²è
pos ginfo_cx+ginfo_mesx,posy:mes cat("{+",a,",",cnt)
¼çʸ¾Ïpos.cnt=ginfo_cx
¼çʸ¾Ïsize.cnt=ginfo_mesx
if (¥ë¥Ó¿ô-1)!cnt:{//¥ë¥Ó¤Î´Ö¤ÎÄ̾ï¤Îʸ¾Ï¤òÉÁ²è¡£¤¿¤À¤·¡¢ºÇ¸å¤Î¥ë¥Ó¤Î¸å¤ÏÊ̤ËÉÁ²è¡£
pos ginfo_cx+ginfo_mesx,posy:mes cat("+}",a,"{+",cnt)
}
loop
repeat ¥ë¥Ó¿ô//ºÇ¸å¤Î¥ë¥Ó¤Î½ª¤ï¤ê¤ò¸¡º÷
ºÇ¸åin + instr(a,ºÇ¸åin,"+}")+2
loop
pos ginfo_cx+ginfo_mesx,posy:mes strmid(a,ºÇ¸åin,strlen(a)-ºÇ¸åin)//¤µ¤Ã¤¸¡º÷¤·¤¿°ÌÃÖ¤«¤éºÇ¸å¤Þ¤Ç¤òÄ´¤Ù¤ë
repeat ¥ë¥Ó¿ô//¥ë¥Ó¤òÉÁ²è¡£
font "¥á¥¤¥ê¥ª",fontsize:pos ginfo_winx,ginfo_winy:mes cat(",",a,"+}",cnt)//²èÌ̳°¤Ë¼ç´Á»ú¤ÈƱ¤¸¥µ¥¤¥º¤ÇÉÁ²è¤·½Ì¾®¥µ¥¤¥º¤ò·×»»¡£É¬¤º¥Õ¥©¥ó¥È¥µ¥¤¥º¤òËè²ó»ØÄꤹ¤ë¤³¤È¡ª
½Ì¾®ÇÜΨ=(double(ginfo_mesx)/double(¼çʸ¾Ïsize.cnt))
font "¥á¥¤¥ê¥ª",fontsize/½Ì¾®ÇÜΨ
pos ¼çʸ¾Ïpos.cnt,posy-((double(ginfo_mesy)/½Ì¾®ÇÜΨ)*0.5):mes cat(",",a,"+}",cnt)
loop
redraw 1
await
loop
| |
|
2016/1/11(Mon) 21:19:42|NO.74100
ÀΤΥµ¥ó¥×¥ë¡¦¥Õ¥©¥ë¥À¤«¤éÅê¹Æ¤·¤ä¤¹¤¤¤â¤Î¤ò¸«¤Ä¤±¤Æ¤ß¤Þ¤·¤¿¡£
//--------------------------------------
// ±ï¼è¤êʸ»úÎó¤Î¥µ¥ó¥×¥ë
//--------------------------------------
*Main
font MSGOTHIC,50,1
color $00,$00,$00:boxf
n=3
EdgePuts 100,100,n,$FFFFFF,$FF0000,"¤¢¤¤¤¦¤¨¤ª"
EdgePuts 100,150,n,$FFFFFF,$00CC00,"¤«¤¤¯¤±¤³"
EdgePuts 100,200,n,$FFFFFF,$0000FF,"¤µ¤·¤¹¤»¤½"
EdgePuts 100,250,n,$FFFFFF,$FF00FF,"¤¿¤Á¤Ä¤Æ¤È"
EdgePuts 100,300,n,$FFFFFF,$FFCC00,"¤Ê¤Ë¤Ì¤Í¤Î"
EdgePuts 100,350,n,$FFFFFF,$00CCFF,"¤Ï¤Ò¤Õ¤Ø¤Û"
stop
//--------------------------------------
// ±ï¼è¤êʸ»ú
//--------------------------------------
#deffunc EdgePuts int _cx_,int _cy_,int _dot_,int _c1_,int _c2_,str _msg_
r=((_c1_>>8*2) & $FF)
g=((_c1_>>8*1) & $FF)
b=((_c1_>>8*0) & $FF)
color r,g,b
i=(_dot_*2+1)
repeat i:y=cnt
repeat i:x=cnt
pos (_cx_+x),(_cy_+y)
mes _msg_
loop
loop
r=((_c2_>>8*2) & $FF)
g=((_c2_>>8*1) & $FF)
b=((_c2_>>8*0) & $FF)
color r,g,b
pos(_cx_+_dot_),(_cy_+_dot_)
mes _msg_
return
//------------------------------------------------------------------------------
// End of sample48.hsp
//------------------------------------------------------------------------------
| |
|
2016/1/13(Wed) 20:12:41|NO.74118
ºÂɸ¤òÃæ¿´¤Ëʸ»úÎó¤òɽ¼¨¤¹¤ëÌ¿Îá¤È
ºÂɸ¤òº¸²¼¤Ëʸ»úÎó¤òɽ¼¨¤¹¤ëÌ¿Îá¡£
¥Õ¥©¥ó¥È¤Ë¤è¤Ã¤Æ¤Ï¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¤«¤â...
#module
#deffunc cmes str p1 ;ºÂɸ¤òÃæ¿´¤Ëʸ»úÎó¤ò½ñ¤¯
s1 = ginfo(22) ;¸½ºß¤ÎºÂɸ(x)
s2 = ginfo(23) ;¸½ºß¤ÎºÂɸ(y)
s3 = ginfo_sx ;²èÌ̳°¤ÎXºÂɸ
s4 = ginfo_sy ;²èÌ̳°¤ÎYºÂɸ
pos s3,s4:mes p1 ;ʸ»ú¥µ¥¤¥º¼èÆÀÍѤËɽ¼¨
s5 = ginfo(14)/2 ;ɽ¼¨(x)
s6 = ginfo(15)/2 ;ɽ¼¨(y)
pos s1-s5,s2-s6:mes p1 ;¥á¥¤¥óɽ¼¨
pos s1,s2+(s6*2)+4 ;ºÂɸ¤ò¤º¤é¤¹
return
#deffunc lfmes str p1 ;ºÂɸ¤òº¸²¼¤Ëʸ»úÎó¤ò½ñ¤¯
s1 = ginfo(22) ;¸½ºß¤ÎºÂɸ(x)
s2 = ginfo(23) ;¸½ºß¤ÎºÂɸ(y)
s3 = ginfo_sx ;²èÌ̳°¤ÎXºÂɸ
s4 = ginfo_sy ;²èÌ̳°¤ÎYºÂɸ
pos s3,s4:mes p1 ;¼èÆÀÍÑɽ¼¨
s5 = ginfo(14) ;ɽ¼¨(x)
s6 = ginfo(15) ;ɽ¼¨(y)
pos s1-s5,s2-s6:mes p1 ;¥á¥¤¥óɽ¼¨
pos s1,s2-s6 ;ºÂɸ¤ò¤º¤é¤¹
return
#global
/* Æ°ºî¥µ¥ó¥×¥ë */
screen 0,640,480
pos 320,120
cmes "ºÂɸ¤òÃæ¿´¤Ëʸ»úÎó¤òɽ¼¨¤¹¤ë"
cmes "Tab¤È¤«²þ¹Ô¤ÏÈóÂбþ..."
pos 640,480
lfmes "ºÂɸ¤¬²¼¤Ë¤¯¤ë¤è¤¦¤Ë..."
lfmes "³¤±¤Æ½ñ¤¯¤È¤³¤¦¤Ê¤ë"
lfmes "¤³¤ì¤âTab¤È¤«²þ¹Ô¤ÏÈóÂбþ..."
/****************/
| |
|
2016/1/15(Fri) 04:34:02|NO.74127
¿¼Ìë¥Æ¥ó¥·¥ç¥ó¤Ë¤è¤ë¥¨¥Ë¥°¥ÞÉ÷°Å¹æ¥â¥¸¥å¡¼¥ë¡Ö¥¨¥Ë¥°¥ë¥Þ¡×¡£
HSP¤Îµ¼»÷Íð¿ô¤È¤¤¤¦¥´¥ß¤ò»È¤Ã¤Æ¤¤¤ë¤¿¤á¡¢¼ÂÍѤ·¤Ê¤¤¤Ù¤¡£(MT¤Ê¤é¤È¤â¤«¤¯)
¥®¥¢³ú¹ç¤Ë¤è¤ê¡¢ÃÖ´¹¥®¥¢¤¬°ì±þºÇÂç10^36¼þ´ü¤Ç²ó¤ë¤è¤¦¤Ë¤Ï¤Ê¤Ã¤Æ¤¤¤ë¡£
¤Ê¤Î¤Ç¡¢Íð¿ôÀ¸À®´ï¤È¥·¡¼¥É¤Ë¹´¤ì¤Ð¡¢¤½¤³¤½¤³¹Ô¤±¤ë¤«¤âÃΤì¤Ê¤¤¡£¤¬Êݾڥʥ·
¾¤Ë¤â¥Ï¥Ã¥·¥åÀ¸À®¤¬¥À¥á¥À¥á¤À¤Ã¤¿¤ê¤È¤¤¤í¤¤¤í¼êÈ´¤¤Ç¤¹¤è¡£
//Enigruma°Å¹æ¥â¥¸¥å¡¼¥ë
//¥¨¥Ë¥°¥Þ(Enigma)¤ò»²¹Í¤Ë¤Ê¤ó¤È¤Ê¤¯¤ÇºîÀ®¡£
#include "hspinet.as"
#module rotor f,fi
#modinit
dim f,256
dim fi,256
for i,0,256
f(i)=i
fi(i)=i
next
repeat 500+rnd(1000)//¥í¡¼¥¿¡¼¤Î·ëÀþ¸ò´¹
wait 0
a=rnd(256):b=rnd(256)
fa=f(a):fb=f(b)
tmp=fi(fa): fi(fa)=fi(fb):fi(fb)=tmp
f(a)=fb:f(b)=fa
loop
return
#modcfunc rotor_crypt int x
return f(x)
#modcfunc rotor_decrypt int x
return fi(x)
#modfunc rotor_step
repeat 256//1¥¹¥Æ¥Ã¥×²ó¤¹
wait 0
a=cnt:b=(cnt+1)\256
fa=f(a):fb=f(b)
tmp=fi(fa): fi(fa)=fi(fb):fi(fb)=tmp
f(a)=fb:f(b)=fa
loop
return
#global
#module reflector f
#modinit
dim f,256
dim fi,256
for i,0,256
f(i)=i
next
repeat 50000+rnd(10000)//È¿¼ÍÈĤηëÀþ¸ò´¹
wait 0
a=rnd(256):b=rnd(256)
fa=f(a):fb=f(b)
if(fa==a)^(fb==b){
if(fa==a){
f(a)=fb:f(fb)=a:f(b)=b
}else{
f(b)=fa:f(fa)=b:f(a)=a
}
}else{
f(fa)=b:f(fb)=a
f(a)=fb:f(b)=fa
}
loop
return
#modcfunc reflector_crypt int x
return f(x)
#global
#module enigruma r,hash,latch,gear,ref
#modinit int num
gear=limit(num,4,25)
prime=1,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97
dim latch,gear
repeat gear
newmod r,rotor
latch(cnt)=rnd(prime(cnt))
loop
newmod ref,reflector
dim hash,16
return
#define global sethash(%1,%2,%3=-1) _sethash %1,%2,%3
#modfunc _sethash str inp,int len,local long,local in
in=inp
long=len:if(long==-1):long=strlen(in)
varmd5@ md5,in,long//ËÜÅö¤Ïsalt¤òº®¤¼¤Æ¤´¤Á¤ã¤´¤Á¤ã¤µ¤»¤ë¤Ù¤
hl=int("$"+strmid(md5,0,8)),int("$"+strmid(md5,8,8)),int("$"+strmid(md5,16,8)),int("$"+strmid(md5,24,8))
repeat 16
hash(cnt)=peek(hl,cnt)
for i,0,cnt
if(hash(i)==hash(cnt)){
hash(cnt)=(hash(cnt)+1)\256
i=-1
_continue
}
next
loop
return
#modcfunc _encrypt_base64 str in, int len,local long
if(len==-1):long=strlen(in):else:long=len
buf=_crypt(thismod,in,long)
b64encode@ b64,buf,long
return b64
#modcfunc _decrypt_base64 str ins,local long,local in
in=ins
long=strlen(in)/4*3
if(instr(in,0,"=")!=-1):long-=strlen(in)-instr(in,0,"=")
b64decode@ b64,in
return _crypt(thismod,b64,long)
#modcfunc _crypt str ins,int len,local long,local in
in=ins
long=len
sdim out,long
for i,0,long
tmp=peek(in,i)
for j,0,16//ÆþÎÏÆɤßÂؤ¨
if(tmp==hash(j)){
if j&1:tmp=hash(j-1):else:tmp=hash(j+1)
_break
}
next
for j,0,gear//ÆþÎÏ¥®¥¢½¸
tmp=rotor_crypt(r(j),tmp)
next
tmp=reflector_crypt(ref,tmp)
for j,gear-1,-1,-1//½ÐÎÏ¥®¥¢½¸
tmp=rotor_decrypt(r(j),tmp)
latch(j)=(latch(j)+1)\prime(j)
if(latch(j)==0):rotor_step(r(j))
next
for j,0,16//½ÐÎÏÆɤßÂؤ¨
if(tmp==hash(j)){
if j&1:tmp=hash(j-1):else:tmp=hash(j+1)
_break
}
next
poke out,i,tmp
next
return out
#define global ctype encrypt_base64(%1,%2,%3=-1) _encrypt_base64(%1,%2,%3)
#define global ctype decrypt_base64(%1,%2)_decrypt_base64(%1,%2)
#global
password="password"
text="¥¨¥Ë¥°¥ë¥Þ/¥Æ¥¹¥È"
randomize
seed=(rnd(256)<<24)+(rnd(256)<<16)+(rnd(256)<<8)+rnd(256)
randomize seed
newmod enc,enigruma,25
sethash enc,password
//Ʊ¤¸½èÍý¤Ç¥Ç¥³¡¼¥É¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤ë
randomize seed
newmod dec,enigruma,25
sethash dec,password
//¤Á¤Ê¤ß¤Ëdec=enc¤Çºî¤Ã¤¿¤Ä¤â¤ê¤Ë¤Ê¤Ã¤Æ¤â¡¢Æ±¤¸¥ª¥Ö¥¸¥§¥¯¥È¤ò¼¨¤¹¤¿¤á¡¢¤Ê¤ó¤Î°ÕÌ£¤â¤Ê¤¤¡£¥À¥á¤ÊÅÛ
s=encrypt_base64(enc,text)
mes s
p=decrypt_base64(dec,s)
mes p
| |
|
2016/1/20(Wed) 17:56:09|NO.74211
php¤Ë¤Ï¡¢var_dump¤È¤¤¤¦´Ø¿ô¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤ì¤ÎhspÈǤòºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
#module
#defcfunc arraysize array a
if(length4(a)>0):return 4
if(length3(a)>0):return 3
if(length2(a)>0):return 2
if(length(a)>1):return 1
return 0
#defcfunc get_pval var v
#deffunc get_pval_0 int pval
return pval
#defcfunc getvarsize var varget, local varsizinf, local varsizeptr, local hspctxstrr, local pvaladr, local pvala
if vartype(varget)==vartype("str"){
varsizeptr=varptr(varget)
dupptr varsizinf,varsizeptr-16,4
return varsizinf
}
mref hspctxstrr,68
dupptr pvaladr,hspctxstrr.207,4
dupptr pvala,pvaladr,48,vartype("str")
return lpeek(pvala,24)
#defcfunc getvar var v2
if(vartype(v2)=vartype("str")):return "\""+v2+"\""
if(vartype(v2)=vartype("int")):return str(v2)
if(vartype(v2)=vartype("double")):return str(v2)
dupptr v3,varptr(v2),getvarsize(v2),vartype("str")
return "\""+v3+"\""
#deffunc init
screen 32
title "var_dump ·ë²Ì¥ê¥Ý¡¼¥È"
objsize 640,480
sdim s,1000000
mesbox s,,,4
sstat=stat
sdim type,6
type(vartype("str"))="str"
type(vartype("int"))="int"
type(vartype("double"))="double"
type(vartype("label"))="label"
type(vartype("comobj"))="comobj"
type(vartype("struct"))="struct"
return
#deffunc var_dump array a
msg=""
msg+="ÊÑ¿ô·¿:"+type(vartype(a))+"\n"
msg+="ÇÛÎó:("+length(a)+","+length2(a)+","+length3(a)+","+length4(a)+")\n"
repeat length(a)
a1=cnt
if(arraysize(a)=0):msg+=getvar(a)
if(arraysize(a)=1):msg="("+cnt+"):"+getvar(a(a1))+"\n"
if(arraysize(a)=2):msg+="("+cnt+"){\n"
if(arraysize(a)=3):msg+="("+cnt+"){\n"
if(arraysize(a)=4):msg+="("+cnt+"){\n"
repeat length2(a)
a2=cnt
if(arraysize(a)=2):msg+="\t("+cnt+"):"+getvar(a(a1,a2))+"\n"
if(arraysize(a)=3):msg+="\t("+cnt+"){\n"
if(arraysize(a)=4):msg+="\t("+cnt+"){\n"
repeat length3(a)
a3=cnt
if(arraysize(a)=3):msg+="\t\t("+cnt+"):"+getvar(a(a1,a2,a3))+"\n"
if(arraysize(a)=4):msg+="\t\t("+cnt+"){\n"
repeat length4(a)
a4=cnt
if(arraysize(a)=4):msg+="\t\t\t("+cnt+"):"+getvar(a(a1,a2,a3,a4))+"\n"
await 1
loop
if(arraysize(a)=4):msg+="\t\t}\n"
loop
if(arraysize(a)=3):msg+="\t}\n"
if(arraysize(a)=4):msg+="\t}\n"
loop
if(arraysize(a)>1):msg+="}\n"
loop
objprm sstat,msg
return
#global
init
¤³¤ÎÌ¿Îá¤Ï¸½¾õÌäÂ꤬¤¢¤ê¤Þ¤¹¡£
¡¦°ì¼¡¸µÇÛÎó¤À¤Èɽ¼¨¤¬¤ª¤«¤·¤¤
¡¡(¡¦¶ñÂÎŪ¤Ë¤Ï¡¢ÊÑ¿ô·¿¡¢ÇÛÎó¤ÎÍ×ÁÇ¿ô¤¬É½¼¨¤µ¤ì¤Ê¤¤
¡¡ ¡¦¤Ê¤ó¤«Æó¤ÄÌܤ·¤«É½¼¨¤·¤Ê¤¤)
¡¦str¡¢int¡¢double¤·¤«¤Û¤È¤ó¤ÉÂбþ¤·¤Æ¤¤¤Ê¤¤¡£
¤Á¤Ê¤ß¤Ë¥×¥é¥°¥¤¥ó¤ÇÊÑ¿ô·¿¤òÄɲä·¤¿»þ¤Ë¡¢
¤½¤Î·¿¤âɽ¼¨¤·¤¿¤¤¤È¤¤Ï¡¢
typeÇÛÎó¤Ègetvar´Ø¿ô¤Î½èÍý¤òŬÀÚ¤ËÄɲ乤뤳¤È¤Ç¡¢Âбþ¤Ç¤¤Þ¤¹¡£
| |
|
2016/1/20(Wed) 17:59:41|NO.74212
¾åµ¥â¥¸¥å¡¼¥ë¤Ë¤Ä¤¤¤Æ
¥Ñ¥Ö¥ê¥Ã¥¯¥É¥á¥¤¥ó¤È¤·¤Þ¤¹¡£
¤Þ¤¿¡¢¥â¥¸¥å¡¼¥ë¤ò²þÎɤ·¤Æ¤¯¤ì¤ë¿Í¤¬¤¤¤¿¤é¡¢²þÎɤª´ê¤¤¤·¤Þ¤¹¡£
²þÎɤ·¤Æ¤Û¤·¤¤ÅÀ¤Ï¡¢
¡¦¾åµ¤Ç¤¢¤²¤¿ÌäÂê
¡¦ÊÑ¿ô̾¤¬É½¼¨¤µ¤ì¤Ê¤¤¡Ê¤È¤¤¤¦¤è¤ê¼èÆÀÊýË¡¤¬¤ï¤«¤é¤Ê¤¤¡£
¡¡¥Í¥Ã¥È¤ÇÄ´¤Ù¤Æ¤¤¤¯¤Ä¤«¤Ç¤Æ¤¯¤ë¤Î¤Ç¤¹¤¬¡¢¼Â¹Ô¤·¤Æ¤ß¤¿¤È¤³¤í
¡¡¼èÆÀ¤Ç¤¤ë¤Î¤¬Ææ¤Î¿ô»ú¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¡Ë
|
|
2016/1/20(Wed) 22:30:37|NO.74214
>>kanamaru¤µ¤ó
¥â¥¸¥å¡¼¥ë¤Î²þÎɤǤϤʤ¤¤Ç¤¹¤¬¡¢ÊÑ¿ô̾¤Ï°Ê²¼¤Î¥¹¥¯¥ê¥×¥È¤Ç¼èÆÀ¤Ç¤¤Þ¤·¤¿¡£
// ¥Ç¥Ð¥Ã¥°»þ°Ê³°¤Ç¤ÎÊÑ¿ô̾¾ðÊó¤Î½ÐÎϤò͸ú¤Ë¤¹¤ë
#cmpopt varname 1
// ÊÑ¿ô̾¼èÆÀ¥â¥¸¥å¡¼¥ë
#module VarName
#uselib ""
#cfunc _varname "" int
#defcfunc getPval var
mref pval, 0
return pval
#deffunc local init
mref ctx, 68
pvalHead = lpeek(ctx, 44)
dupptr exinfo, lpeek(ctx, 876), 196
dupptr sd, libptr(_varname), 28
lpoke sd, 24, lpeek(exinfo, 188)
return
#defcfunc getVarName array _var
id = (getPval(_var) - pvalHead) / 48
p = _varname(id)
dupptr name, p, 100, 2
return name
#global
init@VarName
#module mod
#global
myVariable@mod = 0
mes getVarName(myVariable@mod)
P.S. Ææ¤Î¿ô»ú¡Ä¥Ý¥¤¥ó¥¿¤«²¿¤«¤¸¤ã¤Ê¤¤¤Ç¤¹¤«¤Í¡£
|
|
2016/1/20(Wed) 22:38:34|NO.74215
¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
ÌÀÆü»î¤·¤Æ¤ß¤Þ¤¹¡£
¶µ¤¨¤Æ¤¯¤ì¤¿¥½¡¼¥¹¤ò¸«¤Æ»×¤Ã¤¿¤Î¤¬¡¢
º£»×¤¦¤È¡¢Ææ¤Î¿ô»ú¤Ã¤Æ#cmpopt¤òµ½Ò¤·¤Æ¤Ê¤«¤Ã¤¿¤«¤é¤«¤â¡£
|
|
2016/1/21(Thu) 08:14:53|NO.74218
zero¤µ¤ó¤¬¶µ¤¨¤Æ¤¯¤ì¤¿¥½¡¼¥¹¤òÁȤ߹þ¤ß¡¢
¾¤Ë¤â¡¢É½¼¨¤¹¤ë¾ðÊó¤òÁý¤ä¤·¤Æ¤ß¤Þ¤·¤¿¡£
¡Ê¥Ç¥Ð¥Ã¥°¥¦¥£¥ó¥É¥¦¤Çɽ¼¨¤µ¤ì¤ëÊÑ¿ô¾ðÊ󤹤٤ƤËÂбþ¤·¤Þ¤·¤¿¡£
¡¡¥Ç¥Ð¥Ã¥°¥¦¥£¥ó¥É¥¦¤Ç¤Ï¡¢ÇÛÎó¤Îɽ¼¨¤ÏÅÓÃæ¤ÇÀÚ¤é¤ì¤ë¤Î¤Ç¡¢
¡¡¥Ç¥Ð¥Ã¥°¥¦¥£¥ó¥É¥¦Âå¤ï¤ê¤Ë¤â»È¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤È»×¤¤¤Þ¤¹¡£¡Ë
#module
#uselib ""
#cfunc _varname "" int
#defcfunc arraysize array a
if(length4(a)>0):return 4
if(length3(a)>0):return 3
if(length2(a)>0):return 2
if(length(a)>1):return 1
return 0
#defcfunc get_pval var v
#deffunc get_pval_0 int pval
return pval
#defcfunc getvarsize var varget, local varsizinf, local varsizeptr, local hspctxstrr, local pvaladr, local pvala
if vartype(varget)==vartype("str"){
varsizeptr=varptr(varget)
dupptr varsizinf,varsizeptr-16,4
return varsizinf
}
mref hspctxstrr,68
dupptr pvaladr,hspctxstrr.207,4
dupptr pvala,pvaladr,48,vartype("str")
return lpeek(pvala,24)
#defcfunc getvar var v2
if(vartype(v2)=vartype("str")):return "\""+v2+"\""
if(vartype(v2)=vartype("int")):return str(v2)
if(vartype(v2)=vartype("double")):return str(v2)
dupptr v3,varptr(v2),getvarsize(v2),vartype("str")
return "\""+v3+"\""
#deffunc init
screen 32
title "var_dump ·ë²Ì¥ê¥Ý¡¼¥È"
objsize 640,480
sdim s,1000000
mesbox s,,,4
sstat=stat
mref ctx, 68
pvalHead = lpeek(ctx, 44)
dupptr exinfo, lpeek(ctx, 876), 196
dupptr sd, libptr(_varname), 28
lpoke sd, 24, lpeek(exinfo, 188)
return
return
#defcfunc varname array _var
id = (get_pval(_var) - pvalHead) / 48
p = _varname(id)
dupptr name, p, 100, 2
return name
#deffunc var_dump array a
msg=""
sdim type,6
type(vartype("str"))="str"
type(vartype("int"))="int"
type(vartype("double"))="double"
type(vartype("label"))="label"
type(vartype("comobj"))="comobj"
type(vartype("struct"))="struct"
msg+="ÊÑ¿ô̾:"+varname(a)+"\n"
msg+="ÊÑ¿ô·¿:"+type(vartype(a))+"\n"
msg+="ÇÛÎó:("+length(a)+","+length2(a)+","+length3(a)+","+length4(a)+")\n"
dupptr pval,get_pval(a),48,vartype("int")
msg+="¥â¡¼¥É:"+pval.1+"\n"
msg+="»ÈÍÑ¥µ¥¤¥º:"+pval.6+"\n"
msg+="¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º:"+getvarsize(a)+"\n"
repeat length(a)
a1=cnt
if(arraysize(a)=0):msg+=getvar(a)
if(arraysize(a)=1):msg="("+cnt+"):"+getvar(a(a1))+"\n"
if(arraysize(a)=2):msg+="("+cnt+"){\n"
if(arraysize(a)=3):msg+="("+cnt+"){\n"
if(arraysize(a)=4):msg+="("+cnt+"){\n"
repeat length2(a)
a2=cnt
if(arraysize(a)=2):msg+="\t("+cnt+"):"+getvar(a(a1,a2))+"\n"
if(arraysize(a)=3):msg+="\t("+cnt+"){\n"
if(arraysize(a)=4):msg+="\t("+cnt+"){\n"
repeat length3(a)
a3=cnt
if(arraysize(a)=3):msg+="\t\t("+cnt+"):"+getvar(a(a1,a2,a3))+"\n"
if(arraysize(a)=4):msg+="\t\t("+cnt+"){\n"
repeat length4(a)
a4=cnt
if(arraysize(a)=4):msg+="\t\t\t("+cnt+"):"+getvar(a(a1,a2,a3,a4))+"\n"
await 1
loop
if(arraysize(a)=4):msg+="\t\t}\n"
loop
if(arraysize(a)=3):msg+="\t}\n"
if(arraysize(a)=4):msg+="\t}\n"
loop
if(arraysize(a)>1):msg+="}\n"
loop
objprm sstat,msg
return
#global
init
°ú¤Â³¤¡¢²þÎɤ·¤Æ¤¯¤ì¤ë¿Í¤¬¤¤¤¿¤é²þÎɤª´ê¤¤¤·¤Þ¤¹¡£
| |
|
2016/1/22(Fri) 05:44:00|NO.74224
¡¦Windows 8.1 ¤È 10 ¤ò¼±Ê̤¹¤ë¤Ë¤Ï¡©
http://hsp.tv/play/pforum.php?mode=pastwch&num=70416
µîǯÏÃÂê¤Ë¤Ê¤Ã¤¿OS¥Ð¡¼¥¸¥ç¥ó¤Î¼èÆÀ¥µ¥ó¥×¥ë¤òºî¤Ã¤Æ¤ß¤¿¡£
//------------------------------------------------------------------------------
// OS¥Ð¡¼¥¸¥ç¥ó¤Î¼èÆÀ by ²Ê³ØÂÀϺ
//==============================================================================
// @URL(http://msdn.microsoft.com/ja-jp/library/cc429835.aspx)¢ªGetVersionEx
// @URL(https://msdn.microsoft.com/en-us/library/windows/hardware/ff561910.aspx)¢ªRtlGetVersion
// @URL(https://msdn.microsoft.com/ja-jp/library/windows/desktop/ms724833.aspx)¢ªOSVERSIONINFOEX
//------------------------------------------------------------------------------
#include "Kernel32.as"
//--------------------------------------
// Ì¿ÎáÅÐÏ¿(RtlGetVersion)
//--------------------------------------
#uselib "NTDLL.dll"
#func global RtlGetVersion "RtlGetVersion" sptr
//--------------------------------------
// µ¹æÄê¿ô(APIÄê¿ô)
//--------------------------------------
#const global VER_PLATFORM_WIN32s $00000000
#const global VER_PLATFORM_WIN32_WINDOWS $00000001
#const global VER_PLATFORM_WIN32_NT $00000002
//--------------------------------------
// ÎóµóÄê¿ô(OSVERSIONINFO)
//--------------------------------------
#enum osver_dwOSVersionInfoSize=0
#enum osver_dwMajorVersion
#enum osver_dwMinorVersion
#enum osver_dwBuildNumber
#enum osver_dwPlatformId
#enum osver_szCSDVersion
#enum DIM_OSVERSIONINFO=(osver_szCSDVersion+128/4)
#enum SIZE_OSVERSIONINFO=(DIM_OSVERSIONINFO*4)
//--------------------------------------
// ¥á¥¤¥óÉô
//--------------------------------------
*Init
dim OSVERSIONINFO,DIM_OSVERSIONINFO
*Main
screen 0,640,480,SCREEN_NORMAL
syscolor 15:boxf:color:title "OS¥Ð¡¼¥¸¥ç¥ó¤Î¼èÆÀ"
;GetVersionEx
OSVERSIONINFO=SIZE_OSVERSIONINFO
GetVersionEx varptr(OSVERSIONINFO)
DrawOSVERSIONINFO "¡ÚGetVersionEx¡Û"
;RtlGetVersion
OSVERSIONINFO=SIZE_OSVERSIONINFO
RtlGetVersion varptr(OSVERSIONINFO)
DrawOSVERSIONINFO "¡ÚRtlGetVersion¡Û"
stop
//--------------------------------------
// ¹½Â¤ÂΤΥǡ¼¥¿¤òÉÁ²è
//--------------------------------------
#deffunc DrawOSVERSIONINFO str _msg_,\
local szCSDVersion
getstr szCSDVersion,OSVERSIONINFO,(osver_szCSDVersion*4)
mes _msg_
; mes "¹½Â¤ÂΤΥµ¥¤¥º¡¡¡¡¡¡¡¡¡§"+OSVERSIONINFO.osver_dwOSVersionInfoSize
mes "¥á¥¸¥ã¡¼¡¦¥Ð¡¼¥¸¥ç¥ó¡¡¡§"+OSVERSIONINFO.osver_dwMajorVersion
mes "¥Þ¥¤¥Ê¡¼¡¦¥Ð¡¼¥¸¥ç¥ó¡¡¡§"+OSVERSIONINFO.osver_dwMinorVersion
mes "¥Ó¥ë¥É¡¦¥Ê¥ó¥Ð¡¼¡¡¡¡¡¡¡§"+OSVERSIONINFO.osver_dwBuildNumber
mes "¥×¥é¥Ã¥È¥Û¡¼¥à£É£Ä¡¡¡¡¡§"+OSVERSIONINFO.osver_dwPlatformId
mes "£Ã£Ó£Ä¥Ð¡¼¥¸¥ç¥ó¡¡¡¡¡¡¡§["+szCSDVersion+"]"
mes "HSP¤Îsysinfo´Ø¿ô¡¡¡¡¡¡¡§"+sysinfo(0)
mes "Æȼ«¤ÎGetVerString´Ø¿ô¡§"+GetVerString()
mes ""
return
//--------------------------------------
// ¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤ÎºîÀ®
//--------------------------------------
#defcfunc GetVerString
n=(OSVERSIONINFO.osver_dwMinorVersion):if(n<10):n*=10
n=(OSVERSIONINFO.osver_dwMajorVersion*100+n)
;Windows NT·ÏOS
if(OSVERSIONINFO.osver_dwPlatformId==VER_PLATFORM_WIN32_NT){
if(n==1000):return"Windows 10"
if(n== 630):return"Windows 8.1"
if(n== 620):return"Windows 8"
if(n== 610):return"Windows 7"
if(n== 600):return"Windows Vista"
if(n== 520):return"Windows XP(x64)"
if(n== 510):return"Windows XP"
if(n== 500):return"Windows 2000"
if(n== 400):return"Windows NT 4.0"
if(n== 351):return"Windows NT 3.51"
if(n== 350):return"Windows NT 3.5"
if(n== 310):return"Windows NT 3.1"
}
;Windows 9x·ÏOS
if(OSVERSIONINFO.osver_dwPlatformId==VER_PLATFORM_WIN32_WINDOWS){
if(n== 490):return"Windows Me"
if(n== 410):return"Windows 98"
if(n== 400):return"Windows 95"
}
;Windows 3.1·ÏOS
if(OSVERSIONINFO.osver_dwPlatformId==VER_PLATFORM_WIN32s){
return"Windows 3.1"
}
return"(ÉÔÌÀ)"
//------------------------------------------------------------------------------
// End of sample111.hsp
//------------------------------------------------------------------------------
¤³¤ì¤ò¼Â¹Ô¤¹¤ë¤È¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡ÚGetVersionEx¡Û
¥á¥¸¥ã¡¼¡¦¥Ð¡¼¥¸¥ç¥ó¡¡¡§6
¥Þ¥¤¥Ê¡¼¡¦¥Ð¡¼¥¸¥ç¥ó¡¡¡§2
¥Ó¥ë¥É¡¦¥Ê¥ó¥Ð¡¼¡¡¡¡¡¡¡§9200
¥×¥é¥Ã¥È¥Û¡¼¥à£É£Ä¡¡¡¡¡§2
£Ã£Ó£Ä¥Ð¡¼¥¸¥ç¥ó¡¡¡¡¡¡¡§[]
HSP¤Îsysinfo´Ø¿ô¡¡¡¡¡¡¡§WindowsNT ver6.2
Æȼ«¤ÎGetVerString´Ø¿ô¡§Windows 8
¡ÚRtlGetVersion¡Û
¥á¥¸¥ã¡¼¡¦¥Ð¡¼¥¸¥ç¥ó¡¡¡§10
¥Þ¥¤¥Ê¡¼¡¦¥Ð¡¼¥¸¥ç¥ó¡¡¡§0
¥Ó¥ë¥É¡¦¥Ê¥ó¥Ð¡¼¡¡¡¡¡¡¡§10586
¥×¥é¥Ã¥È¥Û¡¼¥à£É£Ä¡¡¡¡¡§2
£Ã£Ó£Ä¥Ð¡¼¥¸¥ç¥ó¡¡¡¡¡¡¡§[]
HSP¤Îsysinfo´Ø¿ô¡¡¡¡¡¡¡§WindowsNT ver6.2
Æȼ«¤ÎGetVerString´Ø¿ô¡§Windows 10
¤Ê¤ª¡¢»ä¤Î´Ä¶¤Ï¸½ºß¡ÖWindows 10¡×¤Ç¤¹¡£
| |
|
2016/1/23(Sat) 02:25:48|NO.74242
¥·¥¹¥Æ¥à¾ðÊó¤Î¼èÆÀ(sysinfo)´Ø¿ô¤¬4GB°Ê¾å¤Î¥á¥â¥ê¤ËÂбþ¤·¤Æ¤Ê¤¤¤Î¤Ç
4GB°Ê¾å¤Î¥á¥â¥ê¤ò¼èÆÀ¤·¤Æ»ÈÍÑΨ¤òµá¤á¤Þ¤¹¡£
//------------------------------------------------------------------------------
// ¥á¥â¥ê¤Î¼èÆÀ¥µ¥ó¥×¥ë(2) by ²Ê³ØÂÀϺ
//------------------------------------------------------------------------------
#include "Kernel32.as"
//--------------------------------------
// ÎóµóÄê¿ô(MEMORYSTATUSEX)
//--------------------------------------
#enum msex_dwLength=0 ;¹½Â¤ÂΤΥµ¥¤¥º
#enum msex_dwMemoryLoad ;¥á¥â¥ê¤Î»ÈÍÑΨ(%)
#enum msex_ullTotalPhysLo ;ʪÍý¥á¥â¥ê¤ÎÅëºÜÍÆÎÌ
#enum msex_ullTotalPhysHi ;
#enum msex_ullAvailPhysLo ;ʪÍý¥á¥â¥ê¤Î¶õ¤ÍÆÎÌ
#enum msex_ullAvailPhysHi ;
#enum msex_ullTotalPageFileLo ;¥Ú¡¼¥¸¥ó¥°¤ÎÅëºÜÍÆÎÌ
#enum msex_ullTotalPageFileHi ;
#enum msex_ullAvailPageFileLo ;¥Ú¡¼¥¸¥ó¥°¤Î¶õ¤ÍÆÎÌ
#enum msex_ullAvailPageFileHi ;
#enum msex_ullTotalVirtualLo ;²¾ÁÛ¥á¥â¥ê¤ÎÅëºÜÍÆÎÌ
#enum msex_ullTotalVirtualHi ;
#enum msex_ullAvailVirtualLo ;²¾ÁÛ¥á¥â¥ê¤Î¶õ¤ÍÆÎÌ
#enum msex_ullAvailVirtualHi ;
#enum msex_ullAvailExtendedVirtualLo ;²¾ÁÛ¥á¥â¥ê¤Î³ÈÄ¥¶õ¤ÍÆÎÌ
#enum msex_ullAvailExtendedVirtualHi ;
#enum DIM_MEMORYSTATUSEX
#enum SIZE_MEMORYSTATUSEX=(DIM_MEMORYSTATUSEX*4)
//--------------------------------------
// ¥á¥¤¥óÉô
//--------------------------------------
*Init
nMEM=0
nVRM=0
nSWP=0
dbAvail=0.0
dbTotal=0.0
*Main
dim msex,DIM_MEMORYSTATUSEX:msex=SIZE_MEMORYSTATUSEX
title "¥á¥â¥ê¤Î¼èÆÀ¥µ¥ó¥×¥ë(2)"
font MSGOTHIC,12
repeat
GlobalMemoryStatusEx varptr(msex)
redraw 0
syscolor 15:boxf:color:pos 0,0
;ʪÍý¥á¥â¥ê¤Î»ÈÍÑΨ
dbTotal=GetDouble(msex.msex_ullTotalPhysLo,msex.msex_ullTotalPhysHi)
dbAvail=GetDouble(msex.msex_ullAvailPhysLo,msex.msex_ullAvailPhysHi)
nMEM=int((dbTotal-dbAvail)*100.0/dbTotal+0.5)
;²¾ÁÛ¥á¥â¥ê¤Î»ÈÍÑΨ
dbTotal=GetDouble(msex.msex_ullTotalVirtualLo,msex.msex_ullTotalVirtualHi)
dbAvail=GetDouble(msex.msex_ullAvailVirtualLo,msex.msex_ullAvailVirtualHi)
nVRM=int((dbTotal-dbAvail)*100.0/dbTotal+0.5)
;¥Ú¡¼¥¸¥ó¥°¤Î»ÈÍÑΨ
dbTotal=GetDouble(msex.msex_ullTotalPageFileLo,msex.msex_ullTotalPageFileHi)
dbAvail=GetDouble(msex.msex_ullAvailPageFileLo,msex.msex_ullAvailPageFileHi)
nSWP=int((dbTotal-dbAvail)*100.0/dbTotal+0.5)
;·ë²ÌÊó¹ð
mes strf("ʪÍý¥á¥â¥ê¡§%3d %%",nMEM)
mes strf("²¾ÁÛ¥á¥â¥ê¡§%3d %%",nVRM)
mes strf("¥Ú¡¼¥¸¥ó¥°¡§%3d %%",nSWP)
redraw 1
await 1000
loop
stop
//--------------------------------------
// À°¿ô·¿¤«¤édouble·¿¤ò¼èÆÀ
//--------------------------------------
#defcfunc GetDouble int _p1_,int _p2_,\
local p1,\
local p2
if(_p1_<0):p1=(4294967296.0+_p1_):else:p1=double(_p1_) ;²¼°Ì32¥Ó¥Ã¥È
if(_p2_<0):p2=(4294967296.0+_p2_):else:p2=double(_p2_) ;¾å°Ì32¥Ó¥Ã¥È
return(p2*4294967296.0+p1)
//------------------------------------------------------------------------------
// End of sample112b.hsp
//------------------------------------------------------------------------------
| |
|
2016/2/1(Mon) 18:41:57|NO.74404
NO.74214¤ÇÅê¹Æ¤·¤¿¡¢ÊÑ¿ô̾¼èÆÀ¤Î¥¹¥¯¥ê¥×¥È¤Ë¸í¤ê¤¬¤¢¤ê¤Þ¤·¤¿¡£
½¤Àµ¸å¤Î¥¹¥¯¥ê¥×¥È¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£
´Ø¿ô̾¤Ê¤É¤ÏÊѤï¤Ã¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç¡¢¥â¥¸¥å¡¼¥ë¤òº¹¤·Âؤ¨¤ë¤À¤±¤ÇÂç¾æÉפǤ¹¡£
// ¥Ç¥Ð¥Ã¥°»þ°Ê³°¤Ç¤ÎÊÑ¿ô̾¾ðÊó¤Î½ÐÎϤò͸ú¤Ë¤¹¤ë
#cmpopt varname 1
// ÊÑ¿ô̾¼èÆÀ¥â¥¸¥å¡¼¥ë
#module VarName
#uselib ""
#cfunc _varname "" int
#uselib "kernel32.dll"
#func lstrcpy "lstrcpy" sptr,sptr
#defcfunc getPval var
mref pval, 0
return pval
#deffunc local init
mref ctx, 68
pvalHead = lpeek(ctx, 44)
dupptr exinfo, lpeek(ctx, 876), 196
dupptr sd, libptr(_varname), 28
lpoke sd, 24, lpeek(exinfo, 188)
return
#defcfunc getVarName array _var
id = (getPval(_var) - pvalHead) / 48
p = _varname(id)
sdim name, 100
lstrcpy varptr(name), p
return name
#global
init@VarName
|
|
2016/2/5(Fri) 06:39:38|NO.74455
|
|
2016/2/8(Mon) 14:06:54|NO.74515
¥Ó¡¼¥×²»¤Ç¥¢¥Õ¥¿¡¼¥Ð¡¼¥Ê¡¼2¤ÎBGM,AFTER BURNER ¤Î°ìÉô¤ò±éÁÕ¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤¹¡£
cls 0
mes "¥¢¥Õ¥¿¡¼¥Ð¡¼¥Ê¡¼2¡¡After Burner ²»ÎÌÃí°Õ¡ª"
#const ¥É 440
#const ¥ì 494
#const ¥ß 554
#const ¥Õ¥¡ 587
#const ¥½ 659
#const ¥é 740
#const ¥· 830
#const ¥É_ 880
hz = ¥É , ¥ì , ¥ß , ¥Õ¥¡ , ¥½ , ¥é// , ¥· , ¥É_
#const WAITING 100
#include "Kernel32.as"
repeat 1 , 0
Beep hz(5-cnt) , 200
Sleep WAITING
wait 20
loop
repeat 1 , 0
Beep hz(5-cnt) , 200
Sleep WAITING
wait 20
loop
repeat 1 , 0
Beep hz(5-cnt) , 200
Sleep WAITING
wait 35
loop
repeat 1 , 0
Beep hz(4-cnt),200
Sleep WAITING
Beep hz(4-cnt),200
Sleep WAITING
loop
repeat 1 , 0
Beep hz(5-cnt) , 200
Sleep WAITING
loop
wait 20
repeat 1 , 0
Beep hz(5-cnt) , 200
Sleep WAITING
loop
wait 20
repeat 1 , 0
Beep hz(5-cnt) , 200
Sleep WAITING
loop
wait 20
repeat 1 , 0
Beep hz(5-cnt) , 200
Sleep WAITING
loop
wait 35
repeat 1 , 0
Beep hz(5-cnt) , 200
Sleep WAITING
Beep hz(5-cnt) , 200
Sleep WAITING
loop
repeat 1,0
beep hz(4-cnt),200
Sleep WAITING
loop
wait 20
repeat 1 , 0
Beep hz(4-cnt) , 200
Sleep WAITING
loop
wait 20
repeat 1 , 0
Beep hz(4-cnt) , 200
Sleep WAITING
loop
wait 20
repeat 1 , 0
Beep hz(4-cnt) , 200
Sleep WAITING
loop
wait 35
repeat 1 , 0
Beep hz(3-cnt) , 200
Sleep WAITING
Beep hz(3-cnt) , 200
Sleep WAITING
loop
repeat 1,0
beep hz(4-cnt),200
Sleep WAITING
loop
wait 20
repeat 1 , 0
Beep hz(4-cnt) , 200
Sleep WAITING
loop
wait 20
repeat 1 , 0
Beep hz(4-cnt) , 200
Sleep WAITING
loop
wait 20
repeat 1 , 0
Beep hz(4-cnt) , 200
Sleep WAITING
loop
wait 35
repeat 1 , 0
Beep hz(4-cnt),200
Sleep WAITING
Beep hz(4-cnt),200
Sleep WAITING
wait 10
| |
|
2016/2/9(Tue) 05:51:56|NO.74526
̾Á°¤Ï¤â¤¦¤¢¤ëÍÍ¡¢
¶Ê¤ÎÃøºî¸¢?¤ÏÂç¾æÉפʤΤǤ·¤ç¤¦¤«¡£
¡ÖAFTER BURNER¡×¤Ç¸¡º÷¤·¤¿¤È¤³¤í¥²¡¼¥à¤Î²»³Ú¤é¤·¤¯¥Ñ¥Ö¥ê¥Ã¥¯¥É¥á¥¤¥óÅù¤Ç¤Ï¤Ê¤¤¤¿¤á¾¡¼ê¤Ë·Ç¼¨ÈĤËÅê¹Æ¤¹¤ë¤Î¤Ï¤è¤¯¤Ê¤¤µ¤¤¬¤·¤Þ¤¹¡£
̾Á°¤Ï¤â¤¦¤¢¤ëÍͤ¬Ãøºî¸¢¼ÔÅù¤Ç¤¢¤ì¤Ð¤¹¤ß¤Þ¤»¤ó¡£
»ä¤ÏˡΧ¤Î¤³¤È¤Ï¤µ¤Ã¤Ñ¤ê¤Ê¤Î¤È¤³¤Î¥¹¥ì¥Ã¥É¤ÎÏÃÂê¤È¤Ï°ã¤¦¤Î¤ÇÊÖÅú¤ÏÊ̤Υ¹¥ì¥Ã¥É¤ÇÊ̤οͤˤª´ê¤¤¤·¤Þ¤¹¡£
HSPPRINT(ÉÓµÍƲÈÇ)¸ß´¹¥â¥¸¥å¡¼¥ë
ÉÓµÍƲ( http://www.binzume.net/)¤ÎHSPPRINT¥×¥é¥°¥¤¥ó¤Î¸ß´¹¥â¥¸¥å¡¼¥ë¤Ç¤¹
¤Ê¤ó¤È¤Ê¤¯¡ÖHSPPRINT¡×¤Ç¸¡º÷¤·¤Æ¸«¤Ä¤±¤¿¤Î¤Ç¤«¤¤Þ¤·¤¿
http://nopswebpages.webcrow.jp/apps/hspprin2/
|
|
2016/2/12(Fri) 18:01:48|NO.74579
¤Ò¤é¤¬¤Ê¡¢¥«¥¿¥«¥Ê¡¢´Á»ú¤À¤±¤òÊÑ¿ô¤Ë1ʸ»ú¤º¤Ä½ÐÎϤ¹¤ë¥×¥í¥°¥é¥à¡£
¥¦¥£¥ó¥É¥¦¥µ¥¤¥º¤¬Â礤¤¤Î¤ÇÃí°Õ¡£
//ʸ»ú¥³¡¼¥Éɽ
//http://charset.7jp.net/sjis.html
sdim ʸ»ú,2,4200
Screen 0,4800,550
repeat 82//¤Ò¤é¤¬¤Ê
poke ʸ»ú.ct,0,130
poke ʸ»ú.ct,1,160+cnt
pos cnt*25,0:mes ʸ»ú.ct
ct+1
loop
repeat 87//¥«¥¿¥«¥Ê
poke ʸ»ú.ct,0,131
poke ʸ»ú.ct,1,64+cnt
pos cnt*25,25:mes ʸ»ú.ct
ct+1
loop
repeat 94//´Á»ú Îã³°01
poke ʸ»ú.ct,0,136
poke ʸ»ú.ct,1,159+cnt
pos cnt*25,50:mes ʸ»ú.ct
ct+1
loop
repeat 23//´Á»ú
ct2=cnt
//9873¡Á989e¤À¤±´Á»ú¤¬Ìµ¤¤¤Î¤Ç¤½¤³¤ò½ü³°¡£
//¤â¤Ã¤È¸úΨ¤è¤¯½ñ¤±¤½¤¦¡©if¤Ë¤É¤¦½ñ¤±¤Ð¤¤¤¤¤Î¤«»×¤¤É⤫¤Ð¤Ê¤«¤Ã¤¿¡¦¡¦¡¦
if (137+ct2)!152:{
repeat 189
if (64+cnt)!127:{
poke ʸ»ú.ct,0,137+ct2
poke ʸ»ú.ct,1,64+cnt
pos cnt*25,75+ct2*20:mes ʸ»ú.ct
ct+1
}
loop
}else:{
repeat 189
if (64+cnt)<115 or (64+cnt)>158{
poke ʸ»ú.ct,0,137+ct2
poke ʸ»ú.ct,1,64+cnt
pos cnt*25,75+ct2*20:mes ʸ»ú.ct
ct+1
}
loop
}
loop
|
|
2016/2/13(Sat) 01:35:24|NO.74587
> 9873¡Á989e¤À¤±´Á»ú¤¬Ìµ¤¤¤Î¤Ç¤½¤³¤ò½ü³°¡£
> ¤â¤Ã¤È¸úΨ¤è¤¯½ñ¤±¤½¤¦¡©if¤Ë¤É¤¦½ñ¤±¤Ð¤¤¤¤¤Î¤«»×¤¤É⤫¤Ð¤Ê¤«¤Ã¤¿¡¦¡¦¡¦
¤Á¤ç¤Ã¤È¥µ¥ó¥×¥ë¤òºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
//------------------------------------------------------------------------------
// ¥¿¥¤¥È¥ë¡§¤Ò¤é¤¬¤Ê¡¢¥«¥¿¥«¥Ê¡¢´Á»ú¤À¤±¤òÊÑ¿ô¤Ë1ʸ»ú¤º¤Ä½ÐÎϤ¹¤ë¥×¥í¥°¥é¥à
//==============================================================================
// Åê¹ÆÈֹ桧No74579
// ºîÀ®¼Ô̾¡§²Ê³ØÂÀϺ
//------------------------------------------------------------------------------
// @URL(http://hsp.tv/play/pforum.php?mode=all&num=72960)¢ª¡Ö¤Á¤ç¤Ã¤È¤·¤¿¥½¡¼¥¹¥³¡¼¥É¤òÅê¹Æ¤¹¤ë¥¹¥ì¡×
// @URL(http://charset.7jp.net/sjis.html)¢ª¡Öʸ»ú¥³¡¼¥Éɽ ¥·¥Õ¥ÈJIS(Shift_JIS)¡×
//------------------------------------------------------------------------------
//--------------------------------------
// ¥á¥¤¥óÉô
//--------------------------------------
*Init
dim ʸ»ú¿ô
sdim ʸ»ú,3,1
*Main
screen 0,640,480,SCREEN_NORMAL
title "¤Ò¤é¤¬¤Ê¡¢¥«¥¿¥«¥Ê¡¢´Á»ú¤À¤±¤òÊÑ¿ô¤Ë1ʸ»ú¤º¤Ä½ÐÎϤ¹¤ë¥×¥í¥°¥é¥à by ²Ê³ØÂÀϺ"
;¤Ò¤é¤¬¤Ê(83¼ï)
repeat(0xF1-0x9F+1),0x9F
if(cnt==0x7F):continue
poke ʸ»ú(ʸ»ú¿ô),0,0x82
poke ʸ»ú(ʸ»ú¿ô),1,cnt
ʸ»ú¿ô++
loop
;¥«¥¿¥«¥Ê(86¼ï)
repeat(0x96-0x40+1),0x40
if(cnt==0x7F):continue
poke ʸ»ú(ʸ»ú¿ô),0,0x83
poke ʸ»ú(ʸ»ú¿ô),1,cnt
ʸ»ú¿ô++
loop
;´Á»ú(94¼ï)
repeat(0xFC-0x9F+1),0x9F
if(cnt==0x7F):continue
poke ʸ»ú(ʸ»ú¿ô),0,0x88
poke ʸ»ú(ʸ»ú¿ô),1,cnt
ʸ»ú¿ô++
loop
;´Á»ú(188¡ß23¼ï)¡Ä0x9873¡Á0x989E¤âÇÓ½ü(43¸Ä)
repeat(0x9F-0x89+1),0x89:hi=cnt
repeat(0xFC-0x40+1),0x40:lo=cnt
if(lo==0x7F):continue
if(hi==0x98)and(0x73<=lo)and(lo<=0x9E):continue
poke ʸ»ú(ʸ»ú¿ô),0,hi
poke ʸ»ú(ʸ»ú¿ô),1,lo
ʸ»ú¿ô++
loop
loop
;´Á»ú(188¡ß11¼ï)¡Ä0xEAA5¡Á0xEAFC¤âÇÓ½ü(88¸Ä)
repeat(0xEA-0xE0+1),0xE0:hi=cnt
repeat(0xFC-0x40+1),0x40:lo=cnt
if(lo==0x7F):continue
if(hi==0xEA)and(0xA5<=lo)and(lo<=0xFC):continue;break¤Ç¤âOK!
poke ʸ»ú(ʸ»ú¿ô),0,hi
poke ʸ»ú(ʸ»ú¿ô),1,lo
ʸ»ú¿ô++
loop
loop
;´Á»ú(188¡ß2¼ï)¡Ä0xEEED¡Á0xEEEE¤âÇÓ½ü(2¸Ä)
repeat(0xEE-0xED+1),0xED:hi=cnt
repeat(0xFC-0x40+1),0x40:lo=cnt
if(lo==0x7F):continue
if(hi==0xEE)and(0xED<=lo)and(lo<=0xEE):continue
poke ʸ»ú(ʸ»ú¿ô),0,hi
poke ʸ»ú(ʸ»ú¿ô),1,lo
ʸ»ú¿ô++
loop
loop
;ʸ»úÎó¤Ø¤Î½ÐÎÏ(6898¸Ä)
sdim sBuff
mesbox sBuff,ginfo_winX,ginfo_winY,5
foreach ʸ»ú
sBuff+=ʸ»ú.cnt
if(cnt+1)\38==0:sBuff+="\n":else:sBuff+=" "
loop
objprm 0,sBuff
title "ʸ»ú¿ô¡§"+length(ʸ»ú)+"¸Ä"
stop
//------------------------------------------------------------------------------
// End of No74579.hsp
//------------------------------------------------------------------------------
¤â¤¦°ì¤Ä¡¢¤ª¤Þ¤±¤Ë¥Æ¡¼¥Ö¥ëºîÀ®¥¿¥¤¥×¤òºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
¤É¤Ã¤Á¤¬Îɤ¤¤«¤Ê¡©
//------------------------------------------------------------------------------
// ¥¿¥¤¥È¥ë¡§¤Ò¤é¤¬¤Ê¡¢¥«¥¿¥«¥Ê¡¢´Á»ú¤À¤±¤òÊÑ¿ô¤Ë1ʸ»ú¤º¤Ä½ÐÎϤ¹¤ë¥×¥í¥°¥é¥à
//==============================================================================
// Åê¹ÆÈֹ桧No74579
// ºîÀ®¼Ô̾¡§²Ê³ØÂÀϺ
//------------------------------------------------------------------------------
// @URL(http://hsp.tv/play/pforum.php?mode=all&num=72960)¢ª¡Ö¤Á¤ç¤Ã¤È¤·¤¿¥½¡¼¥¹¥³¡¼¥É¤òÅê¹Æ¤¹¤ë¥¹¥ì¡×
// @URL(http://charset.7jp.net/sjis.html)¢ª¡Öʸ»ú¥³¡¼¥Éɽ ¥·¥Õ¥ÈJIS(Shift_JIS)¡×
//------------------------------------------------------------------------------
//--------------------------------------
// ¥Þ¥¯¥íÌ¿Îá
//--------------------------------------
#define SetTable1(%1,%2) ¥Æ¡¼¥Ö¥ë1((%2/32),(%1-0x81))|=1<<(%2\32)
#define SetTable2(%1,%2) ¥Æ¡¼¥Ö¥ë2((%2/32),(%1-0xE0))|=1<<(%2\32)
//--------------------------------------
// ¥á¥¤¥óÉô
//--------------------------------------
*Init
dim ¥Æ¡¼¥Ö¥ë1,(256/32),(0x9F-0x81+1);0x8100¡Á0x9FFF(8¡ß31¡á248)
dim ¥Æ¡¼¥Ö¥ë2,(256/32),(0xEF-0xE0+1);0xE000¡Á0xEFFF(8¡ß16¡á128)
dim ʸ»ú¿ô
sdim ʸ»ú,3,1
*Main
screen 0,640,480,SCREEN_NORMAL
title "¤Ò¤é¤¬¤Ê¡¢¥«¥¿¥«¥Ê¡¢´Á»ú¤À¤±¤òÊÑ¿ô¤Ë1ʸ»ú¤º¤Ä½ÐÎϤ¹¤ë¥×¥í¥°¥é¥à by ²Ê³ØÂÀϺ"
SetTableKanji
OutTableKanji
MsgTableKanji
LogTableKanji
stop
//--------------------------------------
// Îóµóʸ»ú¤Î¥Æ¡¼¥Ö¥ë¡¦¥»¥Ã¥È
//--------------------------------------
#deffunc SetTableKanji\
local hi,\
local lo
;¤Ò¤é¤¬¤Ê(83¼ï)
repeat(0xF1-0x9F+1),0x9F
if(cnt==0x7F):continue
SetTable1 0x82,cnt
loop
;¥«¥¿¥«¥Ê(86¼ï)
repeat(0x96-0x40+1),0x40
if(cnt==0x7F):continue
SetTable1 0x83,cnt
loop
;´Á»ú(94¼ï)
repeat(0xFC-0x9F+1),0x9F
if(cnt==0x7F):continue
SetTable1 0x88,cnt
loop
;´Á»ú(188¡ß23¼ï)¡Ä0x9873¡Á0x989E¤âÇÓ½ü(43¸Ä)
repeat(0x9F-0x89+1),0x89:hi=cnt
repeat(0xFC-0x40+1),0x40:lo=cnt
if(lo==0x7F):continue
if(hi==0x98)and(0x73<=lo)and(lo<=0x9E):continue
SetTable1 hi,lo
loop
loop
;´Á»ú(188¡ß11¼ï)¡Ä0xEAA5¡Á0xEAFC¤âÇÓ½ü(88¸Ä)
repeat(0xEA-0xE0+1),0xE0:hi=cnt
repeat(0xFC-0x40+1),0x40:lo=cnt
if(lo==0x7F):continue
if(hi==0xEA)and(0xA5<=lo)and(lo<=0xFC):continue
SetTable2 hi,lo
loop
loop
;´Á»ú(188¡ß2¼ï)¡Ä0xEEED¡Á0xEEEE¤âÇÓ½ü(2¸Ä)
repeat(0xEE-0xED+1),0xED:hi=cnt
repeat(0xFC-0x40+1),0x40:lo=cnt
if(lo==0x7F):continue
if(hi==0xEE)and(0xED<=lo)and(lo<=0xEE):continue
SetTable2 hi,lo
loop
loop
return
//--------------------------------------
// ¥Æ¡¼¥Ö¥ëÆâ¤Îʸ»ú¤ò½ÐÎÏ
//--------------------------------------
#deffunc OutTableKanji\
local hi,\
local lo
;¥Æ¡¼¥Ö¥ë1(0x8100¡Á0x9FFF)
repeat length2(¥Æ¡¼¥Ö¥ë1):hi=cnt
repeat length (¥Æ¡¼¥Ö¥ë1):lo=cnt
OutTableKanjiSub ¥Æ¡¼¥Ö¥ë1(lo,hi),(0x81+hi),(32*lo)
loop
loop
;¥Æ¡¼¥Ö¥ë2(0xE000¡Á0xEFFF)
repeat length2(¥Æ¡¼¥Ö¥ë2):hi=cnt
repeat length (¥Æ¡¼¥Ö¥ë2):lo=cnt
OutTableKanjiSub ¥Æ¡¼¥Ö¥ë2(lo,hi),(0xE0+hi),(32*lo)
loop
loop
return
//--------------------------------------
// 32¥Ó¥Ã¥È¡¦¥Ç¡¼¥¿¤Îʸ»ú¤ò½ÐÎÏ
//--------------------------------------
#deffunc OutTableKanjiSub int _data_,int _hi_,int _lo_
repeat 32
if(_data_)&(1<<cnt){
poke ʸ»ú(ʸ»ú¿ô),0,(_hi_)
poke ʸ»ú(ʸ»ú¿ô),1,(_lo_)+cnt
ʸ»ú¿ô++
}
loop
return
//--------------------------------------
// ¥á¥Ã¥»¡¼¥¸¥Ü¥Ã¥¯¥¹¤Ë½ÐÎÏ
//--------------------------------------
#deffunc MsgTableKanji
;ʸ»úÎó¤Ø¤Î½ÐÎÏ(6898¸Ä)
sdim sBuff
mesbox sBuff,ginfo_winX,ginfo_winY,5
foreach ʸ»ú
sBuff+=ʸ»ú.cnt
if(cnt+1)\38==0:sBuff+="\n":else:sBuff+=" "
loop
objprm 0,sBuff
title "ʸ»ú¿ô¡§"+length(ʸ»ú)+"¸Ä"
return
//--------------------------------------
// ¥Æ¡¼¥Ö¥ë¤Î¥í¥°½ÐÎÏ
//--------------------------------------
#deffunc LogTableKanji\
local hi,\
local lo,\
local msg,\
local data
;¥Æ¡¼¥Ö¥ë1(0x8100¡Á0x9FFF)
repeat length2(¥Æ¡¼¥Ö¥ë1):hi=cnt:sdim msg
repeat length (¥Æ¡¼¥Ö¥ë1):lo=cnt:data=¥Æ¡¼¥Ö¥ë1(lo,hi)
repeat 32
if(data)&(1<<cnt):msg+="1":else:msg+="0"
loop
loop:logmes msg
loop
;¥Æ¡¼¥Ö¥ë2(0xE000¡Á0xEFFF)
repeat length2(¥Æ¡¼¥Ö¥ë2):hi=cnt:sdim msg
repeat length (¥Æ¡¼¥Ö¥ë2):lo=cnt:data=¥Æ¡¼¥Ö¥ë2(lo,hi)
repeat 32
if(data)&(1<<cnt):msg+="1":else:msg+="0"
loop
loop:logmes msg
loop
return
//------------------------------------------------------------------------------
// End of No74579.hsp
//------------------------------------------------------------------------------
| |
|
2016/2/13(Sat) 06:06:31|NO.74588
¥¹¥Ú¡¼¥¹»á¡¦¡¦¡¦¡Ö¥ß¡×¤È¡Ö¥à¡×¤Î´Ö¤Ë¥´¥ß¤¬Í¤ë¡£
²Ê³ØÂÀϺ»á¡¦¡¦¡¦ºÇ¸å¤Ëµ¹æ¤¬ÉÕ¤¤¤Æ¤¤¤ë¡£
|
|
2016/2/13(Sat) 11:28:34|NO.74589
> ²Ê³ØÂÀϺ»á¡¦¡¦¡¦ºÇ¸å¤Ëµ¹æ¤¬ÉÕ¤¤¤Æ¤¤¤ë¡£
¤¢¤Ã¡£¤½¤¦¤Ç¤·¤¿¡£´Á»ú¤Ç¤·¤¿¤Í¡£
//------------------------------------------------------------------------------
// ¥¿¥¤¥È¥ë¡§¤Ò¤é¤¬¤Ê¡¢¥«¥¿¥«¥Ê¡¢´Á»ú¤À¤±¤òÊÑ¿ô¤Ë1ʸ»ú¤º¤Ä½ÐÎϤ¹¤ë¥×¥í¥°¥é¥à
//==============================================================================
// Åê¹ÆÈֹ桧No74579
// ºîÀ®¼Ô̾¡§²Ê³ØÂÀϺ
//------------------------------------------------------------------------------
// @URL(http://hsp.tv/play/pforum.php?mode=all&num=72960)¢ª¡Ö¤Á¤ç¤Ã¤È¤·¤¿¥½¡¼¥¹¥³¡¼¥É¤òÅê¹Æ¤¹¤ë¥¹¥ì¡×
// @URL(http://charset.7jp.net/sjis.html)¢ª¡Öʸ»ú¥³¡¼¥Éɽ ¥·¥Õ¥ÈJIS(Shift_JIS)¡×
//------------------------------------------------------------------------------
//--------------------------------------
// µ¹æÄê¿ô
//--------------------------------------
#const SW_DIGIT %00000001
#const SW_UPPER %00000010
#const SW_LOWER %00000100
#const SW_HIRA %00001000
#const SW_KANA %00010000
#const SW_KANJI %00100000
//--------------------------------------
// ¥á¥¤¥óÉô
//--------------------------------------
*Init
dim ʸ»ú¿ô
sdim ʸ»ú,3,1
*Main
screen 0,640,480,SCREEN_NORMAL
title "¤Ò¤é¤¬¤Ê¡¢¥«¥¿¥«¥Ê¡¢´Á»ú¤À¤±¤òÊÑ¿ô¤Ë1ʸ»ú¤º¤Ä½ÐÎϤ¹¤ë¥×¥í¥°¥é¥à by ²Ê³ØÂÀϺ"
MakeEnumKanji(SW_HIRA|SW_KANA|SW_KANJI)
;ʸ»úÎó¤Ø¤Î½ÐÎÏ(6884¸Ä)
sdim sBuff
mesbox sBuff,ginfo_winX,ginfo_winY,5
foreach ʸ»ú
sBuff+=ʸ»ú(cnt)
if(cnt+1)\38==0:sBuff+="\n":else:sBuff+=" "
loop
objprm 0,sBuff
title "ʸ»ú¿ô¡§"+length(ʸ»ú)+"¸Ä"
stop
//--------------------------------------
// Îóµóʸ»ú¥¿¥¤¥×¤ÎºîÀ®
//--------------------------------------
#deffunc MakeEnumKanji int _sw_,\
local hi,\
local lo
repeat(0xEF-0x81+1),0x81:hi=cnt
repeat(0xFC-0x40+1),0x40:lo=cnt
if(lo==0x7F):continue
;¿ô»ú(10¼ï)
if(_sw_ & SW_DIGIT){
if(hi==0x82)and(0x4F<=lo)and(lo<=0x58){
poke ʸ»ú(ʸ»ú¿ô),0,hi
poke ʸ»ú(ʸ»ú¿ô),1,lo
ʸ»ú¿ô++
}
}
;Âçʸ»ú(26¼ï)
if(_sw_ & SW_UPPER){
if(hi==0x82)and(0x60<=lo)and(lo<=0x79){
poke ʸ»ú(ʸ»ú¿ô),0,hi
poke ʸ»ú(ʸ»ú¿ô),1,lo
ʸ»ú¿ô++
}
}
;¾®Ê¸»ú(26¼ï)
if(_sw_ & SW_LOWER){
if(hi==0x82)and(0x81<=lo)and(lo<=0x9A){
poke ʸ»ú(ʸ»ú¿ô),0,hi
poke ʸ»ú(ʸ»ú¿ô),1,lo
ʸ»ú¿ô++
}
}
;¤Ò¤é¤¬¤Ê(83¼ï)
if(_sw_ & SW_HIRA){
if(hi==0x82)and(0x9F<=lo)and(lo<=0xF1){
poke ʸ»ú(ʸ»ú¿ô),0,hi
poke ʸ»ú(ʸ»ú¿ô),1,lo
ʸ»ú¿ô++
}
}
;¥«¥¿¥«¥Ê(86¼ï)
if(_sw_ & SW_KANA){
if(hi==0x83)and(0x40<=lo)and(lo<=0x96){
poke ʸ»ú(ʸ»ú¿ô),0,hi
poke ʸ»ú(ʸ»ú¿ô),1,lo
ʸ»ú¿ô++
}
}
;´Á»ú(6715¼ï)
if(_sw_ & SW_KANJI){
;´Á»ú(94¼ï)
if(hi==0x88)and(lo>=0x9F){
poke ʸ»ú(ʸ»ú¿ô),0,hi
poke ʸ»ú(ʸ»ú¿ô),1,lo
ʸ»ú¿ô++
}
;´Á»ú(188¡ß23¼ï)¡Ä0x9873¡Á0x989E¤âÇÓ½ü(43¸Ä)
if(0x89<=hi)and(hi<=0x9F){
if(hi==0x98)and(0x73<=lo)and(lo<=0x9E):continue
poke ʸ»ú(ʸ»ú¿ô),0,hi
poke ʸ»ú(ʸ»ú¿ô),1,lo
ʸ»ú¿ô++
}
;´Á»ú(188¡ß11¼ï)¡Ä0xEAA5¡Á0xEAFC¤âÇÓ½ü(88¸Ä)
if(0xE0<=hi)and(hi<=0xEA){
if(hi==0xEA)and(lo>=0xA5):continue
poke ʸ»ú(ʸ»ú¿ô),0,hi
poke ʸ»ú(ʸ»ú¿ô),1,lo
ʸ»ú¿ô++
}
;´Á»ú(188¡ß2¼ï)¡Ä0xEEED¡Á0xEEFC¤âÇÓ½ü(16¸Ä)
if(0xED<=hi)and(hi<=0xEE){
if(hi==0xEE)and(lo>=0xED):continue
poke ʸ»ú(ʸ»ú¿ô),0,hi
poke ʸ»ú(ʸ»ú¿ô),1,lo
ʸ»ú¿ô++
}
}
loop
loop
return
//------------------------------------------------------------------------------
// End of No74579.hsp
//------------------------------------------------------------------------------
¢¬
²þÎɤ·¤ä¤¹¤¤¥¿¥¤¥×¤Ç¤¹¡£
| |
|
2016/2/13(Sat) 11:44:55|NO.74590
Äɵ¡£
> sdim sBuff
> mesbox sBuff,ginfo_winX,ginfo_winY,5
¢
> sdim sBuff,0x7FFF
> mesbox sBuff,ginfo_winX,ginfo_winY,5
¤³¤Î¤è¤¦¤Ë¤·¤Ê¤¤¤È¥¨¥Ç¥£¥Ã¥È¥Ü¥Ã¥¯¥¹¤Ëʸ»ú¤¬ÆþÎϤǤ¤Ê¤¤¤Î¤ÇÍ×Ãí°Õ¡£
|
|
2016/2/13(Sat) 12:01:04|NO.74591
ËÜÅö¤Ë¤Á¤ç¤Ã¤È¤·¤¿¥¹¥¯¥ê¥×¥È¤Ç¤¹
¡¦ÏÀÍý¼°ÍÑ´Ø¿ô
a=1
b=2
mes a&b
a=1
b=2
mes a&&b
aa=bl_r(1)
bb=bl_r(2)
mes aa&bb
stop
#module
#defcfunc bl_r int p //return¤¬bool¤Ã¤Æ¤³¤È¤Ç
if p==0:return 0
return 1
#global
¼«Ê¬ ¾ò·ï¼°¤Î&&¤È¤«¾å¼ê¤¯Íý²ò¤Ç¤¤Ê¤¯¤Æ¤Ç¤¹¤Í
|
|
2016/2/13(Sat) 19:22:35|NO.74597
> ¼«Ê¬ ¾ò·ï¼°¤Î&&¤È¤«¾å¼ê¤¯Íý²ò¤Ç¤¤Ê¤¯¤Æ¤Ç¤¹¤Í
HSP¤ÏÏÀÍýÀÑ¡¢ÏÀÍýÏ¡¢ÇÓ¾ÏÀÍýϤϻȤ¨¤Ê¤¤¤Î¤Ç¼¡¤Î¤è¤¦¤Ë¤¹¤ë¤ÈÊØÍø¤«¤â¡£
//--------------------------------------
// ¥Þ¥¯¥í´Ø¿ô(ÏÀÍý¼°È½Äê)
//--------------------------------------
#define ctype LogicOR(%1,%2) ((%1)!0) or((%2)!0)
#define ctype LogicAND(%1,%2) ((%1)!0)and((%2)!0)
#define ctype LogicXOR(%1,%2) ((%1)!0)xor((%2)!0)
//--------------------------------------
// ¥µ¥ó¥×¥ë(»È¤¤Êý)
//--------------------------------------
a=1
b=2
c=0
mes LogicOR(a,b)
mes LogicAND(a,b)
mes LogicXOR(a,b)
mes LogicXOR(a,c)
stop
|
|
2016/2/13(Sat) 19:44:23|NO.74598
¥µ¥à¥Í¥¤¥ë¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤¹¡£
//------------------------------------------------------------------------------
// ¥µ¥à¥Í¥¤¥ë¤Î¥¢¥ë¥´¥ê¥º¥à by ²Ê³ØÂÀϺ
//------------------------------------------------------------------------------
//--------------------------------------
// ÎóµóÄê¿ô(¥¦¥¤¥ó¥É¥¦ID)
//--------------------------------------
#enum WID_MAIN=0
#enum WID_IMAGE
//--------------------------------------
// ¥á¥¤¥óÉô
//--------------------------------------
*Init
sFname=dir_exe+"\\hsptv\\bg05.jpg"
sFname=dir_exe+"\\hsptv\\sozai5.jpg"
buffer WID_IMAGE:picload sFname
ImageX=ginfo_winX
ImageY=ginfo_winY
ThumbX=100
ThumbY=100
*Main
screen WID_MAIN,1200,900,SCREEN_NORMAL
x=(ginfo_dispX-ginfo_sizeX)/2
y=(ginfo_dispY-ginfo_sizeY)/2
width,,x,y
color $66,$33,$00:boxf
color $FF,$FF,$FF:title "¥µ¥à¥Í¥¤¥ë¤Î¥¢¥ë¥´¥ê¥º¥à"
;ÉÁ²è
title strf("¥µ¥à¥Í¥¤¥ë¤Î¥¢¥ë¥´¥ê¥º¥à¢Í%s(%d¡ß%d)",sFname,ImageX,ImageY)
x=0
y=0
pos x,y:x+=(ImageX+10):gcopy WID_IMAGE,0,0,ImageX,ImageY ;¸¶À£
pos x,y:y+=(ThumbY+10):gzoom ThumbX,ThumbY,WID_IMAGE,0,0,ImageX,ImageY,1 ;½Ì¾®
pos x,y:y+=(ThumbY+10):DrawThumb1 ;¥µ¥à¥Í¥¤¥ë(1)
pos x,y:y+=(ThumbY+10):DrawThumb2 ;¥µ¥à¥Í¥¤¥ë(2)
pos x,y:y+=(100+10):DrawThumb3 WID_IMAGE,100 ;¥µ¥à¥Í¥¤¥ë(3)
pos x,y:y+=(200+10):DrawThumb3 WID_IMAGE,200 ;¥µ¥à¥Í¥¤¥ë(3)
pos x,y:y+=(255+10):DrawThumb3 WID_IMAGE,255 ;¥µ¥à¥Í¥¤¥ë(3)
stop
//--------------------------------------
// ¥µ¥à¥Í¥¤¥ë¤Î¥Æ¥¹¥È(1)
//--------------------------------------
#deffunc DrawThumb1\
local cx,\
local cy,\
local sx,\
local sy,\
local db
;¥µ¥à¥Í¥¤¥ë(²£Ä¹)
if(ImageX>ImageY){
db=double(ImageX)/double(ImageY)
sx=int(double(ThumbX))
sy=int(double(ThumbX)/db)
};¥µ¥à¥Í¥¤¥ë(½ÄĹ)
else{
db=double(ImageY)/double(ImageX)
sx=int(double(ThumbY)/db)
sy=int(double(ThumbY))
}
cx=ginfo_cx+(ThumbX-sx)/2
cy=ginfo_cy+(ThumbY-sy)/2
pos cx,cy:gzoom sx,sy,WID_IMAGE,0,0,ImageX,ImageY,1
return
//--------------------------------------
// ¥µ¥à¥Í¥¤¥ë¤Î¥Æ¥¹¥È(2)
//--------------------------------------
#deffunc DrawThumb2\
local cx,\
local cy,\
local sx,\
local sy
;¥µ¥à¥Í¥¤¥ë(²£Ä¹)
if(ImageX>ImageY){
sx=(ThumbX)
sy=(ThumbX*ImageY/ImageX)
};¥µ¥à¥Í¥¤¥ë(½ÄĹ)
else{
sx=(ThumbY*ImageX/ImageY)
sy=(ThumbY)
}
cx=ginfo_cx+(ThumbX-sx)/2
cy=ginfo_cy+(ThumbY-sy)/2
pos cx,cy:gzoom sx,sy,WID_IMAGE,0,0,ImageX,ImageY,1
return
//--------------------------------------
// ¥µ¥à¥Í¥¤¥ë¤Î¥Æ¥¹¥È(3)
//--------------------------------------
#deffunc DrawThumb3 int _id_,int _size_,\
local ix,\
local iy,\
local tx,\
local ty,\
local cx,\
local cy,\
local sx,\
local sy,\
local id
;²èÁü¥µ¥¤¥º
id=ginfo_sel:gsel _id_
ix=ginfo_winX ;ImageX
iy=ginfo_winY ;ImageY
tx=_size_ ;ThumbX
ty=_size_ ;ThumbY
gsel id
;¥µ¥à¥Í¥¤¥ë(²£Ä¹)
if(ix>iy){
sx=(tx)
sy=(tx*iy/ix)
};¥µ¥à¥Í¥¤¥ë(½ÄĹ)
else{
sx=(ty*ix/iy)
sy=(ty)
}
cx=ginfo_cx+(tx-sx)/2
cy=ginfo_cy+(ty-sy)/2
pos cx,cy:gzoom sx,sy,_id_,0,0,ix,iy,1
return
//------------------------------------------------------------------------------
// End of sample128.hsp
//------------------------------------------------------------------------------
| |
|
2016/2/13(Sat) 19:58:39|NO.74599
¥Á¥§¥Ã¥¯ÌÏÍͤÎÉÁ²è¥¢¥ë¥´¥ê¥º¥à¤Ç¤¹¡£
//--------------------------------------
// ¥µ¥ó¥×¥ë(»È¤¤Êý)
//--------------------------------------
DrawCheck 16
stop
//--------------------------------------
// ¥Á¥§¥Ã¥¯ÌÏÍͤÎÉÁ²è
//--------------------------------------
#deffunc DrawCheck int _dot_,\
local cx,\
local cy,\
local ex,\
local ey
repeat(ginfo_sy/_dot_)+1:y=cnt
repeat(ginfo_sx/_dot_)+1:x=cnt
cx=(x*_dot_)
cy=(y*_dot_)
ex=(cx+_dot_-1)
ey=(cy+_dot_-1)
if(x&1)^(y&1):color$CC,$FF,$FF:else:color$AA,$EE,$EE
boxf cx,cy,ex,ey
loop
loop
return
|
|
2016/2/13(Sat) 22:37:29|NO.74600
>>KA¤µ¤ó
¤Þ¤¸¤À¡ªÁ´Á³µ¤¤Å¤«¤Ê¤«¤Ã¤¿¡£
¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹£í¡Ê¡²¡²¡Ë£í
|
|
2016/2/14(Sun) 10:18:37|NO.74606
¥Á¥§¥Ã¥¯ÌÏÍͤȤ¤¤¦ÌÏÍͤ¬¤¢¤ë¤Î¤Ç¤¹¤«¡£¤¤ì¤¤¤ÊÌÏÍͤǤ¹¡£
ÅÀ¤ò¤¿¤¯¤µ¤óÂǤäƱ߼þΨ¤òµá¤á¤Þ¤·¤¿
//±ß¼þΨ¤òµá¤á¤ë¥¹¥¯¥ê¥×¥È
//̾Á°¤Ï³Ð¤¨¤Æ¤¤¤Þ¤»¤ó
//·ë²Ì¤Ï3¤Û¤É¤Ê¤Î¤Ç¤¿¤Ö¤ó¹Í¤¨Êý¤Ï¤¢¤Ã¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹
//»Í³Ñ·Á¤ÎÃæ¤ËÅÀ¤ò¤¿¤¯¤µ¤óÃÖ¤¤¤Æ»Íʬ¤Î°ì¤Î±ß¤ÎÃæ¤Ë¤¢¤ë¿ô¤Ç±ß¼þΨ¤ò½Ð¤¹
//pi*1*1/4 : 1*1 ½Ä²£¤¬1¤Î»Í³Ñ·Á
#const NUM_LARGE $7FFF
#const SQUARED_NUM_LARGE (NUM_LARGE*NUM_LARGE)
#const NUM_DOTS 1000
int_pi = 0
randomize
repeat NUM_DOTS
int_x=rnd(NUM_LARGE+1)
int_y=rnd(NUM_LARGE+1)
// »°Ê¿Êý¤ÎÄêÍý
// ²£*²£ + ½Ä*½Ä = ¼Ð¤á*¼Ð¤á
//±ß¤ÎȾ·Â (NUM_LARGE) Æâ¤ÎÅÀ
if int_x*int_x + int_y*int_y < SQUARED_NUM_LARGE : int_pi++
loop
mes "ÅÀ¤Î¿ô:"+ NUM_DOTS +"\n±ß¼þΨ="+((0.0+int_pi*4)/NUM_DOTS)
|
|
2016/2/17(Wed) 20:46:24|NO.74643
>NO.74606
¤É¤¦¤Ç¤â¤¤¤¤¤Ç¤¹¤¬¡¢¥â¥ó¥Æ¥«¥ë¥íË¡¤Ç¤¹¤Í¡£
·ë¹½¤Ê²ó¿ô¤ò»î¤µ¤Ê¤¤¤È¤Ê¤«¤Ê¤«¶á¤Å¤«¤Ê¤«¤Ã¤¿¤È»×¤¤¤Þ¤¹¡£
|
|
2016/2/19(Fri) 05:46:26|NO.74649
¥â¥ó¥Æ¥«¥ë¥íË¡¤È¤¤¤¦¤Î¤Ç¤¹¤«¡£¶µ¤¨¤Æ¤¤¤¿¤À¤¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
|
|
2016/2/25(Thu) 18:49:49|NO.74700
£³¹à±é»»»Ò¤ß¤¿¤¤¤ÊÆ°ºî¤ò¤¹¤ë´Ø¿ô¤Ç¤¹¡£
#module
#define global ctype sankou(%1,%2,%3) sankou2((%1),%2,%3)
#defcfunc sankou2 int i,int i2,int i3
if(i):return i2
return i3
#global
mes ""+sankou(a=0,1,0)
a=5
mes ""+sankou(a=0,1,0)
|
|
2016/2/26(Fri) 07:48:06|NO.74710
Ê̤Υ¹¥ì¥Ã¥É¤ÇÅê¹Æ¤·¤¿¡¢
°ÊÁ°Åê¹Æ¤·¤¿¤â¤Î¤Î¡¢¥¢¥Ã¥×¥Ç¡¼¥ÈÈǤǤ¹¡£
°ÊÁ°¤È°ã¤¤¡¢""¤ÎÃæ¤ÎȾ³Ñ¥¹¥Ú¡¼¥¹¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
#module dircmd
#uselib "msvcrt"
#func __getmainargs "__getmainargs" int, int, int, int, int
#defcfunc getCommandLines
sdim result : notesel result
argc = 0 : argv = 0 : enpv = 0 : si = 0
__getmainargs varptr(argc), varptr(argv), varptr(enpv), 0, varptr(si)
if stat == 0 {
#ifdef _debug
start = 2
#else
start = 1
#endif
max = argc - start
if 0 < max && argv != 0 {
repeat max, start
dupptr ptr, argv + (4 * cnt), 4, 4
if ptr == 0 : continue
dupptr s, ptr, 1, 2
noteadd s
loop
}
}
noteunsel
return result
#defcfunc local getcmdline int num
re = getCommandLines()
split re,"\n",cmd2
if(length(cmd2)<num+1){
dialog "¸ºß¤·¤Ê¤¤¥³¥Þ¥ó¥É¥é¥¤¥ó¥Ñ¥é¥á¡¼¥¿¤Ç¤¹¡£",1,"¥¨¥é¡¼"
end
}
return cmd2(num)
#global
#undef dir_cmdline
#define dir_cmdline getcmdline@dircmd
mes dir_cmdline(0)
|
|
2016/3/6(Sun) 22:33:32|NO.74804
¤ä¤Ã¤Ñ½ñ¤¯¿Í¤¬½ñ¤±¤Ðû¤¯¡¢¤ï¤«¤ê¤ä¤¹¤¤¥×¥í¥°¥é¥à¤Ë¤Ê¤ë¤ó¤Ç¤¹¤Í¡£
¤Ê¤ë¤Û¤É¡¢ÇÛÎó¤È¤·¤Æ¼èÆÀ¤Ç¤¤ë¤è¤¦¤Ë¤·¤¿¤Î¤Ç¤¹¤«¡£
³Î¤«¤Ë¤½¤Ã¤Á¤ÎÊý¤¬ÊØÍø¤«¤â¡£
|
|
2016/3/7(Mon) 00:16:46|NO.74805
¤¹¤ß¤Þ¤»¤ó
Ê£¿ô²ó¸Æ¤Ö¤È¤¤¤¦¤³¤È¤ò¤Þ¤Ã¤¿¤¯¹Í¤¨¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤Ç¥á¥â¥ê¡¼¥ê¡¼¥¯¤ò¤ª¤³¤¹¥Ð¥°¤¬¤¢¤ê¤Þ¤·¤¿
¤Ê¤Î¤Ç__GetMainArgs¤Ï²¿ÅÙ¤â¸Æ¤Ð¤Ê¤¤¤è¤¦½¤Àµ¤·¤Þ¤·¤¿
¤½¤ì¤Èkanamaru¤µ¤ó¤Î¥¹¥¯¥ê¥×¥È¤Ï¤è¤¯¸«¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¤¬kanamaru¤µ¤ó¤Î¤â¥á¥â¥ê¡¼¥ê¡¼¥¯¤ò¤ª¤³¤¹¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤
|
|
2016/3/7(Mon) 00:43:00|NO.74807
µ¯Æ°¥ª¥×¥·¥ç¥ó¤ÎÀÚ¤êʬ¤±¡Ê"ÂбþºÑ¡Ë¤òÀµµ¬É½¸½¤ò»È¤Ã¤Æ¼ÂÁõ¤·¤Æ¤ß¤Þ¤·¤¿¡£¤Á¤ç¤Ã¤Èºî¤ê¤¿¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¡£
¤¦¤ó¡£¤Ç¤â¤ä¤Ã¤Ñ¤ê__getmainargs»È¤Ã¤¿¤Û¤¦¤¬¤¤¤¤¤Ç¤¹¤Í¡£(¡¡¦¦Ø¡¦¡®)
#include "mod_regexp.as"
#module
;°ú¿ô¤òÇÛÎó¤Ç¼èÆÀ
#defcfunc dir_cmdline_argv int num
cmdline = dir_cmdline
if strmid(cmdline,0,1) ! " " : cmdline = " " + cmdline
;ÀÚ¤ê½Ð¤·
matches b, cmdline, "\\s+(\"(?:\\\\\"|[^\"])*\"?|[^\"]\\S*)"
repeat stat
;ÀèƬ¤Î¥¹¥Ú¡¼¥¹¤òºï½ü
b(cnt) = strtrim(b(cnt), 0, ' ')
loop
argc = length(b)
if b(0) = "" : argc = 0
return b(num)
;°ú¿ô¤Î¿ô
#defcfunc _dir_cmdline_argc
return argc
#global
#undef dir_cmdline
#define dir_cmdline dir_cmdline_argv
#define dir_cmdline_argc _dir_cmdline_argc()
;¼Â¹Ô¥Æ¥¹¥È
n = dir_cmdline(0) ;dir_cmdline_argc¤ÎÁ°¤Ë1²ó¼Â¹Ô¤¬É¬Í×
repeat dir_cmdline_argc
mes dir_cmdline(cnt)
loop
»²¹Í»ñÎÁ¡§
Àµµ¬É½¸½¤ò»È¤Ã¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î¥Ñ¡¼¥¹
http://d.hatena.ne.jp/naga_sawa/20110311/1299804955
|
|
2016/3/10(Thu) 17:01:32|NO.74847
´Ê°×csvÆɤ߹þ¤ß¥â¥¸¥å¡¼¥ë¤Ç¤¹¡£
ʸ»úÎó¤Ï""¤Ç°Ï¤ï¤ì¤Æ¤¤¤Æ¤â¡¢°Ï¤ï¤ì¤Æ¤¤¤Ê¤¯¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó
(¸·Ì©¤Êcsv¤À¤È°Ï¤ï¤Ê¤¤¤«¤Ê¡©)
""¤ÎÃæ¤Î,¤â¶èÀÚ¤ê¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¤¢¤¯¤Þ¤Ç¤â´Ê°×Ū¤ÊÆɤ߹þ¤ß¤Ë»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£
#module hspcsv
#define global CSV_ID_MAX 30
#define global CSV_XMAX 30
#define global CSV_YMAX 30
/*
*csvinit ¥â¥¸¥å¡¼¥ë¤ò½é´ü²½¤·¤Þ¤¹¡£
*¥â¥¸¥å¡¼¥ë¤ò»È¤¦Á°¤Ëɬ¤º¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
*/
#deffunc csvinit
sdim csv,CSV_ID_MAX,CSV_XMAX,CSV_YMAX
return
/*
*csvloadByStr(p1,p2)
*p1 csvid
*p2 Æɤ߹þ¤àcsv
*ʸ»úÎó¤Ç»ØÄꤷ¤¿csv¤òÆɤ߹þ¤ß¤Þ¤¹¡£
*/
#deffunc csvloadByStr int id,str s
csvs=s
split csvs,"\n",cline
repeat
rx=cnt
if(rx >= length(cline)):break
split cline(rx),",",ctoken
repeat
ry=cnt
if(ry >= length(ctoken)):break
csv(id,rx,ry)=ctoken(ry)
await 1
loop
loop
return
/*
*csvloadByFile(p1,p2)
*p1 csvid
*p2 Æɤ߹þ¤àcsv¥Õ¥¡¥¤¥ë
*csv¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤ß¤Þ¤¹¡£
*/
#deffunc csvloadByFile int id,str name
notesel in
noteload name
noteunsel
csvloadByStr id,in
return
/*
*csvgets(p1,p2,p3)
*p1 csvid
*p2 ¥«¥ó¥Þ¶èÀÚ¤ê¤Îº¸¤«¤é²¿ÈÖÌܤ«
*p3 ¤É¤Î¹Ô¤«
*ʸ»úÎó¤Ç¼èÆÀ¤·¤Þ¤¹¡£
*/
#defcfunc csvgets int id,int x,int y
re = csv(id,x,y)
return strtrim(re,0,'\"')
/*
*csvgeti(p1,p2,p3)
*p1 csvid
*p2 ¥«¥ó¥Þ¶èÀÚ¤ê¤Îº¸¤«¤é²¿ÈÖÌܤ«
*p3 ¤É¤Î¹Ô¤«
*À°¿ô¤Ç¼èÆÀ¤·¤Þ¤¹¡£
*/
#defcfunc csvgeti int id,int x,int y
re = csv(id,x,y)
if(re!"0")and(int(re)!0):return int(re)
if(re="0"):return 0
return -1
/*
*csvgetd(p1,p2,p3)
*p1 csvid
*p2 ¥«¥ó¥Þ¶èÀÚ¤ê¤Îº¸¤«¤é²¿ÈÖÌܤ«
*p3 ¤É¤Î¹Ô¤«
*¼Â¿ô¤Ç¼èÆÀ¤·¤Þ¤¹¡£
*/
#defcfunc csvgetd int id,int x,int y
re = csv(id,x,y)
if(re!"0.0")and(double(re)!0.0):return double(re)
if(re="0.0"):return 0.0
if(re!-1):return double(re)
return -1
/*
*csvgetb(p1,p2,p3)
*p1 csvid
*p2 ¥«¥ó¥Þ¶èÀÚ¤ê¤Îº¸¤«¤é²¿ÈÖÌܤ«
*p3 ¤É¤Î¹Ô¤«
*true¤«false¤«¤Îʸ»úÎó¤Ç¼èÆÀ¤·¤Þ¤¹¡£
*/
#defcfunc csvgetb int id,int x,int y
re = csvgets(id,x,y)
if(re="true"):return "true"
if(re="false"):return "false"
re = csvgeti(id,x,y)
if(re):return "true"
if(re=0):return "false"
return "false"
#global
| |
|
2016/3/10(Thu) 17:03:30|NO.74848
Êä¤ǡ¢º£Åê¹Æ¤·¤¿¥â¥¸¥å¡¼¥ë¤Î¥µ¥ó¥×¥ë¤¬¤Û¤·¤«¤Ã¤¿¤é¸À¤Ã¤Æ¤¯¤À¤µ¤¤¡£
|
|
2016/3/14(Mon) 16:46:28|NO.74918
Á°Åê¹Æ¤·¤¿¥â¥¸¥å¡¼¥ë¤ËÌ¿Îá¤ÎÄɲäǤ¹¡£
Á°²ó¤Þ¤Ç¤Ïcsv¤ÎÆɤ߹þ¤ß¤·¤«¤Ç¤¤Ê¤«¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢
º£²ó¤ÎÄɲäǡ¢½ñ¤¹þ¤ß¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
º¹Ê¬¤À¤±¸ø³«¤·¤Þ¤¹¡£
#global¤ÎÁ°¤ËÄɲäÇÂç¾æÉפǤ¹¡£
#deffunc csvsets int id,int x,int y,str s
csv(id,x,y)=s
return
#deffunc csvseti int id,int x,int y,int i
csv(id,x,y)=str(i)
return
#deffunc csvsetd int id,int x,int y,double d
csv(id,x,y)=str(d)
return
#deffunc csvsetb int id,int x,int y,str s
csv(id,x,y)=s
return
#defcfunc csvget int id,int x,int y
re = ""
repeat x
px=cnt
repeat y
py=cnt
re+=csv(id,px,py)
if(cnt!length3(csv)-1):re+=","
await 1
loop
if(cnt!length2(csv)-1):re+="\n"
loop
return re
#deffunc csvsave int id,int x,int y,str filename
re = csvget(id,x,y)
notesel
notesave filename
noteunsel
return
|
|
2016/3/16(Wed) 05:46:21|NO.74928
|
|
2016/3/21(Mon) 16:28:19|NO.75013
»×¤¤¤Ä¤¤¤¿¤Î¤Ç¤«¤¤Þ¤·¤¿
²¿¤«¤ÎÌò¤Ë¤¿¤Ä¤«¤Ï¤ï¤«¤ê¤Þ¤»¤ó
// ¥æ¡¼¥¶¡¼ÄêµÁÌ¿Îá¤Î¥é¥Ù¥ë¥Ý¥¤¥ó¥¿¤ò»È¤¦¥¹¥¯¥ê¥×¥È
#module
#deffunc test3
return
#deffunc test2
return
#deffunc test
mes "helloworld"
return
#deffunc test4
return
#global
#const SIZE_BYTE_STRUCTDAT 28
// ¥À¥ß¡¼Ì¿Îá
test2 : test3 : test4
mref hspctx, 68
dimtype label_dummy, vartype("label"), 1
dupptr structdat_test, libptr(test), SIZE_BYTE_STRUCTDAT
dupptr cln_int_offset_label, hspctx(5) + structdat_test(5)*4, 4 //otindex
mes "¥é¥Ù¥ë¥¤¥ó¥Ç¥Ã¥¯¥¹=" + structdat_test(5)
// ¤¿¤À¸Æ¤Ó½Ð¤¹¤À¤±¤Ê¤Î¤Ç ¥Ñ¥é¥á¡¼¥¿¤ÏÀѤޤʤ¤
lpoke label_dummy, 0, hspctx(2) + cln_int_offset_label*2 // unsigned short
gosub label_dummy
|
|
2016/3/21(Mon) 20:58:16|NO.75015
¡Öshort·¿¤òlong·¿¤ËÊÑ´¹¤¹¤ë¥Þ¥¯¥í¡×
»ÈÍÑÎã¤È¤·¤Æ¥Þ¥¦¥¹¥Û¥¤¡¼¥ë¤ò¸¡½Ð¤¹¥µ¥ó¥×¥ë¤Ç¤¹¡£
#define WM_MOUSEWHEEL 0x020A ;¥Þ¥¦¥¹ ¥Û¥¤¡¼¥ë¤¬²óž¤µ¤ì¤¿
;¥Þ¥¯¥í
#define ctype short2long(%1) ((((%1) & $8000)!0)*$ffff0000 | (%1))
#define ctype GET_X_LPARAM(%1) (%1 & $0000FFFF)
#define ctype GET_Y_LPARAM(%1) (%1>>16 & $0000FFFF)
#define ctype GET_WHEEL_DELTA_WPARAM(%1) short2long(%1>>16 & $0000FFFF)
#define ctype GET_KEYSTATE_WPARAM(%1) (%1 & $0000FFFF)
; ¥á¥Ã¥»¡¼¥¸½èÍý
oncmd gosub *On_WM_MOUSEWHEEL, WM_MOUSEWHEEL
stop
; ¥á¥Ã¥»¡¼¥¸½èÍý
*On_WM_MOUSEWHEEL
mes "( " + GET_X_LPARAM(lParam) + ", " + GET_Y_LPARAM(lParam) + " )" + GET_WHEEL_DELTA_WPARAM(wParam) + " " + GET_KEYSTATE_WPARAM(wParam)
return
|
|
2016/3/24(Thu) 05:43:26|NO.75053
¥¤¥ó¥Ý¡¼¥È¥»¥¯¥·¥ç¥ó¤«¤é¥â¥¸¥å¡¼¥ë¥Ï¥ó¥É¥ë¤Î¼èÆÀ¤È¥¨¥¯¥¹¥Ý¡¼¥È¥»¥¯¥·¥ç¥ó¤«¤é´Ø¿ô¥¢¥É¥ì¥¹¤Î¼èÆÀ¥â¥¸¥å¡¼¥ë
¥¤¥ó¥Ý¡¼¥È¥»¥¯¥·¥ç¥ó¤«¤é»ÈÍѤ·¤Æ¤¤¤ëDLL¤Î¥Ï¥ó¥É¥ë¤ä¡¢¥¨¥¯¥¹¥Ý¡¼¥È¥»¥¯¥·¥ç¥ó¤«¤é´Ø¿ô¥¢¥É¥ì¥¹¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Î¥â¥¸¥å¡¼¥ë¤Ç¤¹¡£
http://nopswebpages.webcrow.jp/apps/garbage/impexp.txt
|
|
2016/3/24(Thu) 05:55:16|NO.75055
DLL¸Æ¤Ó½Ð¤·¤Ê¤·¤ÇWinAPI¤ò¸Æ¤Ó½Ð¤¹¥¹¥¯¥ê¥×¥È¤Ç¤¹
Messagebox¤ò#uselib¡¢#funcÅù¤ò»È¤ï¤º¸Æ¤Ó½Ð¤·¤Þ¤¹
// DLL¸Æ¤Ó½Ð¤·¤Ê¤·¤ÇWinAPI¤ò¸Æ¤Ó½Ð¤¹¥¹¥¯¥ê¥×¥È
// ¥¤¥ó¥Ý¡¼¥È¥»¥¯¥·¥ç¥ó¤«¤é¥â¥¸¥å¡¼¥ë¥Ï¥ó¥É¥ë¤Î¼èÆÀ¤È¥¨¥¯¥¹¥Ý¡¼¥È¥»¥¯¥·¥ç¥ó¤«¤é´Ø¿ô¥¢¥É¥ì¥¹¤Î¼èÆÀ¥â¥¸¥å¡¼¥ë ¤ò¡¡»ÈÍѤ·¤Þ¤¹
#include "impexp.txt"
sdim str_buf, 256, 2
dim arr_int_args, 4
p_dll_kernel32 = get_handle_dll_import_table( "kernel32.dll", hinstance)
p_loadlibrary = get_address_func_export_table( "LoadLibraryA" , p_dll_kernel32)
p_freelibrary = get_address_func_export_table( "FreeLibrary" , p_dll_kernel32)
p_heapalloc = get_address_func_export_table( "HeapAlloc" , p_dll_kernel32)
str_buf(0) = "user32.dll" : arr_int_args = varptr(str_buf(0))
p_dll_user32 = callfunc( arr_int_args, p_loadlibrary, 1)
p_messagebox = get_address_func_export_table( "MessageBoxA" , p_dll_user32)
str_buf = "MessageBox¸Æ¤Ó½Ð¤·\nHeapAlloc=" + strf("0x%8.8X", p_heapalloc), "¥Æ¥¹¥È"
arr_int_args = hwnd, varptr(str_buf(0)), varptr(str_buf(1)), 0
int_tmp = callfunc( arr_int_args, p_messagebox, 4)
arr_int_args = p_dll_user32
int_tmp = callfunc( arr_int_args, p_freelibrary, 1)
| |
|
2016/3/24(Thu) 05:57:44|NO.75056
x86¤Ç¤Ï»»½Ñ¥·¥Õ¥È¤Ê¤Î¤Ç¤³¤ì¤À¤±¤Ç¤âword·¿¤òdword·¿¤ËÊÑ´¹¤Ç¤¤ë¤È»×¤¤¤Þ¤¹¡£
¥Þ¥Ë¥å¥¢¥ë¤Ç¤Ï»»½Ñ¥·¥Õ¥È¤«ÏÀÍý¥·¥Õ¥È¤Ê¤Î¤«Ì¤ÄêµÁ¤Ê¤Î¤Çx86°Ê³°¤Î´Ä¶¤Ç¤Ï¤ï¤«¤ê¤Þ¤»¤ó¡£
#define ctype short2long(%1) ((%1 <<16) >> 16)
i = 0 : wpoke i, 0, 500
j = 0 : wpoke j, 0, -200
mes i
mes short2long(i)
mes j
mes short2long(j)
|
|
2016/3/25(Fri) 01:22:07|NO.75063
> #define ctype short2long(%1) ((%1 <<16) >> 16)
À¨¤¯¥·¥ó¥×¥ë¡ª
ÃѤº¤«¤·¤Ê¤¬¤é¡Ö»»½Ñ¥·¥Õ¥È¡×¤Ã¤Æ½é¤á¤ÆÃΤê¤Þ¤·¤¿¡£¤³¤ì¤ÏÊØÍø¡£
¤·¤«¤·¤É¤Ã¤Á¤ÇÆ°ºî¤·¤Æ¤¤¤ë¤Î¤«ÌÀµ¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤ÏÉݤ¤¤Ç¤¹¤Í¡£
º£ÅÙ¤«¤é±¦¥·¥Õ¥È»È¤¦»þ¤ÏÃí°Õ¤¹¤ë¤è¤¦¤Ë¤·¤è¤¦¤Ã¤È¡£
|
|
2016/3/25(Fri) 01:37:10|NO.75064
¤¢¡¢¤³¤ì%1¤Ï¥«¥Ã¥³¤Ç³ç¤é¤Ê¤¤¤È°Õ¿Þ¤·¤Ê¤¤Æ°ºî¤ò¤¹¤ë¤³¤È¤¬¤ê¤Þ¤¹¤Í¡£
#define ctype short2long(%1) (((%1) <<16) >> 16)
Î㡧
#define ctype short2long(%1) ((%1 <<16) >> 16)
mes short2long($01230000>>16 & $0000FFFF)
#define ctype short2long2(%1) (((%1) <<16) >> 16)
mes short2long2($01230000>>16 & $0000FFFF)
|
|
2016/3/25(Fri) 10:48:11|NO.75066
¥·¥Õ¥È±é»»¤Èʹ¤¤¤Æ, ¥Ó¥Ã¥È´ØÏ¢¤ò¾¯¤·
#module __BIT__
// ¿¿µ¶¤ËÊÑ´¹
#define global ctype boolean(%1) (0 != (%1))
// ¥Ó¥Ã¥È¼èÆÀ(¿ôÃÍ)
#define global ctype bGet(%1, %2) boolean( (%1) & ( 1<<(%2) ) )
// ¥Ó¥Ã¥È¥»¥Ã¥È false
#define global sFalse(%1, %2) (%1) &= 0xFFFFFFFF ^ ( 1<<(%2) )
// ¥Ó¥Ã¥È¥»¥Ã¥È true
#define global sTrue(%1, %2) (%1) |= ( 1<<(%2) )
// ¥Ó¥Ã¥È¼èÆÀ(¿ôÃÍÇÛÎó)
#define global ctype abGet(%1, %2) bGet( %1( (%2)/32 ), (%2)\32 )
// ¥Ó¥Ã¥È¥»¥Ã¥È false
#define global asFalse(%1, %2) %1( (%2)/32 ) &= 0xFFFFFFFF ^ ( 1<<((%2)\32) )
// ¥Ó¥Ã¥È¥»¥Ã¥È true
#define global asTrue(%1, %2) %1( (%2)/32 ) |= ( 1<<((%2)\32) )
// ±¦¤Ø¤ÎÏÀÍý¥·¥Õ¥È
#define global ctype rshift(%1, %2) ( (%1)>>(%2) & ( ( 2<<(31-(%2)) )-1 ) )
// Ϣ³TrueÂåÆþ
#deffunc continuationTrueBit array a, int size, int index
if size <= 0 :return
left = limit(32-index\32-size, 0, 32)
mask = rshift((-1 << index\32) << left, left )
a(index/32) |= mask
if index/32 != (index+size)/32 {
rest = 32*(index/32+1)-index
continuationTrueBit a, size-rest, index+rest
}
return
// Ϣ³FalseÂåÆþ
#deffunc continuationFalseBit array a, int size, int index
if size <= 0 :return
left = limit(32-index\32-size, 0, 32)
mask = -1 ^ rshift((-1 << index\32) << left, left )
a(index/32) &= mask
if index/32 != (index+size)/32 {
rest = 32*(index/32+1)-index
continuationFalseBit a, size-rest, index+rest
}
return
#global
/* sample */
continuationTrueBit a, 32, 0 // 32bit true ¤Ï signed int ¤À¤È -1
mes a
drawBit a, 10
continuationFalseBit a, 32-4, 4 // º¸¤«¤é 4 bit true ¤Ï 1+2+4+8
mes a
drawBit a, 10
stop
#deffunc drawBit array v, int s
cx = ginfo_cx
cy = ginfo_cy
repeat length(v)
y = cnt*s+cy
for i, 0, 32, 1
x = i*s+cx+ i/8*s
if abGet(v, cnt*32+i) {
boxf x, y, x+s, y+s
} else {
boxf x, y, x+s, y+s, 0
}
next
loop
pos cx, cy+s*length(v)
return
/* /sample */
| |
|
2016/3/25(Fri) 20:37:04|NO.75070
GENKI¤µ¤ó¤·¤Æ¤¤·¤Æ¤¤¤¿¤À¤¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
ÏÀÍý¥·¥Õ¥È¥Þ¥¯¥í¤È»»½Ñ¥·¥Õ¥È¥Þ¥¯¥í¤Èshort·¿¤Îlong·¿¤Ø¤ÎÊÑ´¹¥Þ¥¯¥í¤Ç¤¹¡£
GENKI¤µ¤ó¤Î¤·¤Æ¤¤ò¤¦¤±¤Æ¥Ñ¥é¥á¡¼¥¿¤Ë¤«¤Ã¤³¤ò¤Ä¤±¤Þ¤·¤¿¡£
// ÏÀÍý¥·¥Õ¥È¥Þ¥¯¥í
#define ctype unsignedrightshift(%1,%2) \
(\
((%1) >> (%2)) \
&\
( (-1 << (32 - (%2))) ^ -1) \
)
// »»½Ñ¥·¥Õ¥È¥Þ¥¯¥í
#define ctype signedrightshift(%1,%2) \
(\
((%1) >> (%2)) \
|\
(\
(-( ((%1) >> 31) & 1)) \
<< \
(32 - (%2)) \
)\
)
// ¤ï¤¿¤·¤Ê¤ê¤ËGENKI¤µ¤ó¤Î¤òʬ¤«¤ê¤ä¤¹¤¯¤·¤¿¥Þ¥¯¥í¤Ç¤¹
#define ctype short2long(%1) (((%1) >> 15 & 1 ) * $FFFF0000 | (%1))
// ·×»»¤¹¤ë
mes %00000000000000000000000011001000 // 200
// 200 ¤ò±¦¤Ë2¤Ä¤Ö¤óÏÀÍý¥·¥Õ¥È
mes %00000000000000000000000000110010
mes unsignedrightshift(200, 2)
// 200 ¤ò±¦¤Ë2¤Ä¤Ö¤óÏÀÍý¥·¥Õ¥È
mes %00000000000000000000000000110010
mes signedrightshift(200, 2)
mes %11111111111111111111111100111000 // -200
// -200 ¤ò±¦¤Ë2¤Ä¤Ö¤óÏÀÍý¥·¥Õ¥È
mes %00111111111111111111111111001110
mes unsignedrightshift(-200, 2)
// -200 ¤ò±¦¤Ë2¤Ä¤Ö¤ó»»½Ñ¥·¥Õ¥È
mes %11111111111111111111111111001110
mes signedrightshift(-200, 2)
// HSP ¥Þ¥Ë¥å¥¢¥ë¤Ç¤Ï̤ÄêµÁ VC¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç HSP 3.5 beta3 ¤Ç¤Ï»»½Ñ¥·¥Õ¥È¤Î¤Ï¤º
mes -200 >> 2
int_tmp= 0: wpoke int_tmp, 0, -200
mes short2long(int_tmp)
// ¤ï¤¿¤·¤Ïshort·¿¤«¤élong·¿¤Ø¤ÎÊÑ´¹¤Ï¤¤¤Ä¤â¤³¤¦¤·¤Æ¤¤¤Þ¤¹
if int_tmp & $8000: int_tmp|= $FFFF0000
mes int_tmp
| |
|
2016/3/25(Fri) 23:58:05|NO.75074
¤¢¡¢¤ä¤é¤«¤·¤Æ¤·¤Þ¤Ã¤¿£÷
¾åµ¤Î sample ¤Î drawBit ¤Î boxf ¤Î5ÈÖÌܤäƤ½¤¦¤¤¤¨¤Ðɸ½à¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤Ê¤¯¤Æ¡¢
Æ°¤«¤»¤Ê¤¤¤Ç¤¹¤è¤Í¡¢¤´¤á¤ó¤Ê¤µ¤¤¡£
¤Ä¤¤¤Ç¤Ë¤¤¤í¤¤¤í¾è¤»¤È¤¤Þ¤¹¡¢¡¢¡¢
http://bassclef.s1.adexd.net/contents/hspdef.zip
¤ËÆþ¤Ã¤Æ¤ë ud_draw.as ¤Î Line:53,63 ¤Ë boxf ³ÈÄ¥Èǽñ¤¤¤Æ¤Þ¤¹¡£
(INT_MAX ¤È¤«¤Ï ud_calc.as ¤Ë½ñ¤¤¤Æ¤Þ¤¹)
¤¿¤Ö¤ó ud_draw.as ¤ò include ¤¹¤ë¤À¤±¤Ç¤Ï¼Â¹Ô¤Ç¤¤Ê¤¤¤È»×¤¤¤Þ¤¹¤·
¼«ºîDLL¤È¤«¡¢½é´üÌ¿Îá¤È¤«¤â¤¿¤¯¤µ¤ó½ñ¤´¹¤¨¤Æ¤¤¤ë¤Î¤Ç
¤Û¤·¤¤¤â¤Î¤À¤±È´¤½Ð¤·¤Æ¾¡¼ê¤Ë¿·¤·¤¯¥Õ¥¡¥¤¥ëºî¤Ã¤Æ¤¯¤À¤µ¤Ã¤Æ¤â¹½¤¤¤Þ¤»¤ó
(ÁÆÂ礴¤ßÉÔË¡Åê´þ¤·¤Æ¤¹¤ß¤Þ¤»¤ó¤Ç¤·¤¿£÷)
|
|
2016/4/15(Fri) 18:26:25|NO.75227
hsp¤ÇÏ¢ÁÛÇÛÎó¤ò»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Î¥â¥¸¥å¡¼¥ë¤Ç¤¹¡£
¤¹¤Ç¤Ë¤³¤Î·Ç¼¨ÈĤǤâ¸ø³«¤µ¤ì¤Æ¤Þ¤¹¤¬¡¢hsp³«È¯wiki¤Ç¸«¤Ä¤±¤¿¤Î¤òÍøÍѤ·¤Æ¡¢
¤µ¤é¤Ëû¤¯¡¢¤½¤·¤Æ¡¢É¸½àÌ¿Îá¤Î¤ß¤Çºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
»²¹ÍURL¡§ http://wiki.hsp.moe/COMDictionary.html
#module hspassoc
#deffunc adim var v,int i
newcom v , "Scripting.Dictionary"
comres res
v("compareMode")=i
return
#deffunc addss var v,str s,str s2
if(iskey(v,s)){
dialog "³ºÅö¤¹¤ë¥¡¼¤Ï¤¹¤Ç¤Ë¸ºß¤·¤Þ¤¹",1,"¥¨¥é¡¼"
}else{
v->"add" s,s2
}
return
#deffunc addi var v,str s,int i
if(iskey(v,s)){
dialog "³ºÅö¤¹¤ë¥¡¼¤Ï¤¹¤Ç¤Ë¸ºß¤·¤Þ¤¹",1,"¥¨¥é¡¼"
}else{
v->"add" s,i
}
return
#deffunc addd var v,double d
if(iskey(v,s)){
dialog "³ºÅö¤¹¤ë¥¡¼¤Ï¤¹¤Ç¤Ë¸ºß¤·¤Þ¤¹",1,"¥¨¥é¡¼"
}else{
v->"add" s,d
}
return
#defcfunc iskey var v,str s
v->"Exists" s
return res
#defcfunc gets var v,str s
if(iskey(v,s)){
return v("item",s)
}else{
dialog "³ºÅö¤¹¤ë¥¡¼¤¬Â¸ºß¤·¤Þ¤»¤ó",1,"¥¨¥é¡¼"
end
}
#deffunc geti var v,str s
return int(gets(v,s))
#deffunc getd var v,str s
return double(gets(v,s))
#defcfunc alength var v
return v("count")
#global
²¿¤«¥Ð¥°¤ò¸«¤Ä¤±¤Þ¤·¤¿¤é¡¢Êó¹ð¤·¤Æ¤¯¤À¤µ¤¤¡£
| |
|
2016/4/20(Wed) 10:37:02|NO.75275
ÈÏ°ÏÁªÂò¤ò´Êñ¤Ë¼ÂÁõ¤¹¤ë¥â¥¸¥å¡¼¥ë¡£
º¸¾å¡¢±¦¾å¡¢º¸²¼¡¢±¦²¼¡¢¤É¤³¤«¤éÈÏ°ÏÁªÂò¤ò³«»Ï¤·¤Æ¤âboxfÅù¤Ç»ØÄꤷ¤ä¤¹¤¤¤è¤¦¤ËÊÑ´¹¤·¤Þ¤¹¡£
»×¤Ã¤¿¤è¤êû¤¯½ÐÍ褿¤Î¤Ç¥â¥¸¥å¡¼¥ë¤Ë¤¹¤ëɬÍפ¬Ìµ¤«¤Ã¤¿µ¤¤¬¡¦¡¦¡¦¤Þ¤¡¸«¤ä¤¹¤µ½Å»ë¤Ã¤Æ¤³¤È¤Ç¡¦¡¦¡¦
#module
#deffunc RevisionPos double p1,double p2,double p3,double p4;ŬÀµ²½¡£¥ê¥Ó¥¸¥ç¥ó¤Ç¤¢¤Ã¤Æ¤ë¤Î¤À¤í¤¦¤«¡£
if p1>=p3:rPos.0=p3:rPos.2=p1:else:rPos.0=p1:rPos.2=p3
if p2>=p4:rPos.1=p4:rPos.3=p2:else:rPos.1=p2:rPos.3=p4
return
#defcfunc RevPos int p1;ºÂɸ¤Î¼èÆÀ¡£º¸¾åx¡¢º¸¾åy¡¢±¦²¼x¡¢±¦²¼y¤Î½çÈÖ¡£
return rPos.p1
#global
repeat
getkey k,1
if k=1&kbac=0:³«»Ïx=mousex:³«»Ïy=mousey
if k=1:½ªÎ»x=mousex:½ªÎ»y=mousey
RevisionPos ³«»Ïx,³«»Ïy,½ªÎ»x,½ªÎ»y;ºÂɸ¤ò»ØÄꤹ¤ë¡£
Color 255,255,255:boxf:Color 0,0,0:boxf RevPos(0),RevPos(1),RevPos(2),RevPos(3);½¤Àµ¸å¤ÎÃͤÏRevPos¤Ç¼èÆÀ¡£
kbac=k
await 17-(cnt\3=0)
loop
|
|
2016/4/21(Thu) 23:57:32|NO.75287
¸Ä¿ÍŪ¤Ê¹¥¤ß¤Ç¤¹¤¬¡¢¤³¤Î¾ðÊóÎ̤ʤéÇÛÎó¤Ç´ÉÍý¤·¤¿¤Û¤¦¤¬Ê¬¤«¤ê¤ä¤¹¤¯¤Æ¹¥¤¤Ç¤¹¡£
#uselib "user32.dll"
#func ScreenToClient "ScreenToClient" int, var
#enum BAK_RECT = 0
#enum CUR_RECT
#enum POS_X = 0
#enum POS_Y
dim rect, 2, 2
repeat
getkey k
if k & (ginfo_act >= 0) {
// color 255, 255, 255 : boxf rect(POS_X, BAK_RECT), rect(POS_Y, BAK_RECT), rect(POS_X, CUR_RECT), rect(POS_Y, CUR_RECT)
rect(0, CUR_RECT) = ginfo_mx, ginfo_my
ScreenToClient hwnd, rect(0, CUR_RECT)
rect(0, kbak) = rect(POS_X, CUR_RECT), rect(POS_Y, CUR_RECT)
redraw 2
color 255, 255, 255
boxf
color 255, 36, 0
boxf rect(POS_X, BAK_RECT), rect(POS_Y, BAK_RECT), rect(POS_X, CUR_RECT), rect(POS_Y, CUR_RECT)
redraw 1
}
kbak=k
await 25
loop
|
|
2016/4/22(Fri) 19:01:10|NO.75292
>>75288¡¡¡ÊÁíÅö¤¿¤ê¤Ë¤Ä¤¤¤Æ¡Ë¡¡¤Çºî¤Ã¤¿C++¤«¤é¤Î¥Ù¥¿°Ü¿¢¥³¡¼¥É¤ò¤³¤Á¤é¤Ë¸ø³«¡£
ÁíÅö¤¿¤ê¡ÜÁíÁȹ礻¤ÎÆó¤Ä¤ËÁý¤ä¤·¤Æ¥â¥¸¥å¡¼¥ë²½¤·¤Þ¤·¤¿¡£
¤Þ¤º¡¢¥½¡¼¥ÈºÑ¤ß¤Î¥Ç¡¼¥¿¤¬¤¢¤ê¤Þ¤¹¡Ê¾º½ç¥½¡¼¥È¡Ë
data=1,2,3,4,5,6¡¡Åù
¤³¤ì¤ò¼¡¤Î´Ø¿ô¤ËÆþ¤ì¤ë¤È¡¢
next_permutation(data)
½é´ü¾õÂÖ¤ËÌá¤ë¤È¤¤ò½ü¤¤¤ÆÊÖÃͤ¬1¤Ë¤Ê¤ë¡Ê¤Î¤Ç¡¢while¤È¤«»È¤ª¤¦)
next_combination(data,r)
¤Ç¥³¥ó¥Ó¥Í¡¼¥·¥ç¥ó¤¬¤È¤ì¤ë¡£nCr¤Îr¤òÄɲäǻØÄꤹ¤ë¤È¤¤¤¤¤Ç¤¹¡£
¤¢¤È¤Ï¡¢¥µ¥ó¥×¥ë¸«¤Æ´èÄ¥¤Ã¤Æ¤¯¤À¤µ¤¤¡£
#¥½¡¼¥¹¥³¡¼¥É¤Î¥é¥¤¥»¥ó¥¹¤ÏÉÔÌÀ¡£C++¤Î¥é¥¤¥Ö¥é¥ê¤Î¥é¥¤¥»¥ó¥¹¤Ã¤Æ¡Ä¡Ä¤Ê¤ó¤À¤Ã¤±¡©
#»²¹Íʸ¸¥¡§ http://cpprefjp.github.io/reference/algorithm/next_permutation.html¡¡¤Ê¤É
#module
#deffunc swap var a,var b
tmp=a
a=b
b=tmp
return
#define global reverse(%1) __reverse %1,0,length(%1)
#deffunc __reverse array data,int first,int last
repeat (last-first)/2
swap data(first+cnt),data(last-cnt-1)
wait 0
loop
return
#defcfunc next_permutation array data,local i,local j,local ii
if(length(data)<=1){
return 0;
}
i==length(data)
i--
repeat
ii=i
i--
if(data(i)<data(ii)){
j=length(data)
do
j--
until(data(i)<data(j))
swap data(i),data(j)
__reverse data,ii,length(data)
return 1
}
if(i==0){
reverse data
return 0
}
wait 0
loop
return 0
#defcfunc next_combination array data,int num,local m1,local m2,local result,local first1,local last1,local first2,local last2
first1=0
last1=num
first2=num
last2=length(data)
if ((first1==last1)||(first2==last2)){
return 0;
}
m1=last1
m2=last2-1
do
m1--
wait 0
until (((m1==first1)||((data(m1)<data(m2)))))
result=((m1==first1)&&(1!((data(m1)<data(first2)))))
if(1!result){
while((first2!=m2)&&(1!(data(m1)<data(first2))))
first2++
wait 0
wend
first1=m1
swap data(first1),data(first2)
first1++
first2++
}
if((first1!=last1)&&(first2!=last2)){
m1=last1
m2=first2
while((m1!=first1)&&(m2!=last2))
m1--
swap data(m1),data(m2)
m2++
wait 0
wend
__reverse data,first1,m1
__reverse data,first1,last1
__reverse data,m2,last2
__reverse data,first2,last2
}
return 1!result
#global
a=1,2,3,4
do
mes strf("%d,%d,%d,%d",a(0),a(1),a(2),a(3))
until (0==next_permutation(a))
a=1,2,3,4,5,6
pos 200,0
do
mes strf("%d,%d,%d,%d",a(0),a(1),a(2),a(3))
until (0==next_combination(a,4))
| |
|
2016/4/24(Sun) 03:40:38|NO.75301
µ¤ÎϤ¬Â³¤¤¤Æ¿¼Ìë¥Æ¥ó¥·¥ç¥óÆþ¤Ã¤¿·ë²Ì¤¬¥á¥ë¥»¥ó¥Ì¥Ä¥¤¥¹¥¿¡¼Íð¿ô¡Êmt19937ar¡Ë°Ü¿¢¼ÂÁõ¡£
¤¬¡¢¤½¤ÎÁ°¤ÎÁ°ÄóÍѤˡ¢
¡ÖÏÀÍý±¦¥·¥Õ¥È¥Þ¥¯¥í¡×
#define global ctype lshiftr(%1,%2=0) (((%1)>>%2)&(0xFFFFFFFF^(0x80000000>>(%2-1))))
¤½¤·¤Æ¡¢¡ÖÉä¹æ¤Ê¤·À°¿ô¤Î¼Â¿ô²½¡×¤È¤·¤Æ
#defcfunc ul2dbl int p1,local dbl
dbl=0.0
dbl+=p1&0x7fffffff
dbl*=(lshiftr(p1,31)+1)
return dbl
¤ò°ìöÅê¹Æ¤·¤Þ¤¹¡£¡Êº£²ó¤Î¥½¡¼¥¹Åù¡¢¤³¤Î¥¹¥ì¥Ã¥É·ÏÅý¤ËÅê¹Æ¤·¤¿¥½¡¼¥¹¤Ï¡¢¸µ¥½¡¼¥¹¤ÎËÝÌõÅù¤Ç¤Ê¤¤¸Â¤ê
¡ÖÁ̵ÚŪ¤Ë¡×¥Ñ¥Ö¥ê¥Ã¥¯¥É¥á¥¤¥óÅù¤ÎºÇ¤â¼«Í³¤Ê¥é¥¤¥»¥ó¥¹¤È¤·¤Þ¤¹¡£¤â¤¦¤Ê¤Ã¤Æ¤ë¤Ï¤º¤À¤±¤É¡¢Ç°¤Î¤¿¤á¡Ë
|
|
2016/4/24(Sun) 03:44:35|NO.75302
¤½¤·¤Æ¡¢Á°Äó¾ò·ï¤òËþ¤¿¤·¤¿¤Î¤Ç¡¢¤ªÂÔ¤Á¤«¤Í¡©¡¡¥á¥ë¥»¥ó¥Ì¥Ä¥¤¥¹¥¿Íð¿ô¤Î°Ü¿¢ÈǤθø³«¡£
¸µ¥½¡¼¥¹¡§ http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/CODES/mt19937ar.c
°Ü¿¢¸å¡§
#define global ctype lshiftr(%1,%2=0) (((%1)>>%2)&(0xFFFFFFFF^(0x80000000>>(%2-1))))
#define global printf mes strf
#runtime "hsp3cl"
#module
#define N 624
#define M 397
#define MATRIX_A 0x9908b0df
#define UPPER_MASK 0x80000000
#define LOWER_MASK 0x7FFFFFFF
#deffunc init
dim mt,N
mti=N+1
return
#deffunc init_genrand int s
mt(0)=s
for mti,1,N
mt(mti)=(1812433253*(mt(mti-1)^(lshiftr(mt(mti-1),30)))+mti)
next
return
#deffunc init_by_array array init_key,local key_length,local i,local j,local k
key_length=length(init_key)
init_genrand 19650218
i=1
j=0
k=0
if(N>key_length){
k=N
}else{
k=key_length
}
for k,k,0,-1
mt(i)=(mt(i)^((mt(i-1)^(lshiftr(mt(i-1),30)))*1664525))+init_key(j)+j
i++
j++
if(i>=N){
mt(0)=mt(N-1)
i=1
}
if(j>=key_length){
j=0
}
next
for k,N-1,0,-1
mt(i)=(mt(i)^((mt(i-1)^(lshiftr(mt(i-1),30)))*1566083941))-i
i++
if(i>=N){
mt(0)=mt(N-1)
i=1
}
next
mt(0)=0x800000000
return
#defcfunc genrand_int32 local y,local kk
if(ifdefmag01==0){
ifdefmag01=1
mag01=0,MATRIX_A
}
if(mti>=N){
if(mti==N+1){
init_genrand(5489)
}
for kk,0,N-M
y=(mt(kk)&UPPER_MASK)|(mt(kk+1)&LOWER_MASK)
mt(kk)=mt(kk+M)^(lshiftr(y,1))^mag01(y&1)
next
for kk,kk,N-1
y=(mt(kk)&UPPER_MASK)|(mt(kk+1)&LOWER_MASK)
mt(kk)=mt(kk+M-N)^(lshiftr(y,1))^mag01(y&1)
next
y=(mt(N-1)&UPPER_MASK)|(mt(0)&LOWER_MASK)
mt(N-1)=mt(M-1)^(lshiftr(y,1))^mag01(y&1)
mti=0
}
y=mt(mti)
mti++
y^=lshiftr(y,11)
y^=(y<<7)&0x9d2c5680
y^=(y<<15)&0xefc60000
y^=lshiftr(y,18)
return y
#define global ctype genrand_int31 (lshiftr(genrand_int32(),1))
#define global ctype genrand_real1 ((1.0/4294967295.0)*ul2dbl(genrand_int32()))
#define global ctype genrand_real2 ((1.0/4294967296.0)*ul2dbl(genrand_int32()))
#define global ctype genrand_real3 ((1.0/4294967296.0)*(0.5+ul2dbl(genrand_int32())))
#define global ctype genrand_res53 ((67108864.0*lshiftr(genrand_int32(),5)+lshiftr(genrand_int32(),6))*(1.0/90071992547490992.0))
#defcfunc ul2dbl int p1,local dbl
dbl=0.0
dbl+=p1&0x7fffffff
dbl*=(lshiftr(p1,31)+1)
return dbl
#global
init
initial=0x123,0x234,0x345,0x456
init_by_array(initial)
printf("1000 outputs of genrand_int32()");
for i,0,1000/5
printf("%10u %10u %10u %10u %10u",genrand_int32(),genrand_int32(),genrand_int32(),genrand_int32(),genrand_int32())
next
printf("\n1000 outputs of genrand_real2()");
for i,0,1000
printf("%10.8f %10.8f %10.8f %10.8f %10.8f",genrand_real2(),genrand_real2(),genrand_real2(),genrand_real2(),genrand_real2())
next
¥é¥¤¥»¥ó¥¹Åù¤Î¥³¥á¥ó¥È¤ÏµºÜ¤¬¤ï¤«¤é¤Ê¤¤¤Î¤Ç¸«Á÷¤ê¡£¤µ¤Æ¡¢¥é¥¤¥»¥ó¥¹¤Î¾ò¹à¤Ï¡©¡¡¤È¤¤¤¦¤È¡¢
¤³¤ì¤â¤Þ¤¿ÉÔÌÀ¡£¡ÊC++11¤Ç¥á¥ë¥»¥ó¥Ì¥Ä¥¤¥¹¥¿¤¢¤ë¤ó¤À¤±¤É¡¢¤¢¤ì¥é¥¤¥»¥ó¥¹É½µÉ¬Íפʤ¤¤·¡Ä¡©¡Ë
ºî¼Ô¤Î´õ˾¥é¥¤¥»¥ó¥¹¤ÏPD¡£¤¿¤À¤·¡¢¸¶ºî¼Ô¤Î¤ª¸ÀÍդˤè¤Ã¤Æ¤ÏBSD¤Ë¤Ê¤ê¤¦¤ë¤Èǧ¼±¤·¤Æ¤¯¤À¤µ¤¤¡£
Ãí°Õ¡§¤Ê¤ó¤«¥Ð¥°¤Ã¤Æ¤ë²ÄǽÀ¤¢¤ê¡£½ÐÎÏ·ë²Ì¤¬°ìÉôËܲȤȰۤʤ롣¤Ê¤ó¤Ç¤«¤Ï¤ï¤«¤é¤Ê¤«¤Ã¤¿¡£²òÀϤ·¤ÆÄûÀµ¤·¤Æ¤¯¤À¤µ¤¤¡£
| |
|
2016/5/21(Sat) 16:56:17|NO.75543
¾¤Î¥¦¥£¥ó¥É¥¦¤ÎIME¤ÎON/OFF¤ò¼èÆÀ¤¹¤ë
#define WM_IME_CONTROL 0x283
#define WM_SIZE 0x005
#uselib "User32.dll"
#cfunc SendMessageA "SendMessageA" int,int,int,int
#cfunc WindowFromPoint "WindowFromPoint" int,int
#uselib "imm32.dll"
#cfunc ImmGetDefaultIMEWnd "ImmGetDefaultIMEWnd" int
screen 0,200,50
buf = "OFF","ON"
repeat
hwnd_underMouse = WindowFromPoint(ginfo_mx,ginfo_my)
hwnd_defaultIME = ImmGetDefaultIMEWnd(hwnd_underMouse)
statIME = SendMessageA(hwnd_defaultIME, WM_IME_CONTROL, WM_SIZE, 0)
color 255,255,255 : boxf
color : pos 0,0 : mes "hwnd = "+hwnd_underMouse+"\nIME : "+buf(statIME)+""
await 100
loop
|
|
2016/5/27(Fri) 18:37:50|NO.75619
´û½Ð¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢
returnÌ¿Îá¤ÎÂå¤ï¤ê¤Ë»È¤¦¡¢refstr,stat,refdval¤ËƱ»þ¤ËÃͤòÆþ¤ì¤ëÌ¿Îá¤Ç¤¹¡£
#module
#deffunc local statreturn int i
return i
#deffunc local dvalreturn double d
return d
#deffunc exreturn2 str s,int i2,double d2
statreturn i2
dvalreturn d2
return s
#define global exreturn(%1="",%2=0,%3=0.0) exreturn2 %1,%2,%3:return
#global
|
|
2016/6/3(Fri) 21:12:32|NO.75693
¤Á¤ç¤Ã¤È¥ì¥Ù¥ëÄ㤤¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¦¡¦¡¦
RGBÊÑ´¹¡¦ºÆÊÑ´¹¥Þ¥¯¥í
#define global ctype RGB(%1,%2,%3) (%1 | %2 << 8 | %3 << 16)
#define global ctype RevR(%1) (%1 ^ (RevG(%1) << 8) ^ (RevB(%1) << 16))
#define global ctype RevG(%1) ((%1 >> 8) ^ (RevB(%1) << 8))
#define global ctype RevB(%1) (%1 >> 16)
#define global RGBcolor(%1) color RevR(%1), RevG(%1), RevB(%1)
#define¤È¤«¤Ç¿§¤òÄêµÁ¤¹¤ë¤È¤ÊØÍø¤«¤â
#define BOX_COLOR RGB(50, 100, 150)
RGBcolor BOX_COLOR
boxf
|
|
2016/6/4(Sat) 02:17:19|NO.75695
>> NO.75693
¤³¤ìÊØÍø¤«¤â¡£Artlet2D¤ÎARGB¤ß¤¿¤¤¤Ê¤ä¤Ä¤Ç¤¹¤Í¡£
¤·¤«¤·¤³¤ìHTML¤Ê¤É¤ÇÍѤ¤¤é¤ì¤ëÊýË¡¤ÈÈæ¤Ù¤ë¤ÈR¤ÈB¤¬µÕ¤¸¤ã¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£
#define global ctype RGB(%1,%2,%3) (((%1)&$FF) <<16 | ((%2)&$FF) << 8 | ((%3)&$FF))
#define global ctype RevR(%1) (((%1) >> 16) & $FF)
#define global ctype RevG(%1) (((%1) >> 8) & $FF)
#define global ctype RevB(%1) ((%1) & $FF)
#define global RGBcolor(%1) color RevR(%1), RevG(%1), RevB(%1)
a = rgb($12,$34,$56) ;R,G,B (a = 0x123456 ¢«0xRRGGBB)
mes strf("0x%02X", a)
mes strf("0x%02X", RevR(a))
mes strf("0x%02X", RevG(a))
mes strf("0x%02X", RevB(a))
¥æ¡¼¥¶¡¼¤¬ÌµÃã¤Ê»È¤¤Êý¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¤Î¤Ç¡¢¥«¥Ã¥³¤È&$FF¤Ï¤Ä¤±¤Æ¤ª¤¯¤È°Â¿´¤Ç¤¹¡£
|
|
2016/6/4(Sat) 06:48:28|NO.75699
WinAPI¤Ç¤Ï¡¢BBGGRR·Á¼°¤À¤È»×¤¤¤Þ¤¹
wingdi.h¤è¤êÈ´¿è
#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))
|
|
2016/6/5(Sun) 00:07:37|NO.75717
¤Ê¤ë¤Û¤É¡¼¤³¤ì¤¬¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¡Ä¤³¤ì¤Þ¤ÇÌܤò¤½¤é¤·¤ÆÀ¸¤¤Æ¤¤¿¤Î¤Ç¤¹¤¬¤¤¤Ä¤Þ¤Ç¤â¤½¤¦¤¤¤¦Ìõ¤Ë¤Ï¤¤¤«¤Ê¤¤¤«¡£
WinAPI¤Ç»È¤ï¤ì¤Æ¤ë¤Ê¤éBBGGRR·Á¼°¤¸¤ã¤Ê¤¤¤È¤Þ¤º¤¤¤Ç¤¹¤Í¡£
¤³¤¦¤«¤Ê
#define global ctype RGB(%1,%2,%3) (((%3)&$FF) <<16 | ((%2)&$FF) << 8 | ((%1)&$FF))
#define global ctype RevR(%1) ((%1) & $FF)
#define global ctype RevG(%1) (((%1) >> 8) & $FF)
#define global ctype RevB(%1) (((%1) >> 16) & $FF)
#define global RGBcolor(%1) color RevR(%1), RevG(%1), RevB(%1)
#define global ctype RGBnum(%1) ((((%1) >> 16) & $0000FF)|((%1) & $00FF00)|(((%1) << 16) & $FF0000))
a = RGB($12,$34,$56) ;R,G,B (#123456)
mes strf("0x%06X", a)
mes strf("0x%02X", RevR(a))
mes strf("0x%02X", RevG(a))
mes strf("0x%02X", RevB(a))
a = RGBnum(0x123456) ;R,G,B (#123456)
mes strf("0x%06X", a)
mes strf("0x%02X", RevR(a))
mes strf("0x%02X", RevG(a))
mes strf("0x%02X", RevB(a))
¤È¤µ¤êµ¤¤Ê¤¯Í¾·×¤Ê¤â¤Î¤âº®¤¼¤Æ¤ß¤ë¡£
|
|
2016/6/5(Sun) 01:02:18|NO.75718
HSP¤Ç¤ÏMSB¤ò¼èÆÀ¤¹¤ë¤Î¤Ë¤É¤ÎÊýË¡Áᤤ¤«¤òÄ´¤Ù¤Æ¤ß¤Þ¤·¤¿¡£
¤¤¤í¤¤¤í¤ÊÊýË¡¤¬¤¢¤ê¤Þ¤¹¤¬¡¢HSP¤Ç¤ÏÁÇľ¤Ëlogf´Ø¿ô¤ò»È¤¦¤Î¤¬°ìÈÖ¤¤¤¤¤ß¤¿¤¤¤Ç¤¹¤Í¡£
#module
#defcfunc MSB1 int w
if w < 0: return 32
y = -(w >> 16)
m = (y >> 16) & 16
n = 16 - m
x = w >> m
y = x - 0x100
m = (y >> 16) & 8
n + m
x << m
y = x - 0x1000
m = (y >> 16) & 4
n + m
x << m
y = x - 0x4000
m = (y >> 16) & 2
n + m
x << m
y = x >> 14
m = y & (-1^(y >> 1))
return 30 - n + m
#defcfunc MSB2 int w
y = w | (w >> 1)
y |= (y >> 2)
y |= (y >> 4)
y |= (y >> 8)
y |= (y >> 16)
y = (y & 0x55555555) + ((y >> 1) & 0x55555555)
y = (y & 0x33333333) + ((y >> 2) & 0x33333333)
y = (y & 0x0f0f0f0f) + ((y >> 4) & 0x0f0f0f0f)
y = (y & 0x00ff00ff) + ((y >> 8) & 0x00ff00ff)
return (y & 0x0000ffff) + ((y >> 16) & 0x0000ffff)
#defcfunc MSB3 int w
if w < 0: return 32
y = 0.5 + w
return (lpeek(y, 4) >> 20) - 1022
#defcfunc MSB4 int w
if w <= 0: return (w < 0) * 32
return 1 + logf(w) / 0.6931471
#global
#include "d3m.hsp"
#const ½èÍý²ó¿ô 100000
mes "´Ø¿ôÀ°¹çÀ¥Á¥§¥Ã¥¯Ãæ"
for i, -1000, 100000
if MSB1(i) ! MSB2(i): end
if MSB3(i) ! MSB4(i): end
if MSB1(i) ! MSB3(i): end
next
mes "¶õ¥ë¡¼¥×·×¬Ãæ"
wait 10
wait 15: looptime -= d3timer(): repeat ½èÍý²ó¿ô: loop: looptime += d3timer()
wait 15: looptime -= d3timer(): repeat ½èÍý²ó¿ô: loop: looptime += d3timer()
wait 15: looptime -= d3timer(): repeat ½èÍý²ó¿ô: loop: looptime += d3timer()
wait 15: looptime -= d3timer(): repeat ½èÍý²ó¿ô: loop: looptime += d3timer()
wait 15: looptime -= d3timer(): repeat ½èÍý²ó¿ô: loop: looptime += d3timer()
looptime / 5
mes "½èÍý£±·×¬Ãæ"
wait 40
av1 = -d3timer()
repeat ½èÍý²ó¿ô
//½èÍýÆâÍÆ£±//
a = MSB1(cnt)
//////////////
loop
av1 += d3timer() - looptime
mes "½èÍý£²·×¬Ãæ"
wait 40
av2 = -d3timer()
repeat ½èÍý²ó¿ô
//½èÍýÆâÍÆ£²//
a = MSB2(cnt)
//////////////
loop
av2 += d3timer() - looptime
mes "½èÍý£³·×¬Ãæ"
wait 40
av3 = -d3timer()
repeat ½èÍý²ó¿ô
//½èÍýÆâÍÆ£²//
a = MSB3(cnt)
//////////////
loop
av3 += d3timer() - looptime
mes "½èÍý£´·×¬Ãæ"
wait 40
av4 = -d3timer()
repeat ½èÍý²ó¿ô
//½èÍýÆâÍÆ£²//
a = MSB4(cnt)
//////////////
loop
av4 += d3timer() - looptime
mes "·×¬½ªÎ»\n°ì²ó¤Î½èÍý¤¢¤¿¤êÊ¿¶Ñ"
mes "" + double(av1) / ½èÍý²ó¿ô + "ms"
mes "" + double(av2) / ½èÍý²ó¿ô + "ms"
mes "" + double(av3) / ½èÍý²ó¿ô + "ms"
mes "" + double(av4) / ½èÍý²ó¿ô + "ms"
| |
|
2016/6/12(Sun) 03:51:17|NO.75847
SQLite3¡Ä¡Ä¤È¤¤¤¦¤è¤ê¡¢SQLele¤ÎDB¤ò´Êñ¤Ëºî¤ì¤ë¤è¤¦¤Ë¤¹¤ë¥µ¥Ý¡¼¥È¥â¥¸¥å¡¼¥ë
ñ¤ËCSV<==>DB¤ò¹Ô¤¨¤ë¥â¥¸¥å¡¼¥ë´Ø¿ô¤Ç¤¹¡£
#include "sqlele.hsp"
#module
#deffunc csv2sql str filename,str dbfilename,local csv,local filesize,local i,local buf,\
local buf2,local list,local list2,local tmparr
exist filename
if(strsize==-1):dialog "CSV¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó",1,"·Ù¹ð":return
notesel csv
noteload filename
sql_open dbfilename
sql_q "select count(*) from sqlite_master where type='table' and name='"+getpath(filename,9)+"';"
if(tmparr(0,0)=="1"){
sql_q "drop table "+getpath(filename,9)+";"
}
noteget buf,0
split buf,",",list
noteget buf,1
split buf,",",list2
buf="create table "+getpath(filename,9)+"("
foreach list
buf+=list(cnt)+" "+list2(cnt)+","
loop
buf=strmid(buf,0,strlen(buf)-1)
buf+=");"
sql_q buf
for i,2,notemax
noteget buf,i
split buf,",",list
buf="insert into "+getpath(filename,9)+" values("
foreach list
buf+="\""+list(cnt)+"\","
loop
buf=strmid(buf,0,strlen(buf)-1)
buf+=");"
sql_q buf
wait 0
next
return
#deffunc sql2csv str dbfilename,local csv,local filesize,local i,local j,local buf,\
local buf2,local list,local tmparr//,local list2
exist dbfilename
if(strsize==-1):dialog "DB¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó",1,"·Ù¹ð":return
notesel csv
sql_open dbfilename
sql_q "select name from sqlite_master where type='table' order by name;"
sdim list2,1024,length2(tmparr)-1
foreach list2
list2(cnt)=tmparr(0,cnt)
loop
foreach list2
csv=""
sql_q "PRAGMA table_info('"+list2(cnt)+"');"
for j,1,3
buf=""
for i,0,length2(tmparr)-1
buf+=tmparr(j,i)+","
next
buf=strmid(buf,0,strlen(buf)-1)
noteadd buf
next
sql_q "select * from "+list2(cnt)+";"
for i,0,length2(tmparr)-1
buf=""
for j,0,length(tmparr)
buf+=tmparr(j,i)+","
next
buf=strmid(buf,0,strlen(buf)-1)
noteadd buf
next
notesave getpath(dbfilename,9)+"__"+list2(cnt)+".csv"
loop
return
#global
¥Ð¥¤¥Ê¥ê¡¼¥Ç¡¼¥¿¤¬Ã¡¤¤³¤Þ¤ì¤¿¤éµóÆ°¤¬²ø¤·¤¤¤È¤«¤½¤¦¤¤¤¦Ïä⤢¤ê¤Þ¤¹¤¬¡Ä¡Ä¡¡´ªÊÛ¤·¤Æ²¼¤µ¤¤¤Ã
| |
|
2016/6/12(Sun) 05:11:33|NO.75848
>>NO.75847
¤è¤¯¹Í¤¨¤¿¤éÅꤲ¤Ã¤×¤ê¤¬È¾Ã¼¤Ê¤¤¡Ä¡Ä
CSV¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È»ØÄê¤Ï¤³¤ì¤Ç¤¹¡£¤â¤Î¤°¤µ¤Ê¤Î¤Ç¡¢¤Á¤ã¤ó¤È¤·¤¿¥Ñ¡¼¥µ¡¼¤·¤Æ¤Þ¤»¤ó¡£
¥«¥é¥à̾1,¥«¥é¥à̾2,...
·¿Ì¾1,·¿Ì¾2,...
¥Ç¡¼¥¿1-1,¥Ç¡¼¥¿1-2,...
¥Ç¡¼¥¿2-1,¥Ç¡¼¥¿2-2,...
...
´Ö°ã¤Ã¤Æ¥Ç¡¼¥¿¤ÎÃæ¤Ë","¤ò´Þ¤á¤ë¤È·ë²Ì¤¬¤Ö¤Ã²õ¤ì¤ë¤Î¤ÇÃí°Õ¡£
µÕ¤ËDB¦¤Î¥Ç¡¼¥¿¤ÎÃæ¤Ë","¤¬¤¢¤ë¾ì¹ç¡¢¡Ö½ÐÎÏ·ë²Ì¤¬¡×²õ¤ì¤ë¤Î¤ÇÃí°Õ¡£¡Ê²õ¤ì¤ë¤È¤¤¤¦¤«¡¢°Õ¿ÞÄ̤ê¤Ë¤Ê¤é¤Ê¤¤¡©
|
|
2016/6/22(Wed) 22:00:40|NO.75954
|
|
2016/10/7(Fri) 20:50:56|NO.77060
hspinet¥×¥é¥°¥¤¥ó¤ÎJSON¥Ñ¡¼¥¹µ¡Ç½¤Ç¤Ï¾¯¤·»È¤¤¤Å¤é¤«¤Ã¤¿¤ê¤¹¤ëÉôʬ¤¬¤¢¤ë¤Î¤Ç
IE¤òÍøÍѤ·¤Æ¡¢javascript¤Ë¤è¤ëJSON¥Ñ¡¼¥¹¥â¥¸¥å¡¼¥ë¤ò¼«ºî¤·¤Þ¤·¤¿¡£
¤³¤Î¥µ¥ó¥×¥ë¤Ë¤Ï¡¢TwitterAPI¤òÍøÍѤ¹¤ëÎã¤Ç¤¹¡£
jsongetÌ¿Îá¤Ï¡¢jsondata¤ËJSONʸ»úÎó¤ò»ØÄꤷ¤Æ¡¢addr¤Ë¥¢¥¯¥»¥¹¤·¤¿¤¤³¬Áؤò.¤Ç¶èÀڤä¿
¤â¤Î¤ò»ØÄꤷ¤Þ¤¹¡£¡ÊÎ㡧stat->aaa¤Î¾ì¹ç¡¢addr¤Ë¤Ï¡¢stat.aaa¤È¤¹¤ë¡Ë
¤½¤·¤Æ¡¢out¤Ë¤Ï½ÐÎϤ¹¤ëÊÑ¿ô¤ò»ØÄꤷ¤Þ¤¹¡£
jsonget2¤Ï´Ø¿ôÈǤǤ¹¤Î¤ÇƱ¤¸¤Ç¤¹¡£
#module user
#deffunc jsonget str jsondata,str addr,var out
axobj js,"Shell.Explorer.2",0,0
js->"write" "<script>var jsond = "+jsondata+";document.write(jsond."+addr
jdoc = js("Document")
outa = jdoc("body")
out = outa("innerHTML")
delcom js
return
#defcfunc jsonget2 str jsondata,str addr
axobj js,"Shell.Explorer.2",0,0
js->"Navigate" "about:blank"
jsx=js("Document")
jsx->"write" "<script>var jsond = "+jsondata+";document.write(jsond."+addr+")</script>"
jdoc = js("Document")
outa = jdoc("body")
out = outa("innerHTML")
delcom js
return out
#global
#include "hspinet.as"
netinit
neturl "https://api.twitter.com/1.1/statuses/"
netrequest_get "update.json"
repeat
netexec r
if r:break
wait 1
loop
netgetv buf
res = jsonget2(buf,"errors[0].code")
mes res
| |
|
2016/11/19(Sat) 20:09:17|NO.77347
gosub¤ò±£Ê䷤ưú¿ô¤äÌá¤êÃͤäݤ¤¤â¤Î¤òÅϤ»¤ë¤è¤¦¤Ë¤¹¤ë²¿¤«¡£
//main.hsp
#runtime "hsp3cl"
#include "gofunc.as"
#cmpopt ppout 1
#module Program
function(hoge,a,b,c,d,e)
ints a,b,c,d,e
resolve a+b+c+d+e
end_function
def(huga,a,b,c,d,e)
mes a+b+c+d+e
endf
#deffunc main
fl=*hoge
mes call(fl,1,2,3,4,5)
subcall *huga,1,2,3,4,5
return
#global
main
//gofunc.as
#module gofunc
#define join(%1,%2) %2="":foreach %1:if cnt!=0:{%2+="$ParamS$"}%2+=%1(cnt):loop
//Ì¿Îᡦ´Ø¿ô¸Æ¤Ó½Ð¤·
#define global call funcall
#define global ctype funcall(%1,%2="",%3="",%4="",%5="",%6="",%7="",%8="",%9="",%10="",%11="") \
(callf@gofunc(%1,str(%2),str(%3),str(%4),str(%5),str(%6),str(%7),str(%8),str(%9),str(%10),str(%11)))
#define global subcall(%1,%2="",%3="",%4="",%5="",%6="",%7="",%8="",%9="",%10="",%11="") \
%tfunc %i=%1:%i%o0=callf@gofunc(%o,str(%2),str(%3),str(%4),str(%5),str(%6),str(%7),str(%8),str(%9),str(%10),str(%11))
#defcfunc local callf var flabel,str p1,str p2,str p3,str p4,str p5,str p6,str p7,str p8,str p9,str p10
args@gofunc=p1,p2,p3,p4,p5
join args@gofunc,argstr@gofunc
gosub flabel
return result
//´Ø¿ôÄêµÁ
#define global ctype fn(%1) Function_%1
#define global ctype function(%1=nul@gofunc, \
%2=nul@gofunc,%3=nul@gofunc,%4=nul@gofunc,%5=nul@gofunc,%6=nul@gofunc, \
%7=nul@gofunc,%8=nul@gofunc,%9=nul@gofunc,%10=nul@gofunc,%11=nul@gofunc) \
*%1: split argstr@gofunc,"$ParamS$",%2,%3,%4,%5,%6,%7,%8,%9,%10,%11
#define global resolve(%1) result@gofunc=%1:return
#define global end_function return
//´Ø¿ôÊÌ̾
#define global ¢Í function
#define global ¡á¡ä function
#define global def function
#define global defn function
#define global defun function
#define global lambda function
#define global delegate function
#define global sub function
#define global endf end_function
#define global end_sub end_function
//·¿ÊÑ´¹
#define global ints(%1=nul@gofunc,%2=nul@gofunc,%3=nul@gofunc,%4=nul@gofunc,%5=nul@gofunc, \
%6=nul@gofunc,%7=nul@gofunc,%8=nul@gofunc,%9=nul@gofunc,%10=nul@gofunc) \
ints@gofunc %1,%2,%3,%4,%5,%6,%7,%8,%9,%10
#deffunc local ints var p1,var p2,var p3,var p4,var p5,var p6,var p7,var p8,var p9,var p10
p1=int(p1):p2=int(p2):p3=int(p5):p4=int(p4):p5=int(p5)
p6=int(p6):p7=int(p7):p8=int(p8):p9=int(p9):p10=int(p10)
return
#define global doubles(%1=nul@gofunc,%2=nul@gofunc,%3=nul@gofunc,%4=nul@gofunc,%5=nul@gofunc, \
%6=nul@gofunc,%7=nul@gofunc,%8=nul@gofunc,%9=nul@gofunc,%10=nul@gofunc) \
doubles@gofunc %1,%2,%3,%4,%5,%6,%7,%8,%9,%10
#deffunc doubles var p1,var p2,var p3,var p4,var p5,var p6,var p7,var p8,var p9,var p10
p1=double(p1):p2=double(p2):p3=double(p5):p4=double(p4):p5=double(p5)
p6=double(p6):p7=double(p7):p8=double(p8):p9=double(p9):p10=double(p10)
return
#global
| |
|
2016/12/10(Sat) 04:05:11|NO.77537
ÆüÉդȻþ¹ï¤òÀ°·Á¤·¤ÆÊÖ¤¹¥â¥¸¥å¡¼¥ë¤Ç¤¹
GetTimeFormat¤È¤«Date¡Á¤È¤«win32API¤Ë¤¢¤ê¤Þ¤¹¤¬Èù̯¤Ë»È¤¤¤Ë¤¯¤«¤Ã¤¿¤Î¤Ç¼ÖÎؤκÆȯÌÀ¤·¤Þ¤·¤¿¡Ä
#module "DateAndTimeFormat_Mod"
#uselib "kernel32.dll"
#func GetLocalTime "GetLocalTime" int
#deffunc DateAndTimeFormat_Init
dim localTime, 4
eMonthFullArr = "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" //MMMM
eMonthAbbreviationsArr = "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" //MMM
eDayOfWeekFullArr = "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" //edddd
eDayOfWeekAbbreviationsArr = "Sun", "Mon", "Tues", "Wed", "Thurs", "Fri", "Sat" //eddd
jDayOfWeekFullArr = "ÆüÍËÆü", "·îÍËÆü", "²ÐÍËÆü", "¿åÍËÆü", "ÌÚÍËÆü", "¶âÍËÆü", "ÅÚÍËÆü" //jdddd
jDayOfWeekAbbreviationsArr = "Æü", "·î", "²Ð", "¿å", "ÌÚ", "¶â", "ÅÚ" //jddd
eTimeDivision = "AM","PM" //ett
jTimeDivision = "¸áÁ°","¸á¸å" //jtt
return
//DateAndTimeFormat Ìá¤êÃϤ¬0¤Ê¤éÀ®¸ù -1¤ÏÉÔ°ìÃ× -2¤Ï»È¤¨¤Ê¤¤Ê¸»ú
#deffunc DateAndTimeFormat str _st, var st
sdim st
st = _st
GetLocalTime varptr(localTime)
year4 = ""+ wpeek(localTime(0), 0) //yyyy
year2 = strf("%02d", wpeek(localTime(0), 0)\100) //yy
year1 = ""+ wpeek(localTime(0), 0) \ 100 //y
month2 = strf("%02d", wpeek(localTime(0), 2)) //MM
month1 = ""+ wpeek(localTime(0), 2) //M
mouhtNum = wpeek(localTime(0), 2) -1
dayOfWeekNum = wpeek(localTime(1), 0)
timeDivisionNum = wpeek(localTime(2), 0) / 12
day2 = strf("%02d", wpeek(localTime(1), 2)) //dd
day1 = ""+ wpeek(localTime(1), 2) //d
hour242 = strf("%02d", wpeek(localTime(2), 0)) //HH
hour241 = ""+ wpeek(localTime(2), 0) //H
hour122 = strf("%02d", wpeek(localTime(2), 0) \ 12) //hh
hour121 = ""+ wpeek(localTime(2), 0) \ 12 //h
min2 = strf("%02d", wpeek(localTime(2), 2)) //mm
min1 = ""+ wpeek(localTime(2), 2) //m
sec2 = strf("%02d", wpeek(localTime(3), 0)) //ss
sec1 = ""+ wpeek(localTime(3), 0) //s
msec = strf("%03d", wpeek(localTime(3), 2)) //ms
strrep st, "<yyyy>", year4
strrep st, "<yy>", year2
strrep st, "<y>", year1
strrep st, "<MMMM>", eMonthFullArr(mouhtNum)
strrep st, "<MMM>", eMonthAbbreviationsArr(mouhtNum)
strrep st, "<MM>", month2
strrep st, "<M>", month1
strrep st, "<edddd>", eDayOfWeekFullArr(dayOfWeekNum)
strrep st, "<eddd>", eDayOfWeekAbbreviationsArr(dayOfWeekNum)
strrep st, "<jdddd>", jDayOfWeekFullArr(dayOfWeekNum)
strrep st, "<jddd>", jDayOfWeekAbbreviationsArr(dayOfWeekNum)
strrep st, "<dd>", day2
strrep st, "<d>", day1
strrep st, "<hh>", hour122
strrep st, "<h>", hour121
strrep st, "<ett>", eTimeDivision(timeDivisionNum)
strrep st, "<jtt>", jTimeDivision(timeDivisionNum)
strrep st, "<HH>",hour242
strrep st, "<H>", hour241
strrep st, "<mm>", min2
strrep st, "<m>", min1
strrep st, "<ss>", sec2
strrep st, "<s>", sec1
strrep st, "<ms>", msec
strrep st, "<", ""
if stat != 0: return -1
strrep st, ">", ""
if stat != 0: return -1
strrep st, "\\", ""
if stat != 0: return -2
strrep st, "/", ""
if stat != 0: return -2
strrep st, ":", ""
if stat != 0: return -2
strrep st, "*", ""
if stat != 0: return -2
strrep st, "?", ""
if stat != 0: return -2
strrep st, "!", ""
if stat != 0: return -2
strrep st, "\"", ""
if stat != 0: return -2
strrep st, "|", ""
if stat != 0: return -2
return 0
#global
#if 0 //1¤Ë¤¹¤ì¤Ð¥µ¥ó¥×¥ë¤¬Í¸ú¤Ë¤Ê¤ê¤Þ¤¹
DateAndTimeFormat_Init
st = "ǯ¡¡¡¡¡¡¡¡<yyyy>-<yy>-<y>\n"
st += "·î¡¡¡¡¡¡¡¡<MMMM>-<MMM>-<MM>-<M>\n"
st += "ÍËÆü¡¡¡¡¡¡<edddd>-<jdddd>-<eddd>-<jddd>\n"
st += "Æü¡¡¡¡¡¡¡¡<dd>-<d>\n"
st += "¸áÁ°/¸á¸å <ett>-<jtt>\n"
st += "12»þ´Ö¡¡¡¡<hh>-<h>\n"
st += "24»þ´Ö¡¡¡¡<HH>-<H>\n"
st += "ʬ¡¡¡¡¡¡¡¡<mm>-<m>\n"
st += "Éá¡¡¡¡¡¡¡<ss>-<s>\n"
st += "¥ß¥êÉá¡¡¡<ms>"
DateAndTimeFormat st, st
mes st
mes stat
stop
#endif
| |
|
2017/1/29(Sun) 21:06:49|NO.78096
ƿ̾¥é¥Ù¥ë¡Ê¤É¤Ã¤«¤«¤é»ý¤Ã¤Æ¤¤¿¤ä¤Ä¡£¤É¤³¤À¤Ã¤¿¤«Ëº¤ì¤Þ¤·¤¿¡£¤¹¤ß¤Þ¤»¤ó¡Ë¤È
̵̾´Ø¿ô¡Êcall.as ¤¬É¬ÍפǤ¹ http://prograpark.ninja-web.net/CollectField/#call¡Ë
»È¤¤Æ»¤Ê¤¤¤È»×¤¦¤±¤ÉJavaScript¤Ã¤Ý¤¯¤«¤±¤ë¤Î¤¬¤«¤Ã¤³¤¤¤¤¤Î¤Ç¡£
#include "call.as"
#define global label %tlabelt *%i : if 0 : *%o
#ifdef IG_IMPORT_HEADER_CALL_AS
#define global ctype function(%1=arg1,%2=arg2,%3=arg3,%4=arg4,%5=arg5,%6=arg6,%7=arg7,%8=arg8,%9=arg9) \
%tfunct *%i : if 0 : *%o : \
call_alias %1, 0 : \
call_alias %2, 1 : \
call_alias %3, 2 : \
call_alias %4, 3 : \
call_alias %5, 4 : \
call_alias %6, 5 : \
call_alias %7, 6 : \
call_alias %8, 7 : \
call_alias %9, 8
#endif
main = label {
start_end = label {
if flag == 0 {
mes "START"
} else : if flag == 1 {
mes "END"
}
flag++
return
}
multiply = function(a, b) {
return a * b
}
#define ctype add(%1, %2) call(_add, %1, %2) //call»È¤ï¤º¤Ë´Ø¿ô¤Ã¤Ý¤¯¸Æ¤Ó½Ð¤»¤ë
_add = function(a, b) {
return a + b
}
#define sleep(%1, %2) call _sleep, %1, %2 //call»È¤ï¤º¤ËÌ¿Îá¤Ã¤Ý¤¯¸Æ¤Ó½Ð¤»¤ë
_sleep = function(f, t) {
wait t * 100
call f, t
return
}
finished_wait = function(elapsed) {
mes "waited for " + elapsed + " seconds."
return
}
gosub start_end //ÉáÄ̤Υé¥Ù¥ë¤ÈƱ¤¸
button gosub "yay?", label { mes "yay!" : return } //ƿ̾¥é¥Ù¥ë
mes call(multiply, 3, 4) //¸Æ¤Ó½Ð¤·¤Ïcall¤ò»È¤¦
mes add(5, 2) //¥Þ¥¯¥í¤ÇÄêµÁ¤µ¤ì¤¿¤ä¤Ä
sleep finished_wait, 2 //¥³¡¼¥ë¥Ð¥Ã¥¯¤â²Äǽ¡Ê¼ÂºÝ¤Ï¥é¥Ù¥ë·¿ÊÑ¿ô¡Ë
call function() { mes "bye..." : return } //°ÕÌ£¤Ê¤¤¤±¤É¨»þ´Ø¿ô
gosub start_end
return
}
gosub main
| |
|
2017/2/8(Wed) 06:44:32|NO.78180
ÊÑ¿ô¤Ë0¤òÂåÆþ¤¹¤ë»þ¡¢¤É¤ÎÊýË¡¤¬¤¤¤¤¤Î¤«Ä´¤Ù¤Æ¤ß¤Þ¤·¤¿¡£
lpoke¤¬Â®¤¯¤Æ¥³¡¼¥É¥µ¥¤¥º¤â¾¯¤Ê¤¯¤Æ¤ªÆÀ¤È¤¤¤¦·ë²Ì¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
¥½¡¼¥¹¤Ë¥ß¥¹¤¬¤¢¤Ã¤¿¤Î¤Ç¤¤¤Ã¤¿¤óºï½ü¤·¤ÆºÆÅê¹Æ¤·¤Þ¤·¤¿¡£
#include "d3m.hsp"
N = 500000
wait 80:t = -d3timer():repeat N
a = 0 ; ÉáÄ̤Ë0¤òÂåÆþ
loop:mes "" + (t + d3timer()) + "ms":wait 50:t = -d3timer():repeat N
dim a ; ¤à¤·¤í½é´ü²½¤·¤Æ¤·¤Þ¤¦
loop:mes "" + (t + d3timer()) + "ms":wait 50:t = -d3timer():repeat N
lpoke a ; lpoke¤Ç½ñ¤¹þ¤à
loop:mes "" + (t + d3timer()) + "ms"
|
|
2017/2/22(Wed) 09:12:10|NO.78299
NO.78180¤Îµ»ö¤¬¡¢¥ß¥¹¥ê¡¼¥É¤Ë¤Ê¤ê¤½¤¦¤Êµ¤¤¬¤·¤¿¤Î¤Ç
ÇÛÎó¤Ç¤Î0½é´ü²½¤ò½ñ¤¤¤Æ¤ß¤Þ¤·¤¿¡£
#include "d3m.hsp"
N = 500000
dim a, N
wait 80
; ÉáÄ̤Ë0¤òÂåÆþ
t = -d3timer()
repeat N
a(cnt) = 0
loop
mes "" + (t + d3timer()) + "ms"
wait 50
; ¤à¤·¤í½é´ü²½¤·¤Æ¤·¤Þ¤¦
t = -d3timer()
dim a, N
mes "" + (t + d3timer()) + "ms"
wait 50
; lpoke¤Ç½ñ¤¹þ¤à
t = -d3timer()
repeat N
lpoke a(cnt)
loop
mes "" + (t + d3timer()) + "ms"
¸ÄÊ̤ÎÊÑ¿ô¤Ç¤Ïlpoke¤¬Â®¤¤¤Î¤Ç¤¹¤¬
ÇÛÎó¤Î¾ì¹çdim¤Ç³ÎÊݤª¤è¤Ó½é´ü²½¤¹¤ë¤Î¤¬°ìÈÖ®¤¤¤Ç¤¹¡£
|
|
2017/2/28(Tue) 14:29:40|NO.78335
¤³¤ó¤Ê¤ó¤Ç¤âÎɤ¤¤Ç¤·¤ç¤¦¤«¡©¡¡Ç¯¡¦·î¡¦Æü¤ò°ú¿ô¤Ë¤·¤ÆÍËÆü¤òÊÖ¤¹´Ø¿ô¡£
#module
#defcfunc day2week int _dw_y,int _dw_m,int dw_d //¥Ä¥§¥é¡¼¤Î¸ø¼°¤òÍѤ¤¡¢Ç¯·îÆü¤«¤é¤½¤ÎÆü¤ÎÍËÆü¤òÊÖ¤¹¡£
//(0¤¬ÆüÍËÆü¤Ç¡¢6¤¬ÅÚÍËÆü)
//wikipedia¤Î¡Ö¥Ä¥§¥é¡¼¤Î¸ø¼°¡×¤Ë½àµò¡£
//À¾Îñ4ǯ3·î1Æü¤è¤êÁ°¤ÎÆü¤Ë¤ÏÂбþ¤·¤Ê¤¤(¶¯À©Åª¤Ë0¤òÊÖ¤¹)
dw_y=_dw_y
dw_m=limit(_dw_m,1,12)
if dw_m<=2 : dw_m=dw_m+12 : dw_y-- //1·î¤«2·î¤Î¾ì¹ç¤Ï¡¢Á°Ç¯¤Î13·îor14·î¤È¤·¤Æ°·¤¦
if dw_y<4 : return 0
dw_c=int(dw_y/100)
if dw_y<1582 {
//¥æ¥ê¥¦¥¹Îñ
dw_g=dw_c*6+5
} else {
//¥°¥ì¥´¥ê¥ªÎñ
dw_g=dw_c*5+int(dw_c/4)
}
return (((dw_d+int(26*(dw_m+1)/10)+(dw_y\100)+int((dw_y\100)/4)+dw_g+5)\7)+1)\7
#global
|
|
2017/2/28(Tue) 14:41:56|NO.78336
ÇÛÎóÊÑ¿ô¤Î½é´ü²½¤Ç®Å٤Ȥ«µ¤¤Ë¤·¤¿¤³¤È̵¤«¤Ã¤¿¤Î¤Ç°Ù¤Ë¤Ê¤ê¤Þ¤¹¡£
>>ǯ¡¦·î¡¦Æü¤ò°ú¿ô¤Ë¤·¤ÆÍËÆü¤òÊÖ¤¹´Ø¿ô
¤³¤¦¤¤¤¦¤Î¤Ã¤Æºî¤ë¤È¤Ê¤ë¤È¤´¤Á¤ã¤´¤Á¤ã¤·¤Æ¤ÆÆñ¤·¤¤¤Î¤Ç¤¢¤ë¤ÈÊØÍø¤Ç¤¹¤Í¡£
¤Á¤ç¤Ã¤È¥Þ¥Ë¥¢¥Ã¥¯¤Ç¤¹¤¬ffmpeg¤Ç½ÐÎϤµ¤ì¤¿SSIM¤ò²òÀϤ¹¤ë¥½¡¼¥¹¥³¡¼¥É¡£
;ffmpeg -i "tes1.mp4" -i "tes2.mp4" -filter_complex ssim=stats.txt -an -f null -
;¤³¤ó¤Ê¥³¥Þ¥ó¥É¤Ç½ÐÎϤ·¤¿SSIM¤Î¥ê¥¹¥È¤ò²òÀϤ¹¤ë¡£
#include "hspext.as"
button gosub"Æɤ߹þ¤ß",*Æɤ߹þ¤ß
stop
*Æɤ߹þ¤ß
notesel data
noteload "stats.txt";¤³¤³¤ËSSIM¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë
SSIM¹ç·×=0.0
SSIMºÇ¹â=0.0
SSIMºÇÄã=1.0
split data,"\n",°ì»þ
repeat notemax
in=instr(°ì»þ.cnt,0,"All:")+4
SSIM.cnt=double(strmid(°ì»þ.cnt,in,8))
SSIM¹ç·×+SSIM.cnt
if SSIM.cnt>=SSIMºÇ¹â:SSIMºÇ¹â=SSIM.cnt
if SSIM.cnt<=SSIMºÇÄã:SSIMºÇÄã=SSIM.cnt
await
loop
SSIMÊ¿¶Ñ=SSIM¹ç·×/notemax
title "SSIMºÇ¹â:"+SSIMºÇ¹â+" SSIMÊ¿¶Ñ:"+SSIMÊ¿¶Ñ+" SSIMºÇÄã:"+SSIMºÇÄã+""
clipset "SSIMºÇ¹â:"+SSIMºÇ¹â+" SSIMÊ¿¶Ñ:"+SSIMÊ¿¶Ñ+" SSIMºÇÄã:"+SSIMºÇÄã+""
return
|
|
2017/3/1(Wed) 00:06:20|NO.78340
> ǯ¡¦·î¡¦Æü¤ò°ú¿ô¤Ë¤·¤ÆÍËÆü¤òÊÖ¤¹´Ø¿ô¡£
ÊؾèÀëÅÁ¡ª
½¤Àµ¥æ¥ê¥¦¥¹Æü´¹»»¥â¥¸¥å¡¼¥ë http://mclab.uunyan.com/dl/dl46.htm
̵Â̤˵ª¸µÁ°4000ǯ¤°¤é¤¤¤Ç¤âÍËÆü½Ð¤»¤Þ¤¹¡£
ÀëÅÁ¤À¤±¤Ï¤¢¤ó¤Þ¤ê¤«¤È»×¤¦¤Î¤Ç¡¢ÆüÉÕ·×»»¤ËɬÍפʤΤò¡Ä¡£
Éé¿ô¤òÍѤ¤¤¿¾è½ü¤Î·ë²Ì¤ò¡¢Ruby¡¢Python¡¢Common Lisp¤Ê¤É¤ÈƱ¤¸¤Ë¤Ê¤ë¤è¤¦¤Ë¤¹¤ë¥Þ¥¯¥í¡£
#define ctype mod(%1,%2) (((%1)-(int((%1)/(%2))-1)*(%2)) \ (%2))
Î㤨¤Ð -5\3=-2 ¤Ç¤¹¤¬¡¢mod(-5,3)=1 ¤Ë¤Ê¤ê¤Þ¤¹¡£
¤¢¤È¤Ï¾²´Ø¿ô¤¬É¬ÍפǤ¹¤¬¡¢¤³¤ì¤Ïfloor´Ø¿ô¤¬¤¹¤Ç¤Ë¤¢¤ê¤Þ¤¹¡£
|
|
2017/3/4(Sat) 12:52:12|NO.78359
floor¤ò»È¤ï¤Ê¤¤Éé¤ÎÊý¸þ¤Ø´Ý¤á
a = 12.34
a = a - (a \ 1) + (int(a) >> 31)
mes a
a = -12.34
a = a - (a \ 1) + (int(a) >> 31)
mes a
Âç¾æÉפÀ¤È»×¤¦¤±¤É¡¢´°Á´¤Ë¸¡¾Ú¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç
½¤Àµ¥Ä¥Ã¥³¥ß¤¬¤¢¤Ã¤¿¤é¡¢¤è¤í¤·¤¯¡£
|
|
2017/3/4(Sat) 14:51:45|NO.78360
floor¤ò»È¤ï¤Ê¤¤Éé¤ÎÊý¸þ¤Ø´Ý¤á¤½¤Î£²
¥Í¥Ã¥È¤ÇÄ´¤Ù¤¿¤é¡¢¤³¤¦¤¤¤¦¥¢¥ë¥´¥ê¥º¥à¤â¤¢¤ë¤ß¤¿¤¤¡£
#define ctype myfloor(%1) 0 | %1 + (int(%1) >> 31)
mes myfloor(12.34)
mes myfloor(-12.34)
|
|
2017/3/27(Mon) 12:25:46|NO.78678
¹â³¬´Ø¿ô¤ß¤¿¤¤¤Ê
LINQ¤Î¥Ñ¥¯¥ê¤ß¤¿¤¤¤Ê
#module array_functional
#define global ctype filter(%1,%2,%3=elem,%4=temp) %ttag_filter temp_lab = *%i : _filter %1, %2, %3, %4, temp_lab : if 0 : *%o
#deffunc _filter array ref_newarr, array arr, var ref_elem, var ref_index, var lab, local index
arr_type = vartype(arr(0))
dimtype newarr, arr_type
foreach arr
ref_index = cnt
ref_elem = arr(cnt)
gosub lab
if stat {
newarr(index) = arr(cnt)
index++
}
loop
dimtype ref_newarr, arr_type, index
repeat index
ref_newarr(cnt) = newarr(cnt)
loop
return index
#define _select_vartype vartype(arr_first_elem@array_functional)
#define global ctype select(%1,%2,%3=elem,%4=temp,%5=_select_vartype@array_functional) %ttag_select temp_lab = *%i : arr_first_elem@array_functional = %2(0) : \
_select %1, %2, %3, %4, %5, temp_lab : if 0 : *%o
#deffunc _select array ref_newarr, array arr, var ref_elem, var ref_index, int _type, var lab, local new_elem
arr_len = length(arr)
// ref_newarr¤Èarr¤¬Æ±¤¸»²¾È¤ò»ý¤Ã¤Æ¤¤¤¿¾ì¹ç
// ¡¦ref_newarr¤ò½é´ü²½¤¹¤ë¤Èarr¤â½é´ü²½¤µ¤ì¤Æ¤·¤Þ¤¦
// ¡¦ref_newarr¤Èarr¤Î·¿¤¬°Û¤Ê¤ë¤ÈÂåÆþ¤¬¤Ç¤¤Ê¤¤¡£
// ¤½¤Î¤¿¤á¡¢¤¤¤Á¤Énewarr¤Ë·ë²Ì¤òÂåÆþ¤·¤Æ¡¢¤½¤ì¤òref_newarr¤Ë¥³¥Ô¡¼¤¹¤ë
dimtype newarr, _type, arr_len
foreach arr
ref_index = cnt
ref_elem = arr(cnt)
gosub lab
if _type == vartype("int") {
new_elem = stat
} else : if _type == vartype("str") {
new_elem = refstr
} else : if _type == vartype("double") {
new_elem = refdval
} else {
assert
}
newarr(cnt) = new_elem
loop
dimtype ref_newarr, _type, arr_len
foreach newarr
ref_newarr(cnt) = newarr(cnt)
loop
return arr_len
#defcfunc local aggregate_get_default_value var v
on vartype(v) goto *dv_unknown, *dv_unknown, *dv_string, *dv_double, *dv_int, *dv_unknown, *dv_unknown
*dv_unknown
return 0 //½é´üÃͤʤ·¤Î¾ì¹ç¤Ï0¤òÊÖ¤¹
*dv_string
return ""
*dv_double
return 0.0
*dv_int
return 0
#define _aggregate_defval aggregate_get_default_value@array_functional(arr_first_elem@array_functional)
#define _aggregate_vartype vartype(aggregate_midway@array_functional)
#define global ctype aggregate(%1,%2,%3,%4=elem,%5=_aggregate_defval@array_functional,%6=_aggregate_vartype@array_functional) %ttag_aggregate temp_lab = *%i : \
arr_first_elem@array_functional = %2(0) : temp = %5 : aggregate_midway@array_functional = temp: \
_aggregate %1, %2, %3, %4, temp, %6, temp_lab : if 0 : *%o
#deffunc _aggregate var ref_result, array arr, var ref_midway, var ref_elem, var initvalue, int _type, var lab
ref_midway = initvalue
foreach arr
ref_elem = arr(cnt)
gosub lab
if _type == vartype("int") {
res = stat
} else : if _type == vartype("str") {
res = refstr
} else : if _type == vartype("double") {
res = refdval
} else {
assert
}
ref_midway = res
loop
ref_result = ref_midway
return
#global
filter(newarray, array, element, index) { ... return ¾ò·ï¼° }
ÇÛÎó¤ò¥Õ¥£¥ë¥¿¤¹¤ë¡£
newarray : ¿·¤·¤¤ÇÛÎó
array : ¸µ¤ÎÇÛÎó ¸µ¤ÎÇÛÎó¤È¿·¤·¤¤ÇÛÎó¤ÏƱ¤¸¤Ç¤âOK
element : ¾ò·ï¼°¤ÇÇÛÎó¤ÎÍ×ÁǤ¬ÂåÆþ¤µ¤ì¤ë¡¡¥Ç¥Õ¥©¥ë¥È¤Çelem
index : ¾ò·ï¼°¤ÇÇÛÎó¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬ÂåÆþ¤µ¤ì¤ë¡¡¾Êά²Ä¡¡cnt¤Ë¤â¾ï¤ËÂåÆþ¤µ¤ì¤ë
¾ò·ï¼° : ÇÛÎó¤ÎÍ×ÁÇ¿ô¤À¤±É¾²Á¤µ¤ì¤ë¡£¤½¤ÎÍ×ÁǤòÄ̤¹¤«Ä̤µ¤Ê¤¤¤«¡£1¤«0¡Êtrue¤«false¡Ë
select(newarray, array, element, index, type) { ... return ÃÍ }
¼ÌÁü(map) ¸µ¤ÎÇÛÎ󤫤鿷¤·¤¤ÇÛÎó¤òºîÀ®
newarray : ¿·¤·¤¤ÇÛÎó
array : ¸µ¤ÎÇÛÎó ¸µ¤ÎÇÛÎó¤È¿·¤·¤¤ÇÛÎó¤ÏƱ¤¸¤Ç¤âOK¡¡·¿¤¬°Û¤Ê¤Ã¤Æ¤âOK
element : ¾ò·ï¼°¤ÇÇÛÎó¤ÎÍ×ÁǤ¬ÂåÆþ¤µ¤ì¤ë¡¡¥Ç¥Õ¥©¥ë¥È¤Çelem
index : ¾ò·ï¼°¤ÇÇÛÎó¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬ÂåÆþ¤µ¤ì¤ë¡¡¾Êά²Ä¡¡cnt¤Ë¤â¾ï¤ËÂåÆþ¤µ¤ì¤ë
type : ¡ãÃÍ¡ä¤Î·¿¡£¤Ä¤Þ¤ê¿·¤·¤¤ÇÛÎó¤Î·¿¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï<array>¤Î·¿
ÃÍ : ÇÛÎó¤ÎÍ×ÁÇ¿ô¤À¤±É¾²Á¤µ¤ì¤ë¡£¿·¤·¤¤ÇÛÎó¤ÎÍ×ÁÇ¡£
aggregate(result, array, ¤½¤ì¤Þ¤Ç¤Î·ë²Ì, element, initial_value, type) { ... return ÃÍ }
¾ö¤ß¤³¤ß(fold) ¡ÊÇÛÎó¤ÎÍ×ÁǤò°ì¤Ä¼è¤ê½Ð¤·¤ÆÃͤòÊÖ¤¹¡Ë¤ò·«¤êÊÖ¤¹¡£¤ª²ñ·×¤ß¤¿¤¤¤Ê¡£
result : ¿·¤·¤¤ÃÍ
array : ¸µ¤ÎÇÛÎó¡¡¿·¤·¤¤Ãͤȷ¿¤¬°Û¤Ê¤Ã¤Æ¤âOK
¤½¤ì¤Þ¤Ç¤Î·ë²Ì : ¤Ò¤È¤ÄÁ°¤Î¡ãÃÍ¡ä °ìÈֺǽé¤À¤Ã¤¿¤é<initial_value>
element : ¾ò·ï¼°¤ÇÇÛÎó¤ÎÍ×ÁǤ¬ÂåÆþ¤µ¤ì¤ë¡¡¥Ç¥Õ¥©¥ë¥È¤Çelem
initial_value : ¡ã¤½¤ì¤Þ¤Ç¤Î·ë²Ì¡ä¤Î½é´üÃÍ¡¡¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï<type>¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÃÍ
type : ¡ãÃÍ¡ä¤Î·¿¡£¤Ä¤Þ¤ê¿·¤·¤¤Ãͤη¿¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï<array>¤Î·¿
LINQ¤ÎÀâÌÀ¤Ï¤³¤³¤¬¤ï¤«¤ê¤ä¤¹¤¤
http://yohshiy.blog.fc2.com/blog-entry-274.html
¥µ¥ó¥×¥ë
goto *@f
#define prnt(%1, %2="") _prnt %1, %2
#deffunc _prnt array arr, str init_str
s = init_str
foreach arr : s = s + arr(cnt) + ", " : loop
mes strmid(s, 0, strlen(s) - 2)
return
*@
x = "Hi", "Hello", "¤³¤ó¤Ë¤Á¤Ï", "oyeaah", "bye", "Alohaha"
prnt x, "=> "
select(len, x, , , vartype("int")) {
return strlen(elem)
} // len: ¸µ¤Îx(ʸ»úÎó¤ÎÇÛÎó)¤Îʸ»ú¿ô¤ÎÇÛÎó
prnt len, "Ťµ: "
filter(filtered_x, x, elem) { return strlen(elem) >= 6 }
prnt filtered_x, "Ťµ£¶°Ê¾å¤Îʸ»úÎó: "
mes "----------------------------"
x = 3, -12, 59, 46, 59, 38, -7, 93, -22, 3, 1, 46, 22, 46
prnt x, "=> "
select(ax, x) { return elem * 2 }
prnt ax, "¤¹¤Ù¤ÆÆóÇÜ: "
filter(bx, x) { return elem \ 2 == 0 }
prnt bx, "¶ö¿ô: "
aggregate(res, x, sum) { return sum + elem }
mes "¹ç·×: " + res
aggregate(res, x, min, m, "novalue", vartype("int")) {
if m < min || min == "novalue" {
return m
} else {
return min
}
}
mes "ºÇ¾®ÃÍ: " + res
#module
#defcfunc array_find_first_int array arr, int val
index = -1
foreach arr
if arr(cnt) == val : index = cnt : break
loop
return index
#global
filter(new_x, x, , index) { return array_find_first_int(x, elem) == index }
prnt new_x, "½ÅÊ£¾Ãµî: "
¤«¤Ã¤³¤¤¤¤
¾¯¤·¤ÏÌò¤ËΩ¤Ä¤«¤â
| |
|
2017/3/29(Wed) 05:52:53|NO.78707
¤Õ¤È obaq ¤Î¼ÁÌä¤Î¥¹¥ì¤òį¤á¤ë¤È¡¢¥ª¥Ö¥¸¥§¥¯¥È¤¬ÆÌ·Á¾õ¤Ç¤¢¤ë¤³¤È¤òÁ°Äó¤È¤µ¤ì¤Æ¤¤¤ë¤È¤«½ñ¤¤¤Æ¤¢¤ë¡£
¹Í¤¨¤Æ¤ß¤ì¤Ð¡¢ÆÌ·Á¾õ¤Ç¤¢¤ì¤Ð¾×ÆÍȽÄ꤬¥Á¥ç¡¼´Êñ¤Ë¤Ê¤ë¤«¤é¤«¡£
2¼¡¸µ¤ÎÆ̽¸¹ç¤ÎÀ¼Á¤«¤é
¡ÖÅÀP¤¬Æ̽¸¹çS¤ÎÆâÉô(ÊÄÊñ)¤Ë¤¢¤ë ¢Î Á´¤Æ¤ÎÊդˤĤ¤¤Æ¡ÖÊÕ¥Ù¥¯¥È¥ë¡×¤«¤é¡ÖÊդλÏÅÀ¢ªP¥Ù¥¯¥È¥ë¡×¤Ø¤Î³°ÀѤÎzÀ®Ê¬¤¬Àµ(0°Ê¾å)¡×
¤Ç¤¢¤ë¤³¤È¤¬Íưפ˾ÚÌÀ¤Ç¤¤ë(S¤ÎǤ°Õ¤ÎÆâÅÀ¤Ïɬ¤º³ÆÊÕ¥Ù¥¯¥È¥ë¤Îº¸Â¦¤Ë¤¢¤ë)¡£
#module
#define TRUE 1
#define FALSE 0
#defcfunc is_point_in_region double x_, double y_, int nvtx_, array xarray_, array yarray_
/*
ÅÀP¤¬ÆÌÎΰèS¤ÎÊÄÊñ¤Ë¤¢¤ë¤«¤É¤¦¤«Ä´¤Ù¤ë
x_,y_ : P¤ÎºÂɸ
nvtx_ : S¤ÎĺÅÀ¿ô
xarray_, yarray_ : S¤ÎĺÅÀ¥ê¥¹¥È¡£º¸²ó¤ê(Ä̾ï¤Î¥Ç¥«¥ë¥ÈºÂɸ·Ï¤Ë±÷¤¤¤Æ¤Î¤³¤È¡£HSP¤Î²èÌ̾å¤Ç¤Ï±¦²ó¤ê¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¡ª)¤Ë°ìÉ®½ñ¤¤Ç³ÊǼ¤»¤è
Ìá¤êÃÍ : (TRUE(1),FALSE(0))=(´Þ¤Þ¤ì¤ë,¤Ê¤¤)
*/
assert (nvtx_>=1)
assert ((length(xarray_)>=nvtx_)&&(length(yarray_)>=nvtx_))
return_code=TRUE
repeat nvtx_
i=cnt : j=(cnt+1)\nvtx_
#define vx double(xarray_(j)-xarray_(i))
#define vy double(yarray_(j)-yarray_(i))
#define wx (x_-xarray_(i))
#define wy (y_-yarray_(i))
if (vx*wy-vy*wx < 0.0) {return_code=FALSE : break}
loop
return return_code
#global
/*---------- °Ê²¼¥µ¥ó¥×¥ë ----------*/
#define APP_NAME "convex_set"
#define SX_MAIN 640
#define SY_MAIN 480
#define WID_MAIN 0
*init
screen WID_MAIN, SX_MAIN, SY_MAIN
title APP_NAME
//ÎΰèÄêµÁ
xarray_region = 200, 400, 580, 620, 550, 320, 50, 20, 100
yarray_region = 80, 100, 200, 280, 430, 460, 400, 200, 100
num_vertex=length(xarray_region) //ĺÅÀ¿ô
*main
repeat
gosub *paint
await 32
loop
*paint
redraw 0
color 0,0,0 : boxf //ÇØ·Ê¿§
if (is_point_in_region(mousex, mousey, num_vertex, xarray_region, yarray_region)) { //¥«¡¼¥½¥ë¤¬Îΰè¤ËÆþ¤Ã¤Æ¤¤¤ë¤«¡©
color 255,128,64
} else {color 64,128,255}
repeat num_vertex-2, 1 //Îΰèɽ¼¨
i=cnt : j=(cnt+1)\num_vertex
xx_dst = xarray_region(0), xarray_region(i), xarray_region(j), xarray_region(0)
yy_dst = yarray_region(0), yarray_region(i), yarray_region(j), yarray_region(0)
gsquare -1, xx_dst, yy_dst
loop
color 255,0,0 : circle mousex-10,mousey-10, mousex+10,mousey+10 //¥«¡¼¥½¥ëɽ¼¨
redraw 1
return
| |
|
2017/4/4(Tue) 21:43:51|NO.78903
¥Ü¥¿¥ó¤ò²¡¤¹¥²¡¼¥à¤òºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
#uselib "user32.dll"
#func MoveWindow "MoveWindow" int,int,int,int,int,int
randomize
objsize 100,100:pos rnd(540),rnd(380)
button gosub "",*push
obj=objinfo(stat, 2)
title "¥Ü¥¿¥ó¤ò²¡¤·¤¿²ó¿ô 0²ó"
stop
*push
pushed++
title "¥Ü¥¿¥ó¤ò²¡¤·¤¿²ó¿ô "+pushed+"²ó"
MoveWindow obj,rnd(540),rnd(380),100,100, 1
return
|
|