VB

拡張メソッドでユーティリティクラスを卒業したい

コードを書いてると、ユーティリティクラスってのを作る事がよくある。「○○Utility」とかのクラス名にして、static(VBではShared)なメソッド(静的メソッド)を持たせる。VBではModuleというのもある。 ユーティリティクラスの例 例えば、指定した文字列を指定…

VBでブロックを作って変数のスコープを狭くする(C#の {} みたいに)

VB

こういうの、やっていいのかどうかわかんないけど。 C#のブロック C#では、コードを {} でくくるとそこがブロックになって、変数のスコープをその範囲に限定できる。ListViewに複数のアイテムを追加するときとかに便利。 { ListViewItem item = listView1.It…

VB9でInteger?

VB

.NET Framework 2.0からnullableが使えるようになった。これを使うとintにnullを入れたりできる。C#では、元々の型の名前のうしろに"?"を付けると、nullableになる。 int? a = 1; a = null; こんな感じ。aにnullが入るというのがnullable。これと同じ事をVB8…

Like演算子

VB

やばい、初めて知った。 Like 演算子 - Visual Basic 言語リファレンス - MSDN VBのLike演算子。上記のリンク先はVB.NETの話をしてるようだけど、VB6でもできる。VBには正規表現がないからダメだとか思ってたけど、Like演算子を使えば、ある程度は文字列のチ…

いろんな文字コードでファイルを読み書きするにはADODB.Stream

昨日書いた通り、FileSystemObjectではUTF-8のテキストファイルを扱えない。そういうときはADODB.Streamを使う。これはUTF-8以外の文字コードも扱える。 ファイルの読み込み var s = new ActiveXObject('ADODB.Stream'); s.type = 2; s.charset = 'utf-8'; s…

FileSystemObjectの使い方まとめ

FileSystemObject。よく使うんだけど、メソッド名とかがいつも思い出せなくなるので、ここにまとめて書いておく。 FileSystemObjectって何? Windowsでファイルシステムを簡単に扱えるようにするためのコンポーネント。最近のWindowsなら最初から標準で入っ…

ファイルに変更を与える際、すでにファイルが掴まれていたら何度もチャレンジする

VB

ファイルを書き込もうとしたら、他のプロセスなどにそのファイルが掴まれていて、書き込みに失敗することがある。このとき成功するまで何度もチャレンジしたい。 Dim fso As New FileSystemObject Dim t As TextStream Do On Error Resume Next Set t = fso.…