CHB Office ウェブサイト

アプリケーション
  これまでに作ったプログラムの一覧です。下表のリンクをクリックするとプログラムコードの圧縮ファイルをダウンロードできます。
VisualC++ 6.0
プログラム 日付 サイズ
マルチスレッド
  MFCで作成したマルチスレッドアプリケーションのプログラム例です。
  "1"を1000回表示するスレッドと、"2"を1000回表示するスレッドを作成し、同時にスタートさせます。"1"と"2"の表示が交互に行われるので、スレッドが切り替わっていることが分かります。
09/12/2714 KB
スレッド間のシグナル通知
  2つスレッドを作成しました。1つのスレッドは5秒に1回、別のスレッドにシグナル通知して、カウント値を1上げます。もう1つのスレッドは、シグナルが来るまでロックしていますが、シグナルが来るとカウント値を1上げます。シグナルは、MFCではCEvent(イベント)を使います。通知はSetEvent関数で、ロックはLock関数です。
09/12/2736 KB
TelnetとFTP
  TelnetとFTPの処理をプログラムから行います。
  Telnetには"Telnet Client By Ibrar Ahmad" (www.planet-source-code.com)を引用しました。WinSockによる実装になります。Telnet Client を制御するために標準出力(stdout)、標準入力(stdin)が必要でした。このために AllocConsole を使っています。FTPには、MFCのWinInetを使いました。
09/12/2776 KB
JpegとBmpの変換
  JpegとBmpの変換をVisualC++プログラムで行います。
  JPEGライブラリは、Independent JPEG Group's software(ftp.uu.net/graphics/jpeg/)で公開されているものを使っています。このライブラリを、VisualC++プログラムに組み込んでいます。JPEGライブラリのコンパイル、VisualC++で利用するための変更、VisualC++プロジェクトの設定が、コード中にコメントで書いてあります。
09/12/27452 KB
週バックアップ
  一週間に1回、ファイルをバックアップするためのプログラムです。
WeeklyBackup.txtの1行目にカウント値(最初は0)、2行目以降にバックアップを行いたいディレクトリを記述します(サブディレクトリはバックアップされません)。2行目以降は、"保存名{tab}ディレクトリ名"のフォーマットで記述します。実行すると、"保存名+カウント値"の名前で圧縮ファイルを作成します。1回実行する毎にカウント値を上げ、カウント値50で0にリセットされます。Windowsのタスクで、このプログラムを1週間に1回実行するように設定します。Lha32 を使います。掲示板データをバックアップするために作りました。
09/12/2719 KB


VisualBasic 6.0
プログラム 日付 サイズ
パラレルポートI/O出力
  PCのパラレルポートを使ってI/O出力を行うためのVBプログラムです。ケーブル(プリンターケーブル)は、メス-メスだと、端子を接続し易いようです。
  以下のフリーライブラリを使っています。
DriverLINX Port I/O Driver for Win95 and WinNT
Scientific Software Tools, Inc.
http://www.driverlinx.com/
  以下のフリープログラムを参考にしました。
ParPortControl
作者:kaoaru
http://www.vector.co.jp/soft/winnt/hardware/se267789.html

(2010.04.21)
あるPCでは、電圧が低いか電流が少ないかで、出力が不安定。CVL、VisionPro、8504、8602のTTL-I/Oを使ったほうが良い。
09/12/271,796 KB


VBScript
プログラム 日付 サイズ
VBScriptでのPHPのようなXMLパーサー
  VBScript(ASPプログラム)で作成したPHPのようなXMLパーサープログラムです。
  XMLパーサーとしては、標準的には MSXML.DOMDocument を使うと思いますが、ある環境でこれで日本語表示が正常に出来なかったため、VBScriptで独自に作成しました。XMLの中の特定の記述しか扱っていません。
  startElementHandler関数にタグ開始のときの処理、endElementHandler関数にタグ終了のときの処理、cdataHandler関数に文字データを読んでいるときの処理を記述します。メイン関数で、XmlParserInit関数、XmlParse関数を呼びます。
  2重カッコを使えば、descriptionの中にHTMLタグを書けます。例えば、<<FONT COLOR="red">>のように。ここで、 は逆にスペース1文字に置き換えられます。
09/12/27189 KB
ホームページにExcelデータ表示
  VBScript(ASPプログラム)を使って、Excelファイルの内容をホームページに表示します。keyを指定すれば、keyに一致した行だけを表示します。
例    http://www.test.com/NewExcelKun.asp?key=テスト 
09/12/275 KB


Visual Studio .NET (C++) + DirectX 8.1
プログラム 日付 サイズ
USBカメラ取込サンプル1
  5秒間ライブ表示を行い、5秒間の映像をAVIファイルに保存します。.NETヘルプの"Video Capture Example Code"ページを基に作成しました。
09/12/2765 KB
USBカメラ取込サンプル2
  画像を1回取り込んで、ビットマップファイルに保存します。.NETヘルプの"ISampleGrabber インターフェイス"ページを基に作成しました。
09/12/27197 KB
USBカメラ取込サンプル3
  ダイアログベースのアプリケーションです。Acquireボタンを押すと静止画を取り込みます。StartLiveボタンを押すとライブ表示を開始します。StopLiveボタンを押すとライブ表示を停止します。後のアプリケーションで使えるように、赤枠を表示させています。

<< VS2005でコンパイル・実行する場合 >>
ウィザードでVS2002→VS2005へ変換
カメラ名を確認
DirectX SDK (March 2009)をインストール
Windows Server 2003 SP1 Platform SDKをインストール
上記2つのIncludeとLibをパスに追加
dxtrans.hのエラーが出るので、
  //#include "dxtrans.h" ... 495行目
  IDxtCompositor //: public IDXEffect ... 979行目
  IDxtAlphaSetter //: public IDXEffect ... 1484行目
  IDxtJpeg //: public IDXEffect ... 1725行目
  IDxtKey //: public IDXEffect ... 2400行目

09/12/27275 KB
USBカメラ取込サンプル4NEW
  「USBカメラ取込サンプル3」の、VS2005、C#版です。DirectX SDK (March 2009)、DirectShowNetを使っています。画像取り込みを行うために動画の開始が必要で、動画しながらの画像取り込みは数ミリ秒〜数十ミリ秒ですが、動画の開始や停止に時間がかかります。つまり、1回目の画像取り込みに時間がかかります(200msec)。
09/12/2717 KB


Visual Studio 2005 VB.NET/C#/VC++
プログラム 日付 サイズ
JpegとBmpの変換
  JpegとBmpの変換をVS2005 VC++プログラムで行います。
  JPEGライブラリは、Independent JPEG Group's software(ftp.uu.net/graphics/jpeg/)で公開されているものを使っています。このライブラリを、VS2005 VC++プログラムに組み込んでいます。JPEGライブラリのコンパイル、VS2005 VC++で利用するための変更、VS2005 VC++プロジェクトの設定が、コード中にコメントで書いてあります。
09/12/27327 KB
画像録画(CVL)
  フレームグラバから画像を取り込んで録画するプログラムです。カメラで連続取り込みを行いながら、別スレッドで保存し、画像抜けが無いように工夫しています。Cognex、CVL、FreeRunモードを使います。"Finish, press OK to exit"のメッセージが表示されたら、未保存の画像が保存されるまで、ある程度の時間、待って下さい。
  クワッドコアCPU、SSD(高速ファイル保存が可能なドライブ)、を使うと効果的です。
09/12/2746 KB
画像録画(VPro)
  フレームグラバから画像を取り込んで録画するプログラムです。カメラで連続取り込みを行いながら、別スレッドで保存し、画像抜けが無いように工夫しています。Cognex、VisionPro、FreeRunモードを使います。
  クワッドコアCPU、SSD(高速ファイル保存が可能なドライブ)、を使うと効果的です。
09/12/2732 KB
簡単なイーサネット通信プログラムNEW
  簡単なイーサネット通信プログラムです。VB.NET、C#、VC++で作成しました。
10/09/1929 KB


Numerical Recipes in C
プログラム 日付 サイズ
座標空間の変換
  本の、連立1次方程式の解法、特異値分解、A・x=b、最小2乗法、を参照して下さい。
09/12/27105 KB
2次元フーリエ変換(FFT)
  画像をフーリエ変換するプログラムです。Cognex、CVL、cvlprojでコンパイル・実行できます。
09/12/27999 KB