Android Hacks
レベルの高い書です。やりたいことがうまくまとまっていますし、入門書にありがちな後もう少し知りたいに答えて、「HackをさらにHackする」コーナがあります。
本格的なアプリを作りたいのだが、入門書だど最初のとっかかりが見つからない。そんな時に本書は有効だと思います。
日本の運命 浅井隆著
よくある破綻本の一つです。近い将来にやってくるであろう日本国の破綻について書かれています。
これだけ借金をしているのですから、貸し手がいなくなれば私も破綻は必死だと思います。
どうすれば生き残れるかのヒントも書かれていますが、抽象的かつ精神論的で残念でした。
例えば、国内の資産が駄目になったときに、有効なのはドルなのか、金なのか、ダイアモンドなどの宝石なのか等々もう少し具体的な記述が欲しかったです。
現在、円高が進行していますが、これは日本破綻への弓を弾いている状況かもしれません。引いた手を話したときに弓は放たれ、円安へと向かうかもしれません。
金やプラチナは現在、高値ですのでここはドルを現金でナンピン買いしておくのがいいかもしれません。
破綻する、破綻しない色々な本がありますが、結局それは国民の選択なのかもしれません。
本書は読みやすいので、開いた時間にあれこれ考えながら読むのにちょうどいいかもしれません。
いずれにしても、国家が破産する前に、行方不明高齢者問題や無縁社会、新卒の就職、リストラされた人の再就職など、すでに社会は破壊された感があります。
覚悟を持って、次世代のために良い社会にしたいものです。
フォームを作ってみる
<html> <head> <title>BI</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="ext/resources/css/ext-all.css" type="text/css" /> <script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext/ext-all.js"></script> <script> Ext.onReady(function () { var form01 = new Ext.FormPanel ( { url: 'form.php', renderTo: document.body, frame: true, title: 'My Form', width: 250, items: [ { xtype: 'textfield', fieldLabel: 'Name', name: 'name' }, { xtype: 'textfield', fieldLabel: 'Email', name: 'email' }, { xtype: 'datefield', fieldLabel: 'Date', name: 'date' } ] } ); }); </script> </head> <body> </body>
Validationを入れてみる。
{ xtype: 'textfield', fieldLabel: 'Name', name: 'name', allowBlank: false }, { xtype: 'textfield', fieldLabel: 'Email', name: 'email', vtype: 'alpha' }, { xtype: 'datefield', fieldLabel: 'Date', name: 'date', disabledDays: [1, 2, 3, 4, 5] }
onReadyの下にExt.QuickTips.init();をいれるとエラー時のヒントが出る。
Ext.onReady(function () { Ext.QuickTips.init(); }
vtypeを指定すると独自のValidationを設定できる。意外と下記の書き方は知られていないかも。
<html> <head> <title>BI</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="ext/resources/css/ext-all.css" type="text/css" /> <script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext/ext-all.js"></script> <script> Ext.onReady(function () { Ext.QuickTips.init(); var form01 = new Ext.FormPanel ( { url: 'form.php', renderTo: document.body, frame: true, title: 'My Form', width: 250, items: [ { xtype: 'textfield', fieldLabel: 'Name', name: 'name', allowBlank: false, vtype: 'name' }, { xtype: 'textfield', fieldLabel: 'Email', name: 'email', vtype: 'alpha' }, { xtype: 'datefield', fieldLabel: 'Date', name: 'date', disabledDays: [1, 2, 3, 4, 5] } ] } ); Ext.form.VTypes['nameVal'] = /[A-Z]/; Ext.form.VTypes['nameMask'] = /[A-Za-z]\- ]/; Ext.form.VTypes['nameText'] = 'Validation エラー'; Ext.form.VTypes['name'] = function(v) { return Ext.form.VTypes['nameVal'].test(v); } }); </script> </head> <body> </body>
まずは入門から
Learnning Ext JSという洋書を参考にしています。
メッセージボックスを表示させる。onReadyが実行されるのでその中に書く。
<html> <head> <title>BI</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="ext/resources/css/ext-all.css" type="text/css" /> <script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext/ext-all.js"></script> <script> Ext.onReady(function () { Ext.Msg.alert('Hello', 'World'); }); </script> </head> <body> </body>
次にボタンをつけてみる。
<html> <head> <title>BI</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="ext/resources/css/ext-all.css" type="text/css" /> <script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext/ext-all.js"></script> <script> Ext.onReady(function () { //これはhttp://extjs.com/s.gif を見に行かないようにするため。 Ext.BLANK_IMAGE_URL = "ext/resources/images/default/s.gif"; Ext.Msg.show( { title: 'Hello', msg: 'こんにちは', buttons: { yes: true, no: true, cancel: true } } ); }); </script> </head> <body> </body>
関数にしてみる。
<html> <head> <title>BI</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="ext/resources/css/ext-all.css" type="text/css" /> <script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext/ext-all.js"></script> <script> Ext.onReady(function () { //これはhttp://extjs.com/s.gif を見に行かないようにするため。 Ext.BLANK_IMAGE_URL = "ext/resources/images/default/s.gif"; function showMsg() { Ext.Msg.show( { title: 'Hello', msg: 'こんにちは', buttons: { yes: true, no: true, cancel: true } } ); } Ext.onReady(showMsg()); }); </script> </head> <body> </body>
変数にしてみる。
<html> <head> <title>BI</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="ext/resources/css/ext-all.css" type="text/css" /> <script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext/ext-all.js"></script> <script> Ext.onReady(function () { //これはhttp://extjs.com/s.gif を見に行かないようにするため。 Ext.BLANK_IMAGE_URL = "ext/resources/images/default/s.gif"; var myMsg = Ext.Msg.show( { title: 'Hello', msg: 'こんにちは', buttons: { yes: true, no: true, cancel: true } } ); Ext.onReady(myMsg); }); </script> </head> <body> </body>
ボタンが押された時の動作を記述してみる。
<html> <head> <title>BI</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="ext/resources/css/ext-all.css" type="text/css" /> <script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext/ext-all.js"></script> <script> Ext.onReady(function () { //これはhttp://extjs.com/s.gif を見に行かないようにするため。 Ext.BLANK_IMAGE_URL = "ext/resources/images/default/s.gif"; var myMsg = Ext.Msg.show( { title: 'Hello', msg: 'こんにちは', buttons: { yes: true, no: true, cancel: true }, fn: function(btn) { Ext.Msg.alert("押された", btn); } } ); Ext.onReady(myMsg); }); </script> </head> <body> </body>
プロンプトを表示する。
<html> <head> <title>BI</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="ext/resources/css/ext-all.css" type="text/css" /> <script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext/ext-all.js"></script> <script> Ext.onReady(function () { Ext.Msg.prompt("Hello", "何か入れて"); }); </script> </head> <body> </body>
プログレスバーを表示する。
<html> <head> <title>BI</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="ext/resources/css/ext-all.css" type="text/css" /> <script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext/ext-all.js"></script> <script> Ext.onReady(function () { Ext.Msg.wait("処理中", "ちょっと待って"); }); </script> </head> <body> </body>