📄 codeconvert.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 + -