プログラミング

Jeans & Development 電子ブロック工房 三日坊主 フロントページ

PHP 5.3 RC1 [プログラミング]

2009年4月2日

PHP 5.3 RC1が出たらしい。主な新しい機能は、次の通りだそうだ。

php.netより

JavascriptでWin32APIが利用しやすくなる『win32api.js』 [プログラミング]

2008年10月9日

ネットサーフィンしていて、面白い記事を発見。

Electronic Genomeより、

JavascriptでWin32APIが利用しやすくなる『win32api.js』
Javascript(JScript)からSFC mini経由でWin32APIを簡単に利用できるようにするwin32api.jsを作ったので公開します。win32api.jsをインポートすると Win32APIで定義されている定数6315個、構造体クラス412個、API関数2007個がグローバル変数として展開されます。これでCなどで書かれたWin32APIなコードを比較的簡単にHTAなどのJavascriptアプリに流用できそうです。

suppon 0.1.0β [プログラミング]

2008年7月25日

suppon 0.1.0βを公開しました。ライセンスは、LGPLv2.1です。

readme.txtより
Suppon ver 0.1.0 beta (LGPL lisence ver 2.1)

Supponは、WSHにおいて、COM(ActiveX-DLL/OCX)をレジストリへの登録無しに利用で
きるようにするツールです。OyagameやSFC-miniなどを用いて作成したプログラムを
配布する際に用いることを前提として設計されています。

マニフェストは使用していませんので、Windows Vista/XPだけでなく、Windows 2000
でも利用可能です。

利用する際は、ActiveX-DLL/OCXファイルをsuppon.exeと同じフォルダに起き、
suppon.jpを編集して、プログラムID・ファイル名・CLSIDを設定してください。プ
ログラムID・CLSIDが不明の場合は、一度ActiveXをregsvr32.exeを用いてレジスト
リに登録すると、レジストリエディタを用いて確認することが出来ます。なお、
OyagameとSFC-miniについては、あらかじめ設定されています。

作成したWSHファイル(*.vbs, *.js, *.vbe, *.jse)は、suppon.exeにコマンドライ
ン(%1)として与えると、実行できます。あるいは、ファイル名をstart.vbsなどと
してsuppon.exeと同じディレクトリに置けば、コマンドライン無しでsuppon.exeを
ダブルクリックするなどして実行することも出来ます。スクリプト中でCOMオブジェ
クト作成の際は、CreateObject()やActiveXObject()関数ではなく、
WScript.CreateObject()メソッドを利用してください。なお、COMのイベント機能
は残念ながら利用できません。

suppon 0.1.0βは、ここからダウンロードできます。

Suppon開発中 [プログラミング]

2008年7月20日

wscript.exe用のマニフェストを書くより簡単に、WSH(VBScript/JScript)でRegistration-Free COMを使うための汎用ツールを開発中。

一つ前の記事の6つ目のコメントで書いたアイデアをプログラミングするだけである。が、そこで述べた『簡単なIDispatchクラス』が実際には簡単ではなく、ちゃんと仕様にのっとって記述しないと機能しないようで、その部分で今手間取っている。これが済めば、ほぼ出来上がり。

完成すれば、OyagameやSFC miniといった私の作成したCOMツールだけでなく、どのようなCOMでも、CLSIDとDLLファイル名を記述するだけで、レジストリに登録することなくVBScript/JScriptで使えるようになる(はず)。

Script Users' and Programmers' Private Object Navigationの略で、Supponと命名した。Oyagameとの亀つながりということで…。

ScriptControl用WScriptオブジェクト [プログラミング]

2008年7月13日

Oyagameを、Registration-Freeで使うのにScriptControlを利用するやり方は、Oyagameに限定したツールにするよりも、汎用ツールとしてすべてのCOMに対応できるようにしたほうがよさそう。

先の記事でも問題にしたが、WScriptオブジェクトをこのツールで供給すれば、かなり汎用性が出るはず。しかも、XP, Vistaだけでなく、2000, NTでも使える方法を見つけてあるので、ほとんどのケースで問題ないだろう(95/98/MEでも使えるかどうかは、不明)。

このWScriptオブジェクトの供給方法について、ほぼ出来上がったので、バックアップの意味も兼ねてメモ。

ScriptControlの利用 [プログラミング]

2008年7月4日

先日とりあげた、wscript.exe用のマニフェストを書く方法に加えて、ScriptControlを利用する方法も試してみた。とりあえず、VB(VB5)を用いて簡単に作成したプログラムのソースコードは次のとおり。

registration-free COMをWSHで使う [プログラミング]

2008年7月1日

OyagameやSFC-miniは、インプロセスCOMサーバ(ActiveX-DLL)をregsvr32.exeを使ってレジストリに登録するという古い方法を使って、WSH(VBScript/JScript)でDLLにアクセスすることを可能にしている。WSH自身がすでに古くなりつつある技術なので、こういった古い技術に頼るのは仕方の無いところ。

一方で、こういった資産を生かそうという仕組みがWindows XP以降ではサポートされているようで、これを使えば、レジストリへの登録無しに、COMサーバが使える。したがって、管理者権限が無くても、COMサーバが供給するオブジェクトにアクセスすることができるようになる。

Oyagameを使うようなケースではこれは朗報で、作成したプログラムを配布する時の制限が無くなる事は大きい。

oyagame 0.1.0β [プログラミング]

2008年6月1日

初めてのベータバージョンになる、oyagame 0.1.0βを公開しました。

βバージョンとしたことで、基本的な仕様はこれで行くことになります。メソッド呼び出しの際、アルファベットの大文字小文字を区別するかどうかの判断がまだ先送りになっていますが、現在の仕様では区別しないようにしています。ここの部分でのスピードが全体のスピードに影響することはほとんど無いのではないかというのがその理由です。今後も、スピードにはあまりこだわらずに開発してゆくことになるでしょう。それでも、構造体へのアクセスなど、スピードを若干意識した部分もありますが。

SDLの入門用としての需要が出れば良いなと思っています。もっと本格的にSDLを使いたい人は、C/C++を使ってもらえれば…というところです。

oyagame 0.1.0 βは、ここからダウンロードできます。

この配布に伴って、SFC mini の公式ページの運用開始を宣言します。

http://sfcmini.sourceforge.jp/

公式ページは、Nucleus::subSilverを用いて構築しています(ちょっと勇み足的なところもあるけれど)。多分、閑古鳥が鳴く状況が続くと思いますが、温かく見守っていただければと思います。

oyagameで日本語を使う [プログラミング]

2008年5月30日

oyagameで日本語を表示するのは、意外と簡単であることが分かった。これに気がつくのを難しくしていた原因は、私の今のPC環境でShift-JISがうまく使えなかったことにあった。

OSで日本語がちゃんと使える環境になると、oyagameでの日本語表示は簡単。

もしもし亀よ

ADODB.Stream [プログラミング]

2008年5月27日

さまざまなエンコードおよびバイナリが扱えるCOMオブジェクト、ADODB.Streamに関する備忘録。

MSDNにおける、ADODB.Streamの解説は、ここ

これのCharsetプロパティのところで、

システムが認識できる文字セット文字列の一覧については、Windows レジストリの HKEY_CLASSES_ROOT\MIME\Database\Charset のサブキーを参照してください。

と言っている。調べてみると、以下のエンコードが使えるらしい(使用中のVistaの場合)。

Windows-1250
Windows-1251
_iso-2022-jp$ESC
big5
euc-jp
gb2312
ibm852
ibm866
iso-2022-kr
iso-8859-1
iso-8859-2
iso-8859-4
iso-8859-5
iso-8859-6
iso-8859-7
iso-8859-8
iso-8859-9
koi8-r
ks_c_5601-1987
shift_jis
utf-7
utf-8
windows-1252
windows-1255
windows-1256
windows-874

oyagameでADODB.Streamを扱うようにすれば、それほどソースコードを肥大化させること無く、日本語が表示できるようになるはず。おそらく、20-50行ほどのコード追加で十分だろう。

(追記)
iso-2022-jpも使える。上記リストは可能なすべてをピックアップしたものではないので、他にも使えるエンコードはあるかも。
<<前の記事   後の記事>>