ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

VBScript(WSH)

2007-04-06 23:44:14 | PG(VB)

DOSのバッチではファイル名を自由に作れないから 噂に聞くWSHでも使ってみよう
と思ったら、WSHってVBScriptやJScriptのことだったのか。
VBScriptって、型が明示的に使えない以外はほとんどVBAと一緒だなぁ。
さすがVBの名を冠しているだけのことはある(苦笑)

dim fs
Set fs=WScript.CreateObject("Scripting.FileSystemObject")

dim s
s=asc("0")-(asc("A")-10)

function c(byval i)
 if i>=asc("A") then
   if i<=asc("Z") then c = chr(i) else c = ""
 else
   c = chr(i+s)
 end if
end function

dim i,j,k,l
for i=asc("A") to asc("Z")
for j=asc("A")-10 to asc("Z")
for k=asc("A")-10 to asc("Z")
for l=asc("A")-10 to asc("Z")+1
  dim n
  n = c(i)&c(j)&c(k)&c(l)
  if fs.FileExists(n) Then
    WScript.StdOut.WriteLine n
  End If
next
next
next
next

…これだと、COM0とLPT0は引っかからないなぁ…。

それにしてもVBって、関数呼び出しと配列の使用の区別がつきにくい!(変数名のような関数名を付けるのもよくないのだが(苦笑))


WebBrowserでフレームを扱う

2007-03-30 23:30:49 | PG(VB)

はっはっは、やっちゃった。BeforeNavigateやDocumentCompleteイベントの引数のsenderは、HTMLのframeタグで複数のフレームを読むときに変わると思って、HPにそう書いてた(汗)

実際はsenderは変わらず、e.pDispというやつが変わるようだ。
というわけで、WebBrowserのページにframeタグ入りのHTMLを扱う方法について追記。


WebBrowserでスクロール

2007-03-21 09:09:12 | PG(VB)

VB.NET2003のWebBrowserコントロールでHTMLのタグをスクロールさせる方法をメモ。
というか、結局JavaScriptでスクロールさせる方法と一緒だけど(苦笑)

JavaScriptで扱えるプロパティーとVBから扱えるプロパティーは一致している(ような)ので、一方でプロパティーを調べれば 他方でも同じように使える(ようだ)。


あとAddHandlerの省略について

2007-03-16 21:33:51 | PG(VB)

あ、それからVB.NETのWebBrowserのページイベントハンドラー関数の書き方についてメモしたんだった。

WebBrowserのサンプルをネットで見ていると、イベントのハンドリングの書き方が違う。
VB2005はクラスが全然違うから違うとしても、ActiveX(COM)のを使っていても違うから不思議だったんだけど、謎が解けた。

VB6.0では、「変数名_イベント名」という名前で関数を書けば、それがイベントハンドラーになるらしい。
VB.NET2003では、変数宣言にWithEventsを付けて、関数定義で「Handles 変数名.イベント名」という指定を付ける。(関数名はどうでもいいはずなのだが、慣例からか、VB6.0と同じ名前を付けているサンプルが多くて紛らわしい)

他のプログラミング言語から見れば、関数名の命名によって動作が特殊になるなんて想像できないから、後者の方がまだ分かり易いなー。
一番しっくり来るのは、イベントハンドラーを登録しているとしか見えない「AddHandler」命令を使うことだけど。分かってみれば、Handlesの方が便利ですな(笑)