テキスト広告:Amazon Primeday

木曜日, 9月 10, 2009

[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を使おう - みずぴー日記

[HTML]textareaタグのフォント指定

▼質問
textareaタグのフォントを指定したいんだ。

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

▼回答
style属性を使うんだ。

次の様に指定すればよい!

style="font-size:サイズpx;"

木曜日, 6月 11, 2009

[JavaScript]警告: getElementById() に空文字列が渡されました。

▼質問
IE(Internet Explorer)でうまく動いていたホームページを

試しにFirefoxで表示したら

次のエラーが出るんだ。

「警告: getElementById() に空文字列が渡されました。」

どうしてか教えてくれ!

▼回答
getElementById(名前)で指定している名前の属性が

name属性じゃないか確認してみてくれ!!

IEでは、getElementByIdとname属性の

あいまいな組合せでも動くんだ。

name属性の時は、getElementsByNameを使うんだ。
←getElementByNameじゃなくてgetElementsByName
Elementにsが付くことに注意してくれ!

getElementByIdの時は、id属性を定義するんだ。

Firefoxでも動くようにするにはid属性とname属性を

定義しておいた方がいいぞ!!

金曜日, 5月 29, 2009

[VB2005]My.Application.UnhandledExceptionイベント

▼質問
My.Application.UnhandledExceptionイベントって!

どんなことができるの?

▼回答
Windowsアプリケーションやコンソール・アプリケーションで

処理できなかった例外を、1カ所で処理することができるんだ。

■参考サイト
捕捉されなかった例外がスローされたことを知る: .NET Tips: C#, VB.NET, Visual Studio
@IT:.NET TIPS 適切に処理されなかった例外をキャッチするには? - C# VB.NET Windowsフォーム

日曜日, 5月 17, 2009

[JavaScript]replaceの全置換

▼質問
replaceの全置換ができないんだ。

どうしてなんだ?!

教えてくれ~!!

▼回答
replaceメソッドは、最初に見つかったものしか置換されないだ。

だから、次の様な関数を作成しておくと便利なんだ。

function replaceAll( s, sep1, sep2 ) {
return s.split(sep1).join(sep2);
}

使い方
出力文字列 = replaceAll( 入力文字列, 置換文字列, 置換後文字列 );

■参考サイト
JavaScript 文字列の置き換え - replace/replaceAll - JavaScript入門

水曜日, 5月 13, 2009

[JavaScript]文字コードから文字変換

▼質問
文字コードから文字に変換したいんだ。

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

▼回答
StringオブジェクトのfromCharCodeメソッドを使えばできるよ。

使い方は、こんな感じだ。

String.fromCharCode(文字コード)

カンマで区切れば、複数の文字コードも

指定することができる。

String.fromCharCode(文字コード,文字コード)

ひらがなの文字コードを文字列にした

サンプルだ。

参考にしてみてくれ!!

var str = "";
var scode = "あ".charCodeAt(0);
var ecode = "ん".charCodeAt(0);

for ( i = scode ; i <= ecode ; i++ ) {
var c = String.fromCharCode(i);
str += c;
}
alert(str);

木曜日, 4月 30, 2009

[JavaScript]入力ダイアログ(window.prompt)

▼質問
JavaScriptで入力ダイアログを使いたいんだ。

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

▼回答
windowオブジェクトにpromptというメソッドがあるよ。

使い方は次の様になるから、参考にしてくれ!!

var str = window.prompt( ダイアログに表示されるメッセージ, 初期値 );

土曜日, 3月 21, 2009

[SQL]テーブル名とフィールド名の取得

▼質問
Oracleのテーブル名を取得したいんだ。

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

▼回答
次のSQL文を参考にしてくれ!

select * from tab

TNAME | TABTYPE | CLUSTERID

select * from all_tables

OWNER | TABLE_NAME | TABLESPACE_NAME | CLUSTER_NAME | IOT_NAME | STATUS |
PCT_FREE | PCT_USED | INI_TRANS | MAX_TRANS | INITIAL_EXTENT | NEXT_EXTENT |
MIN_EXTENTS | MAX_EXTENTS | PCT_INCREASE | FREELISTS | FREELIST_GROUPS |
LOGGING | BACKED_UP | NUM_ROWS | BLOCKS | EMPTY_BLOCKS | AVG_SPACE |
CHAIN_CNT | AVG_ROW_LEN | AVG_SPACE_FREELIST_BLOCKS | NUM_FREELIST_BLOCKS |
DEGREE | INSTANCES | CACHE | TABLE_LOCK | SAMPLE_SIZE | LAST_ANALYZED |
PARTITIONED | IOT_TYPE | TEMPORARY | SECONDARY | NESTED | BUFFER_POOL |
ROW_MOVEMENT | GLOBAL_STATS | USER_STATS | DURATION | SKIP_CORRUPT |
MONITORING | CLUSTER_OWNER | DEPENDENCIES | COMPRESSION | DROPPED

select * from user_tables

TABLE_NAME | TABLESPACE_NAME | CLUSTER_NAME | IOT_NAME | STATUS | PCT_FREE |
PCT_USED | INI_TRANS | MAX_TRANS | INITIAL_EXTENT | NEXT_EXTENT | MIN_EXTENTS |
MAX_EXTENTS | PCT_INCREASE | FREELISTS | FREELIST_GROUPS | LOGGING | BACKED_UP |
NUM_ROWS | BLOCKS | EMPTY_BLOCKS | AVG_SPACE | CHAIN_CNT | AVG_ROW_LEN |
AVG_SPACE_FREELIST_BLOCKS | NUM_FREELIST_BLOCKS | DEGREE | INSTANCES | CACHE |
TABLE_LOCK | SAMPLE_SIZE | LAST_ANALYZED | PARTITIONED | IOT_TYPE | TEMPORARY |
SECONDARY | NESTED | BUFFER_POOL | ROW_MOVEMENT | GLOBAL_STATS | USER_STATS |
DURATION | SKIP_CORRUPT | MONITORING | CLUSTER_OWNER | DEPENDENCIES |
COMPRESSION | DROPPED

▼質問
Oracleのフィールド名を取得したいんだ。

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


▼回答
次のSQL文を参考にしてくれ!

SELECT * FROM ALL_TAB_COLUMNS WHERE UPPER(TABLE_NAME) = 'テーブル名'
ORDER BY COLUMN_ID ASC

土曜日, 3月 14, 2009

[JavaScript]タイトル(title)を変更したい

▼質問
タイトル(title)を変更したいんだ。

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

▼回答
タイトル(title)を変更するには次の2つ方法がある。

top.document.title = "タイトル";
window.document.title = "タイトル";

フレームのタイトルを使いたい場合は、

フレームのHTMLファイル内に次のコードを書けばいい。

top.document.title = top.自フレーム名.document.title;