//////////////////////////////////////////////////////////////// KAB-studio.ROM in C64 Presented by KAB-studio http://www.kab-studio.biz/ 2003/08/17 C64 //////////////////////////////////////////////////////////////// ■初めに。  この CD-R は「KAB-studio.ROM」(かぶすたじおどっとろむ)の 2003年夏コミ版です。 C++ と Java のプログラムがいっぱい詰まった 福袋のようでゴミ袋かもしれないプログラム集です。  http://www.kab-studio.biz/Info/Product/C64/KAB_studio_ROM.html にも情報が掲載されていますので、そちらもご覧ください。 ■ご注意。  お約束ですが、本プログラム及びドキュメントによって発生した損害につ いて、 KAB-studio はいかなる責任をも負わないものとします。  というか。  本プログラムの多くは、動作チェック等についてほとんどしてありませ ん(爆)。中にはバグがあったり、さらにコンパイルさえ通らないものも 多々あると思います。また、ドキュメントに関しても誤った情報が記述され ている可能性があります。  本プログラム及びドキュメントは、プログラムを理解し、修正することが でき、正しい情報かどうか判断できる、中上級者向けのものです。  この CD のウリは、膨大な情報です。完全確実に動くアプリではなく、玉 石混淆の生きた情報に価値を見出してください。 ■著作権について。  この CD-R 内に含まれるすべての情報は KAB-studio が著作権を所有して います。この「すべての情報」には、以下のような制限を設けます。 [ していいこと ] ・プログラムをそのまま、もしくは改変して自分のプログラムに組み込むこ と。商用、非商用どちらもOKです。 ・フリーウェアに修正を掛けてそのまま使い続けること。 [ しちゃダメなこと ] ・ Winny や WinMX に流すこと。 ・その他、ネット上でダウンロードできる状態にすること。 ・プログラムやドキュメントをそのままもしくは改変してホームページに掲 載すること。特に「自分が書いたように見せる」のは言語道断。 [ 条件付きでしていいこと ] ・自分のプログラムに組み込んで、そのソースを公開したい場合には、利用 した部分に「 KAB-studio.ROM のものを利用した」旨を記述してください。 ■そのほか。  全ファイル McAfee VirusScanOnline 4.0.12 ( エンジン等は 2003/08/10 のもの)でウィルスチェックしてあります。  コンパイル、ビルド、実行にはそれぞれのプログラムでそれぞれ必要なも のがあります。  C++ まわりは Visual C++ 6.0 以上があれば大丈夫だと思います。 特に 他のライブラリは使用していませんので。また、いくつかのコンソールアプ リは gcc や bcc でもコンパイルできると思います。  Java の場合は Java の基本環境に加えて Ant が実行できる環境が必須で す。また、 Jakarta プロジェクトのものをかなりいっぱい使っているの で、 build.xml に書かれているクラスパスを参考にダウンロードしてくだ さい。  それでは、ここから各プログラム及びドキュメントについて説明します。 ■KSCL ( KAB-studio Class Library ) フォルダ: KSCL 言語: C++ 参考 URL : なし  C++ 用ライブラリです。超実戦的ガチンコライブラリです。絵に描いた餅 じゃない本当に使えるクラスが揃ってます。  Visual C++ 5.0 でのビルドを確認しています。 CppUnit-x でのテストを 行っています。テストコードも付属しています。また、 doxygen で生成し たドキュメントも付属しています。各クラスについてはこのドキュメントを 参考にしてください。  注意して欲しいのは、フリーウェアの中で KSCL を使用している場合の フォルダの位置です。基本的に相対パスで参照しているため、現在の位置関 係を維持するようにハードディスクにコピーしてください。  また、 KSCL のバージョンが各種入っているのは、これらフリーウェアが バージョンを指定して参照しているからです。皆さんは一番新しいバージョ ンを使用してください。 ※ CppUnit-x は以下のサイトからダウンロードしてください。 http://member.nifty.ne.jp/glad/cpp/test/ ■フリーウェア フォルダ: Freeawre 言語: C++ 参考 URL : http://www.kab-studio.biz/Freeware/  各種フリーウェアです。  これはものによって性質がまったく違うのでそれぞれ解説します。 ・ ごみかぶ フォルダ: GomiKAB 言語: C++ ( Visual C++ 5.0 ) 参考 URL : なし  特定のフォルダに日時フォルダを作ってそこに移動するアプリです。  「送る」にショートカットを作っておき、削除したいファイルを右クリッ クして「ごみかぶ」に送ると、指定したフォルダに日時フォルダを作って移 動してくれます。そのフォルダの中が溜まってきたら CD-R にバックアップ を取ってから Shift+Del で完全削除。  これで「ごみ箱が膨らむと気になる!」「ごみ箱は削除後の Undo が面倒 だなぁ」「ああっ間違えて大事なファイルを Shift+Del で消しちまった!」 といった問題ともおさらばです!!  KSCL を使用しているので、ビルドする時にはフォルダに注意してくださ い。それと、テスト用に cppunit-x も使用しています。  使い方については Freeware\GomiKAB\Debug\readme.txt をご覧くださ い。フリーウェアとしても結構便利だと思います。 Windows 2000 Professional で動作確認してあります。  って、なんでデバッグバージョンでしかビルドしてないんだろう……。 まぁデバッグバージョンでも動くので大丈夫(汗)。 MFC 使ってないし。 ・ KBuildNo フォルダ: KBuildNo 言語: C++ ( Visual C++ 5.0 ) 参考 URL : なし  リソースファイルのビルド番号を上げるアプリです。  ウィンドウズ系のアプリのバージョン番号は、「メジャーバージョン.マ イナーバージョン.ビルドナンバー.リビジョンナンバー」となっています。 この「バージョン番号の3つめ」をちゃんとビルド番号にしたい場合に使っ てください。  KSCL を使用しているので、ビルドする時にはフォルダの位置関係に注意 してください。  使用方法は Freeware\KBuildNo\Release\readme.txt をご覧ください。 ・ KDebugBuildChecker フォルダ: KDebugBuildChecker 言語: C++ ( Visual C++ 5.0 ) 参考 URL : なし  ビルドタイプを調べるためのアプリです。  Exe や DLL をドラッグ&ドロップするとそれがデバッグビルドかリリー スビルドかを調べることができます。もう「あれ? これってホントにリ リースビルドかな……」なんて心配する必要なし! 客先必携です!  使用方法は Freeware\KDebugBuildChecker\Release\readme.txt をご覧く ださい。 ・ KEchoServer フォルダ: KEchoServer 言語: C++ ( Visual C++ 5.0 ) 参考 URL : なし  ソケット通信で特定ポートで待ち続けて、何か送られてきたら返信する、 それだけのアプリです。基本的には CppUnit でテストするためのツールで す。  使用方法は Freeware\KEchoServer\Release\readme.txt をご覧くださ い。 ・ KFileLocker フォルダ: KFileLocker 言語: C++ ( Visual C++ 5.0 ) 参考 URL : なし  ファイルにロックを掛けるアプリです。  大量にファイルアクセスするプログラムだと、あるひとつのファイルにア クセスできないだけでプログラムが止まってしまうことがあります。そうい ったときの回避処理がちゃんと入っているか、それをテストするためのアプ リです。  KSCL を使用しているので、ビルドする時にはフォルダの位置関係に注意 してください。  使用方法は Freeware\KFileLocker\Release\readme.txt をご覧ください。 ・ KTail フォルダ: KTail 言語: C++ ( Visual C++ 5.0 ) 参考 URL : なし  ファイルの最後の部分を読み込むアプリ。  UNIX 系の tail の代わりです。ネットワーク上の他のマシンで動いてい るアプリの、ログを監視する時とかに使えます。  ……なんだけど、いまいちうまく動作しない……ちゃんと動くとかなり便 利なんだけどなぁ。  使用方法は Freeware\KTail\Release\KTail.txt をご覧ください。 ・ KTaskManagerOutput フォルダ: KTaskManagerOutput 言語: C++ ( Visual C++ 5.0 ) 参考 URL : なし  タスクマネージャを監視するアプリです。  タスクマネージャの「プロセス一覧」を標準出力に出力するコンソールア プリです。これを一定時間毎に実行してファイルにリダイレクトさせれば、 各プロセスの CPU 占有率やリソースの消費具合をログとして残せます。  KSCL を使用しているので、ビルドする時にはフォルダの位置関係に注意 してください。  使用方法は Freeware\KTaskManagerOutput\Release\readme.txt をご覧く ださい。 ・ KCL9542 フォルダ: Kcl9542 言語: C++ ( Visual C++ 6.0 ) 参考 URL : なし  各フリーウェアで使用しているライブラリです。  アイコン付きメニューやシェルエクステンション機能等、色々と入ってい ます。無茶苦茶古いので怪しいです(汗)。 ・ たすかぶ フォルダ: TasKAB 言語: C++ ( Visual C++ 5.0 ) 参考 URL : http://www.kab-studio.biz/Freeware/TasKAB/  ウィンドウを切り替えるアプリです。  現在も公開中のフリーウェアです。  MFC と KCL9542 を使用しています。  システムフックを使用した常駐アプリのサンプルとしてご利用ください。 ・ けしかぶ フォルダ: KesiKAB 言語: C++ ( Visual C++ 6.0 ) 参考 URL : なし  ファイルをまとめて削除するアプリです。  現在も公開中のフリーウェアです。  MFC と KCL9542 を使用しています。  リストコントロールやスレッド等を使用しているのでそれらのサンプルと してご利用ください。 ・ うちかぶ フォルダ: UtiKAB 言語: C++ ( Visual C++ 5.0 ) 参考 URL : http://www.kab-studio.biz/Freeware/UtiKAB/  打鍵数を数えるアプリです。  現在も公開中のフリーウェアです。  MFC と KCL9542 を使用しています。  システムフックを使用した常駐アプリのサンプルとしてご利用ください。 ・ まどかぶ フォルダ: MadoKAB_1_9_7_0 言語: C++ ( Visual C++ 5.0 ) 参考 URL : なし  プログラムランチャーです。  現在も公開中のフリーウェアです。  MFC と KCL9542 を使用しています。  シェルエクステンションのサンプルとして使用してください。 ■ C++ テストプログラム1 フォルダ: CppTest01 言語: C++ 参考 URL : なし。  C++ のテストプログラムです。「テスト」と言っても CppUnit とは関係 ないのでご注意ください。  Visual C++ 5.0 でビルドしてあります。基本的には付属の STL くらいし か使用していないのでそのままビルドできると思います。  中身については、かなり玉石混淆モードです。一応 t_Dlg** ( ** は整 数値2桁)がテストのメインで、 MFC のダイアログアプリになってます。 ボタンを押すとそれぞれのテストが実行できます。  それ以外のものも同様の環境でビルドできると思います。ただし t_KSCLDlg01 だけは KSCL を使用しているのでご注意ください。 ■ C++ テストプログラム2 フォルダ: CppTest02 言語: C++ 参考 URL : なし。  「 C++ テストプログラム1」よりさらに昔のテストプログラム群です。  こっちの方が玉石混淆度が高いです。変なのがあっても怒らないでくださ い……。  ちなみにものによって Visual C++ 5.0 と Visual C++ 6.0 のプロジェク トが混ざっていますのでご注意ください。 ■ C++ STL テストプログラム フォルダ: CppSTLTest 言語: C++ 参考 URL : なし。  メールマガジンの「 STL & iostream 入門」を書いた時のテストプログラ ムがほとんどです。でもそれ以外のものもあります。  基本的には Visual C++ 6.0 のプロジェクトですが、動作確認を gcc で も行ったため色々残ってたりもします。御了承ください。 ■大学課題 フォルダ: Study 言語: C++ 参考 URL : なし。  大学の課題として提出したものです。  有用かどうかははなはだ不明(汗)。  プログラムとしてもかなりアレだし……。 ■サーブレット フォルダ: Servlet 言語: Java 参考 URL : なし  各種サーブレットです。  といっても、サーブレット本体はツッコミシステムしかありませんが(汗)。 ・ツッコミシステム フォルダ: Tukkomi 言語: Java 参考 URL : http://www.kab-studio.biz/webapps-tukkomi/ViewInputForm.do  ちょお普通な日記で使用しているツッコミシステムです。  Tomcat 4.1.24 で動作確認しています。  Struts 他の Jakarta ライブラリを使いまくっています。また、 JUnit も 使用しています。これらの使用バージョンについては build.xml をご覧く ださい。ただし、たいがいのものは lib 下に置いてあるので落とす必要は ないかも。  簡単な機能だけですが、実際に運用されているウェブアプリの実例として 貴重かと思います。  コンパイル及びテストは Ant で build.xml を実行してください。ただし コンパイル前に build_global.properties のパスを変えておいてください。 ・ Commons ライブラリ フォルダ: Commons 言語: Java 参考 URL : なし  ツッコミシステムで使用しているライブラリです。  別にあんまり利用してませんが(汗)。  だってほとんど Jakarta 系にあるんだもの……。  必要なライブラリ等は build.xml をご覧ください。  コンパイル及びテストは Ant で build.xml を実行してください。ただし コンパイル前に build_global.properties のパスを変えておいてください。 ■ Java ツール フォルダ: JavaTool 言語: Java 参考 URL : なし  KAB-studio 移転に使用したツールです。以下のふたつがあります。 ・「移転しました」ページ作成ツール。 フォルダ: RemovalMaker 言語: Java 参考 URL : なし  「移転しました」というページを作るためのツールです。  ファイルリストを読み込んでテンプレートファイルに置換を掛けて出力す るだけのとても単純なプログラムです。というか手抜き?(汗) テスト コードも書いてないし。  コンパイルや実行については「サーブレット」の「 Commons ライブラリ」 と同じ方法を使用しているのでそちらを参考にしてください。また、この ツール自身でも Commons ライブラリを使用しています。 ・置換ツール。 フォルダ: Replacer 言語: Java 参考 URL : なし  単に置換を掛けるだけのツールです。  置換対象はファイルにリスト形式で指定しなきゃいけなかったりとちょっ と使い勝手は悪いかも。大量の置換処理を連続して行いたい時等に使用して ください。  その他の点については「移転しました」ページ作成ツールと同じなのでそ ちらを参考にしてください。 ■Java テストプログラム フォルダ: JavaTest01 言語: Java 参考 URL : なし。  Java のテストプログラムです。「テスト」と言っても JUnit とは関係な いのでご注意ください。  基本的にどれも小規模なものです。言語仕様の確認から Jakarta ライブ ラリを試したりしたものまで色々あります。  ソースファイルは UTF-8 で書かれています。 t_Java** ( ** は整数値 2桁)には、 C**.java ( ** は整数値2桁)にテストのプログラムが入っ ていて、それを J01.java から呼ぶという形式になっています。各プログラ ムの解説は J01.java の方に書かれているのでそちらをご覧ください。全部 一覧したい場合には // で grep しましょう。  また、 t_Java** とは違う形式のものはそれぞれ中身が違うのでコードを 見て確認してください。  プログラムのコンパイルと実行は Ant で行います。普通に Ant を実行す ればコンパイルして実行します。一部のプログラムはフルパスを直書きして いたりするのでそういったものは修正してからコンパイルしてください。  また、 Jakarta ライブラリ( Tomcat 付属のものを含む)を使用してい るものが結構あります。これは全部ダウンロードして置かないと動かないと 思います(汗)。どれが必要かはすべて build.xml に書いてあるのでそち らをご覧ください。 ■ Java で納得オブジェクト指向プログラミング フォルダ: JavaOOP 言語: Java 参考 URL : http://www.kab-studio.biz/Programing/JavaOOP/  以前発行していた有料メールマガジンです。  Java 初心者向けの、オブジェクト指向プログラミングについての解説で す。 Java を理解する上で必要なオブジェクト指向について説明していま す。全18回発行しましたが、その後、バックナンバーの販売方法が見つか らず、今回に至るという感じです。  Source 下にはメールマガジン本体が入っています。これがメインという ことになると思います。  Program 下には各回の Java サンプルコードが入っています。……が。 なんかクラス名とか怪しいなぁ(汗)。 Hello.java ばっかりだし、複製が ありまくってるし。メールマガジンの方のクラス名を元に grep して探した 方が早いかもしれません。 ■秀丸マクロ詰め合わせ フォルダ: Macro 言語: 秀丸マクロ 参考 URL : なし。  秀丸のマクロです。いっぱいあります。  内容については Macro\readme.txt というファイルに書いてありますので そちらをお読みください。 ■技術文書 フォルダ: Tech 言語: 日本語 参考 URL : なし。  開発中に気付いたいろんなことをまとめてあります。  ファイル名を見ればわかると思うので解説は省きます。  お勧めは Tech\DataBase.txt と Tech\RegularExpression.txt 。  あとなにげに Tech\Stocks.txt とかも。  他は……ゴミ?(汗)