hira's AB作品の部屋

このページでは、その名の通りAB(3.x系・4.x系)で作ったソフトやガラクタや実験を発表します。
何か気に入ったものがあれば自由にダウンロードしてください。

雑誌やホームページへの転載も一応許可しておきます。
ベータ版(バージョンが β1 などのようになっているもの)については転載禁止とします。
但し、雑誌への転載の場合は出版社・書名を、ホームページの場合はそのアドレスをお知らせ下さい。
私がOKを出した段階で転載を許可したものとします。
また、このときソースコードが付属する場合は、それを除いて配布することができるものとします。
但し、それ以外の書庫の改変は禁止します。

なお、DLL(Oar32.dllは例外)についてはプログラムと共に配布することだけを許可します。

Sourceとあるものについては、ActiveBasicソースが付属しています。
※(DLLのみ)VB6HSPとあるものについては、それぞれのサンプルが付属しています。
※準備中のプログラムについては、公開までにタイトルが変わることがあります。

実用品

以下・ActiveBasic3.x・4.x製プログラム
レジストリはいじりません。アンインストールは解凍したフォルダごと削除するだけで完了です(一部除く)。
なお、使用したことに関するいかなる損害に対しても責任は負えません。
※バグは掲示板などに是非報告してください!
※ファイルサイズの右に「SFX」とある場合、解凍ソフトは不要です。
書いていない場合、LZHなのでそれを解凍できるソフトが必要になります。
AucMon
Ver 1.26

Source
↑諸事情により無期限停止。
2008/10/06
(119,060 Bytes [SFX])
大人気Yahoo!Auctionsの価格監視ソフトです。
教育機関など、接続が制限された環境では使用出来ません。
Win95/NT4.0では、Comctl32.dll Ver 4.70(IE3.0)以上が存在しないと動きません。(プログラム内ではじいています)

Discoversoft・山本様のホームページで紹介されました!![04.01.08]
[雑誌掲載(抜けているかもしれません)]
晋遊舎「Windows100%」2005年3月号[発売:2005年2月12日]
晋遊舎「iP!」2005年4月号[発売:2月28日]
司書房「金のなるパソコン」[発売:05年4月26日]
晋遊舎「Windows100%」2005年6月号[発売:5月12日]
晋遊舎「iP!」2005年8月号[発売:6月29日]
笠倉出版社「ヤフオクで簡単金儲け」[発売:8月29日]
晋遊舎「iP!」2005年12月号[発売:10月29日]
晋遊舎「Windows100%」2005年12月号[発売:11月12日]
晋遊舎「iP!」2007年8月号[発売:6月28日]
笠倉出版社「厳選!使えるフリーソフト400」[発売:08年4月中旬]
イージェー「フリーソフト大百科」[発売:08年6月30日]
OrangeArchiver
Ver 1.06

Source
2006/04/18
(117,569 Bytes [SFX])
独自の形式を使用してファイルを圧縮・解凍するソフトです。自己解凍書庫まで作成できてしまいます。
LZHやZIPより圧縮率が良いことも多いです。
この類のソフトはAB製ではおそらく初ではないかと思います。

Discoversoft・山本様のホームページで紹介されました!![04.12.10]
NengaNo 2006
Ver 1.03

Source
2006/01/15
(13,042 Bytes)
お年玉つき年賀はがきの当選を確認するツールです。
2004年の年賀状サンプル集にこの手のソフトがついていて、「こんなもの自分で作れるわ!!」ということで作成に至ったものです。
ソースコードをみなさんのプログラムにパクっても問題ありません。
SamegameX
Ver 1.01

Source
2005/01/13
(27,492 Bytes)
独自のルールを加えた、ひと味違うパズルゲーム「さめがめ」です。
※Yahoo!ブロ●シーと被っている部分もありますが(爆死)
ぜひ高得点を狙ってみてください!

MCプレス「ウィンドウズROM!」2006年3月号[発売:2006年2月18日]に掲載
小数→分数
変換プログラム

Ver 1.00

Source
2004/05/01
(11,096 Bytes)
循環小数などについて、ある程度の精度で分数に変換します。
半分実験なので、値によっては極端に遅いことがありますがご了承下さい。
4Reversi
Ver 1.00

Source
2004/04/22
(26,392 Bytes)
人間とコンピュータ3人の4人で対戦するリバーシです。
むちゃくちゃ強くはありません。期待なさらないよう…。
hi93
Ver 1.01

2004/01/10
(34,059 Bytes)
小倉百人一首で、問題として出される「上の句」「下の句」に対応する正しい「上の句」「下の句」を4つの選択肢から選ぶゲームです。
百首の一覧を見ることも可能です。 一応「暗記支援ソフト」の扱いです。
BGMには、"taitai studio"の「さくらさくら」を使わせて頂きました。Thanks!
なお、隠し機能がバレるためソースコードは勝手ながら非公開とさせて頂きます。
偽ファイル
Ver 1.00

Source
2003/12/23
(6,034 Bytes)
任意のサイズの、中身のない(0で埋められた)全くの意味なしファイルを一瞬で作成するソフトです。
一応「実用ツール」ですが、何のために使うのかわからなかったりします(爆)
転載や法に触れるようなことさえしなければ、どのような形で使用するのも自由です。
もちろん著作権は放棄しませんが、ソースコードをパクっても全く問題なしです(但し、自力で作ったんだぜと謳ってはいけません)。
以下・ActiveBasic3.x・4.x製DLL
全て自由にプログラムに組み込んでかまいませんが損害が発生しても責任は負えません。
※バグは掲示板などに是非報告してください!
ExMsgBox.dll
Ver 1.01

Source
VB6

2006/12/26
(9,191 Bytes)
以前AB掲示板で話題になった「一定時間で消えるメッセージ」をDLLとして実装してみました。
但し、勝手に閉じては「はい」も「いいえ」もないので、一定時間で消したい場合はボタン関係の設定は無視されます。
また、任意の位置にウィンドウを表示する機能も搭載しています。
この2つの機能を組み合わせたメッセージボックスも作れます。
Oar32.dll
Ver 0.06

Source
2006/04/18
(152,937 Bytes [SFX])
拙作「OrangeArchiver」のDLL版を作成して欲しい、との要望があったことから制作したものです。
OrangeArchiver用の書庫を扱うことができます。
統合アーカイバに(可能な限り)準拠。ActiveBasicの仕様により、一部準拠できない部分があります。ご了承下さい。
※Oar32.dllに関しては、BSDライセンスに基づいて配布されることとします(Ver 0.03〜)。
Base64Arc.dll
Ver 0.01a

Source
2005/06/07
(14,117 Bytes)
拙作「base64.dll」の統合アーカイバ準拠版を作成して欲しい、との要望があったことから制作したものです。
NoahでBase64を使うための.b2eファイルも同梱しています。
sosu.dll
Ver 1.01

Source
VB6

2004/12/23
(10,255 Bytes)
素数の列挙・n番目の素数の取得などが可能な素数関係DLLです。
何の役に立つのか分かりませんが、使いたい方はどうぞ。
md5.dll
Ver 1.02

Source
VB6

2004/12/22
(11,609 Bytes)
データのMD5の値を取得します。
MD5の説明は面倒なので各自で調べてください。
base64.dll
Ver 1.01

Source
VB6

2004/09/10
(9,285 Bytes)
Eメールなどに使われるBASE64エンコードを行います。
JIS変換などは備えておりませんのでご注意下さい。
CallFuncPtr.dll
Source
AB3

2004/08/07
(5,340 Bytes)
関数ポインタを使用して、関数を呼び出すDLLです。
引数・戻り値は現在の所32ビット限定です。
動作しない環境も報告されていますので、「実験」のみに使用するようにしてください。
Readmeも入れていません。AB3のサンプル(test.abp)を参考にしてください。
※動作しない環境が報告されているため、このDLLについては配布するプログラムでの使用を禁止します!
<AB4.00にて、関数ポインタの呼び出しが実装されました。需要がなくなりますが、とりあえず残しておきます。>
yauc.dll
Ver 1.03

Source
VB6

2004/08/23
(15,929 Bytes)
Yahoo!Auctionsの情報を取得するDLLです。
「AucMon」の情報取得とやり方はほぼ同じです。

※ダウンロードは可能ですが、現在のバージョンではフリーズ or 強制終了します。Yahoo!Auctions のフォーマット変更があると、AucMon・yauc.dll・yauc.hpi の3つを同時に更新しなければなりません。その管理が行き届かず1年4ヶ月経ってしまい、今になって更新してもすでに使用中の方がほとんどいらっしゃらないと見込まれることから、いったん更新停止とさせていただきます。なおAucMonについては開発を継続します。
yauc.hpi
Ver 1.03

Source
HSP

2004/08/23
(17,465 Bytes)
ABで作れるのは普通のDLLだけじゃなかった!バイナリエディタも使って、上の「yauc.dll」のHSPプラグイン版を作ってしまいました。
基本的にできることは同じです。
※ダウンロードは可能ですが、現在のバージョンではフリーズ or 強制終了します。事情はyauc.dllと同じです。
httpget.dll
Ver 1.01

Source
VB6

2004/06/28
(16,894 Bytes)
インターネットよりHTTPのデータを読むことができます。
さらに、4種類の文字コード(SJIS/EUC/JIS/UTF-8)を自動判別して
SJISに変換することが可能です。(これによりプログラムから使用しやすくなります)
crc.dll
Ver 1.01

Source
VB6

2004/06/27
(25,345 Bytes)
データのCRC16/CRC32の値を取得します。
CRCの説明は面倒なので各自で調べてください。
SizingWnd.dll
Ver 1.00

Source
VB6

2004/04/23
(11,182 Bytes)
ウィンドウを縦横比維持でサイズ変更させるDLLです。
現状では複数ウィンドウは同時に維持できず、別プロセスについては縦横比維持の設定を行えません。
Reversi.dll
Ver 1.00

Source
VB6

2004/04/22
(20,917 Bytes)
ゲーム盤の管理などを担当し、比較的簡単にリバーシが実装できるDLLです。
一応思考プログラムが入っていますが、あまり強くもないので、強いアルゴリズムを作成するとかなり使えるかもしれませんよ。
stdev.dll
Ver 1.01

Source
VB6

2004/02/17
(10,669 Bytes)
偏差値を求めるDLLです。
「標準偏差を求める」などのややこしい計算もDLLがやってくれます。
※ソースコードには計算方法もあるので、他の言語にも移植できるかと思います
getntp.dll
Ver 1.00

Source
VB6

2003/12/06
(13,849 Bytes)
NTPサーバーに接続し、簡単に正確な日時を取得できるプログラムです。
教育機関など、接続が制限された環境では使用出来ません。
strqsort.dll
Ver 1.00

Source
VB6

2003/12/06
(14,355 Bytes)
文字列をクイックソートするDLLです。
複数キーは持てませんが、使い道はいろいろあると思います。
wheel.dll
Ver 1.00

Source
VB6
HSP

2003/12/06
(17,603 Bytes)
一部のマウスで左ボタンと右ボタンの間についている「ホイール」の動きを調べるDLLです。
内部でサブクラス化をしているだけの簡単なものですが、
サブクラス化が使えない言語をお使いの方には朗報かもしれません。
以下・ActiveBasic3.x用ライブラリ&モジュール(ファイル)
※アドバイス&バグ報告は大歓迎です!
不定形ウィンドウ
作成支援モジュール
For ActiveBasic

Ver 0.10

2004/09/07
(10,526 Bytes)
簡単に言えば、画像の形をしたウィンドウを作成することができるモジュールです。
VBで同様のことをするモジュールがVectorで公開されていましたが、このコードをそのままAB風に書き直しただけでは、なかなかうまく動作しませんでした。
そこで、今回ABで使用可能なモジュールを公開することにしました。
※VB版のモジュールのコードは使用していません。また、VB版のモジュールはここで公開しているモジュールとは一切関係ありませんので、くれぐれもここで公開しているモジュールについて、VB版の作者には絶対にお問い合わせにならないようお願いします。
CharSquare.abp
Ver 1.01

2004/06/17
(2,722 Bytes)
文字の面積を求めるファイルです。
使い道があるかどうかはわかりませんが、良かったらどうぞ。
データ圧縮ライブラリ
Ver 0.12

2004/04/24
(15,294 Bytes)
ABでデータを圧縮するライブラリです。現在MoveToFront・ZeroLengthEncode・RunLength・RangeCoder・BlockSorting・LZSS・0-1-2 encode(RangeCoderの発展)が使用できます。
ちなみに、あるホームページ(Readmeに書いている)にて公開されていたC言語のソースをABに書き直して少々手を加えただけですので、難しいことはよくわかっていません(^^;;
小技関係
プログラムを起動して
終了するまで待機する

(1,368 Bytes)
通常、ABのExec命令やWin32APIのShellExecute()関数は、アプリケーションを起動しても起動しっぱなしです。
そこで、起動したアプリケーションが終了するまで以後の動作をせずに待機する命令を提供します。

ガラクタ・実験

OLEドロップを
AB単体で実現する
これは完成品ではありません。
私がやってみてもうまく動作しなかったため、C言語やCOMに詳しい方に挑戦していただきたいのです。
最終的に「エクスプローラからのファイル・フォルダのドロップは受け付けない」「IEのリンク・アドレスバーのeマークなどからのOLEドロップは受け付ける」状態になり、アドレスが正しくリストに追加されればOKです。
なお、今回は外部DLLの使用は一切しないでください(OLE32.DLLなど、WindowsにセットのDLLの使用は可)。お願いします。
InputBox関数
Source
ActiveBasic(3.x)で、VisualBasicにあるInputBox関数は実現できるのか!?ということで、InputBox関数を自作し、使用してみる実験です。
プロンプト文字列に複数行指定できない、Enterキーを押しても「OK」ボタンを押したことにならない、Escキーを押しても「キャンセル」ボタンを押したことにならないなどの制限があります。
Enterキー・Escキーについては実装しました(一応)。複数行指定は一応可能ですが、あまりに行数が多くなると表示できないので注意が必要です。
サンプルプログラム(ソース付き)は、インプットボックスに入力されなくなるまで、入力された文字をプロンプトウィンドウに出力します。
見た目はチェックボックス、
中身はラジオボタン!?

Source
ラジオボタンは、複数を組にして使い、どれか1個がチェックされたら他はチェックが解除されます。
しかし、同じ動作をチェックボックスでもできないだろうか!?これの実験です。
ActiveBasicは
本当に速いのか!?

AB3&VB6&PB Source
ActiveBasicとVisualBasic、そしてPureBasicで同じ画像を100万回描画するのにかかる速度を調べます。
どれが速いか…試してみてください!
※AB版の実行ファイルは[AB\Painting.exe]、VB版は[VB\Painting.exe]、PB版は[PB\Painting.exe]にあります。VB版はVB6.0ランタイムがないと動きません。
HSPプラグインをABで作る AB3.xのDLL作成機能を使って、HSPのプラグインを作成する方法です。なお、動作は十分テストしてから配布するなどしてください。
リンクをクリックで説明にジャンプします。

トップに戻る