localStorageã®PCã§ã®è¡¨ç¤ºç¢ºèªã¨æ ¼ç´å ´æï¼IEãEDGEãChromeãFirefoxï¼ï¼1024æåå¶é
IEãã©ãã«ãä¹ã£ã¦ããªãã£ãã®ã§ã¡ã¢ã¡ã¢ã
åãã©ã¦ã¶ã§localStorageï¼ãã¼ã«ã«ã¹ãã¬ã¼ã¸ã»DOMã¹ãã¬ã¼ã¸ï¼ã使ç¨ããã¨ããã¼ã«ã«ãã©ã«ãã«ãã¼ã¿ãæ ¼ç´ããã¾ãã
ããã«ãã£ã¦ãã©ã¦ã¶ãéãã¦ããã¼ã¿ãæ®ãããã¤ã§ã使ããä»çµã¿ã«ãªã£ã¦ãããã§ããã
ãã£ãã·ã¥ã¨åãæãã
Windwsã§ã¯å¤§ä½ãã¤ãã®å ´æã«æ ¼ç´ããã¾ãã
ãã©ã¦ã¶ã®ãã¼ã¸ã§ã³ãOSãã¼ã¸ã§ã³ãå¤ããã¨ãæ ¼ç´å ´æãå¤ãã£ã¦ãã¾ããã¨ãããã®ã§ãå¿
ãããã«ï¼ã¨ãããã®ã§ã¯ãªãã®ã§ããâ¦
ä¸æ¦ç¾ç¶ã®ææ°å ´æãæ¸ãã¦ããã¾ããï¼IEã¯ã©ãã«ãä¹ã£ã¦ããªãã£ãã®ã§ï¼
â»Macã¨ãiosã¯ãããªãã§ãâ¦éè¦ããªãããã ãã
â localStorageã®æ ¼ç´å ´æ
調ã¹ãã®ã¯Win7ã§ãããWin10ã§ãåæ§ã ã¨ãããã¾ãã
åºæ¬ã¯ä¿è·ãããã·ã¹ãã ãã©ã«ãã«ãªã£ã¦ããã®ã§ããã©ã«ãã¼ãªãã·ã§ã³ã§ãã§ãã¯ãå¤ããªãã¨è¡¨ç¤ºã§ãã¾ããã
ã»IEï¼11ï¼
C:\Users\[ã¦ã¼ã¶å]\AppData\LocalLow\Microsoft\Internet Explorer\DOMStore\[ææ°ãã©ã«ãã®ä¸]\
C:\Users\[ã¦ã¼ã¶å]\AppData\Local\Microsoft\Internet Explorer\DOMStore\[ææ°ãã©ã«ãã®ä¸]\
ãã¼ã«ã«ã¹ãã¬ã¼ã¸ãä¿åããæ¥ãã¨ã«ãã©ã«ããä½ããã¾ããIE8ï½11ã¯ãã®è¾ºãã«ããã¨ãããã¾ãã
Win7ã§ã¯ãLocalLowããã©ã«ãã«ãããã¨ã«æ³¨æãã¦ãã ãããï¼ä»ã®ãã©ã¦ã¶ã¯å¤§ä½Localãã©ã«ãã«å
¥ã£ã¦ããï¼
ãLocalLowããã©ã«ãã«ãªãå ´åï¼Win10ãªã©ï¼ã¯ãLocalããã©ã«ãã«å
¥ã£ã¦ããããã§ã
ã»Edge
C:\Users\[ã¦ã¼ã¶å]\AppData\Local\Packages\Microsoft.MicrosoftEdge_[çªå·]\AC\[#!001]\MicrosoftEdge\User\Default\DOMStore\[ææ°ãã©ã«ãã®ä¸]\
ã¨ãã¸ã¯IEã¨åããããªä»çµã¿ã§ããå ´æããããã¥ããâ¦
ACã®ãã¨ã¯#!001ã¨ãªã£ã¦ãã¾ããããè¤æ°ã¦ã¼ã¶ã®å ´åã¯ããããã«ãã©ã«ããããã¾ãã
ã»Google Chromeï¼GCï¼
C:\Users\[ã¦ã¼ã¶å]\AppData\Local\Google\Chrome\User Data\[Profile 1]\Cache\
ã¦ã¼ã¶ãã¨ã«æ ¼ç´ããã¦ãã¾ããä»ã®ãã¼ã¿ã¨ä¸ç·ã«æ ¼ç´ããã¦ããã®ã¨ãæå·åããã¦ããããã§ä¸ã¯ãããããã¾ããã
ã»Firefoxï¼FFï¼
C:\Users\[ã¦ã¼ã¶å]\AppData\Local\Mozilla\Firefox\Profiles\[çªå·]\cache2\entries\
GCã¨åããä»ã®ãã¼ã¿ã¨ä¸ç·ã«æ ¼ç´ããã¦ããã®ã¨ãæå·åããã¦ããããã§ä¸ã¯ãããããã¾ããã
ã»ãã®ä»ãã©ã¦ã¶
ããããåããããªç®æã«ããã¾ãã
AppData\Localãã©ã«ãå
ã«ãã©ã¦ã¶ã®ååãä»ãããã©ã«ããããã¨ãããã®ã§ããã®ä¸ã«æ ¼ç´ããã¦ããã¨ãããã¾ãã
â localStorageã®è¡¨ç¤ºç¢ºèªæ¹æ³
ãã©ã¦ã¶ã®éçºãã¼ã«ã使ç¨ããã®ãä¸è¬çã§ãã
ã³ã³ã½ã¼ã«ã«ä»¥ä¸ãæã¡è¾¼ãã°åºã¦ãã¾ãã
localStorage
GCãªã©ã§ã¯Applicationã¿ãã«Local Storageãããã®ã§ç¢ºèªã§ãã¾ãã
ãã ãIEã ãã¯æ³¨æãå¿
è¦ã§ãä¸ã¤ã®å¤æ°ã§ç¢ºèªã§ããã®ã¯æ大1024æåã¾ã§ã§ãã
ããã¯ã³ã³ã½ã¼ã«ä¸ã§ç¢ºèªã§ããæ大æ°ã§ãããå®éã«ã¯1024æå以ä¸ãæ ¼ç´ã§ãã¾ãããããã使ç¨ãããã¨ãã§ãã¾ãã
æ ¼ç´å ´æã調ã¹ã¦ã¿ãã°ã1024æå以ä¸æ ¼ç´ããã¦ããã®ã確èªã§ããã¯ãã§ãã
IEãã©ã¦ã¶ä¸ã§ã®æ£ç¢ºãªç¢ºèªæ¹æ³ã¯â¦ãã¶ããªããã¨ãããã¾ãã
æ°ã«ãªãæ¹ã¯å¤æ°ãåãããã¨ã§è§£æ±ºã¯ãã¾ããããã¾ããå§ãã¯ãã¾ããï¼local1=ååãlocal2=å¾åï¼
ãªãEdgeã¯1024æå以ä¸ã§ã表示ã§ãã¾ãã®ã§ãIEæ©ãæ» ã³ã¦ãã ããã
Javascriptã§é層ãæ·±ããªãã¸ã§ã¯ãå¤æ°ããªãã¡ã¬ã³ã¹ã¨ã©ã¼ã«ãªããã«åå¨ãã§ãã¯ããæ¹æ³
ã¿ã¤ãã«é·ãã
JSONãªã©ã§ãé層ãæ·±ããªãã¸ã§ã¯ãã使ãæãããã¨æãã¾ããããããã¨ãã«ä¾¿å©ãªé¢æ°ã
â å
ã«ã³ã¼ã
ã¾ãã³ã¼ãè¦ã¤ããã®ã§ä¸¸ãã¯ãªã¨ãããã»ã¼è»¢è¼ã§ãã
ã³ã¼ãå
ï¼https://blog.mach3.jp/2016/12/05/ac2016-05.html
ãã¡ããjqueryãªããã¼ã¸ã§ã³ã«ãã¦ããã¾ããã
var flg = ischeck_dig("obj.hoge1.hoge2.hoge3"); function ischeck_dig(path){ var a,b; a = window; path = path.split("."); for(b in path){ if(a === void 0){ break; } if(!a[path[b]]){ a = void 0; break; } a = a[path[b]]; } return a; }
â 説æ
JSONãªã©ã§ãé層ãæ·±ããªãã¸ã§ã¯ãã使ãæãããã¨æãã¾ãã
âãããªã®
var obj = { "fir":{ "sec":{ "thi":"å ¥ã£ã¦ããï¼" } } }
ãã®å ´åãå¤æ°ããobj.fir.sec.thiãã¨æ¸ãã¨å¼ã³åºããã¨ãã§ãã¾ãã便å©ã ãï¼
ãããåå¨ãã§ãã¯ãããå ´åã¯ãobj.fir.sec.thi != undefinedãã¨ãã¦ããã¡ãªæãããã¾ãã
ä¾ãã°ãobj.hoge1.hoge2.hoge3ãçãåå¨ãã§ãã¯ããã¨ã©ããªãã§ããããï¼
çãã¯ãªãã¡ã¬ã³ã¹ã¨ã©ã¼ã«ãªããundefinedãã帰ã£ã¦ãããã³ã¼ããæ¢ã¾ãã¾ããï¼åç
§ã¨ã©ã¼ã¨ãããï¼
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Errors/Undefined_prop
ãobj.hoge1.hoge2.hoge3ãã¨æ¸ãã¨ãobj.hoge1ãåå¨ãªãï¼undefinedï¼ãobj.hoge1.hoge2ã¯åå¨ãªãã®ã¨ããããåç
§ãããã¨ãã¦ããã®ã§ããªãã¡ã¬ã³ã¹ã¨ã©ã¼ã«ãªãã¨ãããã¨ã§ãã
ãããåé¿ããããã«ã¯ãURLã«ãæ¸ããã¦ããéãhoge1ãä½ã£ã¦ããhoge2ã®åå¨ãã§ãã¯ãããããã¨ã©ã¼ãèµ·ããåã«æ¢ããããããã¾ããã
ã¨ã©ã¼ãèµ·ãããªãããã«æ®éã«æ¸ãã¨ãããªãã¾ãã
if(obj){ if(obj.hoge1){ if(obj.hoge1.hoge2){ â¦
ãããç¡çãé¢åãããã
ã¨ãããã¨ã§é¢æ°ã§ããã¾ããããRubyã«ã¯digã¨ãã便å©ãªå½ä»¤ãããã¾ãã
ç°¡åã«è¨ãã°ãæ·±ãé層ã«ããå¤ãåå¾ã§ãã¦ãKeyãè¦ã¤ãããªãå ´åãã¨ã©ã¼ã«ãªããã«NULLãè¿ããå½ä»¤ã§ããä»åã®ãããããã¨ãã®ãã®ã§ããï¼
ãããjqueryã§å®è£
ãã人ãããã®ãã¿ã¤ãã¦ããããjqueryãªãã«ããã®ãä»åã®ã³ã¼ãã§ãã使ããªãæããããããjqueryâ¦
var flg = ischeck_dig("obj.hoge1.hoge2.hoge3"); function ischeck_dig(path){ var a,b; a = window; path = path.split("."); for(b in path){ if(a === void 0){ break; } if(!a[path[b]]){ a = void 0; break; } a = a[path[b]]; } return a; }
使ãæ©ä¼ãªãããã ããobjã¯åã£ã¡ããã¾ãããã¤ããã人ã¯å
ã³ã¼ããã¿ãã®ãããï¼æãããï¼
å¼æ°ã¯æååã«ãã¾ããé¢æ°å
ã§splitãã¦ãé çªã«åå¨ãã§ãã¯ããã¦ããå½¢ã
void 0ã£ã¦ããã®ã¯undefinedã®ãã¨ã§ãã
ããã§ããã©ãããã®ã¨ã¯ãããã°ã§ãããã
ãªãè¨äºã«ãããã£ã¦ï¼å
ã³ã¼ããããè¨äºãæ¤ç´¢ã§å
¨ç¶å¼ã£ããããªãã£ãããã ãâ¦æ¤ç´¢ä»æ¹ãæªãã£ãã®ããããã©ã
tukihatu-alamode.rhcloud.comãè½ã¡ã¦ã件
ç±å¿ãªã¦ã¼ã¶ã¼ã¯ããããããã³ããè¦ããããããªãã®ã§ä¸å¿ã
ç¾å¨ãªããhttp://tukihatu-alamode.rhcloud.comã ãè½ã¡ã¦ãã¾ãã
ãµã¼ãåèµ·åãã¦ãæ²»ãã(ã¨ãããæ£å¸¸å¤å®ããã)ãã©ããããããªãç¶æ³ã§ãããã¾ã¬ã
DNSãããããã®ããªï¼
æéçµéã§æ²»ããå¾
ã£ã¦ããã¨ããã§ãã
ah-placeholder.jsã¯placeholderå¤ã¨åãæåãå ¥åã§ããªã
ah-placeholder.jsãä½ã£ã¦ããã人ã¯ãã£ã¨ãã°ããããã§ããããã©â¦
ã¡ããã¨ä»æ§æ±ºãã¦ãªããããplaceholderå¤ã¨åãæåãå
¥åã§ããªããã£ã¦ããã®ãå¼ã£ãããã¨ããããããã§ã
ãããã£ã¨IE8ããã®åªç¸ãã解ãæ¾ãããã¨æã£ããIE8対å¿ãã¾ã ã¾ã ããç¾å®ã
ãããªä¸ã§ãï¼ç§ãããªã誰ããï¼ä½ã£ãJSãIE8ã§ãã¾ãåãã¦ãªãï¼ç´ãã¦ï¼ãã¨æ¥ãã®ã§è¦ã¦ã¿ãã¨ah-placeholder.jsããããã«ã¡ã¯ã
ã¨ããããç¨ä»¶çã«ã¯
ã»placeholderå¤ã¨åãæåãå
¥åã§ããªããããªãã¨ããã¦
ã»ä½ãå
¥åãã¦ããªãã¨placeholderå¤ããã©ã¼ã ã«éããã¦ãã¦ãã¾ããããªãã¨ããã¦
ã¨ã®ãã¨ã§ããã
æ£ç´placeholderãªãã¦éè¦ãããªãã ããIE9以ä¸ã¯placeholderãªãã«ããããâ¦ã¨ãã¤ãæãã
ããã¼ãã¼ãªã¼ã¨æã£ã¦ãããä½ã£ã人ãç¾ãã¦
ããã£ã¡ã®JSã«å¤ãã¦ãã ããï¼ã©ããããæ¾ã£ã¦ããï¼ã
ã¨ããã®ã§ã©ããã¼ã¨æãå®è£
ã
大ä½OKã§ãããtextareaé¢ä¿ã§è¦éãããªããã°ããã£ãã®ã§å¾®ä¿®æ£ã
placeholderã¯IE9ã対å¿ã§ãã¦ããªããããIE9ãæ»ã¬ã¾ã§ã¾ã ã¾ã ããããã使ãããã§ãã
ä¸å¿ã½ã¼ã¹ä¹ãã¦ããã¾ããã»ã¼äººã®ã½ã¼ã¹ã ãã©ã
å
ã½ã¼ã¹æ¤ç´¢ãããã§ãããããããªãã£ãããã¶ãæã£ã¦ãã人ãããã«æ¹ä¿®ããã®ã ããã
転å¤å
ãããã£ããæãã¦ãã ããã楽ããã¦ããã£ãããã²ç´¹ä»ãããã®ã§ï¼¾ï¼¾ï¼
使ãæ¹ã¯jqueryãå®è£
ãã¦placeHolderå±æ§ã使ãã ãã§ãã
JSã
<!--[if lte IE 9]> <script src=""></script> <![endif]-->
ã§å²ãã°å®ç§ã§ãã
JS $(function() { function placeHolder() { $('[placeholder]').each(function() { var inputW = $(this); if(!inputW.closest('.inputWrap').is('*')){ inputW.wrap('<span class="inputWrap"></span>'); } var wrap = inputW.closest(".inputWrap"); var label = $('<label />').appendTo(wrap); label.attr({'for': inputW.attr("id"), 'class': 'placeholder01'}).html(inputW.attr('placeholder')) if(wrap.find('textarea').is('*')){ wrap.addClass('inputWrapTextarea'); } inputW.focus(function () { label.hide(); }).blur(function () { if (this.value == '') { label.show(); } else { label.hide(); } }); $(document).on('click', '.inputWrap > label', function() { $(this).siblings('input,textarea').focus(); }); if ($(this).val()) { label.hide(); } }); } placeHolder(); });
CSS .inputWrap { position: relative; } label.placeholder01 { position: absolute; top: 2px; left: 5px; color: #999; font-size: 16px; white-space: nowrap; cursor: text; } .inputWrapTextarea .placeholder01{ display:inline-block; width:92%; top:auto; margin-top:7px; white-space:normal; }
SA.YO.NA.RA. IE7ã¨IE8
ããã£ã»ããããããï¼ã¤ãã«IE7ã¨8ã¨ãããªãã§ãããï¼å¬ããï¼è¶ å¬ããï¼
IE7ã¯IE6ã¨åãããããããã馬ã ã£ããã»ãã¨ãããã£ããã¼ã
ç¥æ¯ãããããç¥æ¯ï¼
ãããIE8ãã亡ããªããªã®ã¯æ®å¿µãããããã¨å®å®ãã©ã¦ã¶ã ã£ãæ°ããããã¢ããªã³å ¥ããªããã°åªç§ã ã£ãã
ããã¦ä»åº¦ããã¯IE9ã¨ã®æ¦ããå§ã¾ãã¾ãã
ãããã¾ããã³ã³ããã©ã¦ã¶ã§ãã¦â¦IE10ãªãã ãã¶ãã·ãªãã§ããã©ããIE9ã¯çµæ§ãã°å¤ãã£ãæ°ããã¾ãã
ãã¡ãã¯2017å¹´4æ以éã¾ã§ã¯æ¦ããç¶ãï¼ã®ã§ããã°ãã¾ããããâ¦æ©ãå ¨é¨ã¨ãã¸ã«ãªã£ã¦ãã ããã
PHP7ãEXEã«ã³ã³ãã¤ã«ããæ¹æ³ï¼PHP7ï¼WinBinderï¼VBSï¼
試è¡é¯èª¤ã®çµæå®è¡ãã¡ã¤ã«ã§ããã£ã½ãã®ã§ãããæ¹ãæ¸ãã¦ããã¾ãã
ç°å¢ï¼WIN7home
é·ãåç½®ããé£ã°ãããæ¹ã¯ãã¡ã
æè¿ãããããã£ã¦ãPHPãå®è¡ãã¡ã¤ã«ã«å¤æããæ¹æ³ãæ¢ãã¦ãã¾ããã
æ¤ç´¢ã§èª¿ã¹ã¦ã¿ãã¨ãbamcompileãã¨ãHC-Standalone-S+ãã¨ãããã¼ã«ã®äºã¤ãçºè¦ã
WinBinderã§è¡¨ç¤ºãã¶ã¤ã³ããã¦ãã¼ã«ã§ã³ã³ãã¤ã«ããã°OKã¨ãããã¨ãªã®ã§ãã£ã¦ã¿ã¾ããã
ä¸ã¤ç®ã®bamcompileã¯PHPã®å®è¡ã¨ã³ã¸ã³ãçµã¿è¾¼ãã§ããã®ã§ã³ã³ãã¤ã«å¾ã¯åä½ã§åä½å¯è½ã
ãããçµã¿è¾¼ã¾ãã¦ããå®è¡ã¨ã³ã¸ã³ãPHP4ã®ããå¤ãã
ã¾ããã£ãã·ã¥ã®å½±é¿ãªã®ãã³ã³ãã¤ã«ã«æåããã失æãããã§ã¨ã«ããå®å®ãã¾ããã§ããã
äºã¤ç®ã®HC-Standalone-S+ã¯ææ°ã®PHP7ã使ãã¦ãã¼ã«ãGUIã®ããå¤å°ããããããã£ãã§ãã
ãããã¢ããªã±ã¼ã·ã§ã³ã¿ã¤ãã®windowsã§ã¯ç°å¢ã®ãããã©ããã¦ãã³ã³ãã¤ã«å¾ã«èµ·åã§ãããWinBinderã使ã£ãWindowsã¢ããªã±ã¼ã·ã§ã³ã¯ä½æã§ãã¾ããã§ãããï¼ãã©ã¦ã¶ã¢ã¼ããªãä½æã§ããï¼
ã»ã¨ã»ã¨å°ãæã¦ã¦ããPHPãã¼ã¸ã§ã³ã¯ãããªãã§ãããããã¡ããã¨PHPï¼WinBinderãï¼ç¾ç°å¢ã§ï¼ã³ã³ãã¤ã«ã§ãããã¼ã«ã¯ãªãã®ãï¼ãã¨æ¢ãã¦ããã¨ãããè¦ã¤ãã¾ããï¼
ããããã¡ãã®ãã¼ã«ãP2Xãã§ãï¼ï¼ã§ã§ãï¼ï¼
http://www.vector.co.jp/soft/dl/win95/prog/se365730.html
èªåã§è¨ãã®ããªãã§ããããããã®ãã¼ã«è¦ã¤ãããããªâ¦ã¨ããã¬ãã«ã®å¼ã£ããããªãã
ããããã®ã¯ãããã®ãã¼ã«ã¯2005å¹´ã«ä½ããã¦æ´æ°ããã¦ããªãã®ã§å¤ãããä½ã£ããµãã¼ããã¼ã ãã¼ã¸ã¯ã¨ã£ãã«æ¶æ»
ãã¦ããããã§ãã
ãªã®ã§ãã¦ã³ãã¼ãã§ããªããªã£ããçµããâ¦ã¯ãããã¦ã³ãã¼ããããã ï¼ï¼æ¶ãããåé
å¸ãããããããï¼
P2Xã¯èªåã§ç¨æããPHPå®è¡ã¨ã³ã¸ã³ãã¨EXEãã¡ã¤ã«ã«ã³ã³ãã¤ã«ã§ãã¾ãã
ãã®ä»æ§ã®ãããã§PHP7ãPHP5ã®ææ°çã«ã対å¿ããããã¨ãã§ãã¾ããå¤ããã¼ã«ã§ãããWIN7ã§ãåãã¾ããã
é£ç¹ã¨ãã¦ã¯å®è¡ã¨ã³ã¸ã³ãã¨ã³ã³ãã¤ã«ããã®ã§å®¹éãéãï¼æå°å®¹éã8MBãããï¼ã®ã¨ãèµ·åæã«CUIã®ã³ã³ã½ã¼ã«ã表示ããã¦ãã¾ããã¨ã¨ãéãæ¹ãæªãã¨TEMPãã©ã«ãã«æ®ã£ã¦ãã¾ããã¨ã§ãããããã®ãããã¯ãã®å¾èª¬æãã¾ãã
åç¨å©ç¨ã¯ã¡ã¼ã«é£çµ¡ããããã«æ¸ãã¦ããã¾ãããâ¦ãã®ã¡ã«ã¢ãçãã¦ãã®ããªï½
ã§ã¯ããæ¹ãé ã«èª¬æãã¦ããã¾ãã
å¿
è¦ãªãã¡ã¤ã«ãå¤ããã¦ã³ãã¼ããããã®ããã£ã±ãããã¾ãã
ãªã³ã¯ã¯ç¡æè¨è¼ãªã®ã§æããããç´ãã¾ããï¼æ£ï¼
åå¿è
ãªã®ã§èª¬æãããã«ããã§ããæå·åãªã©ã¯ç¡è¦ãã¦ãã¾ããããæ¹ã¯ããã¨æãã®ã§èª¿ã¹ã¦ã¿ã¦ãã ããã
ç°å¢ã«ãã£ã¦ã¯ãã¾ããããªããã¨ãããããããã¾ããã®ã§ãäºæ¿ãã ããï¼ãºããï¼
ï¼è¿½è¨ï¼
ä½ããã¨ã¯ã§ããã®ã§ãããMVCãªã©ã®æ©è½ã¯ãªããããæã£ã¦ãããããªããã°ã©ã ã¯ä½ããªãããããã¾ãããã¡ããã¨ãããã®ãä½ãããå ´åã¯VCï¼ï¼ã®ã»ããããã¨æãã¾ãã
1.P2Xããã¦ã³ãã¼ãããã
ã¡ã¤ã³ç°å¢ã®P2Xããã¦ã³ãã¼ããã¾ããã³ã¼ãç·¨éãªã©ããã®ãã©ã«ãå
ã§è¡ããã¨ã«ãªããã¡ãªã®ã§ã使ããããã¨ããã«ç°å¢ãä½ã£ã¦ãã ããã
ä»åã¯ãC:\p2x\ãã¨ããå ´åã§è©±ãé²ãã¾ãã
ãP2Xã
http://www.vector.co.jp/soft/dl/win95/prog/se365730.html
ãã©ã«ãé層ã¯ãããªã£ã¦ãã¾ãã
p2x â pack ï½ â index.php â sample â devp2x.exe â p2x.exe â pkp2x.exe â readme.txt
readmeã«ä½¿ãæ¹ã詳ããããã»ã©ä¹ã£ã¦ãã¾ãããµã³ãã«ã¯ä½¿ããªãã®ã§åé¤ãã¦ãOKãä»ådevp2x.exeã®ä½¿ãæ¹ãå²æãã¾ãã
ãpackããã©ã«ãå
ã«ã³ã³ãã¤ã«ãããã¼ã¿ãå
¥ãããã¨ã«ãªãã¾ãã
ä»åã¯ä½æ¥ãã©ã«ãã¨ãã¦ã使ã£ã¦ãã¾ãããä½æ¥ãã©ã«ãã¯å¥ã«ä½ã£ã¦ããã¾ãã¾ããã
2.PHPå®è¡ã¨ã³ã¸ã³ããã¦ã³ãã¼ãããã
ããã°ã©ã ã§ä½¿ãããPHPãã¼ã¸ã§ã³ã®å®è¡ã¨ã³ã¸ã³ããã¦ã³ãã¼ããã¾ããï¼éãï¼
ä»å使ç¨ããã®ã¯php7.0.1ã§ããVC14 x86 Thread Safeããã¦ã³ãã¼ããã¾ãã
http://windows.php.net/download/#php-7.0
PHP5ã®å ´åã¯WinBinderã対å¿ãã¦ãã5.3.3ãããã¨æãã¾ãããã®å¾ã®ç°å¢ã¥ããã¯PHP7ã§ãPHP5ã§ããã¾ãå¤ããã¾ããã
å¤ãã®ã§ã¢ã¼ã«ã¤ããããã¦ã³ãã¼ããã¦ãã ããã
http://windows.php.net/downloads/releases/archives/
php-5.3.3-Win32-VC9-x86.zip
3.P2Xç°å¢ã«ãã¦ã³ãã¼ãããPHPå®è¡ã¨ã³ã¸ã³ãã³ãã¼ããã
ä¸ã¤ã®ããã°ã©ã ã«ã¤ãä¸ã¤ã®PHPå®è¡ã¨ã³ã¸ã³ãå¿
è¦ã«ãªãã¾ãã®ã§ç§»åããã³ãã¼æ¨å¥¨ã§ãã
ãpackããã©ã«ãå
ã«PHPå®è¡ã¨ã³ã¸ã³ããã©ã«ããã¨ã³ãã¼ãã¦ããã©ã«ãåããphpãã«ãªãã¼ã ãã¾ã
p2x â pack ï½ â index.php ï½ â php(php-7.0.1-Win32-VC14-x86ããªãã¼ã ) ï½ â dev ï½ â â¦â¦ ï½ â php.ini(php.ini-developmentããªãã¼ã ) â p2x.exe â pkp2x.exe â compile.bat(èªä½) â cuistart.bat(èªä½)
ã³ãã¼ãããæ©éåä½ãã§ãã¯ãã¦ã¿ã¾ããããindex.phpã«ã¯æåããããã¼ã¯ã¼ã«ããæ¸ãã¦ããã¾ãã
php.iniã¯ã©ã¡ãã§ãããã§ããä»åã¯php.ini-developmentããªãã¼ã ãã¾ãã
ãP2Xãã¯CUIã§å¼ã³åºãå¿
è¦ãããã®ã§ããããã¡ã¤ã«ãä½ãã¾ããä»åã¯compile.batã¨ãã¾ãã
ããã¹ããã¡ã¤ã«ãcompile.batã«ãªãã¼ã ãã¦ãä¸ã®ããã¹ããä¸ã®ããã«æ¸ãã¾ãã
compile.bat
pkp2x.exe pause
pauseã¯ç¡ãã¦ãOKã ãã©ä¸å¿ãä½æãããä¸ã®ãã©ã«ãé層ã®ããã«ç½®ãã¦ãã ããã
compile.batãå®è¡ãã¾ãã
æåã¨åºãã°ã³ã³ãã¤ã«å®äºã§ãã
ãã©ã«ãå
ã«ãa.exeãã¨ãããã¡ã¤ã«ãã§ãã¦ãã¾ããP2Xã®å ´åã¯ä½æããããã¡ã¤ã«åãå¤æ´ã§ãã¾ããã
a.exeãå®è¡ããã¨ããã¼ã¯ã¼ã«ãã表示ããã¾ããããéãã¦ãã¾ãã®ã§CUIãã¹ãã®ããã«cuistart.batãä½ã£ã¦ããã¾ãããã
cuistart.bat
a.exe pause
cuistart.batãå®è¡ãã¾ãã
ã¯ã¬ã¸ããã®å¾ã«ããã¼ã¯ã¼ã«ãã表示ããã¾ãããP2Xãã§ä½ã£ããã®ã¯å¿
ãã¯ã¬ã¸ãããå
¥ã£ã¦ãã¾ãã¾ããæçµç³»ãGUIã§ããã°é¢ä¿ãªãã§ãããæ¶ããã人ã¯ãã¤ããªã¨ãã£ã¿ã§ããã°ã£ã¦ãã ããã
ã¨ã©ã¼ã«ãªã£ãããããã¼ã¯ã¼ã«ãã表示ãããªãå ´åã¯ä½ããããããã§ãã
ããããã¨ãããç¡ãå ´åã¯ãç¾å¨ã®ç°å¢ã§ã¯ãP2Xãã使ããªãå¯è½æ§ãããã¾ãã®ã§ãã®å¾ã®èª¬æã¯å½¹ã«ç«ã¡ã¾ããããã©ã¦ã¶ããã¯ãã¦ãã ããâ¦ã¾ããã¦ãï¼
4.PHPå®è¡ã¨ã³ã¸ã³ã軽éå
ç¡äºã³ã³ãã¤ã«ã§ããã容éã確èªãã¦ã¿ã¦ãã ãããã¨ã¦ã¤ããªãéãã§ãã
ããã¯ãpackããã©ã«ãå
ã®ãã¹ã¦ã®è¦ç´ ãã³ã³ãã¤ã«ãã¦ããããã§ãããphpããã©ã«ãå
ã®æ®ã©ã®ãã¡ã¤ã«ã¯ãããªãã®ã§æ´çãã¾ãã
p2x â pack ï½ â index.php ï½ â php ï½ â ext ï½ ï½ â php_mbstring.dll(使ãdllã ã) ï½ ï½ â â¦â¦ ï½ â php.exe ï½ â php7ts.dll(php5ts.dll) ï½ â php.ini â p2x.exe â pkp2x.exe â compile.bat â cuistart.bat
phpå®è¡ã¨ã³ã¸ã³ã¯ã¯ããphp.exeãã¨ãphp7ts.dllãããããã°åãã¾ãã
ããã«è¨å®ç¨ã®ãphp.iniãã¨æ¡å¼µæ©è½ã®ãextããã©ã«ããæ®ãã¦ããã¾ãã
ãã®ä»ã®ãã©ã«ãã¨ãã¡ã¤ã«ã¯åºæ¬ä½¿ããªãã®ã§åé¤ãã¦ã大ä¸å¤«ã§ãã使ãå ´åã ãæ®ãã¦ããã¦ãã ããã
ãextããã©ã«ãå
ã使ããªãæ¡å¼µæ©è½ã¯åé¤ãã¦ããã¾ããããç¹ã«ç®çããªããã°mbstring以å¤ãããªãã§ããããä»åã¯mbstringã ãã§é²ãã¾ãã
ããã§å度ã³ã³ãã¤ã«ããã¨9MBãããã«ã¯ãªãã¯ãã§ãã
ãã£ã¨å®¹éãæ¸ããããå ´åã¯php.iniå
ã®ã³ã¡ã³ããåé¤ããã¨ããã¦ãã ããã
php.iniã®è¨å®ã¯è¿½å ããdllãããã®ã§å¾ã§ããã¾ããï¼ãã¡ããä»ãã£ã¦ããã¦ãOKï¼
5.WinBinderãã¤ã³ã¹ãã¼ã«
PHPãGUIåããã®ã«ä»åã¯ãWinBinderãã使ãã®ã§ãã¦ã³ãã¼ããã¾ãã
ææ°çã§ããã¨æãã¾ããWinBinder.2010.10.14.zip
http://winbinder.org/download.php
å¤ãphpãã¼ã¸ã§ã³ï¼5.1以ä¸ï¼ã使ãå ´åã¯WinBinder-0.46.0.zipããã¦ã³ãã¼ããã¦ãã ããã
ãphpããã©ã«ãå
ã«ã³ãã¼ãã¾ãã
p2x â pack ï½ â index.php ï½ â php ï½ â ext ï½ ï½ â php_mbstring.dll ï½ ï½ â php_winbinder.dll(WinBinderã®æ¡å¼µdll) ï½ â WinBinder ï½ ï½ â phpcode ï½ ï½ â include ï½ ï½ â â¦â¦ ï½ â php.exe ï½ â php7ts.dll(php5ts.dll) ï½ â php.ini â p2x.exe â pkp2x.exe â compile.bat â cuistart.bat
ãWinBinderããã©ã«ãå
ãåãããããªããã¡ã¤ã«ãããã®ã§åé¤ãã¾ãã
ãphpcode\includeããã©ã«ãã¨ãbinariesããã©ã«ã以å¤ã¯ããã¾ããã
ãbinariesããã©ã«ãã«ã¯PHPã®åãã¼ã¸ã§ã³ã«ãããããphp_winbinder.dllããå
¥ã£ã¦ãã¾ãã®ã§ãextããã©ã«ãã«ç§»åããã¦ãã ããã
移åããããå¾ã¯ããã¾ããã®ã§åé¤ãã¦ãã ããã
ææ°çã«ã¯php5.3.3ã ããå
¥ã£ã¦ãã¾ãã
php7ã®å ´åã¯ãã©ã¿ã¯ãªã¨ã¤ããããæä¾ï¼ãã¦ãããã®ã使ç¨ãã¾ãã®ã§ãã¦ã³ãã¼ããã¦ãã ãããï¼æä¾å
ã確èªã§ãã¾ããã§ããï¼
WinBinder_PHP-7-0.zip
https://docs.google.com/uc?authuser=0&id=0B76nq_y0gvBpcHVuR003UlRIZnM&export=download
php5.1以ä¸ã¯WinBinder-0.46.0.zipã«å
¥ã£ã¦ãã¾ãã
ãã¼ã¸ã§ã³ã«ãããããphp_winbinder.dllãããªãå ´åã¯åããªãå¯è½æ§ãããã¾ãã®ã§æ³¨æãã¦ãã ããã
6.php.iniã®ç¹æ®è¨å®
ãP2Xãã§ã®è¨å®ã¨ãphp_winbinder.dllãã使ãããã®è¨å®ãã¾ãã
php.ini
//extension_dirã以ä¸ã«å¤æ´ï¼P2Xã§ã®ã«ã¼ã«ï¼ extension_dir = "<<TEMP>>/php/ext/" //extensionã¯mbstringã使ãã®ã§ã»ãã³ãã³å¤ã extension=php_mbstring.dll //extensionã®ä¸ã«php_winbinder.dllã追å extension=php_winbinder.dll //date.timezoneãæ±äº¬ã« date.timezone = "Asia/Tokyo" //mbstringã®è¨å®ï¼ãä»»ãã§ï¼ mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.http_output = UTF-8 mbstring.encoding_translation = Off mbstring.detect_order = auto
7.ã¡ã¤ã³ç°å¢å®æï¼åä½ãã¹ã
ããã§ã¡ã¤ã³ç°å¢ã®æ§ç¯ã¯å®äºã§ãããç²ãæ§ã§ããã
ãã¨ã¯ç¨éã«å¿ãã¦è¿½å ãã¦ãã£ã¦ãã ããã
åä½ãã¹ãããã¾ãã
ä»åã¯èªåã§ä½ãã®ãé¢åã ã£ãã®ã§ãµã³ãã«ããã°ã©ã ããåããã¾ãï¼ãåããã¾ãï¼ããã¾ããï¼
http://www.pahoo.org/e-soul/webtech/php04/php04-04-01.shtm
ãµã³ãã«ããã°ã©ã ãããmakepassword.phpwãã¨ãmakepassword.rcãããpackããã©ã«ãã«ã³ãã¼ãã¾ãã
p2x â pack ï½ â index.php(makepassword.phpwããªãã¼ã ) ï½ â makepassword.rc ï½ â php ï½ â ext ï½ ï½ â php_mbstring.dll ï½ ï½ â php_winbinder.dll ï½ â WinBinder ï½ ï½ â phpcode ï½ ï½ â include ï½ ï½ â â¦â¦ ï½ â php.exe ï½ â php7ts.dll(php5ts.dll) ï½ â php.ini â p2x.exe â pkp2x.exe â compile.bat â cuistart.bat
ãmakepassword.phpwãã¯ãindex.phpãã«ãªãã¼ã ãã¾ãããP2Xãã§ã¯æåã«å¼ã°ããã½ã¼ã¹ã¯index.phpã§åºå®ã§ãã
ãP2Xãã§ã¯ãã®ã¾ã¾ã§ã¯åããªãããããindex.phpããä¸é¨ä¿®æ£ãã¾ãã
index.php
include 'php/WinBinder/phpcode/include/winbinder.php'; // WinBinderã©ã¤ãã©ãª eval(parse_rc(file_get_contents(dirname(__FILE__).'/makepassword.rc'), '$mainwin', NULL, ResizableWindow, APPNAME, WBC_CENTER, WBC_CENTER, 320, 280, 0, 0));
ä¿®æ£ã¯é©å½ã§ãããã£ã¨ãã¾ãããæ¹ããã¨æãã®ã§ãä»»ããã¾ãã
ä¿®æ£ããããcompile.batããå®è¡ãã¦ã³ã³ãã¤ã«ãã¾ãã
ä»åã¯GUIãªã®ã§ãa.exeãããã®ã¾ã¾å®è¡ãã¦åä½ç¢ºèªã§ãã¾ãããµã³ãã«ããã°ã©ã ã®GUIã表示ã§ããã°æåã§ãã
åããªãã£ãå ´åã¯ãcuistart.batããå®è¡ããã¨ã¨ã©ã¼ã表示ã§ããã®ã§ãããä¿®æ£ãã¾ãããã
注æã¨ãã¦ãåä½ä¸ã«ã³ã³ã½ã¼ã«ãå¼·å¶çã«éãã¦ãã¾ãã¨ï¼å³ä¸ã®éãããã¿ã³ãªã©ï¼ãTEMPãã©ã«ãã«ããã°ã©ã ããã¾ã£ã¦ãã¾ãã®ã§ãæ°ãã¤ããã ããã
8.ã³ã³ã½ã¼ã«ãæ¶ãããã«VBSããèµ·åãã
ããã°ã©ã ã¯ã³ã³ãã¤ã«ã§ãã¦å®æãã¾ããããGUIããã°ã©ã ã§ãã³ã³ã½ã¼ã«ãæ®ã£ã¦ãã¾ãã¾ãã
ãP2Xãã§ã¯å¿
ãCUIã§ã®ã³ã³ãã¤ã«ã«ãªãã®ã§é表示ã«ã§ãã¾ããã
ã¾ããããã¿ã¿ããªã±ã¼ã³ãªã©ã§CUIããGUIã«å¤æ´ãã¦ã¿ã¦ããã¤ããªã¨ãã£ã¿ã§æååã£ã¦ã¿ã¦ãã³ã³ã½ã¼ã«ãé表示ã«ã¯ã§ãã¾ããã§ããã
ä»æ¹ãç¡ãã®ã§åä½ããã°ã©ã ã諦ããVBSããèµ·åãã¾ãã
p2x â pack ï½ â index.php ï½ â makepassword.rc ï½ â php ï½ â ext ï½ ï½ â php_mbstring.dll ï½ ï½ â php_winbinder.dll ï½ â WinBinder ï½ ï½ â phpcode ï½ ï½ â include ï½ ï½ â â¦â¦ ï½ â php.exe ï½ â php7ts.dll(php5ts.dll) ï½ â php.ini â p2x.exe â pkp2x.exe â compile.bat â cuistart.bat â bin.exe(a.exeããªãã¼ã ) â start.vbs
a.exeã§ã¯æ ¼å¥½ãæªãã®ã§å¥½ãã«ãªãã¼ã ãã¾ããä»åã¯bin.exeã
start.vbs
Set ws = CreateObject("Wscript.Shell") ws.run "bin.exe", vbhide
ãstart.vbsããæ¸ãããå®è¡ãã¾ããå®è¡ããã¨GUIã ãã表示ãããã¨ãã§ãã¾ããã
MakeExeã使ã£ã¦vbsãEXEãã¡ã¤ã«ã«å¤æãã¾ãã
http://www.vector.co.jp/soft/winnt/prog/se389017.html
æçµçã«æä¾ããããã°ã©ã ã¯ãbin.exeï¼ã¡ã¤ã³ããã°ã©ã ï¼ãã¨ãstart.exeï¼bin.exeãå¼ã³åºãã ãã®ããã°ã©ã ï¼ãã®äºã¤ã«ãªãã¾ããã
ããã ã£ããä»ã®ãå¤ã§ããã£ããªâ¦
etc.P2Xã«ã¤ãã¦
æè½ãªãã¼ã«ã§ããå¼±ç¹ã¯çµæ§ããããã§ãã
ã»å
¥åºåã®ããã°ã©ã ã®ãã¼ã ãåºå®ã®ããè¤æ°ã®ããã°ã©ã ãä½ãã¨ãã¯æ··åããã¡
ã»ã³ã³ã½ã¼ã«ããå¼·å¶çµäºããã¨TEMPãæ¶ããã«æ®ãã®ã§å®¹éå§è¿«ããï¼p2x0ãï¼
ã»æå·åã¯ãã¦ãããªã
å´ã®ç¨æã¯æ´ã£ãã®ã§ãã¨ã¯ä¸èº«ãä½ãããã ãã§ããâ¦
Win7ã§bamcompileã使ãã¨æ£ããEXEåã§ãããã§ããªãã£ãã
æªè§£æ±ºã
ãããã«bamcompileãå¤ãã®ã§ã§ããªãã®ããããã¾ãããã
ãµã³ãã«ãã³ã³ãã¤ã«ããã¨ãã¾ããã£ããè¡ããªãã£ãããã¾ãã
ãã¾ãããã®ã¯æåã«èµ·åããã¨ãã ãã
ãã¾ããããªãæã¯ãã¢ã¤ã³ã³æå®ãã¦ããã®ã«ã¢ã¤ã³ã³ã表示ãããªãã£ããã容éã500kbãããã«ãªã£ã¦ãã¾ã£ãããã¾ããæåã«èµ·åããã¨ãã§ã失æãããã¨ãã
ããããâ¦ã¨ãããã»ã¼ãã£ãã·ã¥ã®ããã ã¨æãã®ã§ãããäºæã¢ã¼ãã«ãã¦ãtempãã©ã«ããåé¤ãã¦ã¿ã¦ãå¹æãªãã
ããã¼ãï¼
ã¾ãWin7ã¨æã®Winã¨ã§ã³ãã³ãããã³ããã®ç¨®é¡ãå
¨ç¶éãã¨æãã®ã§ãããããªã£ã¦ããã®ãããããªãã
VirtualBoxã§WINXPèµ·åãã¦ãã£ã¦ã¿ãããã ãã©è·å ´ã§ã¯ã§ããããªãã
ãã£ãããã½ã³ã³åèµ·åããã®ãé¢åã ãããããåèµ·åãããããªãã®ããªãã