今更だが、MacBook Pro late2006 にWindows10 64bitをインストール★
今更だが、MacBook Pro late2006 にWindows10 64bitをインストールしてみました。
macOSから、FATパーテション作って、Windows10入れようとするが
なんと、Windows10のインストールDVDから起動しない(T_T)
しょうがないので、Windows7 64bitをインストール!!
さらに、Windows10にアップグレード!!
Windows10のインストールが終わり、ドライバーを入れようとしていると
なんか、動作がおかしい&すごく遅い!!
どうも、ハードディスククラッシュ(T_T)
ハードディスク入替えて、macOSからインストールし直し(T_T)
やっと、Windows10にてドライバーインストール!!
ここから、技あり??
ビデオはATI X1600 > iMac Late2006とかと一緒でSnowleopardの中のBootCampドライバーで対応可能!!
私は、インストーラー使わずに、ATISetup.exeを解凍し、
ATISetup\Packages\Drivers\Display\LH6A_INF\CH_75041.inf
を右クリックインストール
お、ちゃんと1440x900になりました。
その他ドライバーは64bitなので、bootcamp5.1.5722からインストールなのですが
当然普通にはインストール出来ません。
コマンドプロンプトを管理者にて起動してBootCamp.msiを手動起動!!
BootCamp\Drivers\Apple\BootCamp.msi
まだ、audioとiSightのドライバーが入らない(T_T)
audioは調べてみるとIDT
なのでiMac Late2006用のBootCamp4.0.4033から流用ですが、やっぱり64bitなので
手動インストール(T_T)
SigmaTelSetup.exeをダブルクリック!
BootCamp\Drivers\IDT SigmaTel\SigmaTelSetup.exe
音、鳴った!!
さらに、AppleiSightInstaller64.exeをダブルクリック!
BootCamp\Drivers\Apple\x64\AppleiSightInstaller64.exe
これにて、ドライバーインストール完了!!
まだまだ、現役で使えるか?
javascript 非同期Ajaxでjson読込!(新元号表示対応)
w2ui gridでのjson読込、書込のつづきぽい(´・ω・`)
javascripでjson読むのAjaxでgetしなきゃなのですが
今どきのAjaxは非同期推奨!!
jQueryのDeferred使って
json読み込んだら処理!を書いてみますた。
(便利!!)
拙いコードですがm(_ _)m
var garr; //json読込用配列<グローバル変数 var deferred = new $.Deferred(); //Deferredオブジェクト作成<グローバル $(function () { getJson(); //Ajax json読込 }); //Deferredオブジェクトに通知がきたら処理 deferred.done(function(){ console.log(garr); //読み込んだ配列 }); //Ajax json読込 function getJson(){ $.ajax({ type: "GET", url: "data/data.json", //jsonファイル指定 dataType : "json", scriptCharset: 'utf-8' }).done(function(data){ garr = data; //配列にjsonを入れる。 }).fail(function(XMLHttpRequest, textStatus, errorThrown){ alert(errorThrown); }).always(function(){ deferred.resolve(); //ajax処理を終了したことをDeferredオブジェクトに通知 }); return deferred; }
おまけの、和暦出力ファンクション
読み込むjson
{"total":5,"records":[{"recid":"1","gengou":"明治","sdate":"1868\/01\/25"},{"recid":"2","gengou":"大正","sdate":"1912\/07\/30"},{"recid":"3","gengou":"昭和","sdate":"1926\/12\/25"},{"recid":"4","gengou":"平成","sdate":"1989\/01\/08"},{"recid":"5","gengou":"新元号","sdate":"2019\/05\/01"}]}
和暦出力ファンクション
function getGengou() { var weeks = new Array('日', '月', '火', '水', '木', '金', '土'); var now = new Date(); //今日 var year = now.getFullYear(); var mon = now.getMonth()+1; //month +1 var day = now.getDate(); var week = weeks[ now.getDay() ]; var hour = now.getHours(); var min = now.getMinutes(); var sec = now.getSeconds(); if(mon < 10) mon = "0" + mon; if(day < 10) day = "0" + day; if(hour < 10) hour = "0" + hour; if(min < 10) min = "0" + min; if(sec < 10) sec = "0" + sec; var tmpDate; var gstr = ''; var i = 0; var ysub = 0; var s = year + "年"; while(i < garr.records.length){ tmpDate = new Date(garr.records[i].sdate); //元号開始日 if(now.getTime() < tmpDate.getTime()){ switch(i){ case 0: gstr = garr.records[i].gengou + '以前'+ year + '年' + mon + "月" + day + "日"; break; default: if(gstr === ''){ ysub = year - (Number(garr.records[i-1].sdate.slice(0,4))-1); //元号差分 gstr = garr.records[i-1].gengou + ysub + '年' + mon + "月" + day + "日"; } break; } }else{ ysub = year - (Number(garr.records[i].sdate.slice(0,4))-1); //元号差分 if(now.getTime() >= tmpDate.getTime()) gstr = garr.records[i].gengou + ysub + '年' + mon + "月" + day + "日"; } i=(i+1)|0; } return gstr; }
w2ui gridでjson書込のサンプルコードが無いぃぃ
もうすぐ、新元号ななるから新元号対応しよう!
わざわざDBに入れるのもなんだかなぁ~!!
w2ui使ってるからjsonファイルだぁー!!
が、w2ui gridでjson書込のサンプルコードが無いぃぃ
ので書いてみた(´・ω・`)
w2uiってあんまり使われて無いのかなぁ~
DB無しで、元号名称と開始年月日の編集できます。
JSでjson読んで配列にでも突っ込んで利用してくだされ!!
拙いコードですが参考になれば。。。
{"total":5,"records":[{"recid":"1","gengou":"明治","sdate":"1868\/01\/25"},{"recid":"2","gengou":"大正","sdate":"1912\/07\/30"},{"recid":"3","gengou":"昭和","sdate":"1926\/12\/25"},{"recid":"4","gengou":"平成","sdate":"1989\/01\/08"},{"recid":"5","gengou":"新元号","sdate":"2019\/05\/01"}]}
<!DOCTYPE html> <html> <head> <title>元号名称</title> <script src="libs/jquery/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="dist/w2ui.min.js"></script> <link rel="stylesheet" type="text/css" href="dist/w2ui.min.css" /> </head> <body> <div id="grid" style="width: 240px; height: 350px; overflow: hidden;"></div> <script type="text/javascript"> $(function () { w2utils.locale('dist/locale/ja-jp.json'); w2utils.settings.dateStartYear = 1868; // start year for date-picker w2utils.settings.dateEndYear = Number(w2utils.formatDate((new Date()), 'yyyy'))+2; // end year for date-picker $('#grid').w2grid({ name: 'grid', method: 'GET', // need this to avoid 412 error on Safari url : { get : 'data/data.json', //json読込 remove : 'json.php', save : 'json.php' }, show: { toolbar : true, footer : true, toolbarColumns : false, toolbarSearch : false, toolbarInput : false, toolbarAdd : true, toolbarDelete : true, toolbarSave : true, searchAll : false }, columns: [ { field: 'gengou', caption: '元号名称', size: '120px', sortable: true, editable: { type: 'text' } }, { field: 'sdate', caption: '開始年月日', size: '120px', sortable: true, editable: { type: 'date' } } ], onAdd: function (event) { var len = w2ui['grid'].records.length; var g = 0; if(len != 0) g = Math.max.apply( null,w2ui['grid'].records.map(function(o){return o.recid;}) ); //max recid w2ui['grid'].add( { recid: g + 1, gengou: '元号名称', sdate: '' } ); } }); }); </script> </body> </html>
サーバーのPHP
<?php $_REQUEST = json_decode($_REQUEST['request'],true); //jsonを配列に読込 $jsonUrl = "data/data.json"; //JSONファイルの場所とファイル名を記述 if(file_exists($jsonUrl)){ $json = file_get_contents($jsonUrl); $obj = json_decode($json,true); }else{ $obj = array( "total"=>0, "records"=>array([]) ); //新規json用配列 } switch ($_REQUEST['cmd']) { case 'save': if ( !isset($_REQUEST['changes'][0]) ){ //form save処理 }else{ //grid save処理 for ( $i=0; $i <= count($_REQUEST['changes'])-1; $i++ ){ foreach ($_REQUEST['changes'][$i] as $k => $v) { if ($k == "recid") {$recid = $v; continue;} $array_recid = array_column($obj["records"], "recid"); //recid列 $result = array_search($recid, $array_recid); //recid検索 $obj["records"][$result][$k] = $v; //配列書込 } } $obj["records"] = array_values($obj["records"]); //indexを詰める $obj["total"]=count($obj["records"]); //total書込 $arr = json_encode($obj, JSON_UNESCAPED_UNICODE); //json作成 file_put_contents($jsonUrl , $arr); //data file 書込 $res = Array(); $res['status'] = 'success'; $res['message'] = 'save'; $res['postData']= $_REQUEST; outputJSON($res); } break; case 'delete': for ( $i=0; $i <= count($_REQUEST['selected'])-1; $i++ ){ $array_recid = array_column($obj["records"], "recid"); //recid列 $result = array_search($_REQUEST['selected'][$i], $array_recid); //recid検索 unset($obj["records"][$result]); //指定行削除 } $obj["records"] = array_values($obj["records"]); //indexを詰める $obj["total"]=count($obj["records"]); //total書込 $arr = json_encode($obj, JSON_UNESCAPED_UNICODE); //json作成 file_put_contents($jsonUrl , $arr); //data file 書込 $res = Array(); $res['status'] = 'success'; $res['message'] = 'delete'; $res['postData']= $_REQUEST; outputJSON($res); break; default: $res = Array(); $res['status'] = 'error'; $res['message'] = 'Command "'.$_REQUEST['cmd'].'" is not recognized.'; $res['postData']= $_REQUEST; outputJSON($res); break; } //w2ui res function outputJSON($data) { header("Content-Type: application/json;charset=utf-8"); echo json_encode($data); }