?? status.cpp
字號:
#include "stdafx.h"
#include <stdio.h>
#include "status.h"
#include "communicate.h"
#include "screen.h"
extern struct struScreen struScrMsp;
extern CCommunicate *csTermCom;
//主設備屬性
//詢問 CSI c或CSI 0 c
//應答 ESC [ ? 1;2c
int AnswerMainDev()
{
char szBuf[20];
int iRet;
strcpy(szBuf,"\x1b[?1;2c");
iRet=csTermCom->SendData(szBuf,sizeof(szBuf));
return iRet;
}
//輔助設備屬性
//詢問 CSI > c或 CSI > 0 c 你配置如何?
//應答 CSI > Pp;Pv;Po c
// 參數Pp=24:識別碼
// 參數Pv:監控版本號
// 參數Po:硬件可選件
int AnswerAssDev()
{
char szBuf[20];
int iRet;
strcpy(szBuf,"\x1b[>24;1.0;0");
iRet=csTermCom->SendData(szBuf,sizeof(szBuf));
return iRet;
}
//設備狀態
//詢問 CSI 5 n 設備狀態正常否?
//應答 CSI 0 n 設備狀態正常
// CSI 3 n 設備不正常
int AnswerDevState()
{
char szBuf[20];
int iRet;
strcpy(szBuf,"\x1b[>24;1.0;0");
iRet=csTermCom->SendData(szBuf,sizeof(szBuf));
return iRet;
}
//光標位置
//詢問 CSI 6 n 現在光標在何處?
//應答 CSI Pl;Pc R 光標在Pl行Pc列
int AnswerCursorPosit()
{
char szBuf[20],szTemp[10];
int iRet;
memset(szBuf,0,sizeof(szBuf));
strcpy(szBuf,"\x1b[");
sprintf(szTemp,"%u",struScrMsp.iXPos);
strcat(szBuf,szTemp);
sprintf(szTemp,";%uR",struScrMsp.iYPos);
strcat(szBuf,szTemp);
iRet=csTermCom->SendData(szBuf,sizeof(szBuf));
return iRet;
}
//打印機狀態
//詢問 CSI ? 15 n 打印機狀態如何?
//應答 CSI ? 13 n 無打印機(沒開)
// CSI ? 10 n 打印機準備好
// CSI ? 11 n 打印機未準備好(缺紙、脫機等)
int AnswerPrinterState()
{
char szBuf[20];
int iRet;
//?
strcpy(szBuf,"\x1b[?13n");
iRet=csTermCom->SendData(szBuf,sizeof(szBuf));
return iRet;
}
//自定義鍵狀態
//詢問 CSI ? 25 n 自定義功能鍵狀態如何?
//應答 CSI ? 20 n 自定義鍵允許
// CSI ? 21 n 自定義鍵鎖定
int AnswerSelfKeyState()
{
char szBuf[20];
int iRet;
strcpy(szBuf,"\x1b[?20n");
iRet=csTermCom->SendData(szBuf,sizeof(szBuf));
return iRet;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -