月別: 2011年4月

Java で逆ピラミッドを作る

投稿者:isc_blog

Java で逆ピラミッドを作る

Yahoo!知恵袋で回答したものをこちらにも・・・
なにかの宿題なのかな・・・

以下、[Pyramid.java]で保存してください。
———————————–
public class Pyramid{
public static void main(String[] args){
// ピラミッド階数
int i = 10;
for(int j = 0; j <= i; j++){ for (int k = i - j; k > 0; k–) {
System.out.print(“*”);
}
System.out.println();
}
}
}
——————————

コマンドプロンプトでファイルを保存したディレクトリに移動して
javac Pyramid.java
※JAVA_HOMEパス及びクラスパスを通してある前提です。

java Pyramid
で実行・・・

—–
実行後

**********
*********
********
*******
******
*****
****
***
**
*

こんな感じ。

2011年4月30日

Ajax loading…画像作成サイト

投稿者:isc_blog

ajax loding imageAjaxload – Ajax loading gif generator

Ajax loading画像作成サイト

重宝します!!

2011年4月29日

IEバージョン違いによる動作確認

投稿者:isc_blog

IEのバージョン違いによる動きの違いって苦労しますね~

今回は、某食べ物に関するデータベースの機能追加にあたって動作確認をしていたときのお話です。

私が普段、動作確認に使っているのはIE8なのでその現象は起きず気がつかなかったのですが、ユーザーさんから「ドリルダウンしたリストの一部が表面の文字列の裏に隠れてしまって選択できない」との指摘が!

調べてみるとIE6だと起きるということが判明。

このシステムは幸い動作保証はIE8以上なのでそれで断ることもできるのですが、機能追加前はIE6でも問題が無かっただけに、ちょっと検討することになりました。これはまたべつの話、向こうに追いやって・・・ヾ( ´ー`)ノ~

本題、こういうときの動作検証を楽にしたいということで、便利なソフトを探したところ、良いものが見つかりました~
IETester
色んなバージョンのIE実行ファイルが入っているのか、ファイルサイズは大きめです。

自分の環境で、IE5.5、6、7、8が使えてます。9も入れれば使えそう

2011年4月28日

ウェブ用世界の国選択htmlのselectタグ

投稿者:isc_blog

国一覧選択セレクトボックスをつくろうと思ったらサンプルが転がってないので・・・

抜粋しました。

切り取って使ってください。(日本がデフォルト選択されています。)

[html]
<select name=”country”> <option value=”AD”>アンドラ公国</option><option value=”AE”>アラブ首長国連邦</option><option value=”AF”>アフガニスタン・イスラム国</option><option value=”AG”>アンチグア・バーブーダ</option><option value=”AI”>アンギラ</option><option value=”AL”>アルバニア共和国</option><option value=”AM”>アルメニア共和国</option><option value=”AN”>オランダ領アンチル</option><option value=”AO”>アンゴラ共和国</option><option value=”AQ”>南極</option><option value=”AR”>アルゼンチン共和国</option><option value=”AS”>米領サモア</option><option value=”AT”>オーストリア共和国</option><option value=”AU”>オーストラリア</option><option value=”AW”>アルバ</option><option value=”AZ”>アゼルバイジャン共和国</option><option value=”BA”>(ボスニア・ヘルツェゴビナ共和国)</option><option value=”BB”>バルバドス</option><option value=”BD”>バングラデシュ人民共和国</option><option value=”BE”>ベルギー王国</option><option value=”BF”>ブルキナファソ</option><option value=”BG”>ブルガリア共和国</option><option value=”BH”>バーレーン国</option><option value=”BI”>ブルンジ共和国</option><option value=”BJ”>ベナン共和国</option><option value=”BM”>バーミューダ諸島</option><option value=”BN”>ブルネイ・ダルサラーム国</option><option value=”BO”>ボリビア共和国</option><option value=”BR”>ブラジル連邦共和国</option><option value=”BS”>バハマ国</option><option value=”BT”>ブータン王国</option><option value=”BV”>ブーベ島</option><option value=”BW”>ボツワナ共和国</option><option value=”BY”>ベラルーシ共和国</option><option value=”BZ”>ベリーズ</option><option value=”CA”>カナダ</option><option value=”CC”>ココス諸島</option><option value=”CF”>中央アフリカ共和国</option><option value=”CG”>コンゴ共和国</option><option value=”CH”>スイス連邦</option><option value=”CI”>コートジボアール共和国</option><option value=”CK”>クック諸島</option><option value=”CL”>チリ共和国</option><option value=”CM”>カメルーン共和国</option><option value=”CN”>中華人民共和国</option><option value=”CO”>コロンビア共和国</option><option value=”CR”>コスタリカ共和国</option><option value=”CU”>キューバ共和国</option><option value=”CV”>カーボベルデ共和国</option><option value=”CX”>クリスマス島</option><option value=”CY”>キプロス共和国</option><option value=”CZ”>チェコ共和国</option><option value=”DE”>ドイツ連邦共和国</option><option value=”DJ”>ジブチ共和国</option><option value=”DK”>デンマーク王国</option><option value=”DM”>ドミニカ国</option><option value=”DO”>ドミニカ共和国</option><option value=”DZ”>アルジェリア民主人民共和国</option><option value=”EC”>エクアドル共和国</option><option value=”EE”>エストニア共和国</option><option value=”EG”>エジプト・アラブ共和国</option><option value=”EH”>西サハラ</option><option value=”ER”>エリトリア</option><option value=”ES”>スペイン</option><option value=”ET”>エチオピア</option><option value=”FI”>フィンランド共和国</option><option value=”FJ”>フィジー共和国</option><option value=”FK”>フォークランド(マルビナス)諸島</option><option value=”FM”>ミクロネシア連邦</option><option value=”FO”>フェロー諸島</option><option value=”FR”>フランス共和国</option><option value=”FX”>フランス本国</option><option value=”GA”>ガボン共和国</option><option value=”GB”>グレートブリテン及び北部アイルランド連合王国(英国)</option><option value=”GD”>グレナダ</option><option value=”GE”>グルジア共和国</option><option value=”GF”>仏領ギアナ</option><option value=”GH”>ガーナ共和国</option><option value=”GI”>ジブラルタル</option><option value=”GL”>グリーンランド</option><option value=”GM”>ガンビア共和国</option><option value=”GN”>ギニア共和国</option><option value=”GP”>グアドループ島</option><option value=”GQ”>赤道ギニア共和国</option><option value=”GR”>ギリシア共和国</option><option value=”GS”>南ジョージア島・南サンドイッチ諸島</option><option value=”GT”>グアテマラ共和国</option><option value=”GU”>グアム</option><option value=”GW”>ギニアビサオ共和国</option><option value=”GY”>ガイアナ協同共和国</option><option value=”HK”>ホンコン (香港)</option><option value=”HM”>ヘアド島・マクドナルド諸島</option><option value=”HN”>ホンジュラス共和国</option><option value=”HR”>クロアチア共和国</option><option value=”HT”>ハイチ共和国</option><option value=”HU”>ハンガリー共和国</option><option value=”ID”>インドネシア共和国</option><option value=”IE”>アイルランド</option><option value=”IL”>イスラエル国</option><option value=”IN”>インド</option><option value=”IO”>英領インド洋地域</option><option value=”IQ”>イラク共和国</option><option value=”IR”>イラン・イスラム共和国</option><option value=”IS”>アイスランド共和国</option><option value=”IT”>イタリア共和国</option><option value=”JM”>ジャマイカ</option><option value=”JO”>ヨルダン・ハシミテ王国</option><option value=”JP” selected=”selected”>日本</option><option value=”KE”>ケニア共和国</option><option value=”KG”>キルギスタン共和国</option><option value=”KH”>カンボディア王国</option><option value=”KI”>キリバス共和国</option><option value=”KM”>コモロ・イスラム連邦共和国</option><option value=”KN”>セントクリストファー・ネイビス</option><option value=”KP”>(北朝鮮=朝鮮民主主義人民共和国)</option><option value=”KR”>大韓民国</option><option value=”KW”>クウェート国</option><option value=”KY”>ケイマン諸島</option><option value=”KZ”>カザフスタン共和国</option><option value=”LA”>ラオス人民民主共和国</option><option value=”LB”>レバノン共和国</option><option value=”LC”>セントルシア</option><option value=”LI”>リヒテンシュタイン公国</option><option value=”LK”>スリランカ民主社会主義共和国</option><option value=”LR”>リベリア共和国</option><option value=”LS”>レソト王国</option><option value=”LT”>リトアニア共和国</option><option value=”LU”>ルクセンブルク大公国</option><option value=”LV”>ラトビア共和国</option><option value=”LY”>社会主義人民リビア・アラブ国</option><option value=”MA”>モロッコ王国</option><option value=”MC”>モナコ公国</option><option value=”MD”>モルドバ共和国</option><option value=”MG”>マダガスカル共和国</option><option value=”MH”>マーシャル諸島共和国</option><option value=”ML”>マリ共和国</option><option value=”MM”>ミャンマー連邦</option><option value=”MN”>モンゴル国</option><option value=”MO”>マカオ(澳門)</option><option value=”MP”>北マリアナ諸島</option><option value=”MQ”>マルチニーク島</option><option value=”MR”>モーリタニア・イスラム共和国</option><option value=”MS”>モントセラト</option><option value=”MT”>マルタ共和国</option><option value=”MU”>モーリシャス共和国</option><option value=”MV”>モルジブ共和国</option><option value=”MW”>マラウイ共和国</option><option value=”MX”>メキシコ合衆国</option><option value=”MY”>マレーシア</option><option value=”MZ”>モザンビーク共和国</option><option value=”NA”>ナミビア共和国</option><option value=”NC”>ニューカレドニア</option><option value=”NE”>ニジェール共和国</option><option value=”NF”>ノーフォーク島</option><option value=”NG”>ナイジェリア連邦共和国</option><option value=”NI”>ニカラグア共和国</option><option value=”NL”>オランダ王国</option><option value=”NO”>ノルウェー王国</option><option value=”NP”>ネパール王国</option><option value=”NR”>ナウル共和国</option><option value=”NU”>ニウエ</option><option value=”NZ”>ニュージーランド</option><option value=”OM”>オマーン国</option><option value=”PA”>パナマ共和国</option><option value=”PE”>ペルー共和国</option><option value=”PF”>仏領ポリネシア</option><option value=”PG”>パプアニューギニア</option><option value=”PH”>フィリピン共和国</option><option value=”PK”>パキスタン・イスラム共和国</option><option value=”PL”>ポーランド共和国</option><option value=”PM”>サンピエール島・ミクロン島</option><option value=”PN”>ピトケアン島</option><option value=”PR”>プエルトリコ</option><option value=”PT”>ポルトガル共和国</option><option value=”PW”>パラオ</option><option value=”PY”>パラグアイ共和国</option><option value=”QA”>カタール国</option><option value=”RE”>レユニオン</option><option value=”RO”>ルーマニア</option><option value=”RU”>ロシア連邦</option><option value=”RW”>ルワンダ共和国</option><option value=”SA”>サウジアラビア王国</option><option value=”SB”>ソロモン諸島</option><option value=”SC”>セイシェル共和国</option><option value=”SD”>スーダン共和国</option><option value=”SE”>スウェーデン王国</option><option value=”SG”>シンガポール共和国</option><option value=”SH”>セントヘレナ島</option><option value=”SI”>スロベニア共和国</option><option value=”SJ”>スバールバル諸島・ヤンマイエン島</option><option value=”SK”>スロバキア共和国</option><option value=”SL”>シエラレオネ共和国</option><option value=”SM”>サンマリノ共和国</option><option value=”SN”>セネガル共和国</option><option value=”SO”>ソマリア民主共和国</option><option value=”SR”>スリナム共和国</option><option value=”ST”>サントメ・プリンシペ民主共和国</option><option value=”SV”>エルサルバドル共和国</option><option value=”SY”>シリア・アラブ共和国</option><option value=”SZ”>スワジランド王国</option><option value=”TC”>タークス諸島・カイコス諸島</option><option value=”TD”>チャド共和国</option><option value=”TF”>仏領極南諸島</option><option value=”TG”>トーゴ共和国</option><option value=”TH”>タイ王国</option><option value=”TJ”>タジキスタン共和国</option><option value=”TK”>トケラウ諸島</option><option value=”TM”>トルクメニスタン</option><option value=”TN”>チュニジア共和国</option><option value=”TO”>トンガ王国</option><option value=”TP”>東チモール</option><option value=”TR”>トルコ共和国</option><option value=”TT”>トリニダード・トバゴ共和国</option><option value=”TV”>ツバル</option><option value=”TW”>台湾</option><option value=”TZ”>タンザニア連合共和国</option><option value=”UA”>ウクライナ</option><option value=”UG”>ウガンダ共和国</option><option value=”UM”>米領太平洋諸島</option><option value=”US”>アメリカ合衆国(米国)</option><option value=”UY”>ウルグアイ東方共和国</option><option value=”UZ”>ウズベキスタン共和国</option><option value=”VA”>バチカン市国</option><option value=”VC”>セントビンセント及びグレナディーン諸島</option><option value=”VE”>ベネズエラ共和国</option><option value=”VG”>英領バージン諸島</option><option value=”VI”>米領バージン諸島</option><option value=”VN”>ベトナム社会主義共和国</option><option value=”VU”>バヌアツ共和国</option><option value=”WF”>ワリス・フテュナ諸島</option><option value=”WS”>西サモア</option><option value=”YE”>イエメン共和国</option><option value=”YT”>マイヨット島</option><option value=”YU”>(ユーゴスラビア連邦共和国)</option><option value=”ZA”>南アフリカ共和国</option><option value=”ZM”>ザンビア共和国</option><option value=”ZR”>ザイール共和国</option><option value=”ZW”>ジンバブエ共和国</option> </select>
[/html]

サンプル

コード横丁 国名コード(X0304)というJIS X0304 で設定された国コードを HTML TAG化しました。
ありがとうございます!
コード横丁 コード横丁はJISやISOなどの各種コードを網羅したホームページです。

2011年4月28日

Excel VBA グラフのデータソース範囲を取得・変更

投稿者:isc_blog

ActiveChart.SeriesCollection(1).Formula

(解説)

ActiveChart = 現在、選択しているグラフ

SeriesCollection(1) = グラフの線((1)なので1本目)

Formula=「シート名」!「セル範囲」

Formulaプロパティがなかなか見つからなくて苦労しました。

先人達とgoogle先生に感謝です。

これで、現在のデータソース範囲が参照できます。

シート名が取れないと、元データとグラフオブジェクトが別シートに分かれている場合に対応できないんですよ。。

それでこのプロパティの値が必要だったんです。

なお、グラフの線が1本ごとに離れた列を参照しているようなグラフではなくて、$A$1:$F$100のように固まっていれば、VBAを使用しなくても、名前定義とCounta関数の組み合わせで行けるようです。

これだけだと実用的では無いので、ちょっとアドインを作ってみました。

検証用サンプルExcel&アドイン

アドインは直接開いても構いませんが、ずっと使う場合はデフォルトのフォルダにコピーする方が分かりやすいと思います。

1.C:\Documents and Settings\%ユーザ名%\Application Data\Microsoft\AddIns

にコピー

2.ツール(T)→アドイン(I)→有効なアドイン(A)に表示されているはずなので、チェックを入れる。これで、次からはExcelを開くとアドインが有効になります。使わなくなった場合はチェックを外してください。

2011年4月27日

強烈!JavascriptDBでDBなしでも簡単に抽出させる!

投稿者:isc_blog

AJAX+JavascriptDBで簡易CSVデータベース利用のWebサンプルを参考に・・・

豊島区の賃貸物件情報 を作ってみました。

以前書いたように「csv」データだけ別途吐き出す仕組みさえ作ってしまえば

簡易に検索させるサイトは出来てしまいますね!


一応リレーショナルデータベースを意識して

物件テーブルと路線テーブルと駅テーブルそして
部屋数、構造、種別をマスタテーブルにして6テーブルに分けてみました。

「SELECT LINE_TBL.line_nm,STATION_TBL.station_nm,BUKKEN_TBL.toho,BUKKEN_TBL.bus,BUKKEN_TBL.menseki,ROOM_TBL.room_nm,BUKKEN_TBL.floor,BUKKEN_TBL.chikunen,BUKKEN_TBL.houi,BUKKEN_TBL.price,BUKKEN_TBL.kanrihi,BUKKEN_TBL.shikikin,BUKKEN_TBL.reikin,BUKKEN_TBL.syokyaku,TYPE_TBL.type_nm,KOZO_TBL.kozo_nm FROM BUKKEN_TBL INNER JOIN LINE_TBL on BUKKEN_TBL.line_id = LINE_TBL.id INNER JOIN STATION_TBL on BUKKEN_TBL.station_id = STATION_TBL.id INNER JOIN ROOM_TBL on BUKKEN_TBL.room = ROOM_TBL.id INNER JOIN TYPE_TBL on BUKKEN_TBL.type = TYPE_TBL.id INNER JOIN KOZO_TBL on BUKKEN_TBL.kozo = KOZO_TBL.id WHERE true AND LINE_TBL.id = “3”」

※一行で書かないといけないのがミソです。
こんなSQLが書けちゃうなんてステキです!

※昨日、「アシアル株式会社」主催のAndroid/iPhoneアプリ制作セミナーに行ってきました!アンドロイド開発したいっす!

2011年4月27日

javaで未来を感じるSWT画面を速攻作るだけのクラス

投稿者:isc_blog

まずは、SWTライブラリを取得します。

SWT は以下のサイトからダウンロードできます。

Eclipse.org
http://www.eclipse.org/

そして Eclipse上で動作する前提で・・・

↑のようにビルド・パスを設定してください。

 

その後

以下をコピペして「SWTWindow.java」というファイル名にしてください。

[java]
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.ShellAdapter;
import org.eclipse.swt.events.ShellEvent;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;

public class SWTWindow {

// シェル
private Shell sShell = null;

// ボタン
private Button button = null;

// タイトル
private static final String title = &quot;SWT Window&quot;;

/**
* ウィンドウオープン
* @param args
*/
public static void main(String[] args) {
// ディスプレイ設定
Display display = Display.getDefault();
// static なメソッドから呼ぶために自クラスをインスタンス化
SWTWindow thisClass = new SWTWindow();
// シェル作成
thisClass.createSShell();
// シェルオープン
thisClass.sShell.open();
// シェルが生存している間待つよ
while (!thisClass.sShell.isDisposed()) {
//
if (!display.readAndDispatch())
// ディスプレイスリープ
display.sleep();
}
display.dispose();
}

/**
* シェル作成
*/
private void createSShell() {
// シェルインスタンス生成
sShell = new Shell();
// レイアウト=グリッドレイアウト設定
GridLayout gridLayout = new GridLayout();
// グリッドデータインスタンス生成
GridData gridData = new GridData();
// シェルにタイトル設定
sShell.setText(title);
// シェルにレイアウト設定
sShell.setLayout(gridLayout);
// ボタンインスタンス生成
button = new Button(sShell, SWT.NONE);
// ボタンのキャプションを「Close」に設定
button.setText(&quot;Close&quot;);
// ボタンをグリッドデータに設定
button.setLayoutData(gridData);
// シェルの画面サイズを 500px×500px に設定
sShell.setSize(new Point(500, 500));
// ボタンにリスナー設定
button.addSelectionListener(new SelectionAdapter() {
// 選択された際のイベント
public void widgetSelected(SelectionEvent e) {
doExit();
}
});
// シェルにリスナー設定
sShell.addShellListener(new ShellAdapter() {
// 閉じられたときのイベント
public void shellClosed(ShellEvent e) {
}
});
}

// ウィンドウ閉じるメソッド
private boolean doExit() {
// メッセージボックス
MessageBox mb = new MessageBox(sShell, SWT.ICON_QUESTION | SWT.YES
| SWT.NO);
// メッセージボックスのタイトル
mb.setText(&quot;Closing OK?&quot;);
// メッセージボックスに表示されるメッセージ
mb.setMessage(&quot;閉じますよ。OKですかいな?&quot;);
// メッセージボックスオープン
int state = mb.open();
// メッセージボックスで「OK」以外押しても無反応
if (state != SWT.YES) {
return false;
}
// シェル閉じる
sShell.close();
// シェル開放(明示的にやる必要がある)
sShell.dispose();
// 処理終了
return true;
}
}
[/java]

で、実行すると未来を感じるウィンドウが表示されます。

表示されておしまいです。

2011年4月26日

Excel VBA 最後の行列を取得

投稿者:isc_blog

ループさせたいが、最終行や最終列が動的に変わってしまう場合の取得方法

・最終行

cells(rows.count,1).end(xlUp).Row

(解説)

1列目(A列)を基準にして、65536行からキーボード操作のCtrl+↑した行を取得します。

rows.countやcolumns.countとすることでExcel2007以降のように100万行×1万6千列あっても動きます。

(注意)

途中で空欄があるとそこで止まってしまいますので、1つのシートに複数の表を入れているようであれば注意が必要です。

・同様に最終列の取得方法

cells(1,columns.count).end(xltoLeft).Column

2011年4月25日