Commit 95e4ee47 by 李定达

1.字符串打印切换为手动换行模式

parent 12dfc56f
...@@ -13,3 +13,7 @@ fmposdll.vcxproj.user ...@@ -13,3 +13,7 @@ fmposdll.vcxproj.user
*.lastbuildstate *.lastbuildstate
*.manifest *.manifest
*.sbr *.sbr
*.zip
*.exe
*.lib
Release/
...@@ -1237,6 +1237,10 @@ bool _ChoosePort() ...@@ -1237,6 +1237,10 @@ bool _ChoosePort()
if (g_hComm != INVALID_HANDLE_VALUE) //判断打开端口函数返回值 if (g_hComm != INVALID_HANDLE_VALUE) //判断打开端口函数返回值
{ {
VC_Log_WriteLog(1,"%s","端口打开成功"); VC_Log_WriteLog(1,"%s","端口打开成功");
//int a = VC_POS_Reset();
//VC_Log_WriteLog(1,"%s : %d","重置打印机", a);
return 1 ; return 1 ;
} }
else else
...@@ -1831,7 +1835,7 @@ void GetProfilePath(char *CONFIGFILE) ...@@ -1831,7 +1835,7 @@ void GetProfilePath(char *CONFIGFILE)
ptrlen = ptr-path; ptrlen = ptr-path;
memcpy(&path[ptrlen+1], "printer.ini", 12); memcpy(&path[ptrlen+1], "printer.ini", 12);
path[ptrlen+12] = 0; path[ptrlen+12] = 0;
strcpy_s(CONFIGFILE,(size_t)strlen(CONFIGFILE), path); strcpy(CONFIGFILE, path);
printf("配置文件路径: %s\n", CONFIGFILE); printf("配置文件路径: %s\n", CONFIGFILE);
} }
...@@ -1914,6 +1918,57 @@ int GetFout(int x, int *index, int font_size, double font_ratio, const char *dat ...@@ -1914,6 +1918,57 @@ int GetFout(int x, int *index, int font_size, double font_ratio, const char *dat
return 1; return 1;
} }
int GetPrtFout(int x, int *index, int font_size, double font_ratio, const char *data, char *tmpdata)
{
int i = *index;
int len = strlen(data);
if(*index >= len)
return 0;
if(font_ratio*font_size > m_printclass.m_PrintSize*1.0)
{
*index = len;
strcpy(tmpdata, data);
return 1;
}
if(font_ratio*font_size*2 > m_printclass.m_PrintSize*1.0)
{
*index = len;
strcpy(tmpdata, data);
return 1;
}
double currlen = 0;
while(i < len)
{
if(i != *index && currlen > m_printclass.m_PrintSize - font_size * font_ratio - 10)
{
memcpy(tmpdata, data + *index, i - *index);
*index = i;
return 1;
}
if(data[i] < 0)
{
i += 2;
currlen += font_size * 2 * font_ratio;
continue;
}
else
{
currlen += font_size * font_ratio*1.0;
++ i;
}
}
memcpy(tmpdata, data + (*index), len - (*index));
*index = len;
return 1;
}
int WinPrintlnTsc(int x, int y, int font_size, int rotate, int font_type, int high_len, int line, const char *font_name, const char *data, double font_ratio) int WinPrintlnTsc(int x, int y, int font_size, int rotate, int font_type, int high_len, int line, const char *font_name, const char *data, double font_ratio)
{ {
if(font_ratio == 0) if(font_ratio == 0)
...@@ -2279,6 +2334,48 @@ void deletelog(int nDays) ...@@ -2279,6 +2334,48 @@ void deletelog(int nDays)
} }
} }
//bool _PrintLine(char data[], int fontType,int fontStyle ,int width,int height)
//{
// int length = 0;
// length = strlen(data);
// VC_Log_WriteLog(1,"接受到的数据是: %s",data);
// VC_Log_WriteLog(1,"长度是: %d%d%d%d%d",length, fontType, fontStyle , width, height);
// if(m_first)
// {
// VC_Log_WriteLog(1,"开始 %s","打印");
// int nRet = VC_POS_SetMotionUnit(0, 0);
// if(POS_SUCCESS != nRet)
// {
// return false;
// }
// VC_POS_SetMode(POS_PRINT_MODE_STANDARD);
// VC_POS_SetRightSpacing(0);
// VC_POS_SetLineSpacing(0);
// m_first = false;
// }
// int linefms = LENTH_FMS_80;
// int tmplines = 120;
// if(m_printclass.m_PrintSize==80)
// {
// linefms = LENTH_FMS_56;
// tmplines = 100;
// }
// //char lineData[1024]={'\0'};
// //strncpy_s(lineData,sizeof(lineData), data, length);
// VC_POS_S_SetAlignMode(0);
// //VC_POS_S_SetAreaWidth(400);
// //VC_POS_S_SetAreaWidth(0);
//
// //VC_Log_WriteLog(1,"打印宽度 %d; 打印纸宽度 %d", m_printclass.m_PrintSize*9 - tmplines, m_printclass.m_PrintSize);
//
// //VC_POS_S_TextOut(data, 10+LENTH_FMS+linefms, width, height, fontType,fontStyle);
// VC_POS_S_TextOut(data, 0, width, height, fontType,fontStyle);
//
// VC_POS_FeedLine();
//
// return true;
//}
bool _PrintLine(char data[], int fontType,int fontStyle ,int width,int height) bool _PrintLine(char data[], int fontType,int fontStyle ,int width,int height)
{ {
int length = 0; int length = 0;
...@@ -2303,12 +2400,20 @@ bool _PrintLine(char data[], int fontType,int fontStyle ,int width,int height) ...@@ -2303,12 +2400,20 @@ bool _PrintLine(char data[], int fontType,int fontStyle ,int width,int height)
{ {
linefms = LENTH_FMS_56; linefms = LENTH_FMS_56;
} }
//char lineData[1024]={'\0'};
//strncpy_s(lineData,sizeof(lineData), data, length);
VC_POS_S_SetAlignMode(0); VC_POS_S_SetAlignMode(0);
VC_POS_S_TextOut(data, 10+LENTH_FMS+linefms, width, height, fontType,fontStyle);
VC_POS_FeedLine(); int index = 0;
char tmp[256] = {0};
int tmpi = 0;
while(GetPrtFout(10, &index, 1, 1.714285, data, tmp))
{
VC_POS_S_TextOut(tmp, 10+LENTH_FMS+linefms, width, height, fontType, fontStyle);
VC_POS_FeedLine();
memset(tmp, 0, 256);
}
return true; return true;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment