テキスト広告:Amazon Primeday

金曜日, 12月 04, 2009

[JavaScript]HTML内の文字列(テキスト)を書換える

▼質問
HTML内の文字列(テキスト)を動的に書換えたいんだ。

何か良い方法はないか教えてくれ!

▼回答
あるよ!

P要素のタグで文字列を囲ってあげて

それに、id属性を付けてやって

次の様にアクセスすれば書き換わるよ。


<p id="id_test">テスト</p>

document.getElementById( 'id_test' ).innerHTML = "書き換わったかな?";

土曜日, 11月 21, 2009

[HTML]window.openの最前面表示

▼質問
サブウィンドウを常に最前面に表示したいんだ。

showModalDialogは使いたくないんだ。

window.openで、できる方法を教えてくれ!

▼回答
サブウィンドウのbodyタグに「onBlur="focus()"」を

追加すれば実現できるよ。

■参考サイト
サブウィンドウを常に前面に表示する - JavaScript

火曜日, 11月 17, 2009

[Web共通]HTML(JSP)のキャッシュ

▼質問
JSPで作成した画面のデータが保持されちゃうんだけど・・・。

どうしてかわかるかな?

▼回答
HTMLのキャッシュが効いているんだよ!

次のコードを追加してみてくれ!!


<meta http-equiv="Expires" content="0">
<meta http-equiv="Cache-control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">


これで駄目なら

JSPでの変数宣言の仕方に問題があるんだ!!

次の構成要素内で変数を宣言していないか確認してくれ!


<%! %>


ここで宣言するとTomcat(サーブレット/JSPコンテナ)を再起動するまで

値が保持されるんだ。

リクエストがあった時の最初の一回だけ初期化して値を保持し続けるんだ。

■参考サイト
Javaの道:JSP(3.宣言、スクリプトレット、式)

木曜日, 11月 12, 2009

命名規約

項目 規約 種別
ボタン btn オブジェクト
ラジオボタン rdo オブジェクト
チェックボックス chk オブジェクト
コンボボックス cmb オブジェクト
リストボックス lst オブジェクト
Form項目 frm オブジェクト
Hidden項目 hdn オブジェクト
TextArea項目 tarea オブジェクト
Table内表示項目 tbl オブジェクト
bean:write項目 out オブジェクト
必須項目 ess 項目属性
~名 nm 項目属性
~番号 no 項目属性
~コード cd 項目属性
電話番号 tel 項目属性
Eメール email 項目属性
住所 add 項目属性
郵便番号 post 項目属性
金額(カンマつき) money 項目属性
小数 dec 項目属性
日付(スラッシュ区切り) date 項目属性
日付(年月日バラバラ) ddiv 項目属性
時間(コロン区切り) time 項目属性
時間(時分秒バラバラ) tdiv 項目属性
半角数字汎用 dig オブジェクト
半角英字汎用 alp オブジェクト
半角英数汎用 alnum オブジェクト
全角汎用 zen オブジェクト
全角カナ汎用 zkana オブジェクト
半角カナ汎用 hkana オブジェクト
その他入力形式 any オブジェクト

■参考サイト
peke JSP命名規約
株式会社MALTA

木曜日, 10月 01, 2009

[JavaScript]全角入力制御&数値チェック

▼質問
event.keyCodeで、キー入力をチェックして数値のみ入力させたいんだけど

全角入力の時、onKeyPressイベントでevent.keyCodeがうまくチェックできないんだ。

どうやったらできるか教えてくれ!!

▼回答
IEで全角を入力させたくなければ、style属性に「ime-mode: disabled;」と

記述すればできるよ!!

土曜日, 9月 26, 2009

[ORACLE]ORA-01659: [数字]を超えるMINEXTENTSを表領域[表領域の名前]に割当てできません。

▼質問
テーブルを作成している途中で次のエラーが出るんだ。

「ORA-01659: [数字]を超えるMINEXTENTSを表領域[表領域の名前]に割当てできません。」

どうすれば解決できるか教えてくれ!!

▼回答

SQL*Plusから、下記のSQL文を実行し表領域(データファイル)を追加さればいいんだ!

「ALTER TABLESPACE [ターゲットにする表領域の名前] ADD DATAFILE
   '[ファイルパス(例:C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZZZZZ\ZZZZZ01.ORA)]'
SIZE [999M | 999K] AUTOEXTEND ON MAXSIZE UNLIMITE」

または、MINEXTENTS(エクステント数の最小値)、NEXT(増分値)またはPCTINCREASE(エクステント

サイズの増加率)の値を小さくして再実行する。

■参考サイト
データファイル管理の勘所


▼質問
データファイルの記憶域にある最大サイズの無制限ってどうやって指定するの?

指定しても値が選択されて32767MBが指定される。

どうして?か教えて!!

▼回答
まずは、32767MBの意味を教えよう。

db_block_size=8192の場合の上限になる。

db_block_sizeの上限値は、OSに依存するため、その値にはOSの最小ブロックサイズ(バイト単位)

の倍数(デバイス・レベルでの物理ブロック・サイズの倍数)で指定しなければならない。

Oracleデータベースリファレンスには、物理データベースの制限にdb_block_size * (2^22 - 1)が

上限と書かれている。1データ・ファイル当たりの最大数(データベース・ブロック)は、プラット

フォームによって異なるが、通常 2^22 - 1 ブロックとなっている。

なお、このサイズが大きければI/O効率(パフォーマンス)は向上するが、HDD使用効率は悪くなる。

無制限を選択すると自動的にdb_block_sizeから1データ・ファイル当たりの最大サイズが計算され

その値が最大サイズに表示される。db_block_sizeをデータベース時に変更できれば、1データ・

ファイル当たりの最大サイズを大きくすることができると思いやってみたが、駄目だった。

ブロック・サイズ(db_block_size)を2048にしたが無制限が選択されずに、8192が表示された。

次に、32768や16384を選択したら、データベースの作成と中でエラーになった。

結局、データ・ファイルを追加するしか方法はないようだ。

■参考サイト
データベース記憶域構造の管理
データベースの制限事項
Oracle基本設計


●データファイルのサイズ変更

例)'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZZZZZ\ZZZZZ01.DBF'を5MBに縮小

ALTER DATABASE DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZZZZZ\ZZZZZ01.DBF' RESIZE 5M;

●データファイルの自動拡張

例)'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZZZZZ\ZZZZZ01.DBF'を1MB単位で10MBまでの範囲で自動拡張

ALTER DATABASE DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZZZZZ\ZZZZZ01.DBF' AUTOEXTEND ON NEXT 1M MAXSIZE 10M;

●データファイルの場所を変更する

例)表領域のデータファイルを移動する場合

①表領域をオフラインにする
ALTER TABLESPACE [表領域の名前] OFFLINE;

②OSレベルでファイルをコピー

③定義の変更
ALTER DATABASE RENAME FILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZZZZZ\ZZZZZ01.DBF' TO 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZZZZZ\ZZZZZ01.DBF';

④オンラインにする
ALTER TABLESPACE [表領域の名前] ONLINE;

月曜日, 9月 14, 2009

[JavaScript]window.showModalDialog内のiframe

▼質問
window.showModalDialog内のiframeから親ウィンドウを操作したいんだ。

どうしたらできるか教えてくれ!!

▼回答
window.parentでアクセスできるから試してみてくれ!!

こんな感じで使えるよ!!

●親HTML

function 親の関数名()
{
var iframe = document.getElementById( "sample" );
if ( document.all ) {
iframedoc = iframe.contentWindow.document;
} else {
iframedoc = iframe.contentDocument;
}

// 親から子を操作するときのアクセス方法
alert( iframedoc.getElementById( "chkSample" ).checked );

}





●子HTML

function 子の関数名()
{
window.parent.親の関数名();
}

木曜日, 9月 10, 2009

[Java]Cannot format given Object as a Date

▼質問
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy/MM/dd HH:mm:ss" );
System.out.println( sdf.format( calendar ) );

上記のプログラムで次のエラーが出るんだ。

「java.lang.IllegalArgumentException: Cannot format given Object as a Date」

どうしてかわかるかい?

▼回答
formatメソッドの引数の型が間違っているんだ。

正解は、次の様になるから気をつけてくれ!

「System.out.println( sdf.format( calendar.getTime() ) );」

[Java]月の日数(月の最終日)

▼質問
月の日数(月の最終日)を知りたんだ。

どうしたらできるか教えてくれ!

▼回答
次の様にしたらできるから試してみてくれ!!

Calendar calendar = Calendar.getInstance();
int DaysInMonth = calendar .getActualMaximum( Calendar.DAY_OF_MONTH );

日曜日, 9月 06, 2009

[HTML]id属性とname属性

▼質問
id属性とname属性の名称は、違っているのが正しいの?

▼回答
id属性は、アンカー名として使われる際にname属性と同じ名前空間を共有するから

同じ名前にするのが正しいのだよ。

<p><a id="a1" name="a1" href="#a1">…</a></p>

土曜日, 9月 05, 2009

[JavaScript]外部サイト(HTML)取得

▼質問
JavaScriptで外部サイトのHTML(ソースコード)を取得したいんだ。

どうしたらできるか教えてくれ!

▼回答
下記を参考にしてくれ!

■参考サイト
javascriptで外部サイトのHTMLを取得するには、 - programing memo

金曜日, 8月 28, 2009

[VBA]Shell関数(EXE実行)

▼質問
ExcelでEXEを実行したツールを作りたいんだ。

どうやったらできるか教えてくれ!

▼回答
APIを使った関数を作ったから参考にしてくれ!!

標準モジュールに次のコードをコピーしてから

使ってくれ!!

Option Explicit

Public Const SYNCHRONIZE = 1048576
Public Const NORMAL_PRIORITY_CLASS = &H20&
Public Const PROCESS_TERMINATE = &H1
Public Const PROCESS_QUERY_INFORMATION = &H400&
Public Const STILL_ACTIVE = &H103&

Public Declare Function OpenProcess Lib "kernel32" _
(ByVal dwAccess As Long, ByVal fInherit As Long, ByVal IDProcess As Long) As Long
Public Declare Function WaitForSingleObject Lib "kernel32.dll" _
(ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Public Declare Function GetExitCodeProcess Lib "kernel32.dll" _
(ByVal hProcess As Long, lpExitCode As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" _
(ByVal hObject As Long) As Long

Private Function ShellExec(ByVal pPathName As String) As Boolean

Dim pid As Variant
Dim hProcess As Long
Dim lpExitCode As Long

On Error GoTo doError

pid = Shell(pPathName, vbNormalFocus)

'起動したプログラムのプロセスハンドルを取得
hProcess = OpenProcess(SYNCHRONIZE Or PROCESS_QUERY_INFORMATION, True, pid)

'指定のオブジェクトがシグナル状態になるか、タイムアウト時間を経過するまで待機する
WaitForSingleObject hProcess, 100000

'プロセスの終了状態を取得
GetExitCodeProcess hProcess, lpExitCode

'プロセスハンドルのクローズ
CloseHandle hProcess

ShellExec = True

Exit Function

doError:

MsgBox Err.Description

ShellExec = False

End Function

■参考サイト
VB テクニック編13 - バッチ実行、EXE バッチ実行、関連付け実行、文字列置換 - SAK Streets
VB & VBAプログラミング

金曜日, 7月 31, 2009

[HTML]htmlタグのxmlns属性って何?

▼質問
htmlタグのxmlns属性って何?

▼回答
1999年にW3Cから勧告されたXML名前空間(以降「XMLNS」とする)。

XMLNSは、語彙(要素タイプ名、属性名)をURI(Uniform Resource Identifier)と

組み合わせる(修飾する)ことで、複数の語彙を混在させるメカニズムです。

例えば、全体の構成をXHTMLで記述しつつ、数式部分にはMathMLの語彙を、

グラフにはSVGの語彙を利用するという方法が考えられる。

■参考サイト
XML名前空間の簡単な説明
XHTMLのDTDと名前空間/XHTML基礎講座/Index/Web for senior 作成支援
URI

木曜日, 7月 09, 2009

[JavaScript]ブラウザに表示した内容を編集する方法

適当なホームページを表示させた後、ブラウザのアドレスバーに以下の内容を入力すると

表示している内容がブラウザ上で直接編集できるようになるらしい。

javascript:document.body.contentEditable='true'; document.designMode='on'; void 0

やってみるとなかなか凄くて面白いが・・・。

自分が使うことを想像すると、どんな時に使えるのか

直ぐには想像できないなぁ~。

いつからサーポートしていたのか調べてみた。

contentEditableは、IE5.5以降からサポートしているみたいだ。

Firefox3でもサポートされているみたいだ。

次のサイトにあるサンプルを動かしてみて、

どんな時に使うのかわかった気がする。

SCRAPBLOG : contenteditable 属性

かっこいい入力エリア(テキストエリアの代わり)の

WEBデザインにする時に使うのがベストだと感じた。

■参考サイト
WEBブラウザーに表示されている画面を直接編集する方法: sanonosa システム管理コラム集

土曜日, 6月 27, 2009

[JavaScript]パラメータの無いメソッド

▼質問
canvasの幅と高さを次の様に取得しようとしたんだがうまくいかないんだ。

exGraph.getCanvas = function( id ) {
/* canvas要素のノードオブジェクト */
var el = document.getElementById( id );
this.canvas = el;
/* 2Dコンテキスト */
this.context_ = this.canvas.getContext( '2d' );
/* canvas要素の幅・高さ */
this.getWidth = function() { return this.canvas.width; };
this.getHeight = function() { return this.canvas.height; };
};

var obj = new exGraph.getCanvas( "sample" );
/* canvasエリアの幅・高さを取得する */
var width = obj.getWidth;

どうしてか教えてくれ!

▼回答
取得する時のコードが間違っているよ。

括弧が足りないんだ!

var width = obj.getWidth();

メソッドの括弧は省略できないんだ。

VBみたいに・・・。

火曜日, 6月 23, 2009

[JavaScript]excanvas.jsのサンプル(矩形・円・破線・点線)

▼質問
excanvas.jsのサンプルないかな?

▼回答
次のコードを参考にしてくれ!!



<html>
<head>
<title></title>
<!--[if IE]><script type="text/javascript" src="excanvas.js"></script><![endif]-->
<script type="text/javascript">
if ( typeof( exGraph ) == 'undefined' ) {
exGraph = new Object();
}
exGraph.getCanvas = function( id ) {
/* canvas要素のノードオブジェクト */
var el = document.getElementById( id );
this.canvas = el;
/* 2Dコンテキスト */
this.context_ = this.canvas.getContext( '2d' );
};
exGraph.getCanvas.prototype.draw = function() {
/* 全てをクリアする */
this.context_.clearRect();
/* 矩形を描く */
this.context_.strokeRect( 20, 15, 100, 100 );
/* 塗りつぶした矩形を描く */
this.context_.fillRect( 150, 15, 100, 100 );
/* 塗りつぶした円を描く */
this.context_.fillStyle = "rgba( 255, 0, 0, 0.1 )";
this.context_.strokeStyle = "rgba( 255, 0, 0, 1 )";
this.context_.beginPath();
this.context_.arc( 320, 60, 50, 0, Math.PI*2, 1 );
this.context_.fill();
this.context_.stroke();
};
exGraph.getCanvas.prototype.drawLine = function( x1, y1, x2, y2, width, type, color ) {
this.context_.strokeStyle = color;
this.context_.lineWidth = width;
this.context_.lineCap = "butt"; /* butt、round、square */
if ( type == "solid" ) {
this.context_.beginPath();
this.context_.moveTo( x1, y1 );
this.context_.lineTo( x2, y2 );
this.context_.stroke();
}
else if ( type == "dashed" ) {
var x = x1;
var y = y1;
while ( 1 ) {
this.context_.beginPath();
this.context_.moveTo( x, y );
if ( y1 == y2 ) { x = x + width*4; }
if ( x1 == x2 ) { y = y + width*4; }
if ( x > x2 ) { x = x2; }
if ( y > y2 ) { y = y2; }
this.context_.lineTo( x, y );
this.context_.stroke();
if ( y1 == y2 ) { x = x + width*2; }
if ( x1 == x2 ) { y = y + width*2; }
if ( x > x2 ) { break; }
if ( y > y2 ) { break; }
}
}
else if ( type == "dotted" ) {
this.context_.fillStyle = color;
var x = x1;
var y = y1;
while ( 1 ) {
this.context_.beginPath();
this.context_.arc( x, y, width/2, 0, Math.PI*2, 0 );
this.context_.fill();
this.context_.stroke();
if ( y1 == y2 ) { x = x + width*3; }
if ( x1 == x2 ) { y = y + width*4; }
if ( x > x2 ) { break; }
if ( y > y2 ) { break; }
}
}
};
exGraph.getCanvas.prototype.drawText = function( x, y, text, font_size, font_family, color ) {
var div = document.createElement( 'DIV' );
div.appendChild( document.createTextNode( text ) );
div.style.fontSize = font_size;
div.style.fontFamily = font_family;
div.style.color = color;
div.style.margin = "0";
div.style.padding = "0";
div.style.position = "absolute";
div.style.left = x.toString() + "px";
div.style.top = y.toString() + "px";
this.canvas.parentNode.appendChild( div );
};
window.onload = function() {
var obj = new exGraph.getCanvas( "sample" );
if( !obj ) { return; }
obj.draw();
/* 実線を描く */
obj.drawLine( 20, 150, 350, 150, 1, "solid", "rgba( 255, 0, 0, 1 )" );
obj.drawLine( 20, 210, 20, 280, 1, "solid", "rgba( 255, 0, 0, 1 )" );
/* 破線を描く */
obj.drawLine( 20, 170, 350, 170, 2, "dashed", "rgba( 255, 0, 0, 1 )" );
obj.drawLine( 50, 210, 50, 280, 2, "dashed", "rgba( 255, 0, 0, 1 )" );
/* 点線を描く */
obj.drawLine( 20, 190, 350, 190, 2, "dotted", "rgba( 255, 0, 0, 1 )" );
obj.drawLine( 80, 210, 80, 280, 2, "dotted", "rgba( 255, 0, 0, 1 )" );
/* 文字列を描く */
obj.drawText( 150, 230, "文字列", 10, "Arial,sans-serif", "#ff0000" );
obj.drawText( 150, 250, "文字列", 20, "Arial,sans-serif", "#0000ff" );
};
</script>
</head>
<body>
<div><canvas width="400" height="300" id="sample" style="border:1px solid #4c4c4c;"></canvas></div>
</body>
</html>

[JavaScript]clearRectメソッド(excanvas.js)

▼質問
次の様に、透明にしたい領域を指定してもうまくその領域が透明にならずに

描画した全ての図形が消えるんだ!?

コンテキスト.clearRect( x座標, y座標, width(幅), height(高さ) );

どうしてか教えてくれ!!

▼回答
IE(Internet Explorer)では、全てクリアされるのが正しいようだ。

そうやって使うらしいよ?!

・・・。

excanvas.jsの中身を見ても、そんなパラーメタを定義したメソッド

見つからないしね・・・。

日曜日, 6月 21, 2009

[JavaScript]prototypeプロパティって何?

▼質問
prototypeプロパティって何?

▼回答
prototypeプロパティは、クラスにメソッドを追加する時に使うんだよ!

クラス名.prototype.メソッド名 = 関数名;

function クラス名() {
this.変数名1 = "";
function 関数名1( パラメータ1 )
{
this.変数名1 = パラメータ1;
}
クラス名.prototype.メソッド名 = 関数名1;
return this;
}

var obj = new クラス名();
obj.メソッド名( パラメータ2 );
var 変数1 = obj.変数名1;

変数1が、パラメータ2となる。

・オブジェクトへのプロパティの追加
オブジェクト名.任意のプロパティ名 = 値;
var obj = new クラス名();
obj.新規プロパティ名 = "";
obj.["新規プロパティ名"] = "";

・オブジェクトへのメソッドの追加
オブジェクト名.任意のメソッド名 = 関数名;

function 関数名1( パラメータ1 )
{
this.変数名1 = パラメータ1;
}
var obj = new クラス名();
obj.新規メソッド名 = 関数名1;

■参考サイト
プロパティとメソッドについて

金曜日, 6月 12, 2009

[HTML]font-sizeの単位はpt(ポイント)?px(ピクセル)?

▼質問
font-sizeの単位は、pt(ポイント)?

それとも、px(ピクセル)?

素朴な疑問

どっちなんだ?

教えてくれ!!

▼回答
どちらでも指定できるよ!

■参考サイト
font-sizeにはptではなくpxを使おう - みずぴー日記