テキスト広告:プレミアムプランが最初の3か月月額99円!【2025年7月31日まで】

AdMax右サイドバー広告

金曜日, 4月 27, 2007

[VC++]メモ

▼質問
UNREFERENCED_PARAMETERって何?returnの後に記述している?何だ!

▼回答
UNREFERENCED_PARAMETERマクロらしい。引数として受け取った変数を1度も使用しなかった
ときにでるコンパイル時の警告を回避するためのものらしい。

土曜日, 4月 21, 2007

[VBA]Validation

「アプリケーション定義またはオブジェクト定義のエラーです。」のエラーがでる。
.Validation.Add Type:=Excel.XlDVType.xlValidateDecimal, AlertStyle:=Excel.XlDVAlertStyle.xlValidAlertStop, Operator:=Excel.XlFormatConditionOperator.xlGreater, Formula1:="-999999999"


xlValidateCustom:任意の数式を使用してデータを検証します。
xlValidateDate:日付値
xlValidateDecimal:数値
xlValidateInputOnly:値が変更された場合のみ検証を行います。
xlValidateList:指定したリストに値が存在する必要があります。
xlValidateTextLength:文字列の長さ
xlValidateTime:時間値
xlValidateWholeNumber:全数値


xlValidAlertInformation:情報アイコン
xlValidAlertStop:停止アイコン
xlValidAlertWarning:警告アイコン

▼回答
どこでもいいからselectしないと駄目みたい。うまくいくときもあるのはよくわからない?

http://www.keep-on.com/excelyou/2002lng4/200208/02080364.txt

土曜日, 4月 14, 2007

[VBA]

変数宣言の強制Option Explicit
配列インデックスの下限値を指定Option Base [01]
デフォルトは1
文字列比較の優先順位を指定Option Compare [TextBinary]
デフォルトはBinaryBinary A < B < E < Z < a < b < e < z
Text (A=a) < (B=b) < (E=e) < (Z=z)

金曜日, 4月 13, 2007

[VB.NET]CheckedListBox

Public Sub setCheckedListBoxSelected(ByRef oCListBox As CheckedListBox)
Dim value As Boolean = oCListBox.GetItemChecked(oCListBox.SelectedIndex) 'oCListBox.SetItemChecked(oCListBox.SelectedIndex, CBool(IIf(value.Equals(True), False, True))) oCListBox.SetItemCheckState(oCListBox.SelectedIndex, CType(IIf(value.Equals(True), CheckState.Unchecked, CheckState.Checked), System.Windows.Forms.CheckState)) If (oCListBox.SelectedIndex >= 0) Then oCListBox.SetSelected(oCListBox.SelectedIndex, False) oCListBox.Show()
End Sub

気になる記事

http://itpro.nikkeibp.co.jp/article/COLUMN/20070410/267878/?ST=biz_shinzui
バグの発生率を示す数式があるという話だった。開発工数や進捗の度合い、プログラムの本数などに基づき、ある数式で計算するとバグの発生率が算出でき、実際に発生するバグとの誤差は5%の範囲に収まるという。
プログラムの品質は、作成に時間がかかった部分があまり高くない

火曜日, 4月 10, 2007

[VB.NET]Option Strict OnとOffの比較(OO4O接続)

■OO4Oを使用したデータベース接続方法でOption StrictをOnにした時とOffにした時での
比較をしてみる。

Option StrictをOffにしたとき

Dim oraDb As OracleInProcServer.OraDatabase
Dim oraDynaset As OracleInProcServer.OraDynaset
Dim fieldValue as Integer

oraDynaset = oraDb.CreateDynaset("select * from table", 0&)
If oraDynaset.RecordCount > 0 Then
fieldValue = oraDynaset.Fields("FIELDNAME").Value
End If

Option StrictをONにすると次のようになる。

Dim oraDb As OracleInProcServer.OraDatabase
Dim oraDynaset As OracleInProcServer.OraDynaset
Dim fieldValue as Integer

oraDynaset = CType(oraDb.CreateDynaset("select * from table", 0&), OracleInProcServer.OraDynaset)
If oraDynaset.RecordCount > 0 Then
fieldValue = CInt(DirectCast(DirectCast(oraDynaset.Fields, OracleInProcServer.OraFields)("FIELDNAME"), _ OracleInProcServer.OraField).Value)
End If

比較してみるとOption StrictはOffにした方が良さそうである。(^^)v

■参考サイト
KEN's .NET [特集4] Option Strict Onのススメ
http://www5b.biglobe.ne.jp/~yone-ken/VBNET/special/sp04_OptionStrictOn.html

土曜日, 4月 07, 2007

[VB.NET]メモ

メンバ=定数=等価なキャラクタ文字:説明
CrLf=vbCrLf=Chr(13) + Chr(10):キャリッジ リターン文字とライン フィード文字の組み合わせ。
Cr=vbCr=Chr(13):キャリッジ リターン文字。
Lf=vbLf=Chr(10):ライン フィード文字。
NewLine=vbNewLine=Chr(13) + Chr(10):改行文字。
Tab=vbTab=Chr(9):タブ文字。

Option Strict Onの時、以下の項目が禁止され、ビルド時にエラーになる。
・明示的なキャスト演算子を使用しない縮小変換
・遅延バインディング
・Object 型での=、<>、TypeOf~Is~、およびIs以外の演算
・宣言でのAs句の省略

■関連サイト
http://www.atmarkit.co.jp/fdotnet/vb6tonet2/vbnet2_13/vbnet2_13_01.html

土曜日, 3月 03, 2007

[Java]SQL関連

▼質問
NUMBER型のフィールドにnullを指定するにはどうすればいいの?

▼回答
setStringメソッドでnullを指定するか、setNullメソッドでTypes.NUMERIC を指定すればできるよ。

PreparedStatement pstmt = null;
pstmt.setString( parameterIndex, null );
pstmt.setNull( parameterIndex, Types.NUMERIC );

金曜日, 2月 16, 2007

[Java]ポップアップメニュー(JPopupMenu)

▼質問
ポップアップメニューを、タイトル名と選択メニューの間にセパレーターを挟んだ感じで表示したいんだ。
どうしたらいいんだ?

▼回答
サンプルだよ!参考にしてくれ!!表示したいコンポーネントのマウスクリックイベントに追加すれば
右クリックで表示されるよ。

if ( javax.swing.SwingUtilities.isRightMouseButton(e) ) {
// 右クリック時の処理
JPopupMenu popupMenu = new JPopupMenu();

JLabel label = new JLabel( "タイトル");
label.setAlignmentX( JPopupMenu.CENTER_ALIGNMENT );
label.setHorizontalAlignment( JLabel.CENTER );
label.setFont( new java.awt.Font( "Monospaced", java.awt.Font.BOLD, 14 ) );
popupMenu.add( label );

JSeparator[] separator = new JSeparator[2];
for ( int i = 0 ; i < separator.length ; i++ ) {
separator[i] = new JSeparator( SwingConstants.HORIZONTAL );
popupMenu.add( separator[i] );
}

JMenuItem menuItem = new JMenuItem( "選択メニュー" );
menuItem.setHorizontalAlignment( JLabel.LEFT );
menuItem.setFont( new java.awt.Font( "Monospaced", java.awt.Font.PLAIN, 12 ) );
menuItem.setActionCommand( "選択メニュー" );
popupMenu.add( menuItem );

menuItem.addMouseListener( new java.awt.event.MouseAdapter() {
public void mouseClicked( java.awt.event.MouseEvent evt ) {
// マウスがクリックされたときのイベント処理
}
});
menuItem.addMouseListener( new java.awt.event.MouseAdapter() {
public void mousePressed( java.awt.event.MouseEvent evt ) {
// コンポーネント上でマウスボタンが押されると呼ばれるイベント処理

}
});
menuItem.addMouseListener( new java.awt.event.MouseAdapter() {
public void mouseReleased( java.awt.event.MouseEvent evt ) {
// コンポーネント上でマウスボタンが放されると呼ばれるイベント処理

}
});

if ( e.isPopupTrigger() ) {
popupMenu.show( e.getComponent(), e.getX(), e.getY() );
}

} else if( javax.swing.SwingUtilities.isMiddleMouseButton(e) ) {
// 中ボタンクリック時の処理

} else if( javax.swing.SwingUtilities.isLeftMouseButton(e) ) {
// 左クリック時の処理

}

木曜日, 2月 15, 2007

[Java]コンポーネントの操作不可

■JButton
  JButton.setEnabled( false );

■JTextField
  JTextField.setEditable( false );

■JSpinner
((JSpinner.DefaultEditor)JSpinner.getEditor()).getTextField().setEditable( false );
JSpinner.getComponent(0).setEnabled( false );
JSpinner.getComponent(1).setEnabled( false );

イベント処理でチェックが必要!
JSpinner.getComponent(1).addMouseListener( new java.awt.event.MouseAdapter() {
public void mouseClicked( java.awt.event.MouseEvent evt ) {
if ( !evt.getComponent().isEnabled() ) return;
}
});

■JCheckBox
  JCheckBox.setEnabled( false );

■JFormattedTextField
  JFormattedTextField.setEditable( false );

[Java]is関連

■isValidメソッド
 レイアウトの処理が済んでいるかチェックする.

■isShowingメソッド
  オブジェクトが表示されているかをチェックする.

水曜日, 2月 07, 2007

[Java]ファイル入出力ストリーム関連

public int FileRead( String fname ) {
int ret = 0;
BufferedReader reader = null;

if ( fname == null ) return -1;

try {
reader = new BufferedReader( new FileReader( fname ) );
String line = null;
while ( (line = reader.readLine()) != null ) {
System.out.println( line );
ret++;
}
}
catch ( FileNotFoundException e ) {
System.out.println( "ファイルが見つかりません。" );
ret = -2;
}
catch ( IOException e ) {
System.out.println( "入出力エラーです。" );
ret = -3;
}
finally {
try {
if ( reader != null ) reader.close();
}
catch ( Exception e ) {}
}
return ret;
}

火曜日, 1月 16, 2007

[JavaScript]

currentElementNo = 0;
function nextElement( keyCode ) {
if (keyCode == 13) {
currentElementNo++;
currentElementNo %= document.formA.elements.length;
if ( document.formA.elements[currentElementNo].type != 'button') {
document.formA.elements[currentElementNo].focus();
} else {
currentElementNo++;
}
}
}

HTML部
'<'body onkeydown="nextElement(event.keyCode); return true;">

土曜日, 1月 13, 2007

[Java]メモ4

▼質問
splitメソッドでピリオドを指定すると配列が返ってこないんだ?どうやって指定すればいいの?!
ピリオドは、プログラムで重要な意味を持っているのはわかるんだが・・・。
String value = "1.2";
String[] splits = value.split( "." );

▼回答
¥マークを頭に二つ付ければよいようだ。
String value = "1.2";
String[] splits = value.split( "¥¥." );

■参考サイト
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19125&forum=12&3

▼質問
ラベルをボタンスタイルに表示することは可能なの?

▼回答
可能だよ!
setBorderメソッドを使えばボタンをしたラベルが作成できるんだ。
クリックされたイベントもaddMouseListenerで登録すればボタン(ラベル)がクリックした時の
処理もすることができるんだ。

下記のプログラムは、種別によってスタイルを変えたいときに使用できる.
ボタン(ラベル)の上にきた時に種別1で呼び出してボタンが選択された状態にするのに使用できる.
private void setLabelStyle( JLabel label, int kind ) {

if ( kind == 1 ) {
label.setBorder( new CompoundBorder( new LineBorder( Color.RED, 3 ),
new BevelBorder( BevelBorder.RAISED ) ) );
}
else {
label.setBorder( new CompoundBorder( new LineBorder( Color.BLACK, 2 ),
new BevelBorder( BevelBorder.RAISED ) ) );
}

}

▼質問
「-Infinity」って何だ?

▼回答
「Infinity」は、無限大という文字列らしい。
正の無限大は「Infinity」で、負の無限大は「-Infinity」となるらしい。

■参考サイト
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/Double.html

土曜日, 12月 23, 2006

[Java]Collection

▼質問
Mapオブジェクトを復帰値として可変で返却しているんだ。それを連続で格納しているんだけど
うまくかないんだ?

▼回答
Mapは、keyとvalueを組にして要素として保持しているからだよ!

Mapは、要素の順番を保持しなかったり、同一keyの要素は複数保持できなかったりするから
使い方には気をつけたほうがいいぞ。

前回値をclearメソッドで削除していなかったのが原因だったみたい。

例1)
TestMap testMap = new TestMap();
Map map = testMap.getMap();
例2)
TestMap testMap = new TestMap();
Map map = new HashMap();
map.putAll( testMap.getMap() );

上の2つのやり方は同じ結果が得られる。

■参考サイト
http://www.atmarkit.co.jp/fjava/javatips/098java012.html

土曜日, 12月 09, 2006

[Java]Look&Feel

// 外観を設定します
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (ClassNotFoundException e1) {
// TODO 自動生成された catch ブロック
e1.printStackTrace();
} catch (InstantiationException e1) {
// TODO 自動生成された catch ブロック
e1.printStackTrace();
} catch (IllegalAccessException e1) {
// TODO 自動生成された catch ブロック
e1.printStackTrace();
} catch (UnsupportedLookAndFeelException e1) {
// TODO 自動生成された catch ブロック
e1.printStackTrace();
}
// 外観を変更します
SwingUtilities.updateComponentTreeUI(this);
// サブコンポーネントの推奨サイズおよびレイアウトに合わせて
// この Window をサイズ変更するように設定
pack();

■参考サイト
http://www.hellohiro.com/swinglookandfeel.htm

火曜日, 11月 28, 2006

[Java]Calendarクラス

▼質問
日付を表示するダイアログ内でCalendarクラスをaddしたんだけど次のエラーが出るんだ!?

Calendar calendar = Calendar.getInstance();
calendar = (Calendar)パラメータでもらったCalendarオブジェクト変数.clone();
calendar.add( Calendar.DATE, 1 );

java.lang.NullPointerException
at java.util.GregorianCalendar.getCurrentFixedDate(Unknown Source)
at java.util.GregorianCalendar.add(Unknown Source)

▼回答
時刻に変更したら回避できた?!なぜ?
calendar.add( Calendar.HOUR_OF_DAY, 24 );

▼質問
1970/01/01 00:00:00 からの通算秒をカレンダーオブジェクトに変換するにはどうするの?

▼回答
下記のようにすれば1970/01/01 00:00:00からの通算秒が設定できる。

Calendar calendar = Calendar.getInstance( TimeZone.getTimeZone( "JST" ) );
calendar.set( Calendar.YEAR, 1970 );
calendar.set( Calendar.MONTH, 0 );
calendar.set( Calendar.DATE, 1 );
calendar.set( Calendar.HOUR_OF_DAY, 0 );
calendar.set( Calendar.MINUTE, 0 );
calendar.set( Calendar.SECOND, 0 );
calendar.set( Calendar.MILLISECOND, 0 );
calendar.add( Calendar.SECOND, 通算秒 );

又は、

Calendar calendar = Calendar.getInstance( TimeZone.getTimeZone( "JST" ) );
calendar.setTimeInMillis( 0 );
calendar.add( Calendar.SECOND, 通算秒 );

土曜日, 11月 11, 2006

[Java]オブジェクトのコピー

▼質問
クラス間でメソッドのパラメータにクラスオブジェクト渡しているんだけど、そのオブジェクトが
完全な独立した形でコピーされないんだ?どうしたらいいの?!

▼回答
cloneメソッドを実装しなくてはいけないようだ!?

複写の方法にも2つの方法があるようだ。

1.シャローコピー(shallow copy)変数共有系?
2.ディープコピー(deep copy)完全独立系?

・・・・

■参考サイト
オブジェクトの複写
http://www.asahi-net.or.jp/~DP8T-ASM/java/tips/ObjectCopy.html

金曜日, 11月 10, 2006

[Java]イベントテンプレート

■キーイベント
JFormattedTextField textField = new JFormattedTextField();
textField.addKeyListener( new java.awt.event.KeyAdapter() {
public void keyTyped( java.awt.event.KeyEvent evt ) {
// キーが入力された時の処理
JFormattedTextField tf = (JFormattedTextField)evt.getComponent();
System.out.println( tf.getText() );
}
});

JFormattedTextField textField = new JFormattedTextField();
textField.addKeyListener( new java.awt.event.KeyAdapter() {
public void keyReleased( java.awt.event.KeyEvent evt ) {
// キーが放された時の処理
JFormattedTextField tf = (JFormattedTextField)evt.getComponent();
System.out.println( tf.getText() );
}
});

■フォーカスイベント
JFormattedTextField textField = new JFormattedTextField();
textField.addFocusListener( new java.awt.event.FocusAdapter() {
public void focusLost( java.awt.event.FocusEvent evt ) {
// フォーカスを失った時の処理
JFormattedTextField tf = (JFormattedTextField)evt.getComponent();
System.out.println( tf.getText() );
}
});