⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 codeconvert.cpp

📁 vt100终端仿真程序
💻 CPP
字号:
// CodeConvert.cpp: implementation of the CCodeConvert class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "vt100.h"
#include "CodeConvert.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CCodeConvert::CCodeConvert()
{
	FILE *hFile;
	WORD wUnicode;
	int iRow,iCol;

	if((hFile=fopen("\\disk\\unicode.dat","rb"))==NULL){
		MessageBox(NULL,_T("can't open data file"),_T(""),MB_OK);
		return ;
	}

	memset(&wUnicodeTab,161,sizeof(wUnicodeTab));

	for(iRow=0;iRow<87;iRow++){
		for(iCol=0;iCol<94;iCol++){
			if(!feof(hFile)){
				fread(&wUnicode,2,1,hFile);
				wUnicodeTab[iRow][iCol]=wUnicode;
			}
			else{
				iRow=999;
				break;
			}
		}
	}

	fclose(hFile);
	
}

CCodeConvert::~CCodeConvert()
{
}

int CCodeConvert::MakeUnicodeTable()
{
	FILE *hFile;
	WORD wGB,wUnicode;
	int iRow,iCol;

	if((hFile=fopen("\\disk\\unicode.dat","wb"))==NULL){
		MessageBox(NULL,_T("can't open data file"),_T(""),MB_OK);
		return 1;
	}

	for(iRow=0;iRow<87;iRow++){
		for(iCol=0;iCol<94;iCol++){
			wGB=MAKEWORD(iRow+0xa1,iCol+0xa1);
			MultiByteToWideChar(CP_ACP,MB_PRECOMPOSED,(LPCSTR)&wGB,2,&wUnicode,1);
			fwrite(&wUnicode,2,1,hFile);
		}
	}

	fclose(hFile);

	return 0;
}

int CCodeConvert::GBToUnicode(WORD wGB, WORD *pwUnicode)
{
	int iRow,iCol;

	iCol=HIBYTE(wGB)-0xa1;
	iRow=LOBYTE(wGB)-0xa1;
	
	*pwUnicode=wUnicodeTab[iRow][iCol];	
	
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -