2007年3月28日水曜日

[ASP.NET] Vistaでステップ実行が出来ない時


VistaでASP.NETをデバッグしようとしても、ブレイクポイントで止まらないのです。
ちょっと調べたところ、周知の問題らしいです。
これでまた、「アクセス許可を管理者に昇格」のやり方がわからなくてまいりました。。。

インストール環境によりますが、C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.exeを右クリックして、プロパティの特権レベルを設定するようです。

2007年3月16日金曜日

[VB.NET] 配列の指定要素のみを削除する

配列の最後の要素の消すのはなんてことはないのですが、
中盤の要素を削除するのって結構メンドクサイですね。
 
Private Sub ArrayRemove(ByRef TargetArray As String(), ByVal deleteIndex As Integer)

 '一時保管用配列
 Dim newArray As String()
 ReDim newArray(TargetArray.GetUpperBound(0) - 1)

 '一時保管用配列にすべてをコピーする
 Array.Copy(TargetArray, 0, newArray, 0, deleteIndex)

 '一時保管用配列に削除対象の要素以降の値をコピーする
 Array.Copy(TargetArray, deleteIndex + 1, newArray, deleteIndex, TargetArray.GetUpperBound(0) - deleteIndex)

 'オリジナルの配列の格納領域を再割り当て
 ReDim TargetArray(newArray.GetUpperBound(0))

 '値を代入
 TargetArray = newArray

End Sub

2007年3月13日火曜日

[SQL] Order by でNullの行を下に持って行きたい

ある列のソートで値が設定されているものを上位に、
Nullであるものを下位にしたい時にこんなクエリにしたらうまく出来ました。
ちなみに SQL Server 2000です。

-----------------------

select * from Orders
order by
case when ShipRegion is null then 0 else 1 end desc
,ShipRegion Asc

2007年3月7日水曜日

[VISIO] マスタシェープのドロップ時にカスタムプロパティを開く

Visio 2003にてマスタシェープをドロップした際に、カスタムプロパティを開く方法。

1.メニュー -> ツール -> オプション -> 詳細設定タブ
  詳細設定オプションの「開発モードで実行する」をチェック状態にする。
2.図形ウィンドウの対象のステンシルがあるタブを右クリックして、「ステンシルの編集」をクリックする。
3.対象のマスタシェープを右クリックし、マスタシェイプの編集 -> マスタシェイプの編集をクリックする。
4.メニューの図形->カスタムプロパティをクリックして、カスタムプロパティの編集フォームを表示する。
5.そのフォームの中に「ドロップ時に確認」と言うチェックボックスがあるのでチェックする。

これで完了。

シェープをフォームに貼り付けるとカスタムプロパティフォームが勝手に表示されます。

2007年3月2日金曜日

[VB.NET] ビットシフト

今まで実践で使ったことがありません。
と言うか、使い方がわかってないから使えていないだけなんでしょうか。。。
これから意識していきたいです。

Dim i As Integer
i = 2
i = i << style="color: rgb(0, 153, 0);">'10進数数値
Debug.WriteLine("10進数数値:" & Convert.ToInt32(i, 10))
'2進数文字列に変換
Debug.WriteLine("2進数文字列に変換:" & Convert.ToString(i, 2))
'16進数文字列に変換
Debug.WriteLine("16進数文字列に変換:" & Convert.ToString(i, 16))

'10進数数値:4
'2進数文字列に変換:100
'16進数文字列に変換:4

i = 2
i = i << style="color: rgb(0, 153, 0);">'10進数数値
Debug.WriteLine("10進数数値:" & Convert.ToInt32(i, 10))
'2進数文字列に変換
Debug.WriteLine("2進数文字列に変換:" & Convert.ToString(i, 2))
'16進数文字列に変換
Debug.WriteLine("16進数文字列に変換:" & Convert.ToString(i, 16))

'10進数数値:8
'2進数文字列に変換:1000
'16進数文字列に変換:8

i = 2
i = i >> 1
'10進数数値
Debug.WriteLine("10進数数値:" & Convert.ToInt32(i, 10))
'2進数文字列に変換
Debug.WriteLine("2進数文字列に変換:" & Convert.ToString(i, 2))
'16進数文字列に変換
Debug.WriteLine("16進数文字列に変換:" & Convert.ToString(i, 16))

'10進数数値:1
'2進数文字列に変換:1
'16進数文字列に変換:1

i = 2
i = i >> 2
'10進数数値
Debug.WriteLine("10進数数値:" & Convert.ToInt32(i, 10))
'2進数文字列に変換
Debug.WriteLine("2進数文字列に変換:" & Convert.ToString(i, 2))
'16進数文字列に変換
Debug.WriteLine("16進数文字列に変換:" & Convert.ToString(i, 16))

'10進数数値:0
'2進数文字列に変換:0
'16進数文字列に変換:0