shirai@as.email.ne.jp
JJWorkshop
新着情報 ダウンロード プログラミング 雑文&戯言 波乗り最高 Myお気に入り
実際の開発で作成してきたプログラムを、サンプルとして掲載します。
ここに掲載したサンプルは、そのまま利用しても、改造して利用しても構いません。 ご自由にお使い下さい。

全てソースコード付きです。
[プログラムサンプルメニュー]

Win IBMホストコード順漢字一覧印刷

Win 拡張シェル

Win 外字監視&自動更新

Win 外字一覧印刷

Win 2つの外字フォントを比較

Win プロセスの優先度を変更

Win 外字フォントダイナミック切替

Mac Win 郵便番号・住所検索クラス

Mac 汎用 2分岐サーチクラス

Mac 汎用 文字列検索クラス

汎用 クイックソートクラス

Win インデックスファイルクラス

汎用 日付クラス/時間クラス

汎用 生理日計算クラス

汎用 カレンダークラス

Win メーラー・ブラウザー起動クラス

Win インプットメソッド制御クラス

Win 郵便番号検索プログラム

Mac 郵便番号検索プログラム

Win 郵便番号検索OCX ActiveX

Win 郵便番号DB作成プログラム
 バグなどありましたら報告していただけるとありがたいです。
プログラム仕様書やクラス仕様書なんてものはありませんが、僕のプログラムは 比較的コメントを沢山書いているので、実際にロジックを追ってみて下さい。
各パッケージには必要なクラスを合わせてパックしているので重複するソースも あります。

文字列検索関係で Mac 汎用 となってい るのは、Mac の場合パスカルストリングで文字を扱っているので、汎用版と Mac 版を分けました。Macでは汎用版でなくMac 版を使って下さい。

アプリケーションになっているものはフリーウェアです。アプリケーションのソ ースについては付属のマニュアルも参照して下さい。基本的にはソースを自由に 使えるような扱いになっています。





 
 
2003.10.08 IBMホストコード順漢字一覧印刷

ターゲットOS/言語: Win (NT,2000,XP)
Windows VC6 + MFC

ダウンロード: HCL100.zip

説明:
PCOMMのホストコードテーブルファイルを利用して、IBMホストコード順に漢字一覧表を印刷します。
漢字を検索(漢字、S-JISコード)したり、読みを調べたりすることも可能です。
指定の漢字を拡大表示し、フォントの詳細を確認することも出来ます。

注意
IBM社のPCOMM(Personal Communications)に付属するホストコードテーブルファイル「psys1ibm.tbl」が必要です。


2003.02.12 拡張シェル(右クリックメニュー拡張)

ターゲットOS/言語: Win (98,ME,NT,2000,XP)
Windows VC6 + MFC

ダウンロード: TfShell_v100.zip

説明:
エクスプローラ等での右クリックメニューを拡張します。
このプログラムは、拡張シェルとコマンドラインで実行できるプログラムを連動するだです。
本プログラムをインストールしただけでは何も起こりません。
必ず事前に設定が必要です。
具体的な使用例は、フォルダ内を Grep するツールや、フォルダを圧縮するツールと連携することができます。
右クリックメニューで対象となっているフォルダに対して処理します。
パラメタとしてクリップボードの内容を使うことも出来ます。
最大で、10個まで拡張メニューコマンドを設定できます。

エクスプローラのフォルダ右クリックで表示するコンテクストメニューを拡張するサンプルとして利用できます。
また、拡張シェルを「Regsrv32」を利用しないで登録するプログラムのサンプルとしても利用できます。

「他人の褌」って名前でダウンロードページに入れていたんだけど 「他人の褌deゴー!」と紛らわしくなったんで、そちらからは削除しました。
(2003.4.6)


2003.02.20 外字監視&自動更新

ターゲットOS/言語: Win (NT,2000,XP)
Windows VC6 + MFC

ダウンロード: EudcWatch.zip

説明:
EudcWatch は、指定のフォルダに入れた外字フォントファイルを監視し、更新があった場合、 自動的にシステムの外字フォントファイルを更新します。
EudcFtp (FTPクライアント)も付属し、別サーバにある外字フォントファイルをダウンロードして更新することも可能です。
(NTのスケジューラ「コントロールパネルのタスク」と併用)


2003.02.06 外字一覧印刷

ターゲットOS/言語: Win (NT,2000,XP)
Windows VC6 + MFC

ダウンロード: EudcList.zip

説明:
EudcList は、外字一覧表を印刷するアプリケーションです。
外字フォントファイルは、フォントフォルダに無くても印刷できます。


2003.01.30 2つの外字フォントを比較

ターゲットOS/言語: Win (NT,2000,XP)
Windows VC6 + MFC

ダウンロード: EudcChecker.zip

説明:
EudcChecker は、2つの外字フォントファイルを比較するためのアプリケーションです。
外字フォントファイルは、フォントフォルダに無くても表示し比較できます。
比較は、目検することも、自動的にスキャンすることも可能です。


2003.01.20 プロセスの優先度を変更

ターゲットOS/言語: Win (NT,2000,XP,多分9x系もOK)
Windows VC6 + MFC

ダウンロード: PriorityChanger.zip

説明:
PriorityChanger は、プロセスの優先順位を変更するアプリケーションです。
現在のデスクトップ上で稼働しているウィンドウのキャプションを一覧する「DesktopWindowList」 も付属します。このプログラムで対象プロセスが持つウィンドウを探し、そのウィンドウを指標にして、 PriorityChanger で、対象プロセスの優先順位を変更します。


2002.11.08 外字フォントダイナミック切り替え

ターゲットOS/言語: Win (NT,2000,XP)
Windows VC6 + MFC

ダウンロード: EudcChanger.zip

説明:
EudcChangerは、ダイナミックに外字フォントを切り替えるためのアプリケーションです。
NT系のカーネルでしか動きません。(Win9x,WinMeでは動かない)


1999.11.07 郵便番号・住所検索クラス

ターゲットOS/言語:Mac Win
Windows VC6 + MFC
Macintosh CWPro5+PowerPlant (Mac版はこちらを利用)

ダウンロード: ZipFind.EXE

説明:
郵便番号DB作成プログラムで作成した郵便番号DBから、郵便番号や住所の部分文字列を指定し住所を検索します。
このクラスは MFC のクラスを利用しているので、単独では利用できません。 また、2分岐サーチクラス文字列検索クラスも利用しています。 (同梱しています)

1999.11.7
大口事業所等個別郵便番号に対応しました。

郵便番号DBは ここからダウンロードできます。

1999.09.22 2分岐サーチクラス

ターゲットOS/言語:Mac 汎用
汎用 C++
Macintosh CWPro5+PowerPlant (Mac版はこちらを利用)

ダウンロード: TDSearch.EXE

説明:
メモリに連続配置された固定長のデータ群から、指定したデータを2分岐を使って検索します。比較部分は CComparator という比較用のクラスを作成し利用します。これにより複雑なデータの比較も可能になります。

1999.07.12 文字列検索クラス

ターゲットOS/言語:Mac 汎用
汎用 C++
Macintosh CWPro5+PowerPlant (Mac版はこちらを利用)

ダウンロード: TextSearch.EXE

説明:
メモリに連続配置された文字列から指定の文字列を検索します。
MFC の CString なんかにも検索メソッドはありますが、このクラスは MFC 等のクラスライブラリに依存しなくても利用できるように作成しました。
検索は、Boyer-Mooreアルゴリズムと、力任せアルゴリズムを選択できます。

1999.07.12 クイックソートクラス

ターゲットOS/言語:汎用
汎用 C++

ダウンロード:
QSort.EXE

説明:
メモリに連続配置された固定長のデータ群をソートします。 ソートの比較部分は CComparator という比較用のクラスを作成し利用します。これにより複雑なデータの比較も可能になります。

1999.07.12 インデックスファイルクラス

ターゲットOS/言語:Win
Windows VC6 + MFC

ダウンロード:
IndexFile.EXE

説明:
インデックスファイルを作成できます。あまり大量のデータ操作には向きません。データ長にもよりますが、数千レコードの単位が妥当かと思いま す。
メモリ中にインデックスを配置するので、高速にターゲットのレコードを探せます。また簡単なトランザクション処理を行っているので、更新デー タの Commit / Rollback が可能です。
インデックス比較には CComparator という比較用のクラスを作成し利用します。これにより複雑なインデックスの比較も可能になります。
データ部は可変長(0バイトも可能)のデータを扱うことができます。

1999.07.12 日付クラス/時間クラス

ターゲットOS/言語:汎用
汎用 C++

ダウンロード: DateTime.EXE

説明:
JJWorks for WIndows で利用している、日付と時間を管理するクラスです。
日付クラスでは、日本の祝祭日や、指定日に一番近い前後の平日等の計算もこ のクラスで行っています。
各種オペレータ演算子を定義しているので、加減算や比較も簡単に行えます。
プログラム中にJシリアルという表現を使っていますが、現在これはジュリア ンデートではなく、0001年1月1日を0(ゼロ)としたシリアルデートです。

1999.07.12 生理日計算クラス

ターゲットOS/言語:汎用
汎用 C++

ダウンロード:
Period.EXE

説明:
指定日が生理日かどうかを判定するクラスです。 日付クラスのシリアルデートを利用し計算します。

1999.07.12 カレンダークラス

ターゲットOS/言語:汎用
汎用 C++

ダウンロード: Calendar.EXE

説明:
JJWorks for Windows で利用しているカレンダーは全てこのクラスから派生して作成しています。
日本の祝祭日や振替休日を考慮したカレンダーを作成できます。

1999.10.30 メーラー・ブラウザー起動クラス

ターゲットOS/言語:Win
Windows VC6 + MFC

ダウンロード: MailBrows.EXE

説明:
メールアドレスやURLを現在利用しているメーラーやブラウザーへ送るためのクラスです。
レジストリを検索し、対象となるプログラムを探し、メールアドレスやURLをトランスファーします。

1999.10.30
ブラウザの起動は下記のコマンドで簡単に行えるので、JJWorks等では、こちらに置き換えています。

ShellExecute(NULL, "open", "URL", NULL, NULL, SW_SHOWNORMAL);

1999.07.12 インプットメソッド制御クラス

ターゲットOS/言語:Win
Windows C++

ダウンロード: ImeCtrl.EXE

説明:
インプットメソッドをプログラムから切り替えるときのサポートクラスです。
MS-IME と ATOK12 でテストしてあります。

1999.11.08 郵便番号検索プログラム ZipNoFinder for Windows

ターゲットOS/言語:Win
Windows C++ & MFC

ダウンロード: Zfwin120.EXE

説明:
郵便番号DBを利用した、郵便番号と住所を検索するプログラムです。コンパイルするには VC6.0 が必要です。
このプログラムでは、下記のサンプルを利用しています。

郵便番号・住所検索クラス
2分岐サーチクラス
文字列検索クラス
インプットメソッド制御クラス

そのほかにも、アプリケーションを作成するときに有用なサンプルコードがあります。詳細は解凍して出来た Source.LZH を更に解凍し ReadME.TXT を参照して下さい。抜粋を下記に列挙します。

  1. レジストリ(INIファイル)への読込、書込
  2. アプリケーションパスの取得方法
  3. 次回起動ウィンドウ位置サイズの保存
  4. ツールバー等の位置の保存
  5. リサイズ時のコントロール再配置
  6. ビューへの作画方法
  7. ドキュメントを利用しないビューでの Undo,Cut,Copy,Paste の実装
  8. OLEドラッグ処理の実装
  9. メッセージディスパッチの横取り
  10. ステータスバーへの追加情報作画
  11. リストボックスのオーナードロー
  12. コンテクストメニューの実装
  13. カラー入力フィールド>
  14. 入力フィールドで自動IME制御
  15. 指定 URL へのジャンプ
  16. ・・・等々

このプログラムのソースについては、Manual.HTM を参照して下さい。
データは付属していません。 郵便番号DBをダウンロードして下さい。

1999.09.16 住所へ振り仮名を付け v.1.1 になりました。
1999.11.08 大口事業所等個別郵便番号に対応し v1.2 になりました。

2000.05.16 郵便番号検索プログラム ZipNoFinder for Macintosh

ターゲットOS/言語:Mac
Macintosh C++ & PowerPlant (CW Pro5)

ダウンロード: ZipNoFinder_v1.3.cpt.hqx

説明:
郵便番号DBを利用した、郵便番号と住所を検索するプログラムです。コンパイルするには CW Pro5 が必要で す。
このプログラムでは、下記のサンプルを利用しています。

郵便番号・住所検索クラス
2分岐サーチクラス
文字列検索クラス

これらのサンプルは Windows 版/汎用版もありますが、 Macintosh ではこのプログラムに添付しているソ ースを利用して下さい。

そのほかにも、アプリケーションを作成するときに有用なサンプルコードがあります。詳細は解凍して出来た Source.CPT を更に解凍し Document.DOC を参照して下さい。抜粋を下記に列挙します。

  1. 設定ファイル(初期設定フォルダのファイル)への読み書き
  2. ヘルプに独自のメニューを追加方法
  3. システムキーの押下を調べる方法
  4. アプリケーションパス(FSSpec)の取得方法
  5. コマンド処理とそれに対応したメニューの制御
  6. ウィンドウの位置やサイズを保存し次回起動時にその設定で表示
  7. Constractor で作成され、ウィンドウで管理する各オブジェクトの取方法
  8. あるオブジェクトへ別のオブジェクトをリスナーとして登録する方法
  9. キーイベントのディスパッチ
  10. LTable の具体的な使用例(セルの使い方や制御方法)
  11. リスナーオブジェクトからのメッセージブロードキャスト処理
  12. ドラッグの処理
  13. ポップアップメニュー処理
  14. 書類やアプリケーションを指定してプログラムをランチ
  15. アニメーションカーソル処理
  16. アピアランスを利用しないプログレスバー
  17. IM の自動切替とインライン処理
  18. ・・・等々

このプログラムのソースについては、Manual.HTM を参照して下さい。
データは付属していません。 郵便番号DBをダウンロードして下さい。

1999.10.11 v1.1 からインラインに対応
1999.11.08 v1.2 大口事業所等個別郵便番号に対応
2000.05.15 v1.3 住所検索で対象が多いときにハングするバグを修正

1999.11.08 郵便番号検索OCX ActiveXコントロール

ターゲットOS/言語:Win
Windows 使用サンプルは VB6 / OCX 開発は VC6 & MFC

ダウンロード: Zfocx110.EXE

説明:
郵便番号DBを利用した、郵便番号と住所を検索する OCX (ActiveXコントロール)です。
この OCX を利用した VisualBasic6 のサンプルプログラムも添付しています。利用法は、同梱してある ReadMe.TXT と VB6 のサンプルプログラムを参照して下さい。

このプログラムでは、下記のサンプルを利用しています。

郵便番号・住所検索クラス
2分岐サーチクラス
文字列検索クラス

OCX のソースファイルも付属しています。独自の機能を付加したい場合は カスタマイズできます。処理系は VC6 が必要です。

データは付属していません。 郵便番号DB をダウンロードして下さい。

1999.11.08 大口事業所等個別郵便番号に対応し v1.1 になりました。

2001.01.11 郵便番号DB作成プログラム

ターゲットOS/言語:Win
Windows C++ & MFC

ダウンロード: ZipDBMaker.EXE

説明:
『ゆうびんホームページ』の郵便番号ダウンロードサービスよりダウンロードしたCSV型式の郵便番号&住所データを、 郵便番号・住所検索クラスで利用しやすいように 加工します。(CSVファイルは同梱してません。各自で入手して下さい。)
このプログラムで作成したデータは JJWorks for Windows や ZipNoFinder 等で利用しています。

処理後の郵便番号DBはここからダウンロードできます。

2001.01.11 「
霞ケ関」のような「ケ」を 「霞ヶ関」のように「ヶ」にコンバート

 

サーフマン