NDCEx_Init() | 初期処理 |
ユーザコーディング | データベースなどからKEISデータを読み込む |
NDCEx_StringKtoS() | KEISデータをシフトJIS文字列へ変換 この時外字が含まれていればオンデマンド登録 |
ユーザコーディング | シフトJIS文字列を画面標示/印刷など... |
NDCEx_Term() | 終了処理 |
パラメータ | 説明 |
pSjis | 変換後のデータの内容を受け取るバッファの先頭を差すアドレスを指定します。 変換後のデータは、NULL文字で終了する文字列です。 このバッファのサイズは、少なくともnSjisSzで指定されたサイズよりも大きくなくてはなりません。 |
pHost | 変換するホストデータの先頭のアドレスを指定します。 変換中にNULL文字を認識しても変換は続行されます。nHostCntで指定されたサイズ分すべてを変換するまで関数は制御を戻しません。 |
fStShift | 変換するホストデータの初期SI,SO状態を指定します。 ホストデータがSI(0A42)16状態より変換が開始される場合はTRUEを指定します。 ホストデータがSO(0A41)16状態より変換が開始される場合はFALSEを指定します。 |
nSjisSz | 変換後のバッファのサイズをバイト単位で指定します。 |
nHostCnt | 変換するホストのサイズをバイト単位で指定します。 |
#include <Windows.H> #include "FcforSVC.h" // FontCnvヘッダーのインクルード // サービス対応(NT4.0専用) ・・・省略・・・ /* * 初期処理 */ static int InitInstance(hInstance,lpCmdLine,nCmdShow) HANDLE hInstance; LPSTR lpCmdLine; int nCmdShow; { HWND hWnd; /* * メインウィンドウ作成 */ hWnd = CreateWindowEx(WS_EX_DLGMODALFRAME, ClassName,AppTitle, WS_POPUPWINDOW | WS_CAPTION, 0,0,500,500, NULL,NULL,hInstance,NULL); if (!hWnd) { /* * WINDOWの作成に失敗したため終了 */ MessageBox(NULL,"xxx",AppTitle,MB_OK); return (FALSE); } /* * Window 表示 */ ShowWindow(hWnd,SW_SHOW); /* * FontCnv/Dの初期化 * プログラム開始時に1回だけコールする * ここからFontCnv/Dのサービスが開始する */ if (NDCEx_Init() == FALSE) { MessageBox(NULL,"xxx",AppTitle,MB_OK); return(FALSE); } return (TRUE); } LONG WINAPI MainWndProc(hWnd,message,wParam,lParam) HWND hWnd; UINT message; WPARAM wParam; LPARAM lParam; { switch (message) { case WM_COMMAND : return(WM_COMMANDproc(hWnd,,,,,,); case WM_DESTROY : /* * 終了処理 * プログラム終了時に1回だけコールする * FontCnv/Dサービスが完了する * Windowsシステムの外字は元の状態に戻る */ NDCEx_Term(); PostQuitMessage(0); return (TRUE); case WM_LBUTTONDOWN: ============= 以降省略 ====================================== static int Display(hWnd,keisBuff,KeisSz) HWND hWnd; LPBYTE *KeisBuff; LONG KeisSz; { HDC hDC; HFONT hFontOLD; char string[128]; hDC = GetDC(hWnd); hFontOLD = SelectObject(hDC,hFont); SetBkColor(hDC,RGB(255,255,255)); SetTextColor(hDC,RGB(30,30,30)); ・・・省略・・・ /* * コード変換処理 * KeisBuff=(59a1,c3ab,b9a7,bbcb)が * string=(fxxx,924a,8d46,8e6a)にコード変換されます * ユーザプログラムは内字/外字を意識する必要はありません */ sz = NDCEx_StringKtoS( string, // ここへ変換結果が格納される KeisBuff, // 変換元KEISデータ 1, // 全角データで開始 128, // stringの最大 KeisSz); // KEISデータサイズ /* * stringはシフトJIS文字列に変換されているので * そのまま画面に表示、プリンタへ印刷できます。 * 外字は(F040)〜(F9FC)の範囲でオンデマンド登録済み */ TextOut(hDC,50,CharY * Row,string,sz); ・・・省略・・・ |
OS | FontCnv/HOSTWin10 | Windows 10 Pro |
FontCnv/HOSTWin7 | Windows 7 Ultimate/Enterprise/Business | |
FontCnv/HOST2008S | Windows Server 2008 standard | |
FontCnv/HOSTVista | Windows Vista Ultimate/Enterprise/Business | |
FontCnv/HOST2003S | Windows Server 2003 Standard edtion | |
FontCnv/HOSTXP | Windows XP Professional | |
対象ホスト外字 | 日立ホストシリーズ (32ドットビットマップ) 漢字処理ユティリティKAPS対応 |
|
日立ellesシリーズ[elles3, elles7] (24ドットビットマップ) |
||
富士通ホストシリーズ (24ドットビットマップ) |
||
開発言語環境 | Microsoft Visual C++ バージョン4.0 および4.2 Microsoft Visual Basic バージョン5.0 および6.0 日立製作所 PC-COBOL85 |