vb6
あまり知られていないような気がしますが、VB6にも不完全ながらオブジェクト指向プログラミングを実現するための機能は備わっています。 public, friend, private でのスコープ制御によるカプセル化の実現。 インターフェースによる多態性。 継承はサポート…
問題 Windows7になってAPIの挙動が変わったせいなのか、VB6 の StrConv関数の挙動が WindowsXP の頃と変わっている。*1 Shift-JIS を扱うプログラムではバイト単位に文字列を操作したいという要求が多いので、例えば「先頭5バイト」などといった場合、次のよ…
VB6でCOMコンポーネントを開発してると、TypeLibIDとかCLSIDの不一致でソースコードが開けなくなったり、いままで動いていたプログラムが動かなくなったりという場面によく遭遇します。(とくにCOMコンポーネントの開発に不慣れで「COM」というものをよく理…
VB6でマージソートするクラス書いた。ソースコードは以下のような構成(クラス図として正確かどうかは自身がない) Javaの ISorter ソートアルゴリズムのインターフェース。 このインターフェースによりソートの機能を利用するコードとソートアルゴリズムの…
Function test(para) As Boolean Dim regex As RegExp Set regex = New RegExp regex.Pattern = "[一-龠ぁ-んーァ-ヶA-Za-z0-9\w]+" test = regex.test(para) Set regex = Nothing End Function ↓にあるように、正しくはないがおおむね使える。ものか…
たまたま見つけたので引用。VBScriptにおいて、通常、end とか and とかの予約語はVBでは変数名に使用することができない。 が、ブラケット("[", "]") で括ることで、予約語であっても変数名やプロシジャ名の識別子として使用することができる。 IDENTIFIER …
なんかもっといい方法が無いものか...
HTMLDocument の動的な作成: Days on the Moon を参考にやってみた。 Sub parseXml() Dim html As Object ' ※レイトバインディングしないと、write() メソッドの呼び出しがコンパイルエラーになる。 Dim fso As Scripting.FileSystemObject Dim el As HTMLUn…
MSDNのコード見てたら面白いコードがあったのでメモっとくAPI関数呼び出すときとか、そのコールバック関数のアドレスをAddressOf演算子つかってAPI関数に渡したりできるが、VBのコードではそういうことができない。 VB6でも関数ポインタっぽいものが使えたら…
ちょっとはまった。 まず、ページを開かないと、Documentオブジェクトにアクセスすることができない。 で、ページの読み込みが完了するタイミングはDocumentCompleteということで以下のようなコードになる。 (フォームにWebBrowserコントロールを配置して..…
いまさらVB6なんで、誰得って感じですが、、 デバッグなどに重宝するイミディエイトウィンドウですが、最近知ったんですがループ処理を書くこともできます。 for i = 0 to 10: debug.print i : nextという感じで、通常のプログラムでは改行となる箇所を:(コ…